Delete CHOP
Summary
The Delete CHOP removes entire channels and/or individual samples of its input.
For deleting channels, on the Channels page, you can specify which channels to delete by channel name or a channel number range. A second method deletes channels using a value range to select channels whose values are all within a range. The third method deletes constant-valued channels. An option selects whether to delete or retain the matched channels.
For deleting individual samples (i.e. no channels are deleted), on the Samples page you can delete, for example, only the samples whose value is below 0, which will shorten the length of the CHOP.
In CHOPs with two or more channels, one or more "compare" channels are used to determine which samples are to be deleted. By default it uses the first channel to compare against. Deleting a sample at a certain index deletes a value for all the channels. If there are 4 channels, red
, green
, blue
, alpha
and you specify alpha
as the "compare" channel, you can delete all the samples with an alpha
of 0
. If a CHOP is 3 channels with an X,Y,Z position, you can delete all samples where the XYZ length is below a threshold.
This is useful, for example, for thinning your data before sending a CHOP to a Geometry component for instancing.
When all the samples are deleted, the CHOP will keep one sample for all channels and will have a length
of one sample. When this happens, if you have an Info CHOP attached to the Delete CHOP, it's
See also Splice CHOP, Select CHOP, Trim CHOP
Parameters - Channels Page
delchannels
- Toggle to enable channel deleting.
discard
- ⊞ - Determines whether the scoped channels should be deleted or retained:
- Scoped Channels
scoped
- The scoped channels are deleted. The rest are output.
- Non-scoped Channels
nonscoped
- The scoped channels are output. The rest are deleted.
select
- ⊞ - How to select channels - By Name, or By Numeric index.
- By Channel Name
byname
-
- By Channel Number
bynum
-
delscope
- Enter a scope pattern here to specify the names of channels to delete or extract. You do this by specifying a scope pattern, as detailed in Pattern Matching.
- The default scope pattern
t*
will scope the translation channels:tx
,ty
, andtz
, or any other channel whose name starts witht
.
selnumbers
- The indices of the channels to delete or extract. - See possible number patterns below.
chanvalue
- ⊞ - Chooses the type of value range selection:
- Off
off
- Don't perform range selection.
- Channel Completely Within Range
complete
- All the channel's samples must be within the specified range for it to be selected.
- Channel Partially Within Range
partial
- At least one of the channel's samples must be in the range for it to be selected.
- Channel Completely Outside Range
outside
- None of the channel's samples can be in the range for it to be selected.
selrange
- ⊞ - The lower and upper values of the range used for Range Selection.
selrange1
-
selrange2
-
selconst
- Select channels which have the same value for all samples. These kinds of channel name patterns are used to select existing channels in an input CHOP, see Pattern Matching for details.
Also these kinds of channel number patterns can be used to select existing channels in an input CHOP:
0 1 4
- Matches the first, second and fifth channel.[0-4]
- Matches the first five channels.[3-9:2]
- Matches channels at indices 3,5, 7 and 9.
Parameters - Samples Page
delsamples
- Toggle to enable sample deleting.
compchans
- ⊞ - How to select channels used to compare against criteria - By Name, by Numeric index, by using the First Channel, or by using the Last Channel.
- Use First Channel
firstchan
-
- Use Last Channel
lastchan
-
- By Channel Name
byname
-
- By Channel Number
bynum
-
compnames
- Enter a scope pattern here to specify the names of channels to be used as compare channels. You do this by specifying a scope pattern, as detailed in Pattern Matching.
compnums
- The indices of the channels to be used as compare channels, the default being 0, the first channel. - See possible number patterns above.
compmulti
- ⊞ - If there is more that one compare channel, this determines how to treat the values in the compare channels before checking against the criteria:
- Any Chan in Range
any
- Delete the sample if any of the compare channels meets the criteria.
- All Chans in Range
all
- Delete the sample if all the compare channels meets the criteria.
- Add
add
- Add all the compare channels and delete the sample if the result meets the criteria.
- Subtract
sub
- Subtract all the compare channels from the first and delete the sample if the result meets the criteria.
- Multiply
mul
- Multiply all the compare channels and delete the sample if the result meets the criteria.
- Divide
div
- Divide the first channel by rest of the compare channels and delete the sample if the result meets the criteria.
- Average
avg
- Find the average of all the compare channels and delete the sample if the result meets the criteria.
- Minimum
min
- Find the minimum of all the compare channels and delete the sample if the result meets the criteria.
- Maximum
max
- Find the maximum of all the compare channels and delete the sample if the result meets the criteria.
- Length
len
- Assume all the compare channels are vectors and find their length, and delete the sample if the result meets the criteria.
condition
- ⊞ - Choose the criteria for the samples to be compare against:
- Less Than Value 1
less
- Delete if the comparing samples are below Value 1.
- Greater Than Value 1
greater
- Delete if the comparing samples are above Value 1.
- Equal to Value 1
equal
- Delete if the comparing samples are equal to Value 1.
- Not Equal to Value 1
notequal
- Delete if the comparing samples are not equal to Value 1.
- Inside Range
inside
- Delete if the comparing samples are inside the range assigned by Value 1 and Value 2.
- Outside Range
outside
- Delete if the comparing samples are outside the range assigned by Value 1 and Value 2.
value1
- Set a value for Value 1.
inclvalue1
- Toggle the inclusivity of Value 1.
value2
- Set a value for Value 2.
inclvalue2
- Toggle the inclusivity of Value 2.
deletecomp
- Determines whether the compare channels should be deleted or retained.
onesample
- Leaves one sample even when all samples are deleted.
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. See Pattern Matching.
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: -
- Input 1: -
Info CHOP Channels
Extra Information for the Delete CHOP can be accessed via an Info CHOP.
Specific Delete CHOP Info Channels
- actual_length -
Common CHOP Info Channels
- start - Start of the CHOP interval in samples.
- length - Number of samples in the CHOP.
- sample_rate - The samplerate of the channels in frames per second.
- num_channels - Number of channels in the CHOP.
- time_slice - 1 if CHOP is Time Slice enabled, 0 otherwise.
- export_sernum - A count of how often the export connections have been updated.
Common Operator Info Channels
- total_cooks - Number of times the operator has cooked since the process started.
- cook_time - Duration of the last cook in milliseconds.
- cook_frame - Frame number when this operator was last cooked relative to the component timeline.
- cook_abs_frame - Frame number when this operator was last cooked relative to the absolute time.
- cook_start_time - Time in milliseconds at which the operator started cooking in the frame it was cooked.
- cook_end_time - Time in milliseconds at which the operator finished cooking in the frame it was cooked.
- cooked_this_frame - 1 if operator was cooked this frame.
- warnings - Number of warnings in this operator if any.
- errors - Number of errors in this operator if any.
TouchDesigner Build: