realtimefmri icon indicating copy to clipboard operation
realtimefmri copied to clipboard

Reset preprocessing steps between runs

Open r-b-g-b opened this issue 7 years ago • 0 comments

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.

r-b-g-b avatar Nov 19 '18 19:11 r-b-g-b