-
Notifications
You must be signed in to change notification settings - Fork 13
Open
Labels
featureNew feature, enhancement or requestNew feature, enhancement or request
Milestone
Description
Description
The current way the quality parameters are saved is on a subject basis, where after each module all QC parameters are saved at once.
If in this scenario the process is halted midway through a module, the QC parameters of sub-modules that have been ran will be lost.
As the lock/status files of these sub modules are created already, in subsequent runs these values will never be recreated.
As such, the suggestion to move the qc-parameter saving from end of module to end of sub-module.
Tasks
- At a submodule start: Implement a new
x.matloader, with input values (x, submodule variables) that resets the QC values in memory for the current submodule. - At the submodule end: Implement a new
x.matsaver that updates only the values the current submodule has changed again, input values (x, submodule variables) - Implement said functions at the start and end of every submodule
- Remove the original
x.matsave/load functions (e.g.,xASL_adm_LoadX) from the end of each module.
More comments
- Load and save the QC*.json to keep track of Output before and after each submodule wrapper in the ASL module. Replaces the loading and saving of x.mat.
- x.mat is currently saved for xASL_wrp_registerASL, but this can be removed and replaced by QC*.json, as the x.mat was saved solely for the purpose of QC and not for other things in the x.mat.
- At the start of ASL module - next to the output cleaning in x.mat, make sure that the QC*json is cleaned and created as well.
- Move some of the QC things to the correct submodule.
- The question still is, if the same output is saved to x.mat in parallel, or kept only in QC*.json?
- OK, then we only keep QC*.json
- we open and close QC*.json each time, and don't keep track what was opened and closed. Each submodule should be "on its own" in this regard.
- In the derivative stuff that now loads the x.mat (e.g. PDF), we should convert to QC*.json as well.
- Can become confusing that part of the output is moved to json, but the images are still inside the x.mat (there are both x.Output.(ScanType).* and x.Output_im.(ScanType).*
- Do this issue Additional QC parameters #728
How to test
- Break off a module half way, check if the previous sub-module values have been saved to x.mat.
- Restart the module from breakpoint, see if the sub-modules restart properly.
- Check if all QC Values have been correctly added.
Release notes
Required: summarize the changes for the release notes here
Metadata
Metadata
Assignees
Labels
featureNew feature, enhancement or requestNew feature, enhancement or request