EmotionCognitionLab / flywheel

Scripts and gears for use with flywheel.io
1 stars 2 forks source link

Expression Configuration Option for ANTsRegistrationSynQuick #56

Closed jskim628 closed 1 month ago

jskim628 commented 2 months ago

I am trying to run ANTs: RegistrationSynQuick on all subjects, all sessions, and all of the lowres-PD weighted files. Each session has two lowres-PD weighted files. When trying to run Batch gear, I cannot specify which input files and which is the target file.

Basically, I need to be able to specify the input and target files. Input: All of the lowres-PD weighted nifti files (two of them in each session) Target: The T1w nifti file

Currently, it is set to run on all nifti files when running a batch gear and I cannot specify either the input files nor the target. This is not the case when I run as a single analysis gear. I believe this means that the Batch Gear requires an expression configuration option. Thank you!

noah10 commented 1 month ago

Which project were you trying to do this in? And when you say "Input" and "Target", what are the actual gear inputs each of those correspond to? (The gear inputs are "fixed", "mask1", "mask2", "mask3", and "moving".)

jskim628 commented 1 month ago

I am running the 2024AndyReplicationLC project. Sorry, the "fixed" gear is what I mean by the input and the "moving" gear is what I mean by the target. I would want the fixed gear to be able to be able to get all the lowres-PDw nifti files in that session's acquisition and the moving gear to select the T1w nifti image in the same session.

noah10 commented 1 month ago

OK. If you were running this outside of Flywheel would doing two runs (e.g. antsRegistrationSyNQuick.sh -f lowres-PDw_run-1.nii.gz -m T1w.nii.gz followed by antsRegistrationSyNQuick.sh -f lowres-PDw_run-2.nii.gz -m T1w.nii.gz) give you the results you need? Or would it have to be antsRegistrationSyNQuick.sh -f lowres-PDw_run-1.nii.gz -f lowres_PDw_run-2.nii.gz -m T1w.nii.gz? (Hint: The two runs option will make things easier for us. If you really need a completely flexible number of fixed inputs it can be done, but you'll have to use the tagging tool and I'll have to adapt the gear to work with it.)

jskim628 commented 1 month ago

It would be the former, two separate runs to create two separate outputs.

noah10 commented 1 month ago

Good. The easiest approach here turns out to be for me to simply write a quick script that kicks off the 300+ jobs you need to run, rather than trying to do it through a batch run. Please put the configuration parameters you want here (using the parameter names shown in the "Configuration" tab of the Run Gear dialog) and I'll write the script and run it for a small number of sessions. If the results look good I'll run it for all of them.

jskim628 commented 1 month ago

Great. I want to run ANTs: RegistrationSyNQuick. Fixed: The T1w nifti image for that subject's session. (e.g., anat-T1w_ses-mid_20230705095546.nii.gz) Moving: The lowres-PDw files for that subject's sessioin. (e.g., anat-PDw_ses-mid_acq-lowres_run-01_20230705095546.nii.gz and anat-PDw_ses-mid_acq-lowres_run-02_20230705095546.nii.gz). Thus, this will be run twice for each run.

Configuration Image_dimension: 3 Outprefix: aligned (However, you mentioned the tagging system to specify outputs created from this) Transform type: a (rigid + affine 2 stages) Everything else is default.

Let me know if you have any questions, thank you.

noah10 commented 1 month ago

I'm going to change the out_prefix to 'lowresaligned' just as a precaution - that may prove helpful in distinguishing the lowres outputs from the highres ones (if we end up generating those).

jskim628 commented 1 month ago

that works, thanks!

noah10 commented 1 month ago

All of the jobs have been kicked off, so I'm going to close this issue.