-
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
Structural longitudinal pipelines #295
Conversation
…rsity/HCPpipelines into feature/longitudinal_fs
…rsity/HCPpipelines into feature/longitudinal_fs
PostFreeSurfer/scripts/FreeSurfer2CaretConvertAndRegisterNonlinear.sh
Outdated
Show resolved
Hide resolved
PostFreeSurfer/scripts/FreeSurfer2CaretConvertAndRegisterNonlinear.sh
Outdated
Show resolved
Hide resolved
…near.sh Co-authored-by: Tim Coalson <coalsont@users.noreply.github.com>
The definition of the start stage parameter says:
One would assume that |
Long FS seems to be working fine. There are some issues with the Post Long FS though. If I execute it with the default starting stage (PREP-T):
I get the error:
If I set start stage to
So the same script errors out, once it says it needs more than one timepoint and the other time it says it has too many timepoints. |
…2w->T1w_long_template transfrom
…in PostFreeSurferPipelineLongPrep.sh
…on-University/HCPpipelines into feature/longitudinal_fs
Longitudinal HCP pipeline
General longitudinal pipeline execution scheme is:
Core scripts
Corresponding example batch script: Examples/Scripts/FreeSurferPipelineBatch-long.sh
Refer to docs/diagrams/out/PostFreesurferPipelineLongPrep.GeneralScheme.png for the general execution scheme.
Refer to docs/diagrams/out/PostFreesurferPipeline-long.GeneralScheme.png for the general execution scheme.
Execution stages
LongitudinalFreesurferPipeline has two stages:
space that can be executed consequtively or separately, in this order.
PostFreesurferPipelineLongLauncher has five stages that can also be executed in one run or split between batches in this order:
average surface (e.g.MSMSulc) registration
registration (MSMSulc by default), and finish all PostFS scripts for template
registration), and finish all PostFS scripts per each timepoint.
Parallel modes
Two-level parallel execution is supported:
Batch scripts can have no parallelization (NONE), or use FSLSUB.
Pipelines can run the following modes:
NONE: no parallelization.
BUILTIN: parallel mode that uses parallel.shlib for concurrent within-stage execution (i.e. multi-timepoint) on the same node. Supports staged execution.
FSLSUB: parallel model that launches all jobs using fsl_sub at pipeline level. In this case, batch scripts should not use fsl_sub.
This is the most flexible mode that allows to schedule all jobs per subject at once. It also supports staged execution. FSLSUB mode adds more flexibility and will speed up longitudinal processing for multi-timepoint, multi-subject scenarios on clusters. Also we will not be dealing with specific grid engine configuration, leaving that support to fsl_sub developers. In addition, fsl_sub provides more control over job tracking compared to BUILTIN mode.
Key terminology:
Subject: In all cases, subject label. In legacy cross-sectional scenarios, this also corresponded to experiment root (see below).
Session, Visit, Timepoint: Experiment label for each session/timepoint used by longitudinal Freesurfer. 'Session' notation is also used in cross-sectional mode, replacing Subject.
Template, longitudinal template: longitudinal template label that is created by longitudinal Freesurfer. This label defines directory names for both timepoint and template files.
Experiment root: In cross-sectional case, same as 'Session' (former Subject). In longitudinal case, directory name where timepoint or template files are stored. These are generated by Freesurfer using the following logic:
Timepoint folder: <Timepoint>.long.<Template>
Template folder: <Subject>.long.<Template>
Freesurfer folder: in longitudinal case, Freesurfer folder is named following these patterns:
Timepoint: <Timepoint folder>/T1w/<Timepoint folder>
Template: <Template folder>/T1w/<Template>