Skip to content

Sequence calculation during execution time #52

Description

@schote

In the current setup, the sequence is calculated prior to experiment execution.
The calculations of a long sequence (e.g. for 3D imaging) which runs for approx. 15 mins may take up to 2 min of computation time (dependents on the system).

The calculation of a sequence and it's execution can be carried out simultaneously with a short time offset.
This requires to run the sequence provider and the acquisition control in different processes.
Separated threads would not be sufficient, as they only execute the code concurrently.

Both processes could share a queue which is fed by the sequence provider and consumed by the acquisition control.
Before starting the sequence execution, a certain part of the calculation must be concluded to not run out of sequence samples.
The sequence calculation can be executed in a separate processes pushing each sequence block to a global queue object.

Custom process class example

Multiprocessing queue example

Metadata

Metadata

Assignees

No one assigned

    Projects

    Status
    No status

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions