Skip to content

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.

  • None (standard TouchDesigner installation).
  • Input 1 (Table DAT): The source table DAT to select data from.
  • Output 1 (Table DAT): The resulting table containing the selected rows and columns, filtered by search criteria if enabled.
Selection Mode (Page) op('super_select').par.Page Menu

Switch between row, column, or both selection modes.

Default:
row_select
Options:
row_select, column_select, both
Keep First Row (Keepfirstrow) op('super_select').par.Keepfirstrow Toggle

Always include the first row (header) in the output.

Default:
Off
Keep First Column (Keepfirstcol) op('super_select').par.Keepfirstcol Toggle

Always include the first column (header) in the output.

Default:
Off
Auto Detect Headers (Detectheaders) op('super_select').par.Detectheaders Toggle

Automatically detect headers in the first row/column of the input DAT.

Default:
On
Row Selection Mode (Rowselectionmode) op('super_select').par.Rowselectionmode Menu

Method to select rows.

Default:
all
Options:
all, index, pattern, single_by_column
Row Indices (Rowindex) op('super_select').par.Rowindex Str

Comma-separated list of indices or patterns (e.g., '0,2-5,7').

Default:
"" (Empty String)
Row Pattern (Rowpattern) op('super_select').par.Rowpattern Str

Wildcard pattern to match row values (e.g., 'value*' or '*test*').

Default:
"" (Empty String)
Column For Selection (Rowcolumnindex) op('super_select').par.Rowcolumnindex Menu

Which column to match against when using pattern or single selection.

Default:
0
Select Row (Rowsingleselect) op('super_select').par.Rowsingleselect Menu

Select a single row by column value.

Default:
0
Use Header Values for Menus (Rowmenulabels) op('super_select').par.Rowmenulabels Toggle

When enabled, column headers are used as menu labels. When disabled, indices are used.

Default:
Off
Next Row → (Rownext) op('super_select').par.Rownext Pulse

Select the next row in single selection mode.

Default:
None
← Previous Row (Rowprevious) op('super_select').par.Rowprevious Pulse

Select the previous row in single selection mode.

Default:
None
Random Row ⟳ (Rowrandom) op('super_select').par.Rowrandom Pulse

Select a random row in single selection mode.

Default:
None
Column Selection Mode (Colselectionmode) op('super_select').par.Colselectionmode Menu

Method to select columns.

Default:
all
Options:
all, index, pattern, single_by_row
Column Indices (Colindex) op('super_select').par.Colindex Str

Comma-separated list of indices or patterns (e.g., '0,2-5,7').

Default:
"" (Empty String)
Column Pattern (Colpattern) op('super_select').par.Colpattern Str

Wildcard pattern to match column values (e.g., 'value*' or '*test*').

Default:
"" (Empty String)
Row For Selection (Colrowindex) op('super_select').par.Colrowindex Menu

Which row to match against when using pattern or single selection.

Default:
0
Select Column (Colsingleselect) op('super_select').par.Colsingleselect Menu

Select a single column by row value.

Default:
0
Use Header Values for Menus (Colmenulabels) op('super_select').par.Colmenulabels Toggle

When enabled, row headers are used as menu labels. When disabled, indices are used.

Default:
Off
Next Column → (Colnext) op('super_select').par.Colnext Pulse

Select the next column in single selection mode.

Default:
None
← Previous Column (Colprevious) op('super_select').par.Colprevious Pulse

Select the previous column in single selection mode.

Default:
None
Random Column ⟳ (Colrandom) op('super_select').par.Colrandom Pulse

Select a random column in single selection mode.

Default:
None
Enable Search Filter (Usesearch) op('super_select').par.Usesearch Toggle

Apply search filtering on top of row/column selection.

Default:
Off
Search Term (Searchterm) op('super_select').par.Searchterm Str

Text to search for in the table.

Default:
"" (Empty String)
Fuzzy Threshold (Fuzzythreshold) op('super_select').par.Fuzzythreshold Float

Similarity threshold for fuzzy matching (0.1-1.0).

Default:
0
Range:
0.1 to 1
Search Mode (Searchmode) op('super_select').par.Searchmode Menu

Method for searching table content.

Default:
exact
Options:
exact, fuzzy
Search Returns (Searchreturn) op('super_select').par.Searchreturn Menu

Controls whether search returns matching rows, columns, or both.

Default:
rows
Options:
rows, columns, both
Search Scope (Searchscope) op('super_select').par.Searchscope Menu

Where to look for matches.

Default:
all
Options:
all, headers_only, data_only
Input DAT (Inputdat) op('super_select').par.Inputdat DAT

The source table DAT to select from.

Default:
"" (Empty String)
Output DAT (Outputdat) op('super_select').par.Outputdat DAT

The destination DAT for selected data.

Default:
"" (Empty String)
Bypass (Bypass) op('super_select').par.Bypass Toggle

Bypasses the operator's main functionality.

Default:
Off
Show Built-in Parameters (Showbuiltin) op('super_select').par.Showbuiltin Toggle

Toggles the visibility of TouchDesigner's built-in COMP parameters.

Default:
Off
Version (Version) op('super_select').par.Version Str

Displays the version of the operator.

Default:
None
Last Updated (Lastupdated) op('super_select').par.Lastupdated Str

Displays the last updated date.

Default:
None
Creator (Creator) op('super_select').par.Creator Str

Displays the creator of the operator.

Default:
None
Website (Website) op('super_select').par.Website Str

Displays the website of the creator.

Default:
None
ChatTD Operator (Chattd) op('super_select').par.Chattd OP

References the ChatTD operator.

Default:
None
  1. Create a super_select LOP.
  2. Connect a Table DAT to the input of the super_select LOP.
  3. On the Settings page, ensure Selection Mode is set to Both.
  4. On the Row Selection page, ensure Row Selection Mode is set to All Rows.
  5. On the Column Selection page, ensure Column Selection Mode is set to All Columns.
  6. The output DAT will be an exact copy of the input DAT.
  1. Create a super_select LOP.
  2. Connect a Table DAT to the input of the super_select LOP.
  3. On the Settings page, set Selection Mode to Row Selection.
  4. On the Row Selection page, set Row Selection Mode to By Index.
  5. Enter the desired row indices in the Row Indices parameter (e.g., 1,3,5 or 2-4).
  6. The output DAT will contain only the specified rows.
  1. Create a super_select LOP.
  2. Connect a Table DAT to the input of the super_select LOP.
  3. On the Settings page, set Selection Mode to Column Selection.
  4. On the Column Selection page, set Column Selection Mode to By Pattern.
  5. Enter a wildcard pattern in the Column Pattern parameter (e.g., *name* to select columns with “name” in their header).
  6. The output DAT will contain only the columns matching the pattern.
  1. Create a super_select LOP.
  2. Connect a Table DAT to the input of the super_select LOP.
  3. On the Search page, enable Enable Search Filter.
  4. Enter a Search Term (e.g., apple).
  5. Choose a Search Mode (Exact Match or Fuzzy Match).
  6. Select Search Returns (Matching Rows, Matching Columns, or Both Rows and Columns).
  7. The output DAT will be filtered based on your search criteria.
  • 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.
  • 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.