IO & Display¶
Table Reader¶
Reads a tabular file (CSV, TSV) using pandas and outputs a DataFrame.
Details
- file_path — path to the input file (widget or upstream port).
- separator — column delimiter (default:
,).
| Direction | Port | Type |
|---|---|---|
| Input | file_path |
path |
| Output | out |
table |
Folder Iterator¶
Selects a folder and file pattern for batch processing.
Details
The actual looping is managed by the Batch Runner in main.py.
- folder_path — directory to iterate over.
- pattern — glob pattern for matching files (default:
*.csv). - iterate_mode — iterate over Files or Subdirectories.
| Direction | Port | Type |
|---|---|---|
| Output | file_path |
path |
Properties: Iterate
Video Iterator¶
Browses and iterates over frames of a video file.
Details
Preview any frame with the browse slider. Select a start/end range with the dual-handle range slider, then use Batch Run to process each frame through the downstream graph.
- video_path — path to the video file.
| Direction | Port | Type |
|---|---|---|
| Output | file_path |
path |
Batch Accumulator¶
Collects the output of each batch iteration and merges them after the batch finishes.
Details
Connect upstream data to the in port; the out port emits the merged
result only after the entire batch is complete.
Batch context stamping:
- Automatically adds
frameandfilemetadata to each collected value. - For
TableData, this lets downstream nodes identify which frame each row came from.
| Direction | Port | Type |
|---|---|---|
| Input | in |
any |
| Output | out |
any |
Image Reader¶
Reads an image file and outputs it as a float32 [0,1] numpy array.
Details
Supported formats:
- Standard — JPEG, PNG, BMP, and other PIL-supported formats (8-bit)
- TIFF — 8/12/14/16-bit microscopy TIFFs (bit depth preserved). Multi-page TIFFs output a CollectionData with one ImageData per page.
- OIR — Olympus .oir files (Rust accelerated, with Python fallback)
The original bit depth is stored as metadata for downstream nodes (threshold sliders, histogram, save). All processing uses float32 [0,1] internally.
Options:
- channels — comma-separated channel numbers (0-4, where 0 = black/pad).
2for single grayscale channel,1,2,3for RGB,2,3,4to map channels 2/3/4 as R/G/B,1,0,3to map ch1 as red, black as green, ch3 as blue.
| Direction | Port | Type |
|---|---|---|
| Input | file_path |
path |
| Output | out |
image |
Data Saver¶
Saves incoming data to a file on disk.
Details
Supported output types:
- DataFrame — saved as CSV, TSV, or
.pzfx(GraphPad Prism) - Figure — saved as an image at the figure's native DPI
-
Image — saved via PIL in any format matching the file extension
-
file_path — destination path (widget or upstream port).
| Direction | Port | Type |
|---|---|---|
| Input | in |
any |
| Input | file_path_in |
path |
Batch Gate¶
Pass-through gate that pauses the batch pipeline for user review.
Details
Wire between any two nodes using the single any-typed input/output.
Blocking happens inside evaluate(), so multiple gates pause
independently at their own step in the topological evaluation order.
Controls:
- Next — let this iteration continue past the gate
- Refresh — re-evaluate upstream nodes and update previews
- Pass All — stop pausing for the rest of this batch run
| Direction | Port | Type |
|---|---|---|
| Input | in |
any |
| Output | out |
any |
Pop-up Display¶
Takes any input and pops up a preview window to inspect it.
Details
Supported data types:
- DataFrame — shown as an editable table dialog
- Figure — rendered to PNG and shown in a scrollable image dialog
- Image — displayed as a scrollable PIL image dialog
- Other — shown as a plain text message box
| Direction | Port | Type |
|---|---|---|
| Input | in |
any |
Data Table Node¶
Displays incoming DataFrame data directly on the node surface.
| Direction | Port | Type |
|---|---|---|
| Input | in |
table |
Data Figure Node¶
Displays incoming Image or Figure data directly on the node surface.
Details
Accepts FigureData (with optional SVG override) or raw matplotlib figures.
| Direction | Port | Type |
|---|---|---|
| Input | in |
figure |
Image Viewer¶
Displays a PIL Image directly on the node surface for quick inline inspection.
Details
Accepted input types:
- ImageData — unwraps the payload
- LabelData — uses the pre-generated colored visualization
- Raw PIL Image — displayed as-is
| Direction | Port | Type |
|---|---|---|
| Input | in |
image |
Universal Node¶
Executes arbitrary Python code to process multiple inputs and push results to outputs.
Details
Available variables in user code:
inputs— list of upstream data valuesoutput— assign the result here (auto-wrapped intoTableData,ImageData, orFigureData)pd,np,plt,sns— pre-imported libraries
| Direction | Port | Type |
|---|---|---|
| Input | in |
any |
| Output | out |
any |
Path Modifier¶
Takes a file path and modifies it by adding a suffix, changing the extension, or overriding the folder.
Details
- suffix — string appended to the file stem (default:
_analyzed). - ext — replacement file extension (leave empty to keep original).
- folder — optional folder override for the output path.
| Direction | Port | Type |
|---|---|---|
| Input | path |
path |
| Output | path |
path |
Collect¶
Pack multiple data items into a named collection.
Details
Connect any number of items to the multi-input port. Each connection gets a name (auto-populated from the upstream port name, editable). The output is a single CollectionData that flows as one wire.
Downstream nodes that expect a single item will automatically loop over all items in the collection and repack the results.
| Direction | Port | Type |
|---|---|---|
| Input | in |
any |
| Output | collection |
collection |
Select Collection¶
Extract a single item from a collection by name.
Details
Type a name or pick from the dropdown. The dropdown auto-populates with available item names when the collection is connected.
| Direction | Port | Type |
|---|---|---|
| Input | collection |
collection |
| Output | out |
any |
Pop Collection¶
Extract one item from a collection and output the rest separately.
Details
Two outputs: the extracted item on item, and a new collection without that item on rest. Type a name or pick from the dropdown.
| Direction | Port | Type |
|---|---|---|
| Input | collection |
collection |
| Output | item |
any |
| Output | rest |
collection |
Split Collection¶
Split a collection into two groups by selecting which items go to each output.
Details
Type item names separated by ' | ' or pick from the dropdown to add. Selected items go to selected, the rest go to rest.
| Direction | Port | Type |
|---|---|---|
| Input | collection |
collection |
| Output | selected |
collection |
| Output | rest |
collection |
Save Collection¶
Saves all items in a collection to disk.
Details
Each item is saved as a separate file using the item name as a suffix. Supports images (TIFF, PNG), tables (CSV, TSV), and figures.
If a path is connected, it is used as the base — the item name is inserted before the extension. Otherwise the folder + extension fields are used.
| Direction | Port | Type |
|---|---|---|
| Input | file_path |
path |
| Output | status |
table |
Rename Collection¶
Rename items in a collection using a visual mapping table.
Details
When a collection is connected, the table auto-populates with original names. Edit the 'New Name' column to rename items. Leave blank to keep the original name.
| Direction | Port | Type |
|---|---|---|
| Input | collection |
collection |
| Output | collection |
collection |
Collection Info¶
Outputs a table listing item names, types, shapes, and metadata.
Details
All number and string valued metadata fields are included as extra columns.
| Direction | Port | Type |
|---|---|---|
| Input | collection |
collection |
| Output | info |
table |
Filter Collection¶
Keep or remove items by pattern matching on names.
Details
Supports simple wildcards (* and ?) or exact names. Multiple patterns separated by | (pipe).
Mode:
- Keep — only matching items pass through
- Remove — matching items are excluded
| Direction | Port | Type |
|---|---|---|
| Input | collection |
collection |
| Output | matched |
collection |
| Output | rest |
collection |
Properties: Mode
Map Names¶
Batch rename collection items using find/replace, prefix, or suffix.
Details
Operations (applied in order): 1. Find/Replace — replace substring in all names 2. Prefix — add text before each name 3. Suffix — add text after each name
| Direction | Port | Type |
|---|---|---|
| Input | collection |
collection |
| Output | collection |
collection |