**Curriculum Navigator:**

*If you’re viewing this page from the TouchDesigner curriculum explorer, you can use the buttons below to interact with this topic.*

Whether working with a data set that we’ve created or data from the web, we often need ways to filter for specific elements, order the entire series, or sort the data in a meaningful way. The Lookup CHOP is a useful operator when it comes to both searching and sorting data that is stored in multi-sample CHOPs. To understand how we might use the Lookup CHOP (or why we might want to use it), we can first think about some of the common experiences we have when working with data.

Let’s say we have a collection of data that holds some time sequence information. We may want to find a specific entry (something from a specific index), or we may want to find an entry at a normalized position (the middle, or ¾ of the way through the set). The Lookup CHOP allows us to do both of these kinds of operations: we can both select a specific index, or move through our data with a normalized index. As a bonus, the Lookup CHOP offers some linear interpolation between entries in our data set — allowing us to create smooth transitions from one entry to the next.

The Lookup CHOP is an interesting companion to Lister. Let’s imagine that we have a table of data where one column contains an ID, and our other columns contain some other data we’d like to recall. We could convert the data in a Table into CHOP Channels which would leave us with a multi-channel CHOP. The next operation we might want to complete is to retrieve exactly the results from a specific entry. Lister gives us an easy way to pick a specific entry, and get a row index in return. We can then use this Row index to drive our Lookup CHOP, giving us a fast way to find a specific entry’s values.

- Lookup CHOP – Derivative Wiki
- Timer CHOP – Derivative Wiki
- Palette: Lister – Derivative Wiki
- Lister Custom COMP Examples – Derivative Wiki