These routes complement each other. Start with the built-in module when it fits.
Interfaces
Reading data is not controlling a microscope.
ZEN offers distinct data, scripting, extension, and service interfaces. Source
CZI: pixels + metadata.
OAD / Feedback: inside ZEN.
COM / TCP-IP: scripting.
C# extensions: ZEN plug-ins.
ZEN-API: typed services.
TCP/IP scripting is not gRPC ZEN-API. Availability depends on edition, license, version, and instrument.
Open Application Development
OAD makes ZEN the workflow host.
Record supported operations; edit scripts for acquisition, processing, analysis, and saving. SourceInternal IronPython and external CPython remain separate runtimes. Source
Broad internal access; not every UI action is recordable. NumPy/SciPy need an external process and data handoff.
Experiment Feedback / lifecycle
Prepare once. React to changes. Finish once.
PreLoop initializes; Loop handles observable changes; PostLoop records results or starts follow-up work. Source
Loop is event-driven, not an unconditional polling loop.
Experiment Feedback / rules
Use the right result at the right time.
The experiment stores setup, event-dependent logic, and final actions. Source
Read measurements or hardware state.
Stop, adjust, log, or call external software.
Wait for analysis results or files on disk.
Define measurements; reload changed settings.
Free Run / Synchronized execution and script cost affect acquisition timing.
Experiment Feedback / demonstration
Watch a rule act during acquisition.
Experiment Feedback demonstration; not a timing guarantee. Source
Guided Acquisition
Spend detail on selected objects.
Observe
Detect
Acquire
An overview becomes a target list, then selected detail scans; analysis can be internal or external. Source
One workflow pattern. Module, script, or external client.
Guided Acquisition / module
Configure the standard workflow without scripting.
Overview and detail recipes share processing, detection, XYZ positions, and region shapes. Source
Supports analysis checks and well plates. Confirm module entitlement and instrument support.
Guided Acquisition / object detection
Choose how to find the targets.
Semantic Pixel Classifier: learned image features classify pixels.
Instance Segmentation: separate individual, touching objects.
CellPose Model: segment cells or nuclei.
External DL models: import compatible models or return external detections.
Check ZEN version, analysis features, and model compatibility. External inference needs integration; pixel classification is not necessarily deep learning.
Guided Acquisition / OAD script
Customize the guided sequence.
The script exposes processing, target selection, experiment changes, and external handoffs. Source
Customize the overview-to-detail sequence.
Use IronPython and ZEN scripting functions.
Maintain coordinates, errors, and recovery.
Published example: use at your own risk.
Required ZEN capabilities still apply. Open the figure for the full workflow.
Guided Acquisition / gallery
The same selection pattern serves cells and tissues.
Overview-to-detail imaging across biological applications; sample credits remain with the source. Source
Guided Acquisition / applications
Select structures before spending acquisition time.
Select organoids by image features. Sample: Dr. M. Lutolf, EPFL. SourceFind rare labeled neurons. Sample: Dr. L. Lim, KU Leuven. Source
Sequential wells reduce delay. Classification errors and stack time still limit useful throughput.
Case study / one overnight run
Selected positions include true events and false positives.
266 mitotic events
34 false positives
300 positions: 266 mitotic events; 34 false positives, mainly apoptotic cells. SourceThe montage combines event-centered acquisitions from this run. Source
A reported experiment, not a general accuracy or throughput guarantee.
Case study / biological readout
Measure the biology, not just the image count.
Downstream analysis identifies anaphase initiation and the distribution of event timing. Source
Case study / custom OAD
A scheduler coordinates overview and event acquisition.
Custom OAD logic connects detection and detailed event acquisition. SourceRepository demo with simulated data; 4x playback is not a real-time latency measurement. Source
ZEN-API / architecture
Your application decides. ZEN executes acquisition.
Client calls; gateway routes; ZEN providers implement available services. Illustration: Sebastian Rhode, ZEISS. Source
Typed services, not mouse clicks. The gateway shares access and service descriptions; providers register capabilities. Complements OAD, not every internal function.
ZEN-API / contracts
A typed contract connects different languages.
Protocol Buffers define messages; gRPC transports calls and streams; generated stubs expose them to the client. Source
gRPC uses HTTP/2. A contract is not a microscope driver; generated client code cannot add unsupported server features.
ZEN-API / Python layers
Generated contracts and workflow helpers have different jobs.
The client stack
zen_api: generated messages and gRPC wrappers.
zen_api_utils: separate connection and workflow helpers.
NumPy, AI, and visualization: client-side choices.
Match the running system
Package version is not a service namespace.
v1 and v1beta can coexist.
Methods depend on server, edition, and instrument.
Newer reviewed contracts do not imply ZEN 3.14 support.
ZEN-API / PixelStream
Process pixels while ZEN acquires.
Semantic segmentation extracts candidate structures in an external Python client. SourceNoise2Void denoises streamed images; throughput depends on model and hardware. Source
Processing is not feedback until a rule triggers a supported action.
ZEN-API / frame context
Keep acquisition context with the pixels.
Keep
Use it to
Experiment ID + frame number
Identify data, not just arrival time.
T / Z / C / tile / scene
Place frames in acquisition dimensions.
Position + scaling
Convert image results to physical locations.
Pixel type + full-frame size
Decode the correct type and shape.
Payload offset + size
Reassemble partial data at the correct location.
Raw responses may contain partial frames. Raw bytes are not yet a NumPy image.
ZEN-API / receiving pixels
Choose delivery and manage processing lag.
GetNextFrame: one response, with experiment/channel scope.
MonitorExperiment / MonitorAllExperiments: server streams.
enable_raw_data: raw lines or partial frames; otherwise assembled frames.
Separate reception, analysis, and hardware decisions.
ZEISS / Sebastian Rhode. Mitosis contributors: Marion Lang, Sandra Orthaus, Phillip Seidel, Pierre Menard, and colleagues.
napari plugin: Krijn H. van der Steen, UMC Utrecht, and Sebastian Rhode, ZEISS. Sample credits accompany the figures.
Educational demonstrations, not support, speed, or accuracy guarantees. No additional redistribution rights. Videos play on request; this deck runs no microscope code.