-
Notifications
You must be signed in to change notification settings - Fork 0
Quality Check Stream
The above image depicts a very simplified version of quality checks. The quality checks to be added will be the "bad" slice detection and "bad" scan detection. The output of the "bad" slice detection will be a PS in each run directory, a .mat file in each run directory that stores all the output to create the figures in the PS, and one text that lists all "bad" detected slices. The user can check the "bad" slices in an image viewer and decide what to do with them. Do you think any user would view the PS?
Metrics used for bad slice detection:
- z-score of mean slice values - default threshold 4
- MSE between slice scans - supplementary for the user
Figures plotted in PS:
- SNR as defined by Tor Wager histogram (may be useful later)
- z-score of mean slice values
- MSE between slice scans
- Whole scan means vs whole scan STD
- MSE between whole volumes
The output of the "bad" scan detection will be a .txt (or .csv?) file in the run directory if and only if a "bad" scan is detected in a run. The text file will contain regressors for each "bad" scan in the run. The user decides whether to use the regressors at the first level stage.
Metrics used for bad scan detection:
- differnce between z-scored scan means - default threshold TBD
- maybe just used art toolbox for this which also does motion detection. It may be cumbersome to use because it requires an SPM.mat and is easiest to use with SPM motion parameter text files. Our preprocessing text files can be used, but we would have to edit some of the code.
Why split the quality checks into "bad" slice and scan detection?
Slice detection will use the untouched run_##.nii. Detected slices can then be "corrected" by methods of interpolation if the user decides to choose to do so. If "bad" scans are detected at this stage, can anything be done? Scan detection will use the final smoothed normalized images, because these are the files that should be used in the first level analysis.
Why output a PS instead of a PDF or html file?
The easiest way to output a PDF is through the publish function. The publish function seems to have memory leaks, so it is not useful for batch processing. I have always seen "out of memory error" after the seventh run processed. Outputting an html file is cumbersome, because each figure has to be separately saved; however, it could be useful if there was some sort of database.
Should really distorted time series runs be checked?
The best way to do this may be just briefly checking over each run.
The above image depicts a decision making tree when using the semi-automated quality stream.


