History of AFNI updates  

|
eji
November 10, 2020 04:11PM
That would be fantastic! I've pasted it below. Hopefully it makes sense.
Steps 1-5 should *theoretically* be the equivalent of fat_proc_map_to_dti I think.

################################################################################

# set path for Freesurfer data
export SUBJECTS_DIR="/home/eji/projects/spins/preproc/freesurfer/subjects/w0"
# set path for diffusion data
dtipath="/home/eji/projects/spins/preproc/fsl/subjects/w0"


# ------------------------------------------------------------------------------
# 1) Transpose fsaverage_sym parcellation to each subject (Freesurfer)
# ------------------------------------------------------------------------------

# The fsaverage_sym parcellation has 318 ROIs

cd $SUBJECTS_DIR

for subj in SPN01*; do
# left hemisphere
mri_surf2surf \
--srcsubject fsaverage_sym \
--trgsubject $subj \
--hemi lh \
--sval-annot fsaverage_sym/label/lh.500_sym.aparc.annot \
--tval $subj/label/lh.500_sym.aparc.annot;

# right hemisphere
mri_surf2surf \
--srcsubject fsaverage_sym \
--trgsubject $subj \
--hemi rh \
--sval-annot fsaverage_sym/label/rh.500_sym.aparc.annot \
--tval $subj/label/rh.500_sym.aparc.annot; done

# ------------------------------------------------------------------------------
# 2) Convert left and right hemi parcellation to bilateral nifti (Freesurfer)
# ------------------------------------------------------------------------------

cd $SUBJECTS_DIR

for subj in SPN01*; do
mri_aparc2aseg \
--s $subj \
--annot 500_sym.aparc \
--wmparc-dmax 2 \
--labelwm \
--hypo-as-wm \
--o $subj/mri/aparc.500+2mm.nii.gz; done

# ------------------------------------------------------------------------------
# 3) Remove subcortical labels from parcellation (Matlab)
# ------------------------------------------------------------------------------

cd ~/projects/spins/preproc/freesurfer/scripts

for subj in SPN01*; do
matlab \
-nodisplay -r \
"renumDesikan_onlycortical('/home/eji/projects/spins/preproc/freesurfer/subjects/w0/$subj/mri/aparc.500+2mm.nii.gz')"; done

# ------------------------------------------------------------------------------
# 4) transform b0 into T1 space to get transformation matrix (Freesurfer)
# ------------------------------------------------------------------------------

cd $dtipath

for subj in SPN01*; do
cd $subj;

bbregister \
--s $subj \
--mov $dtipath/$subj/data.nii.gz \
--dti \
--reg mri/register.dat;
cd ../; done

# ------------------------------------------------------------------------------
# 5) Transform parcellation from T1 to diffusion space using inverse transformation matrix (Freesurfer)
# ------------------------------------------------------------------------------

cd $dtipath

for subj in SPN01*; do
cd $subj;

mri_vol2vol \
--mov $dtipath/$subj/data.nii.gz \
--targ $SUBJECTS_DIR/$subj/mri/aparc.500+2mm_ellen.nii.gz \
--reg mri/register.dat \
--inv \
--nearest \
--o mri/parc5002dwi.nii.gz;
cd ../; done

# ------------------------------------------------------------------------------
# 6) Check for gradient flip and use recommended flip for gradient matrices (AFNI)
# ------------------------------------------------------------------------------

cd $dtipath

for subj in SPN01*; do
cd $subj;
mkdir afni;
cd afni;

@GradFlipTest \
-in_dwi ../data.nii.gz \
-in_col_vec ../bvec.bvec \
-prefix GradFlipTest_rec.txt;

# echo the flip value into a file
set my_flip = `cat GradFlipTest_rec.txt`;

# apply recommended @GradFlipTest when converting matrices
1dDW_Grad_o_Mat++ \
-in_col_vec ../bvec.bvec \
-in_bvals ../bval.bval \
-out_col_matA dwi_matA.txt \
$my_flip;
cd $dtipath/; done

# ------------------------------------------------------------------------------
# 7) Transform oblique dataset to cardinal dataset (AFNI)
# ------------------------------------------------------------------------------

