Skip to content

Reset preprocessing steps between runs #5

@r-b-g-b

Description

@r-b-g-b

Currently, the software has no concept of runs. Certain preprocessing steps carry states with them, e.g., a running mean that needs to reset at the end of each run.

Proposed implementation

  1. Implement resetting logic for each preprocessing step. Add a reset method to the PreprocessingStep base class and implement it where needed in inheriting classes.
  2. Provide a way to trigger resets in between runs. I can imagine two ways: manual or automatic.

Manual would involve putting in a button on the control panel that restarts the preprocessing pipelines. Currently the control panel cannot communicate with the preprocessing steps -- it just starts and stops processes. We could build in a way to communicate specific instructions, perhaps using the shared redis database and PUB-SUB. Or we could simply restart the processes.

Automatic: there are signals we could detect that indicate a run has started or stopped. First is timing, we could build in a trigger that detects when more than n seconds have elapsed. Another signal is that, at the start of each run, a new subfolder is created in the network shared folder that the scanner dumps raw DICOM into. We could detect that folder creation and trigger the start of a new run.

Metadata

Metadata

Assignees

Labels

No labels
No labels

Type

No type

Projects

No projects

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions