:orphan: .. _ahelp_align_epi_anat.py: ***************** align_epi_anat.py ***************** .. contents:: :local: | .. code-block:: none #++ align_epi_anat version: 1.62 =========================================================================== align_epi_anat.py - align EPI to anatomical datasets or vice versa This Python script computes the alignment between two datasets, typically an EPI and an anatomical structural dataset, and applies the resulting transformation to one or the other to bring them into alignment. This script computes the transforms needed to align EPI and anatomical datasets using a cost function designed for this purpose. The script combines multiple transformations, thereby minimizing the amount of interpolation applied to the data. Basic Usage: align_epi_anat.py -anat anat+orig -epi epi+orig -epi_base 5 The user must provide EPI and anatomical datasets and specify the EPI sub-brick to use as a base in the alignment. Internally, the script always aligns the anatomical to the EPI dataset, and the resulting transformation is saved to a 1D file. As a user option, the inverse of this transformation may be applied to the EPI dataset in order to align it to the anatomical data instead. This program generates several kinds of output in the form of datasets and transformation matrices which can be applied to other datasets if needed. Time-series volume registration, oblique data transformations and Talairach (standard template) transformations will be combined as needed and requested (with options to turn on and off each of the steps) in order to create the aligned datasets. **Note the intermediate datasets used to compute the alignment are **not** saved unless one of the -save_xxx options is given. This includes skull-stripped, slice timing corrected and volume registered datasets without alignment. These intermediated datasets are normally deleted. See the -save_xxx section below for more information on saving these datasets for future use. Depending upon selected options, the script's output contains the following: Datasets: ANAT_al+orig: A version of the anatomy that is aligned to the EPI EPI_al+orig: A version of the EPI dataset aligned to the anatomy EPI_tlrc_al+tlrc: A version of the EPI dataset aligned to a standard template These transformations include slice timing correction and time-series registration by default. Transformation matrices: ANAT_al_mat.aff12.1D: matrix to align anatomy to the EPI EPI_al_mat.aff12.1D: matrix to align EPI to anatomy (inverse of above) EPI_vr_al_mat.aff12.1D: matrix to volume register EPI EPI_reg_al_mat.aff12.1D: matrix to volume register and align epi to anatomy (combination of the two previous matrices) EPI_al_tlrc_mat.aff12.1D: matrix to volume register and align epi to anatomy and put into standard space Motion parameters from optional volume registration: EPI_tsh_vr_motion.1D: motion parameters from EPI time-series registration (tsh included in name if slice timing correction is also included). where the uppercase "ANAT" and "EPI" are replaced by the prefix names of the input datasets, and the suffix can be changed from "_al" as a user option. You can use these transformation matrices later to align other datasets: 3dAllineate -cubic -1Dmatrix_apply epi_r1_al_mat.aff12.1D \ -prefix epi_alman epi_r2+orig The goodness of the alignment should always be assessed visually. Superficially, most of 3dAllineate's cost functions, and those of registration programs from other packages, will produce a plausible alignment based upon a cursory examination but it may not be the best. You need to examine the results carefully if alignment quality is crucial for your analysis. In the absence of a gold standard, and given the low contrast of EPI data, it is difficult to judge alignment quality by just looking at the two volumes. This is the case, even when you toggle quickly between one volume and the next, by turning the color overlay off and using the 'u' key in the slice viewer window. To aid with the assessment of alignment, you can use the -AddEdge option or call the @AddEdge script directly. See the help for @AddEdge for more information on that script. The default options assume the epi and anat datasets start off fairly close, as is normally the case when the epi dataset closely precedes or follows an anatomical dataset acquisition. If the two data are acquired over separate sessions, or accurate coordinate data is not available in the dataset header (as sometimes occurs for oblique data), various options allow for larger movement including "-cmass cmass", "-big_move","-giant_move", "-ginormous_move", and -align_centers yes". Each of these options is described below. If the datasets do not share the same coordinate space at all, it may be useful to use the "-ginormous_move", "-align_centers" options or run @Align_Centers script first. Although this script has been developed primarily for aligning anatomical T1 data with EPI BOLD data, it has also been successfully applied for aligning similar modality data together, including T1-SPGR to T1-SPGR, T1-FLAIR to T1-SPGR, EPI to EPI, T1-SPGR at 7T to T1-SPGR at 3T, EPI-rat1 to EPI-rat2, .... If this kind of alignment is required, the default cost function, the Local Pearson Correlation (lpc), is not appropriate. Other cost functions like lpa or nmi have been seen to work well for intra-modality alignment, using the option "-cost lpa". Also see the the dset1 and dset2 options below for functionally equivalent options to the epi and anat options. --------------------------------------------- REQUIRED OPTIONS: -epi dset : name of EPI dataset -anat dset : name of structural dataset -epi_base : the epi base used in alignment (0/mean/median/max/subbrick#) MAJOR OPTIONS: -help : this help message -anat2epi : align anatomical to EPI dataset (default) -epi2anat : align EPI to anatomical dataset The following options are equivalent to those epi/anat options above except it is assumed the datasets will have similar modalities if either dset1 or dset2 is specified, and the default cost function is changed to 'lpa' instead of 'lpc'. This should reduce confusion when aligning other types of datasets. Most other options that also have names with anat and epi have corresponding dset1 and dset2 options that are exactly equivalent. -dset1 : name of dataset1 -dset2 : name of dataset2 -dset1to2 : align dataset1 to dataset2 -dset2to1 : align dataset2 to dataset1 -suffix ssss: append suffix 'sss' to the original anat/epi dataset to use in the resulting dataset names (default is "_al") -child_epi dset1 dset2 ... : specify other EPI datasets to align. Time series volume registration will be done to the same base as the main parent EPI dataset. Note if aligning anat to epi, you can still use the -save_vr option to save the volume registered (motion corrected) datasets. See the -save_xxx option section of this help for more information. -child_dset2 equivalent to child_epi above -child_anat dset1 dset2 ... : specify other anatomical datasets to align. The same transformation that is computed for the parent anatomical dataset is applied to each of the child datasets. This only makes sense for anat2epi transformations. Skullstripping is not done for the child anatomical dataset. -child_dset1 equivalent to child_anat above -AddEdge : run @AddEdge script to create composite edge images of the base epi or anat dataset, the pre-aligned dataset and the aligned dataset. Datasets are placed in a separate directory named AddEdge. The @AddEdge can then be used without options to drive AFNI to show the epi and anat datasets with the edges enhanced. For the -anat2epi case (the default), the anat edges are shown in purple, and the epi edges are shown in cyan (light blue). For the -epi2anat case, the anat edges are shown in cyan, and the epi edges are purple. For both cases, overlapping edges are shown in dark purple. -big_move : indicates that large displacement is needed to align the two volumes. This option is off by default. -giant_move : even larger movement required - uses cmass, two passes and very large angles and shifts. May miss finding the solution in the vastness of space, so use with caution -ginormous_move : adds align_centers to giant_move. Useful for very far apart datasets Notes on the big_move and giant_move options: "big_move" allows for a two pass alignment in 3dAllineate. The two-pass method is less likely to find a false minimum cost for alignment because it does a number of coarse (blurred, rigid body) alignments first and then follows the best of these coarse alignments to the fine alignment stage. The big_move option should be a relatively safe option, but it adds processing time. The giant_move option expands the search parameters in space from 6 degrees and 10 mm to 45 degrees and 45 mm and adds in a center of mass adjustment. The giant_move option will usually work well too, but it adds significant time to the processing and allows for the possibility of a very bad alignment.Another cost functional is available that has worked well with noisy data, "lpc+ZZ". For difficult data, consider that alternative. If your data starts out fairly close (probably the typical case for EPI and anatomical data), you can use the -big_move with little problem. All these methods when used with the default lpc cost function require good contrast in the EPI image so that the CSF can be roughly identifiable. -rigid_body Limit transformation to translation and rotation, no scaling or shearing. -rigid_equiv Compute alignment with full affine 12 parameters, but use only the translation and rotation parameters. Useful for axialization/AC-PC alignment to a template -partial_coverage: indicates that the EPI dataset covers only a part of the brain. Alignment will try to guess which direction should not be shifted If EPI slices are known to be a specific orientation, use one of these other partial_xxxx options. -partial_axial -partial_coronal -partial_sagittal -keep_rm_files : keep all temporary files (default is to remove them) -prep_only : do preprocessing steps only -verb nn : provide verbose messages during processing (default is 0) -anat_has_skull yes/no: Anat is assumed to have skull ([yes]/no) -epi_strip methodname : method to mask brain in EPI data ([3dSkullStrip]/3dAutomask/None) -volreg_method methodname: method to do time series volume registration (motion correction) of EPI data ([3dvolreg],3dWarpDrive,3dAllineate). 3dvolreg is for 6 parameter (rigid-body) 3dWarpDrive is for 12 parameter (general affine) 3dAllineate - also 12 parameter with LPA cost function Note if aligning anat to epi, the volume registered EPI dataset is **not** saved unless you use the -save_vr option. See the -save_xxx option section of this help for more information. -dset1_strip : skull stripping method for dataset1 -dset2_strip : skull stripping method for dataset2 (equivalent to epi_strip) A template registered anatomical dataset such as a talairach-transformed dataset may be additionally specified so that output data are in template space. The advantage of specifying this transform here is that all transformations are applied simultaneously, thereby minimizing data interpolation. -tlrc_apar ANAT+tlrc : structural dataset that has been aligned to a master template such as a tlrc dataset. If this option is supplied, then an epi+tlrc dataset will be created. The @auto_tlrc script may be used to create this "talairach anatomical parent". This option is only valid if aligning epi to anat. Other options: -ex_mode modename : execute mode (echo/dry_run/quiet/[script]). "dry_run" can be used to show the commands that would be executed without actually running them. "echo" shows the commands as they are executed. "quiet" doesn't display commands at all. "script" is like echo but doesn't show stdout, stderr header lines and "cd" lines. "dry_run" can be used to generate scripts which can be further customized beyond what may be available through the options of this program. -Allineate_opts '-ssss -sss' : options to use with 3dAllineate. Default options are "-weight_frac 1.0 -maxrot 6 -maxshf 10 -VERB -warp aff " -volreg [on]/off : do volume registration on EPI dataset before alignment -volreg_opts '-ssss -sss' : options to use with 3dvolreg -volreg_base basenum/type : the epi base used in time series volume registration. The default is to use the same base as the epi_base. If another subbrick or base type is used, an additional transformation will be computed between the volume registration and the epi_base (0/mean/median/max/subbrick#) Note if aligning anat to epi, the volume registered EPI dataset is **not** saved unless you use the -save_vr option. See the -save_xxx option section of this help for more information. -tshift [on]/off : do time shifting of EPI dataset before alignment -tshift_opts : options to use with 3dTshift The script will determine if slice timing correction is necessary unless tshift is set to off. -deoblique [on]/off : deoblique datasets before alignment -deoblique_opts '-ssss -sss': options to use with 3dWarp deobliquing The script will try to determine if either EPI or anat data is oblique and do the initial transformation to align anat to epi data using the oblique transformation matrices in the dataset headers. -master_epi nnn : master grid resolution for aligned epi output -master_tlrc nnn : master grid resolution for epi+tlrc output -master_anat nnn : master grid resolution for aligned anatomical data output -master_dset1 nnn : equivalent to master_anat above -master_dset2 nnn : equivalent to master_epi above (SOURCE/BASE/MIN_DXYZ/dsetname/n.nn) Each of the 'master' options can be set to SOURCE,BASE, a specific master dataset, MIN_DXYZ or a specified cubic voxel size in mm. MIN_DXYZ uses the smallest voxel dimension as the basis for cubic output voxel resolution within the bounding box of the BASE dataset. SOURCE and BASE are used as in 3dAllineate help. The default value for master_epi and master_anat is SOURCE, that is the output resolution and coordinates should be the same as the input. This is appropriate for small movements. For cases where either dataset is oblique (and larger rotations can occur), the default becomes MIN_DXYZ. The default value for master_tlrc is MIN_DXYZ. "-master_dset1" and "-master_dset2" may be used as equivalent expressions for anat and epi output resolutions, respectively. -check_flip : check if data may have been left/right flipped by aligning original and flipped versions and then comparing costs between the two. This option produces the L/R flipped and aligned anat/dset1 dataset. A warning is printed if the flipped data has a lower cost function value than the original dataset when both are aligned to the epi/dset2 dataset. This issue of left-right confusion can be caused by problems with DICOM files or pipelines that include Analyze format datasets. In these cases, the orientation information is lost, and left-right may be reversed. Other directions can also be confused, but A-P and I-S are usually obvious. Note this problem has appeared on several major publicly available databases. Even if other software packages may proceed without errors despite inconsistent, wrong or even missing coordinate and orientation information, this problem can be easily identified with this option. This option does not identify which of the two datasets need to be flipped. It only determines there is likely to be a problem with one or the other of the two input datasets. Importantly, we recommend properly visualizing the datasets in the afni GUI. Look for asymmetries in the two aligned anat/dset1 datasets, and see how they align with the epi/dset2 dataset. To better determine the left and right of each dataset, we recommend relying on tags like vitamin E or looking for surgical markers. -flip_giant : apply giant_move options to flipped dataset alignment even if not using that option for original dataset alignment -save_xxx options Normally all intermediate datasets are deleted at the end of the script. If aligning anat to epi, the volume registered EPI dataset, although computed, is **not** saved unless you use the -save_vr option. Similarly other intermediate datasets are not saved unless explicitly requested with one of these options: -save_Al_in : save 3dAllineate input files -save_tsh : save tshifted epi -save_vr : save volume registered epi -save_skullstrip : save skull-stripped (not aligned) -save_rep : save representative tstat epi -save_resample : save resampled epi -save_epi_ns : save skull-stripped epi -save_all : save all the above datasets Not included with -save_all (since parameters are required): -save_orig_skullstrip PREFIX : save original skull-stripped dset -save_script SCRIPT_NAME : save shell command script to given file Alternative cost functions and methods: The default method used in this script is the LPC (Localized Pearson Correlation) function. The 'lpc' cost function is computed by the 3dAllineate program. Other cost functionals are available and are described briefly in the help for 3dAllineate. This script allows the user to choose any cost function available in that program with -cost xxx Some cost functionals have proven to be useful for some situations. Briefly, when aligning similar datasets (anat to anat), the 'lpa' method usually provides good alignment. Instead of using a negative correlation, as the 'lpc' method does, the 'lpa' cost functional uses the absolute value of the local correlation, so both positive and negative correlations drive the alignment. Occasionally the simplest least squares cost functional will be useful (implemented with -ls). If either of the input datasets has very little structural detail (less than typical EPI), the mutual information methods provide a rough alignment that gives alignment of mostly the contour of the datasets. These are implemented with '-cost nmi' or '-cost mi'. The lpa cost function looks for both high positive and negative local Pearson correlation (LPA is an acronym in our program for the absolute value of the local Pearson correlation). The LPC method looks for negative correlation, essentially matching the dark CSF in T1 images with the bright CSF in EPI images. The more negative the correlation the more likely the CSF will overlay each other and carry the rest of the volume along with it. -multi_cost cf1 cf2 ... Besides cost from specified cost function or default cost function, also compute alignment using other cost functionals. For example, using "-cost lpa -multi_cost ls nmi" will compute an alignment for the lpa, ls and nmi cost functionals. See 3dAllineate's HELP for a full list of available cost functionals. Use the AFNI GUI to view differences among cost functionals. -check_cost cf1 cf2 ... Verify alignment against another cost functional. If there is a large difference, a warning is printed. This does not mean the alignment is bad, only that it is different. -edge : use edge method The Edge method Finally, the "edge" method is a new method that is implemented not as a cost functional but as a different algorithm altogether. Based on our visualization methods for verifying alignment (as we do in AddEdge), it uses a local approach like the LPA/C cost functionals, but it is independent of the cost function. This method has turned out to be useful in a variety of circumstances. It has proven useful for data that changes dramatically over time like manganese-enhanced MRI (MEMRI) and for some data that has other large non-uniformities issues helping to compensate for those large contrasts. The edge method prepares the image to be a local spatial variance version of the original image. First both input datasets are automasked with the outer voxel layers removed. The spatial variance is computed over that mask. The optimal alignment is computed between the edge images. Strictly speaking, the datasets are not "edges" but a kind of normalized 2D gradient. The original datasets are then aligned using the transformation computed by the edge image alignment. Internally within the script, the gradient function is accomplished by the 3dLocalstat program using its cvar option for coefficient of variation. The coefficient of variation is computed as the standard deviation within the local neighborhood divided by the mean. The local spatial variance ends up being similar to locally normalized images of edges within the image. The "-edge" option is relatively insensitive to most of the cost functions in 3dAllineate, so "lpa", "mi", "nmi" and even "ls" will usually work well. The default is to use the lpa cost functional together with the edge method. The edge image is different in a couple ways from the LPA/C correlation. First it is a different function, essentially only a standard deviation over a neighborhood, and then normalized by the absolute value of the mean - effectively a spatial variance (or square root of the variance). The second difference is that while the LPA/C cost functions also operates on local neighborhoods, those neighborhoods are 3-dimensional and set by a neighborhood size set in mm. The shape of the neighborhoods are dodecahedrons (12-side figures) that cover the volume. The edge method instead computes the neighborhoods at each voxel, and the neighborhoods are only two-dimensional - just the voxel and its 8 neighbors in x and y, presumed to be in the same slice rather than across slices. That's for both speed in computation and to remove effects of interpolation or false edges across the relatively distant slices. Although not as rigorously tested as the LPC method, this edge method seems to give similar results most of the time. The method does have a few disadvantages compared to the LPC/LPA methods. First, the AddEdge visualization in this script does not support this well (effectively, showing edges of edges). Second, the edge method does not provide three-dimensional edge detection directly. Many times this is an advantage, but if the data has particularly fine slicing in the z-direction, or the data has been resampled, this method may not work as well. Also the method uses an automask to reduce the data so that outside edges do not drive the alignment. The five voxel layer was only empirically found to be useful for this, but may, in fact, be problematic for small partial volumes or for surface coil data where much of the data may be in the area that is masked away. The edge method makes no assumption about contrasts between images. Only that edges of features will overlap - the same feature we use visually to verify alignment. This makes it appropriate for both similar and differing modality datasets. Both the LPA/LPC and the edge methods require internal features to be present and mostly corresponding in both input datasets. In some cases, this correspondence is not available for aligning some kinds of data with an anatomical references - low-contrast EPI data, radiopharmaceutical PET data targeting specific function, derived parameters from modeling. In these cases, fine alignment is not possible, but alternative cost functions like mutual information or least squares can provide a rough alignment of the contours. -output_dir dirname : the default output will put the result in the current directory even if the anat and epi datasets are in other directories. If a directory is specified here, output data including temporary output data will be placed in that directory. If a new directory is specified, that directory will be created first. Other obscure and experimental options that should only be handled with care, lest they get out, are visible with -option_help. Examples: # align anat to sub-brick 5 of epi+orig. In addition, do slice timing # correction on epi+orig and register all sub-bricks to sub-brick 5 # (Sample data files are in AFNI_data4/sb23 in sample class data) # Note the intermediate file, the volume registered EPI dataset, # is **not** saved unless the -save_vr option is also used. # See the -save_xxx option section of this help for more information. align_epi_anat.py -anat sb23_mpra+orig -epi epi_r03+orig \ -epi_base 5 # Instead of aligning the anatomy to an epi, transform the epi # to match the anatomy. Transform other epi run datasets to be # in alignment with the first epi datasets and with the anatomical # reference dataset. Note that all epi sub-bricks from all runs # are transformed only once in the process, combining volume # registration and alignment to the anatomical dataset in a single # transformation matrix align_epi_anat.py -anat sb23_mpra+orig -epi epi_r03+orig \ -epi_base 5 -child_epi epi_r??+orig.HEAD \ -epi2anat -suffix al2anat # Bells and whistles: # - create Talairach transformed epi datasets (still one transform) # - do not execute, just show the commands that would be executed. # These commands can be saved in a script or modified. # The Talairach transformation requires auto-Talairaching # the anatomical dataset first (cf. @auto_tlrc script) @auto_tlrc -base ~/abin/TT_N27+tlrc -input sb23_mpra+orig align_epi_anat.py -anat sb23_mpra+orig -epi epi_r03+orig \ -epi_base 6 -child_epi epi_r??+orig.HEAD \ -ex_mode dry_run -epi2anat -suffix _altest \ -tlrc_apar sb23_mpra_at+tlrc Our HBM 2008 abstract describing the alignment tools is available here: https://sscc.nimh.nih.gov/sscc/rwcox/abstracts Reference: If you find the EPI to Anat alignment capability useful, the paper to cite is: ZS Saad, DR Glen, G Chen, MS Beauchamp, R Desai and RW Cox. A new method for improving functional-to-structural alignment using local Pearson correlation. NeuroImage, 44:839-848, 2009. http://dx.doi.org/10.1016/j.neuroimage.2008.09.037 A full list of options for align_epi_anat.py: -epi use: EPI dataset to align or to which to align -dset2 use: dataset to align or to which to align -anat use: Anatomical dataset to align or to which to align -dset1 use: Dataset to align or to which to align -keep_rm_files use: Don't delete any of the temporary files created here -prep_only use: Do preprocessing steps only without alignment -help use: The main help describing this program with options -limited_help use: The main help without all available options -option_help use: Help for all available options -version use: Show version number and exit -ver use: Show version number and exit -verb use: Be verbose in messages and options -save_script use: save executed script in given file -align_centers use: align centers of datasets based on spatial extents of the original volume allowed: yes, no, on, off default: no -anat_has_skull use: Do not skullstrip anat dataset allowed: yes, no -epi_strip use: Method to remove skull for EPI data allowed: 3dSkullStrip, 3dAutomask, None -dset1_strip use: Method to remove skull for dset1 data allowed: 3dSkullStrip, 3dAutomask, None -dset2_strip use: Method to remove skull for dset2 data allowed: 3dSkullStrip, 3dAutomask, None -volreg_method use: Time series volume registration method 3dvolreg: rigid body least squares 3dWarpDrive: 12 parameter least squares 3dAllineate: 12 parameter LPA cost function allowed: 3dvolreg, 3dWarpDrive, 3dAllineate default: 3dvolreg -ex_mode use: Command execution mode. quiet: execute commands quietly echo: echo commands executed dry_run: only echo commands allowed: quiet, echo, dry_run, script default: script -overwrite use: Overwrite existing files -big_move use: Large movement between epi and anat. Uses twopass option for 3dAllineate. Consider cmass options, giant_move, ginormous_move or -align_centers -giant_move use: Even larger movement between epi and anat. Uses twopass option for 3dAllineate. cmass options and wide angles and shifts -ginormous_move use: Adds align_centers to giant_move -supersize use: Large scaling difference - up to 50% -rigid_body use: Do only rigid body alignment - shifts and rotates -rigid_equiv use: Do only rigid body equivalent alignment - shifts and rotates -partial_coverage use: partial_xxxx options control center of mass adjustment -partial_axial -partial_coronal -partial_sagittal -AddEdge use: Run @AddEdge script to create double-edge images -Allineate_opts use: Options passed to 3dAllineate. default: -weight_frac 1.0 -maxrot 6 -maxshf 10 -VERB -warp aff -source_automask+4 -perc default: 90 -suffix default: _al -cost -multi_cost use: can use multiple cost functionals (lpc,lpa,nmi,.... See 3dAllineate -HELP for the full list -check_cost use: Verify alignment against another method Can use multiple cost functionals (lpc,lpa,nmi,.... See 3dAllineate -HELP for the full list -epi2anat use: align EPI dataset to anat dataset -anat2epi use: align anat dataset to EPI dataset (default) -dset2to1 use: align dset2 dataset to dset1 dataset -dset1to2 use: align dset1 dataset to dset2 dataset (default) -epi_base use: Base sub-brick to use for alignment Choose sub-brick number or statistic type Valid choices can be, for example, 0,5,mean -dset2_base use: Base sub-brick to use for alignment Choose sub-brick number or statistic type Valid choices can be, for example, 0,5,mean -volreg_base use: Base to use for volume registration Choose sub-brick number or statistic type Valid choices can be, for example, 0,5,median -volreg allowed: on, off -volreg_opts default: -cubic -tshift allowed: on, off -tshift_opts -deoblique allowed: on, off -deoblique_opts -resample allowed: on, off -prep_off use: turn off all pre-processing steps including deoblique, tshift, volreg and resample -cmass use: choose center of mass options for 3dAllineate Center of mass shifts the center of the datasets to match by computing the weighted centers of each. For partial data, this may be too far in one direction See 3dAllineate help for details Valid options include cmass+a, cmass+xy, nocmass nocmass = no center of mass shift - default cmass = center of mass shift - used with giant, ginormous_move cmass+a = automatic center of mass for partial data cmass+xy,xz,yz = automatic center of mass for partial axial,coronal,sagittal For partial data, it may be easier to select one of the partial_... options above -tlrc_apar use: If this is set, the results will include +tlrc template transformed datasets for the epi aligned to the anatomical combined with this additional transformation to template of this parent dataset The result will be EPI_al+tlrc.HEAD -tlrc_epar use: Not available yet. If this is set, the results will include +tlrc template transformed datasets for the anatomical aligned to the epi combined with this additional transformation to template of this parent dataset The result will be ANAT_al+tlrc.HEAD -auto_tlrc use: Not available yet. If this is set, the results will also be aligned to a template using the @auto_tlrc script. Transformations computed from that will be combined with the anat to epi transformations and epi to anat (and volreg) transformations Only one of the -tlrc_apar, -tlrc_epar or the -auto_tlrc options may be used -child_epi use: Names of child EPI datasets -child_dset2 use: Names of children of dset2 datasets -child_anat use: Names of child anatomical datasets -child_dset1 use: Names of children of dset1 datasets -master_epi use: -master grid resolution for epi to anat alignment MIN_DXYZ uses the smallest dimension Other options are SOURCE and BASE as in 3dAllineate help. For cases where either dataset is oblique, the default becomes MIN_DXYZ -master_dset2 use: -master grid resolution for epi to anat alignment MIN_DXYZ uses the smallest dimension Other options are SOURCE and BASE as in 3dAllineate help. For cases where either dataset is oblique, the default becomes MIN_DXYZ -master_tlrc use: -master grid resolution for epi to tlrc anat alignment MIN_DXYZ uses the smallest dimension Other options are SOURCE and BASE as in 3dAllineate help -master_anat use: -master grid resolution for anat to epi output MIN_DXYZ uses the smallest dimension Other options are SOURCE, BASE, 'n' mm or gridset -master_dset1 use: -master grid resolution for dset1 to dset2 output MIN_DXYZ uses the smallest dimension Other options are SOURCE, BASE, 'n' mm or gridset -master_anat_dxyz use: -master grid resolution size (cubic only) -master_dset1_dxyz use: -master grid resolution size (cubic only) -master_epi_dxyz use: -master grid resolution (cubic only) -master_dset2_dxyz use: -master grid resolution (cubic only) -master_tlrc_dxyz use: -master grid resolution (cubic only) -pre_matrix use: Apply an initial transformation from a 1D file (NB: not from a *.aff12.1D file); the *.1D file should contain a 3x4 matrix of numbers. For example, this file may be one generated by @Align_Centers, or if inverting a matrix, with: cat_matvec mat.aff12.1D -I > mat_INV.1D The transformation will be applied to the anatomical data before aligning to the EPI instead of using the built-in obliquity matrices, if any -post_matrix use: Apply an additional transformation from a 1D file. This transformation will be applied to the anatomical data after alignment with the EPI. This will be applied similarly to the tlrc transformation and in place of it. Output datasets are kept in the 'orig' view -skullstrip_opts use: Alternate options for 3dSkullstrip. like -rat or -blur_fwhm 2 -dset1strip_opts use: Alternate name for skullstrip_opts -epistrip_opts use: Alternate options for 3dSkullstrip/3dAutomask. like -rat or -blur_fwhm 2 or -peels 2 -dset2strip_opts use: Alternate name for epistrip_opts -feature_size use: Minimal size in mm of structures in images to match. Changes options for 3dAllineate for the coarse blurring and lpc/lpa neighborhood sizes.May be useful for rat brains, anat to anat and other 'non-standard' alignment -rat_align use: Set options appropriate for rat data - namely skullstrip and feature size options above. -output_dir use: Set directory for output datasets -edge use: Use internal edges to do alignment -edge_erodelevel use: Number of layers to remove for edge method -check_flip use: Check if L/R flipping gives better results -flip_giant use: use giant_move on flipped data even if not used on original data -save_Al_in use: Save datasets used as input to 3dAllineate -save_vr use: Save motion-corrected epi dataset -save_tsh use: Save time-series corrected dataset -save_skullstrip use: Save unaligned, skullstripped dataset -save_orig_skullstrip use: Save simply skullstripped dataset -save_epi_ns use: Save unaligned, skullstripped EPI dataset -save_rep use: Save unaligned representative tstat EPI dataset -save_resample use: Save unaligned EPI dataset resampled to anat grid -save_all use: Save all optional datasets -pow_mask use: power for weighting 1 or 2 default: 1.0 -bin_mask use: convert weighting mask to 0 or 1 - Unused allowed: yes, no default: no -box_mask use: Unused allowed: yes, no default: no -mask use: Not available yet. Mask to apply to data. default: vent