Cycle Controls


Cycle Mode Overview

Cycle mode allows control and timing of acquisition sequences. Cycle acquisitions are started when 1) Cycle Mode On is enabled on the Cycle Controls panel and 2) a LOOP acquisition is started.

Cycle acquisitions consist of Iterations each of which is a Loop of 1 or more acquisitions (Loop Repeats) – i.e. a Cycle is effectively a meta-loop, or loop of loops.

At the start of each Cycle Iteration, one or more of the following actions can be specified:

  • Wait a specified Iteration Delay before starting Iteration acquisition

  • Load a specified Configuration (CFG) file, updating configuration parameters to use for that iteration’s acquisition(s)

  • Step motor by specified increment, or move motor to coordinates associated with specified ROI ID or Position ID

  • Update ROI Scan Parameters to those associated with specified ROI ID

  • Override Configuration parameters (e.g. # Repeats, # Frames, # Slices, etc) with Iteration-specific values

Left Side Controls

Cycle Mode On

Enables Cycle mode – subsequently started LOOP acquisitions will follow the Cycle parameters configured in this panel

Cycle Name

Name of Cycle file (.CYC), if any, that has last been loaded or saved


Load a Cycle file (.CYC), updating current Cycle parameters


Save current Cycle parameters to a Cycle file (.CYC). Dialog is launched to select the folder/file to save to

(info)The current Cycle parameters are exactly those displayed in the Cycle Iteration Data table

Cycles Done

On right, sets the number of Cycles to complete before automatically terminating the LOOP acquisition. On left, displays the number of Cycles which have been completed so far. In case of Auto-reset Iteration/Count disabled, value at left can be edited to specify which Cycle count value to start with for next started LOOP acquisition.

  • For value > 1, Cycle wraps around to Iteration 1 following the final Iteration N.

  • For value Inf, Cycle wraps around indefinitely and never completes until user hits Abort on the Main Controls panel.

Cycle Iteration

On right, shows the number of Iterations to be executed per-Cycle, i.e. the number defined in the Cycle Iteration Data table. On left, displays the number of Iterations which have been completed for the current Cycle count value so far. In case of  Auto-reset Iteration/Count disabled, value at left can be edited to specify which Iteration to start with for next started LOOP acquisition.

Go Home at Cycle End

If enabled, the motor position is recorded at start of each Cycle-enabled LOOP acquisition. Upon completion or abort of the acquisition, the motor is moved to restore the starting position

Restore Original CFG

If enabled, the prevailing Configuration <CFG and USR Files> is cached at start of each Cycle-enabled LOOP acquisition – the active settings, not just the settings in the last-loaded Configuration file. Upon completion or abort of the acquisition, the cached Configuration settings are restored

Auto-reset Iteration/Count

If enabled, the Cycles Done and Cycle Iteration values are reset to 0 and 1, respectively, upon completion or abort of each Cycle-enabled LOOP acquisition. If disabled,

If Auto-reset Iteration/Count is disabled, the following control is available:

  • Reset: Manually reset the Cycles Done and Cycle Iteration values to 0 and 1, respectively.

(tick)Setting Iterations per LOOP to finite value allows one to use Cycle Iteration Data as a ‘to-do’ list of acquisitions to obtain, one or more at a time.

Right Side Controls

Cycle Iteration Data: Table specifying number of Cycle Iterations and the actions to implement for each one. Each column is a possible per-Iteration action:

Config Name

Specify a Configuration (CFG) file to load for that Iteration

Iteration Delay

Time, in seconds, to wait before start of this Iteration (the first Repeat, if # Repeats > 1 for that Iteration

Motor Action

Specify, together with Motor Step/Posn #/ROI #, to take a motor step, or to move motor to specified Position ID, or to update ROI Scan Parameters and execute possible motor move according to specified ROI ID

Motor Step/Psn #

For specified type of Motor Action:

  • Motor Step: Specify a 1x3, or 1x4, vector indicating increment of motor position, in microns, e.g. [0 0 1] for a 1um step in the Z dimension

  • Posn #: Specify one of the position IDs identified in the Position Controls

  • ROI #: Specify one of the ROI IDs identified in the ROI Controls

Repeat Period/# Repeats/etc

tSpecify Iteration-override value to use for acquisition (including multiple Repeats if applicable) for particular Iteration. Overrides value loaded as part of specified Iteration Configuration (CFG) file (Config Name), if any.


(tick) Leaving a column blank implies that particular action is not taken for that particular Iteration.

(tick) For an Iteration with no Configuration (CFG) file loaded and no Iteration-override specified for a particular parameter, the prevailing parameter value at the start of the LOOP acquisition is used. In other words, subsequent Iterations ‘forget’ overrides and loaded Configurations at previous Iterations.

Cycle Iteration Data Table Edit Tools

Add Iteration: Add an Iteration to Cycle, i.e. add row at end of table

Remove Iteration: Remove Iteration associated with currently selected row

Add CFG…: Launch dialog to select Configuration (CFG) file to load for Iteration in currently selected row

Clear: Clears the contents of the selected cells in the table

(tick) Hitting <Delete> key has equivalent behavior

Apply to All: If enabled, an edit in particular column for particular Iteration will be applied (copied) to all Iterations (rows) in table

Clear All: Clears data in all rows of Cycle Iteration Data

Cycle (CYC) File Format

The Cycle (CYC) file format is mat-based, i.e. not human-editable, at this time