-
Notifications
You must be signed in to change notification settings - Fork 272
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
New volume to cifti script #317
base: master
Are you sure you want to change the base?
Conversation
One important difference from |
|
No, I didn't change any pipelines to use this new script, as it might change their behavior (and I don't have a test setup ready for RecleanClassify). |
Could the new script have options such that at some point in the future it could be used in lieu of both |
The ICAFIX/scripts version uses the old gaussian resampling code that we replaced due to the patterns it induces in temporal stdev, and I don't intend to add that to this script, so the outputs wouldn't be identical. I would argue that ideally, RecleanClassify shouldn't be using gaussian resampling for its features anyway, but we'd have to test and/or retrain it. It wouldn't be advisable to replace just |
In that case, sounds like there isn't really anything else to do at this time, other than maybe add a "fix zeros" option, if someone wanted to emulate that behavior through this script? |
We definitely want that option as that is sometimes what we want to do. |
Should it generate the "fix zeros" output as a second, additional output? Or, if one wanted to compare the impact of "fix zeros", would one just run it twice, with and without that option? (I'm assuming that everything else is deterministic). |
It should be an option. Normally we use it so not using it is probably the less common case. |
The ideal place to start fixing zeros is on the input file, so the script should not produce two outputs (there would be a lot of duplicated work from A/B intermediates). The main reason we fix zeros is to stop correlation from returning nonsense, which is mostly relevant for resting state, so I wouldn't make this generic script default to doing it. There is already dilation to deal with tiny triangles and excluded voxels (and non-overlap with atlas subcortical structures) without conflating those with exact zeros in the input data (so, for instance, mapping binary ROIs to cifti doesn't result in massively increasing their size). |
I am okay with the default not fixing zeros, but we often use it so it needs to be an option. |
… script, some improvements
This adds a new script that should be relatively friendly to map an arbitrary subject-specific volume file (in either MNINonLinear (default) or T1w space) to a standard grayordinates space (default 91282). The similarly-named script in
ICAFIX/scripts
requires selecting an fMRI name, doesn't use cubic resampling the way fMRIVolumeSubcorticalProcessing.sh
does, and had other arguments that users probably shouldn't have to mess with (manually specifying fMRI and brainordinate resolution, when the input file and grayordinates choice already define them).This script currently only takes one input volume file at a time, but takes options, particularly
--good-voxels
, where it may be desired to have different settings per input anyway. At present its smoothing defaults to 0, which differs from how we run fMRISurface.However, there is a serious flaw in the current 170494 grayordinates, the Atlas_ROIs volume file is RPI, while the dscalar file next to it uses LPI. The 91282 grayordinates is RPI for both. Should I remake the 170494 dscalar file?