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_selectLOP. - Connect a Table DAT to the input of the
super_selectLOP. - On the
Settingspage, ensureSelection Modeis set toBoth. - On the
Row Selectionpage, ensureRow Selection Modeis set toAll Rows. - On the
Column Selectionpage, ensureColumn Selection Modeis 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_selectLOP. - Connect a Table DAT to the input of the
super_selectLOP. - On the
Settingspage, setSelection ModetoRow Selection. - On the
Row Selectionpage, setRow Selection ModetoBy Index. - Enter the desired row indices in the
Row Indicesparameter (e.g.,1,3,5or2-4). - The output DAT will contain only the specified rows.
Selecting Columns by Pattern
Section titled “Selecting Columns by Pattern”- Create a
super_selectLOP. - Connect a Table DAT to the input of the
super_selectLOP. - On the
Settingspage, setSelection ModetoColumn Selection. - On the
Column Selectionpage, setColumn Selection ModetoBy Pattern. - Enter a wildcard pattern in the
Column Patternparameter (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_selectLOP. - Connect a Table DAT to the input of the
super_selectLOP. - On the
Searchpage, enableEnable Search Filter. - Enter a
Search Term(e.g.,apple). - Choose a
Search Mode(Exact MatchorFuzzy 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 Headersintelligently 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
Levenshteindistance 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.