hcp_asl
hcp_asl#
- qx_utilities.hcp.process_hcp.hcp_asl(sinfo, options, overwrite=False, thread=0)#
hcp_asl [... processing options]hcpa [... processing options]Runs the HCP ASL Pipeline (https://github.com/physimals/hcp-asl).
Warning
The code expects the first three HCP preprocessing steps (hcp_pre_freesurfer, hcp_freesurfer and hcp_post_freesurfer) to have been run and finished successfully.
Parameters
- --batchfile (str, default ''):
The batch.txt file with all the sessions information.
- --sessionsfolder (str, default '.'):
The path to the study/sessions folder, where the imaging data is supposed to go.
- --parsessions (int, default 1):
How many sessions to run in parallel.
- --overwrite (str, default 'no'):
Whether to overwrite existing data (yes) or not (no). Note that previous data is deleted before the run, so in the case of a failed command run, previous results are lost.
- --hcp_suffix (str, default ''):
Specifies a suffix to the session id if multiple variants are run, empty otherwise.
- --logfolder (str, default ''):
The path to the folder where runlogs and comlogs are to be stored, if other than default.
- --hcp_gdcoeffs (str, optional):
Path to a file containing gradient distortion coefficients, alternatively a string describing multiple options (see below) can be provided.
- --hcp_asl_mtname (str, optional):
Filename for empirically estimated MT-correction scaling factors.
- --hcp_asl_territories_atlas (str, optional):
Atlas of vascular territories from Mutsaerts.
- --hcp_asl_territories_labels (str, optional):
Labels corresponding to territories_atlas.
- --hcp_asl_cores (int, optional)
Number of cores to use when applying motion correction and other potentially multi-core operations.
- --hcp_asl_use_t1 (flag, optional):
If specified, the T1 estimates from the satrecov model fit will be used in perfusion estimation in oxford_asl. The flag is not set by default.
- --hcp_asl_interpolation (int, optional):
Interpolation order for registrations corresponding to scipy's map_coordinates function.
- --hcp_asl_nobandingcorr (flag, optional):
If this option is provided, MT and ST banding corrections won't be applied. The flag is not set by default.
- --hcp_asl_stages (str, optional)
A comma separated list of stages (zero-indexed) to run. All prior stages are assumed to have run successfully.
- --hcp_asl_ntis (int, optional)
Number of TIs.
- --hcp_asl_tis (str, optional)
Comma separated list of TIs in seconds (e.g., 1.7,2.2,2.7,3.2,3.7).
- --hcp_asl_rpts (str, optional)
Comma separated repeats for each TI (e.g., 6,6,6,10,15).
- --hcp_asl_bolus (float, optional)
Labeling/bolus duration in seconds.
- --hcp_asl_slicedt (float, optional)
Slice time in seconds.
- --hcp_asl_sliceband (int, optional)
Slices per band (if omitted, derived from sidecar MB factor).
- --hcp_asl_te (float, optional)
Echo time in milliseconds.
- --hcp_asl_tail_discard_vols (int, optional)
Volumes immediately before calibrations to discard.
- --hcp_asl_ibf (str, optional)
Input block format.
- --hcp_regname (str, default 'MSMSulc'):
Input registration name.
- --hcp_longitudinal_template (str, default 'base'):
Name of the longitudinal template.
- --longitudinal:
Set this flag if you are running the longitudinal variant of this command.
Output files
The results of this step will be present in the ASL folder in the sessions's root hcp folder.
Notes
- Gradient coefficient file specification:
--hcp_gdcoeffs parameter can be set to either "NONE", a path to a specific file to use, or a string that describes, which file to use in which case. Each option of the string has to be divided by a pipe "|" character and it has to specify, which information to look up, a possible value, and a file to use in that case, separated by a colon ":" character. The information too look up needs to be present in the description of that session. Standard options are e.g.:
institution: Yale device: Siemens|Prisma|123456
Where device is formatted as <manufacturer>|<model>|<serial number>.
If specifying a string it also has to include a default option, which will be used in the information was not found. An example could be:
"default:/data/gc1.conf|model:Prisma:/data/gc/Prisma.conf|model:Trio:/data/gc/Trio.conf"With the information present above, the file /data/gc/Prisma.conf would be used.
- Mapping of QuNex parameters onto HCP ASL pipeline parameters:
Below is a detailed specification about how QuNex parameters are mapped onto the HCP ASL parameters.
QuNex parameter
HCP ASL parameter
hcp_gdcoeffsgradshcp_regnameregnamehcp_asl_mtnamemtnamehcp_asl_territories_atlasterritories_atlashcp_asl_territories_labelsterritories_labelshcp_asl_use_t1use_t1hcp_asl_nobandingcorrnobandingcorrhcp_asl_interpolationinterpolationhcp_asl_corescores`hcp_asl_stagesstageshcp_asl_ntisntishcp_asl_tistishcp_asl_rptsrptshcp_asl_bolusbolushcp_asl_slicedtslicedthcp_asl_slicebandslicebandhcp_asl_tetehcp_asl_tail_discard_volstail_discard_volshcp_asl_ibfibflongitudinalis-longitudinalhcp_longitudinal_templatelongitudinal-template
Examples
Example run:
qunex hcp_asl \ --sessionsfolder="<path_to_study_folder>/sessions" \ --batchfile="<path_to_study_folder>/processing/batch.txt"
Run with scheduler, while bumping up the number of used cores:
qunex hcp_asl \ --sessionsfolder="<path_to_study_folder>/sessions" \ --batchfile="<path_to_study_folder>/processing/batch.txt" \ --hcp_asl_cores="8" \ --scheduler="SLURM,time=24:00:00,mem-per-cpu=16000"
