Super Select Operator
The Super Select LOP is an enhanced version of the Select DAT, providing advanced capabilities for manipulating and filtering table data within TouchDesigner. It offers intelligent header detection, flexible row and column selection by various criteria (index, pattern, single selection by value), and powerful search functionalities including fuzzy matching. This operator is ideal for preparing data for other LOPs, creating dynamic UI elements, or performing complex data transformations.
Requirements
Section titled “Requirements”- None (standard TouchDesigner installation).
Input/Output
Section titled “Input/Output”Inputs
Section titled “Inputs”- Input 1 (Table DAT): The source table DAT to select data from.
Outputs
Section titled “Outputs”- Output 1 (Table DAT): The resulting table containing the selected rows and columns, filtered by search criteria if enabled.
Parameters
Section titled “Parameters”Settings
Section titled “Settings”op('super_select').par.Keepfirstrow
Toggle Always include the first row (header) in the output.
- Default:
Off
op('super_select').par.Keepfirstcol
Toggle Always include the first column (header) in the output.
- Default:
Off
op('super_select').par.Detectheaders
Toggle Automatically detect headers in the first row/column of the input DAT.
- Default:
On
Row Selection
Section titled “Row Selection”op('super_select').par.Rowindex
Str Comma-separated list of indices or patterns (e.g., '0,2-5,7').
- Default:
"" (Empty String)
op('super_select').par.Rowpattern
Str Wildcard pattern to match row values (e.g., 'value*' or '*test*').
- Default:
"" (Empty String)
op('super_select').par.Rowmenulabels
Toggle When enabled, column headers are used as menu labels. When disabled, indices are used.
- Default:
Off
op('super_select').par.Rownext
Pulse Select the next row in single selection mode.
- Default:
None
op('super_select').par.Rowprevious
Pulse Select the previous row in single selection mode.
- Default:
None
op('super_select').par.Rowrandom
Pulse Select a random row in single selection mode.
- Default:
None
Column Selection
Section titled “Column Selection”op('super_select').par.Colindex
Str Comma-separated list of indices or patterns (e.g., '0,2-5,7').
- Default:
"" (Empty String)
op('super_select').par.Colpattern
Str Wildcard pattern to match column values (e.g., 'value*' or '*test*').
- Default:
"" (Empty String)
op('super_select').par.Colmenulabels
Toggle When enabled, row headers are used as menu labels. When disabled, indices are used.
- Default:
Off
op('super_select').par.Colnext
Pulse Select the next column in single selection mode.
- Default:
None
op('super_select').par.Colprevious
Pulse Select the previous column in single selection mode.
- Default:
None
op('super_select').par.Colrandom
Pulse Select a random column in single selection mode.
- Default:
None
Search
Section titled “Search”op('super_select').par.Usesearch
Toggle Apply search filtering on top of row/column selection.
- Default:
Off
op('super_select').par.Searchterm
Str Text to search for in the table.
- Default:
"" (Empty String)
op('super_select').par.Fuzzythreshold
Float Similarity threshold for fuzzy matching (0.1-1.0).
- Default:
0
- Range:
- 0.1 to 1
op('super_select').par.Inputdat
DAT The source table DAT to select from.
- Default:
"" (Empty String)
op('super_select').par.Outputdat
DAT The destination DAT for selected data.
- Default:
"" (Empty String)
op('super_select').par.Bypass
Toggle Bypasses the operator's main functionality.
- Default:
Off
op('super_select').par.Showbuiltin
Toggle Toggles the visibility of TouchDesigner's built-in COMP parameters.
- Default:
Off
op('super_select').par.Version
Str Displays the version of the operator.
- Default:
None
op('super_select').par.Lastupdated
Str Displays the last updated date.
- Default:
None
op('super_select').par.Creator
Str Displays the creator of the operator.
- Default:
None
op('super_select').par.Website
Str Displays the website of the creator.
- Default:
None
op('super_select').par.Chattd
OP References the ChatTD operator.
- Default:
None
Usage Examples
Section titled “Usage Examples”Selecting All Rows and Columns
Section titled “Selecting All Rows and Columns”- Create a
super_select
LOP. - Connect a Table DAT to the input of the
super_select
LOP. - On the
Settings
page, ensureSelection Mode
is set toBoth
. - On the
Row Selection
page, ensureRow Selection Mode
is set toAll Rows
. - On the
Column Selection
page, ensureColumn Selection Mode
is set toAll Columns
. - The output DAT will be an exact copy of the input DAT.
Selecting Specific Rows by Index
Section titled “Selecting Specific Rows by Index”- Create a
super_select
LOP. - Connect a Table DAT to the input of the
super_select
LOP. - On the
Settings
page, setSelection Mode
toRow Selection
. - On the
Row Selection
page, setRow Selection Mode
toBy Index
. - Enter the desired row indices in the
Row Indices
parameter (e.g.,1,3,5
or2-4
). - The output DAT will contain only the specified rows.
Selecting Columns by Pattern
Section titled “Selecting Columns by Pattern”- Create a
super_select
LOP. - Connect a Table DAT to the input of the
super_select
LOP. - On the
Settings
page, setSelection Mode
toColumn Selection
. - On the
Column Selection
page, setColumn Selection Mode
toBy Pattern
. - Enter a wildcard pattern in the
Column Pattern
parameter (e.g.,*name*
to select columns with “name” in their header). - The output DAT will contain only the columns matching the pattern.
Using Search to Filter Data
Section titled “Using Search to Filter Data”- Create a
super_select
LOP. - Connect a Table DAT to the input of the
super_select
LOP. - On the
Search
page, enableEnable Search Filter
. - Enter a
Search Term
(e.g.,apple
). - Choose a
Search Mode
(Exact Match
orFuzzy Match
). - Select
Search Returns
(Matching Rows
,Matching Columns
, orBoth Rows and Columns
). - The output DAT will be filtered based on your search criteria.
Technical Notes
Section titled “Technical Notes”- The operator processes data synchronously. For very large tables, performance might be impacted.
Auto Detect Headers
intelligently identifies the first row and/or column as headers, which can then be used for menu labels in single selection modes.- Fuzzy matching uses the
Levenshtein
distance if the library is available, otherwise it falls back to a simpler character matching algorithm.
Related Operators
Section titled “Related Operators”- Select DAT: The built-in TouchDesigner operator that Super Select enhances.
- Table DAT: The fundamental DAT type used for tabular data.
- ChatTD: Provides core services like dependency management and asynchronous task execution.