Loops and Indexes

Loops and their order is the definition of the JOBS experiment. A loop is a specific repetition of actions.

For example a simple time-lapse is a repetition of captures with a given count and time delay. Instead of capture, there may be a Z-stack, which is also a loop (involves Z-movement instead of a delay) or the whole experiment (tree of loops).

Loops in JOBS are organized in a tree structure:

  • A loop can be either nested inside another loop (parent loop) or

  • follow a preceding loop.

Nested loops

Let’s consider a simple Z-stack of three slices captured every minute four times. In this case, it can be said that the Z-stack (β€œZ”) is nested inside the time-lapse (β€œT”) because it is performed in every iteration of the time-lapse loop (parent loop). The total number of frames is 3 * 4 = 12. The order of the experiment is as follows:

Succeeding loops

To show an example of succeeding or non-nested loops let’s consider two time-lapses performed one after another. First time-lapse (T0) captures every hour and the second (T1) every 10 minutes. The first 3 times (2 hours) and the second 4 times (40 minutes). The total number of frames is 3 + 4 = 7.

It is clear that there is no nesting in this example as none of the loops is captured inside an iteration of the other one. The order of the experiment is as follows:

Note

For non-nested loops it is important that they are exclusive. That is: each image frame β€œbelongs” either to one loop or the other (e.g. frame at index 4 has no relation to the T0). On the other hand for a nested loop an image frame β€œbelongs” to both loops (e.g. frame at index 4 in the previous example was captured in the second iteration of the time-lapse and second iteration of the Z-stack).