Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

...

Center

Image Added
CYCLE CONTROLS Panel

...

Table of Contents
typeflat

Cycle Mode Overview

Excerpt Include
Cycle Mode

...

(r3.8)

...

nopanel

...

true
Cycle Mode (r3.8)

Left Side Controls

  • : Enables Cycle mode – subsequently started LOOP acquisitions will follow the Cycle parameters configured in this panel.
  • : 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 table
(tick) See Cycle (CYC) File Format section below

  • : 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 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 on the Main Controls panel.
  • : On right, shows the number of Iterations to be executed per-Cycle, i.e. the number defined in the table. On left, displays the number of Iterations which have been completed for the current Cycle count value so far. In case of disabled, value at left can be edited to specify which Iteration to start with for next started LOOP acquisition.
  • : 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.
  • : If enabled, the and values are reset to 0 and 1, respectively, upon completion or abort of each Cycle-enabled LOOP acquisition. If disabled,

(tick) Disabling allows user to handle cases where an ongoing Cycle may need to be aborted/restarted, e.g. for motion or other interruption, perhaps redoing particular iteration(s).

If is disabled, the following controls are available:

  • : Manually reset the and values to 0 and 1, respectively.
  • : Specifies the number of Cycle iterations to execute before automatically terminating for each started LOOP acquisition. Value of Inf implies to execute all iterations until specified number of Cycles (see ) have completed, if ever.

(tick) Setting to finite value allows one to use as a 'to-do' list of acquisitions to obtain, one or more at a time.

Right Side Controls

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

  • : Specify a Configuration (CFG) file to load for that Iteration
  • : Time, in seconds, to wait before start of this Iteration (the first Repeat, if # Repeats > 1 for that Iteration
  • : Specify, together with , 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
  • : For specified type of :
    • 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
  • //etc: Specify 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 (), if any.

KEY POINTS:
(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.

Table Edit Tools

: Add an Iteration to Cycle, i.e. add row at end of table
: Remove Iteration associated with currently selected row

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

: Clears the contents of the selected cells in the table
(tick) Hitting <Delete> key has equivalent behavior

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

: Clears data in all rows of

Anchor
CycFileFormat
CycFileFormat

Cycle (CYC) File Format

The Cycle (CYC) file format is text, i.e. human-readable and human-editable. Advanced users may find it necessary/useful to generate CYC files programatically .

The first 5 lines capture the left-hand-side of the Cycle Controls panel:

Code Block
langnone


(i) The current Cycle parameters are exactly those displayed in the {blue:Cycle Iteration Data} table
(/) See [Cycle (CYC) File Format|#CycFileFormat] section below

* {blue:Cycles Done}: On right, sets the number of Cycles to complete before automatically terminating the [LOOP acquisition|SI3.8_AcqModes]. On left, displays the number of Cycles which have been completed so far. In case of {blue: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|SI3.8_AcqModes].
** 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 {blue:Abort} on the [Main Controls|Main Controls (r3.8)] panel. 

* {blue:Cycle Iteration}: On right, shows the number of _Iterations_ to be executed per-Cycle, i.e. the number defined in the {blue: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 {blue:Auto-reset Iteration/Count} disabled, value at left can be edited to specify which _Iteration_ to start with for next started [LOOP acquisition|SI3.8_AcqModes].

* {blue:Go Home at Cycle End}: If enabled, the motor position is recorded at start of each Cycle-enabled [LOOP acquisition|SI3.8_AcqModes]. Upon completion or abort of the acquisition, the motor is moved to restore the starting position.

* {blue:Restore Original CFG}: If enabled, the prevailing [Configuration|SI3.8_Config] is cached at start of each Cycle-enabled [LOOP acquisition|SI3.8_AcqModes] -- the active settings, not just the settings in the last-loaded [Configuration file|SI3.8_Config]. Upon completion or abort of the acquisition, the cached [Configuration|SI3.8_Config] settings are restored.

* {blue:Auto-reset Iteration/Count}: If enabled, the {blue:Cycles Done} and {blue:Cycle Iteration} values are reset to 0 and 1, respectively, upon completion or abort of each Cycle-enabled [LOOP acquisition|SI3.8_AcqModes]. If disabled, 

(/) Disabling {blue:Auto-reset Iteration/Count} allows user to handle cases where an ongoing Cycle may need to be aborted/restarted, e.g. for motion or other interruption, perhaps redoing particular iteration(s). 

If {blue:Auto-reset Iteration/Count} is disabled, the following controls are available:

* {blue:Reset}: Manually reset the {blue:Cycles Done} and {blue:Cycle Iteration} values to 0 and 1, respectively.

* {blue:Iterations per LOOP}: Specifies the number of Cycle iterations to execute before automatically terminating for each started [LOOP acquisition|SI3.8_AcqModes]. Value of Inf implies to execute all iterations until specified number of Cycles (see {blue:Cycles Done}) have completed, if ever. 

(/) Setting {blue:Iterations per LOOP} to finite value allows one to use {blue:Cycle Iteration Data} as a 'to-do' list of acquisitions to obtain, one or more at a time.

h3. Right Side Controls

{blue: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:

* {blue:Config Name}: Specify a [Configuration (CFG) file|SI3.8_Config] to load for that _Iteration_
* {blue:Iteration Delay}: Time, in seconds, to wait before start of this _Iteration_ (the first _Repeat_, if # Repeats > 1 for that _Iteration_
* {blue:Motor Action}: Specify, together with {blue:Motor Step/Posn #/ROI #}, to take a motor step, or to move motor to specified [Position ID|Position Controls (r3.8)], or to update _ROI Scan Parameters_ and execute possible motor move according to specified [ROI ID|ROI Controls (r3.8)]
* {blue:Motor Step/Posn #/ROI #}: For specified type of {blue: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|Position Controls (r3.8)]
** _ROI #_: Specify one of the ROI IDs identified in the [ROI Controls|ROI Controls (r3.8)]

* {blue:Repeat Period}/{blue:# Repeats}/etc: Specify _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|SI3.8 config] ({blue:Config Name}), if any.

*KEY POINTS*:
(/) Leaving a column blank implies that particular action is not taken for that particular _Iteration_.
(/) For an _Iteration_ with no [Configuration (CFG) file|SI3.8_Config] loaded and no _Iteration_-override specified for a particular parameter, the prevailing parameter value at the start of the [LOOP acquisition|SI3.8_AcqModes] is used. In other words, subsequent _Iterations_ 'forget' overrides and loaded [Configurations|SI3.8_Config] at previous _Iterations_.

h5. {blue:Cycle Iteration Data} Table Edit Tools

{blue:Add Iteration}: Add an _Iteration_ to Cycle, i.e. add row at end of table
{blue:Remove Iteration}: Remove  _Iteration_ associated with currently selected row

{blue:Add CFG...}: Launch dialog to select [Configuration (CFG) file|SI3.8_Config] to load for _Iteration_ in currently selected row

{blue:Clear}: Clears the contents of the selected cells in the table
(/) Hitting <Delete> key has equivalent behavior

{blue:Apply to All}: If enabled, an edit in particular column for particular _Iteration_ will be applied (copied) to all _Iterations_ (rows) in table

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


{anchor:CycFileFormat}
h3. Cycle (CYC) File Format

The Cycle (CYC) file format is text, i.e. human-readable and human-editable. Advanced users may find it necessary/useful to generate CYC files programatically .

The first 5 lines capture the left-hand-side of the *Cycle Controls* panel:

{code:lang=none}
cycleName <string val>
cycleLength <numeric val>
numCycleRepeats <numeric val>
returnHomeAtCycleEnd <0 or 1>
restoreOriginalConfig <0 or 1>
{code}

Subsequently

...

there

...

is

...

one

...

line

...

per

...

Cycle

...

iteration,

...

following

...

general

...

format

{:=
Code Block
lang
none
}
<iteration #> <columnName1> <columnVal1> <columnName2> <columnVal2> ....
{code}

i.e.,

...

one

...

name/value

...

pair,

...

e.g.

...

'repeatPeriod

...

3',

...

for

...

each

...

non-empty

...

column

...

for

...

each

...

iteration.

...

Note

...

that

...

column

...

names

...

are

...

specified

...

with

...

lower-case

...

names

...

using

...

camel

...

casing

...

.

(tick) Users interested in programmatically generating CYC files should enter similar entries directly into Cycle Controls table and save to a demonstration CYC file to better understand the file format that should be followed.