Subsystem Out

This function block is used to export data from inside a subsystem to the parent/main workspace. Place one or more of these blocks inside a subsystem to mark values that should be made available outside the subsystem. When the subsystem runs, each Subsystem Out block forwards its current value to the corresponding output slot in the main workspace.

📥 Inputs

Generic Accepts any data produced inside the subsystem (images, numbers, lists, dictionaries, etc.). Use the socket to feed the value you want to expose from the subsystem.

📤 Outputs

This function block does not provide direct outputs inside its own block panel. Its purpose is to publish the provided input value to the parent/main workspace where it becomes available according to the subsystem’s output mapping.

🕹️ Controls

Title The block title displays a numeric index when shown in the main workspace. That index reflects the output order for the subsystem and is assigned automatically.

(hint) There are no additional interactive widgets on this block — it acts as an output marker inside a subsystem and as an indexed output mapping on the main workspace.

🎨 Features

  • Export any data type from a subsystem to the parent workspace using a single Generic socket.

  • Automatic indexing: when mapped on the main workspace the block receives a stable numeric index that identifies which subsystem output it represents.

  • Multiple outputs supported: add several Subsystem Out blocks inside a subsystem to publish multiple values. Their index/order matters for how the parent will receive them.

  • Seamless integration: blocks placed inside subsystems are linked to the subsystem and are mapped automatically to the parent when the subsystem is used.

⚙️ Running mechanism

  • Inside a subsystem: each Subsystem Out block marks a value to be exported. At runtime the latest value connected to its input is captured and made available to the subsystem’s outputs.

  • On the main workspace: the corresponding output slot is shown with a numeric label (the block title) that identifies which subsystem output it maps to. The main workspace can then use those exported values as normal inputs for other blocks.

  • Ordering matters: the numeric index (displayed as the block title in the main workspace) determines the output position. Keep the intended mapping/order in mind when creating multiple outputs.

📝 Usage instructions

  1. Open or create a subsystem (the special workspace used for grouping blocks).

  2. Inside the subsystem, add one or more Subsystem Out blocks where you want to publish values. Connect the internal signals (images, numbers, etc.) to their Generic inputs.

  3. Return to the main workspace. The subsystem’s outputs will appear in the order of the Subsystem Out blocks and their titles will show the numeric index. Use those outputs like any other block output.

💡 Tips and Tricks

  • Pair with Subsystem In to pass parameters from the main workspace into a subsystem, and use Subsystem Out to return results.

  • Use Subsystem Enabled to control whether the subsystem runs and therefore whether its outputs are refreshed.

  • If your subsystem needs to store or share intermediate data across runs, combine with Data Write Local and Data Read Local for robust local data passing.

  • When exporting batches or lists, consider combining with Mux, Demux, or Batch Processing to manage grouped data cleanly.

  • For image pipelines: export images from a subsystem with Subsystem Out and preview them on the main workspace using Show Image or save them with Image Logger or Image Write.

🛠️ Troubleshooting

  • No output visible on the main workspace: confirm the Subsystem Out blocks are placed inside the subsystem (not on the main workspace) and that the subsystem is placed/connected on the main workspace.

  • Wrong output order: the displayed numeric title determines output mapping. Reorder or rename your Subsystem Out blocks inside the subsystem by removing/re-adding them in the desired sequence.

  • Unexpected data type at the parent: verify the value connected to the Generic input is the expected type (image, number, list, etc.). If needed, convert or pack data inside the subsystem before exporting.

  • Many outputs to manage: if you export multiple values, group related items into a single dictionary or list inside the subsystem and expose that single value via one Subsystem Out for simpler wiring on the main workspace.

Last updated

Was this helpful?