TOP to CHOP
Summary
The TOP to CHOP converts pixels in a TOP image to CHOP channels. Each pixel color element (RGBA) is placed in a separate channel. Depending on the parameter options, the node will either create a single set of channels for the whole image or it can create a separate set of channels for each scanline (row).
A single pixel, rows of pixels, columns of pixels or rectangular regions can be extracted from the image. It is therefore important to be aware of how many pixels your source image is composed of.
The Exclude NaN and Active Mask parameters can be used to skip certain pixels so they are not included in the chop channels.
There is an optional input which supplies UV coordinates to sample the image. The input CHOP must contain 2 channels, for U and V. The first channel is always assumed to be U. The channels produced (red, green, blue and alpha) will be exactly as long as the input channel's length, with a value for each UV coordinate.
If you are grabbing pixels from a Depth TOP, you will only get a single channel (the depth). This will be placed in the R channel.
Parameters - Image Page
top
- Specify the TOP operator whose image will be sampled.
downloadtype
- ⊞ - Gives the option for a delayed data download from the GPU, which is much faster and does not stall the render.
- Immediate (Slow)
immediate
-
- Next frame (Fast)
nextframe
-
r
- The prefix for channels created from the red pixels of the source image. If multiple red channels are created, they will have a numeric suffix that matches the vertical scanline number of the image e.g. r0
- r4
.
g
- The prefix for channels created from the green pixels of the source image. If multiple green channels are created, they will have a numeric suffix that matches the scanline number of the image e.g. g0
- g4
.
b
- The prefix for channels created from the blue pixels of the source image. If multiple blue channels are created, they will have a numeric suffix that matches the scanline number of the image e.g. b0
- b4
.
a
- The prefix for channels created from the alpha pixels of the source image. If multiple alpha channels are created, they will have a numeric suffix that matches the scanline number of the image e.g. a0
- a4
.
singleset
- Controls whether a channel is created for each scanline, or whether all scanlines are appended into a single channel set. A channel set refers to one CHOP channel per color channel of the source image e.g. 4 channels for an RGBA image.
excludenans
- When enabled, pixels that have a NaN value in any of their channels will be skipped and not added to the CHOP channel.
activechannel
- ⊞ - When enabled, only pixels that have a non-zero value in the selected active channel will be added to the CHOP channel.
- None
none
-
- Red
red
-
- Green
green
-
- Blue
blue
-
- Alpha
alpha
-
rgbaunit
- ⊞ - Scales the output to lie in the range 0-1, 0-255 or 0-65535.
- 0 to 1
u1
-
- 0 to 255
u256
-
- 0 to 65535
u65536
-
Parameters - Crop Page
crop
- ⊞ - Specifies what to extract from the image.
- Pixel (U,V)
pixel
- Extract a single pixel at the given U and V value.
- Row (U)
row
- Extract a single row at the given U value, cropped by the V Start and V End on the left and right.
- Column (V)
col
- Extract a single column at the given V value, cropped by the U Start and U End on the bottom and top.
- Rows and Columns
block
- Extract multiple rows and multiple columns, bound by the U/V Start/End parameters.
- Full Image
full
- Extract the full image.
uvunits
- ⊞ - Specifies the units for the following 4 parameters. The parameters can use the local variables $NR
and $NC
for the number of rows and columns.
- 0 to 1
norm
-
- Pixels
pixel
-
ustart
- Starting point for sampling in U. Values outside the range of the image are determined by the image's extend conditions, in the extend page.
uend
- Ending point for sampling in U.
vstart
- Starting point for sampling in V.
vend
- Ending point for sampling in V.
interp
- ⊞ - Determines the interpolation method when UV sampling with an input CHOP.
- Nearest Sample
nearest
-
- Linear
linear
-
Parameters - Extend Page
imageleft
- ⊞ - The image extend conditions when sampling the image with U less than 0.
- Hold
hold
-
- Cycle
cycle
-
- Mirror
mirror
-
- Default Color
default
-
imageright
- ⊞ - The image extend conditions for U greater than 1.
- Hold
hold
-
- Cycle
cycle
-
- Mirror
mirror
-
- Default Color
default
-
imagebottom
- ⊞ - The image extend conditions for V less than 0.
- Hold
hold
-
- Cycle
cycle
-
- Mirror
mirror
-
- Default Color
default
-
imagetop
- ⊞ - The image extend conditions for V greater than 1.
The extend conditions are:
- Hold
hold
- Use the first or last pixel value.
- Cycle
cycle
- Loop back to the other side of the image.
- Mirror
mirror
- Zig-zag back into the image.
- Default Color
default
- Use a default color specified below.
defcolor
- ⊞ - The color to use when outside the bounds of the image, and the Default Color extend condition is set.
- Red
defcolorr
-
- Green
defcolorg
-
- Blue
defcolorb
-
- Alpha
defcolora
-
Parameters - Channel Page
start
- The start position of the channel, expressed in units set by the units menu to the right (samples, frames or seconds). The channel length is determined by the number of pixels in each scanline that is converted into a channel.
startunit
- ⊞ - Select the units to use for this parameter, Samples, Frames, or Seconds.
- I
samples
-
- F
frames
-
- S
seconds
-
rate
- The sample rate of the channels, in samples per second.
left
- ⊞ - The left extend conditions (before/after range).
- Hold
hold
- Hold the current value of the channel.
- Slope
slope
- Continue the slope before the start of the channel.
- Cycle
cycle
- Cycle the channel repeatedly.
- Mirror
mirror
- Cycle the channel repeatedly, mirroring every other cycle.
- Default Value
default
- Use the constant value specified in the Default Value parameter
right
- ⊞ - The right extend conditions (before/after range).
- Hold
hold
- Hold the current value of the channel.
- Slope
slope
- Continue the slope after the end of the channel.
- Cycle
cycle
- Cycle the channel repeatedly.
- Mirror
mirror
- Cycle the channel repeatedly, mirroring every other cycle.
- Default Value
default
- Use the constant value specified in the Default Value parameter
defval
- The value used for the Default Value extend condition.
Parameters - Common Page
timeslice
- Turning this on forces the channels to be "Time Sliced". A Time Slice is the time between the last cook frame and the current cook frame.
scope
- To determine which channels get affected, some CHOPs use a Scope string on the Common page.
srselect
- ⊞ - Handle cases where multiple input CHOPs' sample rates are different. When Resampling occurs, the curves are interpolated according to the Interpolation Method Option, or "Linear" if the Interpolate Options are not available.
- Resample At First Input's Rate
first
- Use rate of first input to resample others.
- Resample At Maximum Rate
max
- Resample to the highest sample rate.
- Resample At Minimum Rate
min
- Resample to the lowest sample rate.
- Error If Rates Differ
err
- Doesn't accept conflicting sample rates.
exportmethod
- ⊞ - This will determine how to connect the CHOP channel to the parameter. Refer to the Export article for more information.
- DAT Table by Index
datindex
- Uses the docked DAT table and references the channel via the index of the channel in the CHOP.
- DAT Table by Name
datname
- Uses the docked DAT table and references the channel via the name of the channel in the CHOP.
- Channel Name is Path:Parameter
autoname
- The channel is the full destination of where to export to, such hasgeo1/transform1:tx
.
autoexportroot
- This path points to the root node where all of the paths that exporting by Channel Name is Path:Parameter are relative to.
exporttable
- The DAT used to hold the export information when using the DAT Table Export Methods (See above).
Operator Inputs
- Input 0: -
TouchDesigner Build: