How can we get the most from pixels and samples? Let’s dive into the benefits of working creatively with TOPs and CHOPs in TouchDesigner.
First, let’s brush up on the definition of both operators families.
TOPs – Texture Operators – are GPU-based operators for real time compositing and image/video manipulation. It is the primary operator family for 2D visual management in TouchDesigner. Since they run on the GPU, TOPs are very efficient. The TOP family includes operators for interacting with the outside world as well, such as depth cameras, AR/VR/XR devices and video/streaming communication protocols.
On the other side, CHOPs – Channel Operators – are channels management operators. Basically speaking, CHOPs work on real time data processing and manipulation, thus providing efficient ways to make calculations. In this perspective, it is the primary operator family for motion, audio, timing and functions management. CHOPs can manage external devices and communication protocols as well.
To sum up: TOPs work with pixels, CHOPs work with channels and samples
TOPs vs CHOPs
At first glance, the differences between TOPs and CHOPs seems quite evident. We use TOPs for visual manipulation, we use CHOPs for data manipulation. So we can get the most by integrating, combining and mixing these two worlds, thus paving the way for almost infinite ideas.
Visuals with CHOPs
We can create visuals by using almost only CHOP operators. How?
We create a Noise CHOP with four channels called r, g, b, a. To do this, we select the Channel tab in the operator parameter and create the four channels. Next, we add some movement with the Trail CHOP that, as the name suggests, display the history of the input channels. Now we can convert channels data into pixel data with the CHOP To TOP operator. We select all the four channels and fit incoming data to the whole screen. Finally, we add a Transform TOP for the black background and voilà, a psychedelic visual with just five operators.

CHOPs with Ramp TOPs
CHOP operators are a powerful way to use channels values for controlling color values. Let’s see an example. We create a Movie File In TOP and connect it to two Ramp TOPs. We set our desired color ramps for both operators and, to add some variations, we set the first operator as horizontal ramp and the second operator as circular ramp.
Now, to create ramps movement, we can make use of some nice CHOP operators. First, we create a Beat CHOP that performs a 360 circular channel loop. We connect it to a Constant CHOP and then into a Math CHOP that re-range the samples from 0-1 to 0-360. We use these data to modify in real time the Phase parameter of both Ramp TOPs. Finally we composite the two paths.
Get Our 7 Core TouchDesigner Templates, FREE
We’re making our 7 core project file templates available – for free.
These templates shed light into the most useful and sometimes obtuse features of TouchDesigner.
They’re designed to be immediately applicable for the complete TouchDesigner beginner, while also providing inspiration for the advanced user.
Pixels to samples
If we turn color data into channel data, cool things happen. Let’s see how.
We create a Movie File In TOP and, to get color data, we create a TOP to CHOP operator and reference the Movie File In operator inside it. To add some dramatic effect to our visuals, we connect an Analyze CHOP, which in my humble opinion is one of the most useful CHOP operators out there.
Now the fun begins. We duplicate the Movie File In TOP, connect it to a Crop TOP and use the green and blue channel values to crop the incoming video on all the four sides. Finally, we composite the original video with the dynamically cropped one and here is the result: a schizophrenic landscape that would suit well with some experimental electronic music.
Video analysis
TOPs and CHOPs pair very well when video analysis in real time is needed. One example? Blob tracking.
As usual, we start with a Movie File In TOP and convert the incoming video to monochrome. Then, we connect it to a Threshold TOP and use it to multiply the monochromatic signal. The multiplied signal feeds the first input of the Blob Track TOP, while the other feeds the second input. We can adjust the blob tracking parameters according to our needs.
The Blob Track TOP comes with an Info DAT, containing the information about the tracked blobs. So we select the u and v parameters, transform the DAT into and use u and v data to instance a simple sphere. Finally, we composite the original video with the blobs.
For a more in-depth look at blob tracking, watch our tutorial here:
Wrap Up
It is important to master the features of all operators families we have at disposal in TouchDesigner. Most of all, it’s pivotal to understand how to integrate different operators to get the most in terms of clarity, speed and efficiency.
TOPs and CHOPs pair extremely well in combining and managing pixels and samples. So start experimenting on your own and try different approaches and ideas. As usual, the sky is the limit.
Video source: Pexel