cd $dtipath

for subj in SPN01*; do
cd $subj/afni;

3dWarp \
-deoblique \
-prefix dwi_ec_deob.nii.gz ../data.nii.gz \
-overwrite;
cd $dtipath/; done

# ------------------------------------------------------------------------------
# 8) 3dAllineate (AFNI)
# ------------------------------------------------------------------------------

cd $dtipath

for subj in SPN01*; do
cd $subj/afni;

3dAllineate \
-base dwi_ec_deob.nii.gz[0] \
-input dwi_ec_deob.nii.gz \
-prefix dwi_ec_allin.nii.gz \
-cost mutualinfo \
-verb \
-EPI
cd $dtipath/; done

# ------------------------------------------------------------------------------
# 9) Compute tensors and parameters from dti image (AFNI)
# ------------------------------------------------------------------------------

cd $dtipath

for subj in SPN01*; do
cd $subj/afni;

3dDWItoDT \
-prefix 3dDWItoDT.nii.gz \
-automask \
-reweight \
-max_iter 10 \
-max_iter_rw 10 \
-eigs \
-sep_dsets \
-bmatrix_FULL dwi_matA.txt \
dwi_ec_allin.nii.gz \
-scale_out_1000 \
-overwrite
cd $dtipath/; done

# ------------------------------------------------------------------------------
# 10) Estimate uncertainty of DTI parameters (AFNI)
# ------------------------------------------------------------------------------

cd $dtipath

for subj in SPN01*; do
cd $subj/afni;

3dDWUncert \
-inset dwi_ec_allin.nii.gz \
-prefix DWUncert \
-input 3dDWItoDT_ \
-bmatrix_FULL dwi_matA.txt \
-iters 50 \
-overwrite;

cd $dtipath/; done

# ------------------------------------------------------------------------------
# 11) Check that within-subject datasets are on same grid (AFNI)
# ------------------------------------------------------------------------------

# pt suggestion Oct 2020

for subj in SPN01*; do
3dinfo \
-obliquity \
-same_grid \
-n4 \
-ad3 \
-prefix \
$dtipath/$subj/afni/DWUncert+orig. \
$dtipath/$subj/mri/parc5002dwi.nii.gz \
$dtipath/$subj/MASK.nii.gz \
$dtipath/$subj/afni/3dDWItoDT_DT*;
cd $dtipath/; done


# ------------------------------------------------------------------------------
# 12) Probabilistic tractography (AFNI)
# ------------------------------------------------------------------------------

cd $dtipath

for subj in SPN01*; do
cd $subj/afni;

3dTrackID \
-mode PROB \
-uncert DWUncert+orig. \
-netrois $dtipath/$subj/mri/parc5002dwi.nii.gz \
-mask $dtipath/$subj/MASK.nii.gz \
-prefix 3dTrackID_prob \
-dti_in 3dDWItoDT_ \
-alg_Thresh_FA 0.2 \
-alg_Nmonte 1000 \
-alg_Nseed_Vox 5 \
-alg_Thresh_Frac 0.1 \
-nifti \
-dump_rois AFNI \
-no_indipair_out \
-overwrite;

cd $dtipath/; done
Subject Author Posted

3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

eji October 12, 2020 08:12AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

ptaylor October 12, 2020 09:49AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR Attachments

eji October 21, 2020 06:44AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

ptaylor October 22, 2020 10:54AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR Attachments

eji October 26, 2020 03:04PM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

ptaylor October 27, 2020 08:47AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

eji November 10, 2020 09:35AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

ptaylor November 10, 2020 10:26AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

eji November 10, 2020 11:37AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

ptaylor November 10, 2020 11:59AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

eji November 10, 2020 12:14PM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

eji November 10, 2020 12:34PM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

ptaylor November 10, 2020 12:50PM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

eji November 10, 2020 04:11PM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

ptaylor November 13, 2020 02:50PM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

eji November 14, 2020 03:23AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

eji November 24, 2020 11:15AM

Re: 3dTrackID Fatal Signal 11 (SIGSEGV) + FATAL ERROR

ptaylor November 24, 2020 01:02PM