Basic Job Rules

Introduction 
Jobs are automated procedures for image acquisition and analysis. When a job is executed, images and analysis data are produced. The images are stored in ND2 files while metadata and analysis results are stored in a database including links to the corresponding ND2 files. A complete acquisition history is stored in the database as well.

Order of execution 
A job is composed of tasks. The order of tasks in a job is essential because they are executed from top to bottom. There are two kinds of tasks: simple tasks and tasks which have blocks of other tasks nested inside them (e.g. loops and conditions). If there were only simple tasks, the job would be a mere chain of operations, very easy to assemble. On the other hand, it would be too difficult to create a simple time-lapse with 100 repetitions - having to copy the Capture task 100 times in a row. In order to avoid such copying, JOBS provide the concept of loops. Loops can embed other tasks. If a loop is run, it repeatedly executes the whole inner block of tasks until the defined number of repetitions is achieved.

Another task which embeds other tasks is the Condition ( Condition IF, Condition (If-Else)). Conditions are used for branching the job (deciding within the job flow). The embedded tasks are executed only if the specified condition is satisfied. For example: a condition in a job which scans a well plate can go like this: capture a multi-point sequence on a well only if there is a fluorescence signal detected, otherwise proceed to the next well.

Rules

  • Tasks are executed in order (from top to bottom).

  • If a task contains child tasks, these child tasks are executed in order (conditions) or repeatedly (loops).

  • Tasks inside a condition are executed only if this condition is fulfilled.

Task position 
Position of each task in the job definition is substantial. In the following example, Time Series > Time Lapse and Stage XY Points > Loop over Points tasks are swapped, bringing completely different results.

Herein, points on the sample are created manually. Time Lapse loop is then started for 10 minutes, executing embedded tasks every 20 seconds. Therefore a Stage XY Points > Loop over Points (containing Acquisition > Capture) is executed. Hence, an image is captured for each predefined point one after another. This capturing takes place every 20 seconds during the 10 minute Time Lapse interval.

If the Time Lapsetask is placed inside the Loop over Points task, the job works differently. Images are captured (for the duration defined in the Time Lapse task - 2 min in our example) on the first point, then for 2 minutes on the second point, etc. When all 2 min time lapses of all points we are looping over are captured, the job is finished.

Task dependency 
Some of the tasks require other tasks to be present in the job - they depend on them. For instance, a well-loop which goes over wells requires a selection of wells on a well plate in order to loop over it (otherwise the job wouldn't know which wells to loop through). Moreover, the well selection task requires a well plate definition in order to know the dimensions of the well plate, how many wells are present and their exact position.

Note

If a task is not set-up properly (e.g.: missing dependent task, wrong task order in the definition, wrong task setting, ...) a red exclamation mark appears in the caption of the concerned task. The job cannot be executed until all such errors are resolved.

Definition-Execution type tasks 
Some operations consist of two separate tasks - one for definition (e.g. Acquisition > Capture Definition) and one for execution (e.g.: Acquisition > Capture). This is often useful in situations where a single definition is to be executed in different places of the job. If you wish to use such a task, always place the definition task before the execution task.

In this example, DAPI optical configuration is used in the Acquisition > Capture Definition task and Z-Stack > Define Z-Stack parameters are defined. Points are generated on a dish and a loop over these points is created. On every point an image is captured (not saved) and used for the Analysis > Cell Count Analysis. Information about the cell quantity at each point of the dish is used in a condition. If Cell Count is bigger than 0, all the tasks inside this Conditions > Condition (If) task are executed (Z-Stack > Define Z-Stack containing Acquisition > Capture). Hence, image on each plane of the Z-Stack is captured (and saved). Notice that Acquisition > Capture uses the same definition in both places. If the user decides to switch the Optical Configuration used (e.g. from DAPI to FITC), he can simply change it in the Acquisition > Capture Definition and all Acquisition > Capture tasks linked with this definition will use the new setting.

Rules

  • The Definition task (usually containing the word Define, Definition, ...) has to be placed above its Execution task.

Loops 
We can consider a well plate as a set of many wells. To sequentially pass through all the wells in Jobs we use Loops. Each processes (tasks) which we want to execute on the well level have to be placed inside this loop.

Note

Well Plates > Loop over Wells does not move between the wells on a well plate by itself. It is therefore impossible to expect pictures of single wells by placing just Acquisition > Capture inside the Well Plates > Loop over Wells. To do so, you have to place the Well Plates > Move to Well Center task (Well Plates > Move to Well Center) inside the loop right before capture. This task tells the loop to move to the appropriate well.

In this job, stage moves to the center of the first well of the well selection, auto focus is performed and random points are generated (first level loop). Then the job encounters the embedded second level loop. Still on the same well these random points are looped through and image is captured for each point. First level loop was now completed for the first well. Stage moves to the second well and the inside of the loops is executed repeatedly until all the wells of the well selection are run through.

Rules

  • Tasks contained in a loop task are executed repeatedly and from top to bottom.

Adjusting the Task Settings 
Tasks have different parameters which need to be set. These parameters are usually set at job-design time by double-clicking the caption of the task. However, crucial tasks can be selected and displayed within a wizard out of the main job body, so that the person running the job is not distracted by the whole job structure (see Using Job Definition Wizard). Similarly, the same tasks can be displayed at runtime which enables the user to interact with the job or make decisions. Complex jobs can be parametrized (Defining Parameters) to be more user friendly.

Effective job building 
To avoid errors when building a job, all of the rules mentioned above have to be followed. The best practice is to think about the results we want to acquire and then go backwards. Which devices are necessary for our procedure? Is the procedure done only once or shall it repeat? Do I need to change sample holders (slides, well plates) during the job? Are there any decision-making points? What images exactly do we want to capture? Which device operations need to be done before an image is captured? Also think about the user interaction. Will the job be fully automatic or do you want to adjust the parameters during the job run? Try to answer all of these questions to make the job as simple and effective as possible. After that, you can start creating the job (see Creating a Job).