User Tools

Site Tools


neuroimagen:altcorrdti

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
neuroimagen:altcorrdti [2019/11/14 09:46] osotolongoneuroimagen:altcorrdti [2020/08/04 10:58] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== Nueva version de procesamiento de DTI (FACEHBI) ===== ====== Nueva version de procesamiento de DTI (FACEHBI) =====
  
-**Nota:** Evaluar la posibilidad de utilizar //epi_reg// para el paso de T1 a B0. No esprobable que funcione bien dado el corte de los DTI pero habria que intentarlo. +**Nota:** Evaluar la posibilidad de utilizar //epi_reg// para el paso de T1 a B0. No es probable que funcione bien dado el corte de los DTI pero habria que intentarlo.
  
 +Ver [[neuroimagen:notas_corregistro|Notas sobre corregistro de DTI]]
 ===== Corregistro ===== ===== Corregistro =====
 El corregistro de imagenes DTI  usando ANTs en el proyecto MOPEAD funciona correctamente.  El corregistro de imagenes DTI  usando ANTs en el proyecto MOPEAD funciona correctamente. 
Line 584: Line 585:
 0017;0.267434;0.001024 0017;0.267434;0.001024
 </code> </code>
-===== Notas ===== 
-MNI -> T1 
-<code> 
-[osotolongo@detritus facehbi]$ ANTS 3 -m CC[working/smc0177_t1_reoriented.nii.gz, ${FSLDIR}/data/standard/MNI152_T1_1mm.nii.gz, 1, 4] -r Gauss[0,3] -t Elast[1.5] -i 30x20x10 -o working/.tmp_smc0177/smc0177_dti_mni_t1.nii.gz 
-[osotolongo@detritus facehbi]$ WarpImageMultiTransform 3 /usr/local/fsl/data/standard/MNI152_T1_1mm.nii.gz working/.tmp_smc0177/mni_warped_tmp.nii.gz -R working/smc0177_t1_reoriented.nii.gz working/.tmp_smc0177/smc0177_dti_mni_t1Warp.nii.gz working/.tmp_smc0177/smc0177_dti_mni_t1Affine.txt 
-</code> 
- 
-{{:neuroimagen:mni_to_t1_test.png|}} 
- 
-T1 -> DTI 
- 
-Sacar el B0, 
-<code> 
-[osotolongo@detritus facehbi]$ fslroi dti/smc0177s0020.nii.gz working/.tmp_smc0177/smc0177_b0.nii.gz 0 1  
-</code> 
- 
-Transformacion, 
-<code> 
-[osotolongo@detritus facehbi]$ ANTS 3 -m CC[working/.tmp_smc0177/smc0177_b0.nii.gz, working/smc0177_t1_reoriented.nii.gz, 1, 4] -r Gauss[0,3] -t Elast[1.5] -i 30x20x10 -o working/smc0177_dti_t1_b0.nii.gz 
-[osotolongo@detritus facehbi]$ WarpImageMultiTransform 3 working/smc0177_t1_reoriented.nii.gz working/.tmp_smc0177/smc0177_t1_to_b0.nii.gz -R working/.tmp_smc0177/smc0177_b0.nii.gz working/.tmp_smc0177/smc0177_dti_t1_b0Warp.nii.gz working/.tmp_smc0177/smc0177_dti_t1_b0Affine.txt 
-</code> 
- 
-{{:neuroimagen:t1_to_b0_test_fail.png|}} 
- 
-** Aqui esta el problema , el T1 no se puede transformar correctamente al B0. Hay que dar una vuelta mas aqui.** 
- 
-Vamos a intentar registrar el DTI a T1 con //epi_reg// e invertir la transformación, ((Se supone que antes hice algo asi, 
-<code> 
-$FSLDIR/bin/bet ${out}/${b_in}_t1_reoriented ${out}/${b_in}_t1_reoriented_brain 
-</code>)) 
-<code> 
-[osotolongo@detritus facehbi]$ ${FSLDIR}/bin/epi_reg --epi=working/smc0177_data.nii.gz --t1=working/smc0177_t1_reoriented --t1brain=working/smc0177_t1_reoriented_brain --out=working/smc0177_tmp_diff2std 
-[osotolongo@detritus facehbi]$ convert_xfm -omat working/smc0177_tmp_std2diff.mat -inverse working/smc0177_tmp_diff2std.mat 
-[osotolongo@detritus facehbi]$ flirt -in working/smc0177_t1_reoriented.nii.gz -ref working/.tmp_smc0177/smc0177_b0.nii.gz -out working/smc0177_t12b0 -init working/smc0177_tmp_std2diff.mat -applyxfm 
-</code> 
-{{:neuroimagen:t1_to_b0_epi.png|}} 
- 
-EH! esto queda mucho mejor. A ver si se puede mejorar mas, 
-<code> 
-[osotolongo@detritus facehbi]$ ANTS 3 -m CC[working/.tmp_smc0177/smc0177_b0.nii.gz, working/smc0177_t12b0.nii.gz, 1, 4] -r Gauss[0,3] -t Elast[1.5] -i 30x20x10 -o working/smc0177_dti_t1_b0.nii.gz 
-[osotolongo@detritus facehbi]$ WarpImageMultiTransform 3 working/smc0177_t12b0.nii.gz working/.tmp_smc0177/smc0177_t1_to_b0.nii.gz -R working/.tmp_smc0177/smc0177_b0.nii.gz working/.tmp_smc0177/smc0177_dti_t1_b0Warp.nii.gz working/.tmp_smc0177/smc0177_dti_t1_b0Affine.txt 
-</code> 
-{{:neuroimagen:t1_to_b0_ants_fail_2.png|}} 
-**AArrgH!** ANTs falla al hacer la transformacion. **La alternativa puede ser mover todo al T1 que es la imagen con mas informacion y calcular los valores de FA en el espacio nativo del T1** 
- 
-A ver que pasa si hago el warp al reves, del DTI al T1, 
- 
-<code> 
-[osotolongo@detritus facehbi]$ ANTS 3 -m CC[working/smc0177_t1_reoriented.nii.gz, working/.tmp_smc0177/smc0177_b0.nii.gz, 1, 4] -r Gauss[0,3] -t Elast[1.5] -i 30x20x10 -o working/smc0177_t1_dti_warped_one.nii.gz 
-[osotolongo@detritus facehbi]$ WarpImageMultiTransform 3 working/.tmp_smc0177/smc0177_b0.nii.gz working/smc0177_t1_to_b0.nii.gz -R working/smc0177_t1_reoriented.nii.gz working/smc0177_t1_dti_warped_oneWarp.nii.gz working/smc0177_t1_dti_warped_oneAffine.txt 
-</code> 
- 
-{{:neuroimagen:b0_to_t1_fail.png|}} 
- 
-un desastre! 
- 
-Vamos a intentar usando primero //epi_reg//, 
-<code> 
-[osotolongo@detritus facehbi]$ ${FSLDIR}/bin/epi_reg --epi=working/smc0177_data.nii.gz --t1=working/smc0177_t1_reoriented --t1brain=working/smc0177_t1_reoriented_brain --out=working/smc0177_tmp_diff2std 
-[osotolongo@detritus facehbi]$ flirt -in working/.tmp_smc0177/smc0177_b0.nii.gz -ref working/smc0177_t1_reoriented.nii.gz -out working/smc0177_tmp_diff2std.nii.gz -init working/smc0177_tmp_diff2std.mat -applyxfm 
-</code> 
-{{:neuroimagen:b0_to_t1_flirted.png|}} 
- 
-El B0 queda bastante bien para ser una transformacion lineal, cualquiera diria que con un empujocito mas ya queda OK. 
- 
-<code> 
-[osotolongo@detritus facehbi]$ ANTS 3 -m CC[working/smc0177_t1_reoriented.nii.gz, working/smc0177_tmp_diff2std.nii.gz, 1, 4] -r Gauss[0,3] -t Elast[1.5] -i 30x20x10 -o working/smc0177_t1_dti_warped_two.nii.gz 
-[osotolongo@detritus facehbi]$ WarpImageMultiTransform 3 working/smc0177_tmp_diff2std.nii.gz working/smc0177_b0_to_t1.nii.gz -R working/smc0177_t1_reoriented.nii.gz working/smc0177_t1_dti_warped_twoWarp.nii.gz working/smc0177_t1_dti_warped_twoAffine.txt 
-</code> 
- 
-{{:neuroimagen:b0_to_t1_flirted_warped_fail.png|}} 
- 
-Pero no!. ANTs no hace caso de la imagen inicial, solo intenta cualquier tipo de transformacion que encaje el B0 en el T1. **Este approach es tan malo como el anterior**. 
- 
-A ver que pasa con un enfoque //pure FSL// 
- 
-<code> 
-[osotolongo@detritus facehbi]$ fnirt --in=working/.tmp_smc0177/smc0177_b0.nii.gz --aff=working/smc0177_tmp_diff2std.mat --cout=working/smc0177_tmp_nonlinear_diff2std --ref=working/smc0177_t1_reoriented.nii.gz 
-[osotolongo@detritus facehbi]$ applywarp -r working/smc0177_t1_reoriented.nii.gz -i working/.tmp_smc0177/smc0177_b0.nii.gz -w working/smc0177_tmp_nonlinear_diff2std -o working/smc0177_dif2std_warped 
- 
-</code> 
- 
-{{:neuroimagen:2019-06-18-110925_grim.png|}} 
- 
-m( 
-Desastrozo. 
- 
-DTI -> T1 
- 
-La mejor opcion parece ser un corregstro lineal del DTi a espacio nativo T1, usando //epi_reg//, y medir en el espacio T1.  
- 
-<code> 
-[osotolongo@detritus facehbi]$ flirt -ref working/smc0177_t1_reoriented.nii.gz -in working/.tmp_smc0177/smc0177_b0.nii.gz -out working/smc0177_b02t1 -init working/smc0177_tmp_diff2std.mat -applyxfm 
-</code> 
- 
-{{:neuroimagen:2019-06-19-104953_grim.png|}} 
- 
-Todas las transformaciones al espacio T1 parecen funcionar apropiadamente. Se pueden pasar los atlas a espacio T1 y la imagen FA a espacio T1. 
- 
-No obstante, al hacer lo mismo con los atlas se puede ver que la cosa no funciona OK. Quedan demasiado desplazados.  
- 
-DTI -> MNI 
- 
-La mejor opcion parece ser el protocolo antiguo, 
- 
-<code> 
- 
-[osotolongo@detritus facehbi]$ flirt -ref /usr/local/fsl/data/standard/FMRIB58_FA_1mm.nii.gz -in working/smc0177_dti_FA.nii.gz -omat working/smc0177_dti_affine.mat 
-[osotolongo@detritus facehbi]$ fnirt --in=working/smc0177_dti_FA.nii.gz --aff=working/smc0177_dti_affine.mat --cout=working/smc0177_dti_warp --config=FA_2_FMRIB58_1mm 
-[osotolongo@detritus facehbi]$ applywarp --ref=/usr/local/fsl/data/standard/FMRIB58_FA_1mm.nii.gz --in=working/smc0177_dti_FA.nii.gz --warp=working/smc0177_dti_warp --out=working/smc0177_fa_std 
-</code> 
- 
-{{:neuroimagen:2019-06-20-111658_grim.png|}} 
- 
- 
-Lo que puedo hacer es llevar el B0 a espacio MNI con esta info, de ahi al T1 sin problemas,recortar el T1 segun el tamaño del B0 que me quede y registrar el B0 con ANTs a un T1 recortado, 
- 
-<code> 
-[osotolongo@detritus facehbi]$ applywarp --ref=/usr/local/fsl/data/standard/MNI152_T1_1mm.nii.gz --in=working/smc0177_dti_b0 --warp=working/smc0177_dti_warp --out=working/smc0177_b0_std 
-[osotolongo@detritus facehbi]$ fslmaths working/smc0177_b0_std -bin working/smc0177_b0_std_mask 
-[osotolongo@detritus facehbi]$ fslmaths /usr/local/fsl/data/standard/MNI152_T1_1mm.nii.gz -mas working/smc0177_b0_std_mask.nii.gz working/smc0177_mni_masked 
-[osotolongo@detritus facehbi]$ WarpImageMultiTransform 3 working/smc0177_mni_masked.nii.gz working/.tmp_smc0177/mni_mask_warped_tmp.nii.gz -R working/smc0177_t1_reoriented.nii.gz working/.tmp_smc0177/smc0177_dti_mni_t1Warp.nii.gz working/.tmp_smc0177/smc0177_dti_mni_t1Affine.txt 
-[osotolongo@detritus facehbi]$ fslmaths working/smc0177_t1_reoriented.nii.gz -mas working/.tmp_smc0177/mni_mask_warped_tmp.nii.gz working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz 
-[osotolongo@detritus facehbi]$ ANTS 3 -m CC[working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz, working/.tmp_smc0177/smc0177_b0.nii.gz, 1, 4] -r Gauss[0,3] -t Elast[1.5] -i 30x20x10 -o working/smc0177_t1_dti_warped.nii.gz 
-[osotolongo@detritus facehbi]$ WarpImageMultiTransform 3 working/.tmp_smc0177/smc0177_b0.nii.gz working/smc0177_b0_to_t1.nii.gz -R working/smc0177_t1_reoriented.nii.gz working/smc0177_t1_dti_warpedWarp.nii.gz working/smc0177_t1_dti_warpedAffine.txt 
-</code> 
- 
-{{:neuroimagen:2019-06-21-113401_grim.png|}} 
- 
-==== intentando guardar la transformacion inversa ==== 
- 
-info aqui: https://github.com/ANTsX/ANTs/wiki/Forward-and-inverse-warps-for-warping-images,-pointsets-and-Jacobians 
- 
-Hay un problema con el procesamientoen espacio T1. Aunque las metricas usuales de FA y/o MD pueden calcularse sin problemas, la tractografia ha de hacerse en espacio DTI. por lo que las mascaras han de llevarse de espacio MNI a espacio nativo T1 a espacio nativo DTI. Y aqui tenemos un problema pues no hemos logrado obtener esta transformatcion adecuadamente.  
- 
-Voy a intentar cambiar la transformacion de ANTs, utilizando los scripts de ANTs. Intentare la mas sencilla primero. 
- 
-<code bash> 
-[osotolongo@detritus facehbi]$ antsRegistrationSyNQuick.sh -d 3 -f working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz -m working/.tmp_smc0177/smc0177_b0.nii.gz -o working/smc0177_t1_dti_warped_quick -t s 
- 
--------------------------------------------------------------------------------------- 
- Mapping parameters 
--------------------------------------------------------------------------------------- 
- ANTSPATH is /nas/usr/local/opt/bin/ants/bin 
- 
- Dimensionality:           3 
- Output name prefix:       working/smc0177_t1_dti_warped_quick 
- Fixed images:             working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz 
- Moving images:            working/.tmp_smc0177/smc0177_b0.nii.gz 
- Mask images: 
- Initial transforms: 
- Number of threads:        1 
- Spline distance:          26 
- Transform type:           s 
- MI histogram bins:        32 
- Precision:                d 
- Use histogram matching    0 
-====================================================================================== 
- antsRegistration call: 
--------------------------------------------------------------------------------------- 
-/nas/usr/local/opt/bin/ants/bin/antsRegistration --verbose 1 --dimensionality 3 --float 0 --collapse-output-transforms 1 --output [ working/smc0177_t1_dti_warped_quick,working/smc0177_t1_dti_warped_quickWarped.nii.gz,working/smc0177_t1_dti_warped_quickInverseWarped.nii.gz ] --interpolation Linear --use-histogram-matching 0 --winsorize-image-intensities [ 0.005,0.995 ] --initial-moving-transform [ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1 ] --transform Rigid[ 0.1 ] --metric MI[ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1,32,Regular,0.25 ] --convergence [ 1000x500x250x0,1e-6,10 ] --shrink-factors 8x4x2x1 --smoothing-sigmas 3x2x1x0vox --transform Affine[ 0.1 ] --metric MI[ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1,32,Regular,0.25 ] --convergence [ 1000x500x250x0,1e-6,10 ] --shrink-factors 8x4x2x1 --smoothing-sigmas 3x2x1x0vox --transform SyN[ 0.1,3,0 ] --metric MI[ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1,32] --convergence [ 100x70x50x0,1e-6,10 ] --shrink-factors 8x4x2x1 --smoothing-sigmas 3x2x1x0vox 
--------------------------------------------------------------------------------------- 
-All_Command_lines_OK 
- 
-..... 
-</code> 
- 
-El script nos da unas opciones de input muy simples :-) y ademas muestra cual seria el call de //antsRegistration// apropiado 8-) . en caso de necesidad podria modificarse esta linea y ejecutarla directamente. 
- 
-Los archivos de output contienen las transformaciones directas e inversas,  
- 
-<code bash> 
-[osotolongo@detritus facehbi]$ ls working/smc0177_t1_dti_warped_quick* 
-working/smc0177_t1_dti_warped_quick0GenericAffine.mat   working/smc0177_t1_dti_warped_quick1Warp.nii.gz          working/smc0177_t1_dti_warped_quickWarped.nii.gz 
-working/smc0177_t1_dti_warped_quick1InverseWarp.nii.gz  working/smc0177_t1_dti_warped_quickInverseWarped.nii.gz 
-</code> 
- 
-Para aplicar la transformacion directa, 
- 
-<code bash> 
-[osotolongo@detritus facehbi]$ antsApplyTransforms -d 3 -i working/.tmp_smc0177/smc0177_b0.nii.gz -r working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz -t working/smc0177_t1_dti_warped_quick1Warp.nii.gz -t working/smc0177_t1_dti_warped_quick0GenericAffine.mat -o working/smc0177_b0_to_t1_quick.nii.gz 
-</code> 
- 
-{{:neuroimagen:test_1_antssyn_quick.png|}} 
- 
-o 
- 
-<code bash> 
-[osotolongo@detritus facehbi]$ antsApplyTransforms -d 3 -i working/.tmp_smc0177/smc0177_b0.nii.gz -r working/smc0177_t1_reoriented.nii.gz -t working/smc0177_t1_dti_warped_quick1Warp.nii.gz -t working/smc0177_t1_dti_warped_quick0GenericAffine.mat -o working/smc0177_b0_to_t1_quick.nii.gz 
-</code> 
- 
-{{:neuroimagen:test_2_antssyn_quick.png|}} 
- 
-que funcionan mas o menos igual. Existe una ligera deformacion en la parte superior por lo que hay que explorar las opciones del registro para mejorarlo. Voy a intentat quitar el //quick// y usar el //histogram matching//. 
- 
-<code bash> 
-[osotolongo@detritus facehbi]$ antsRegistrationSyN.sh -d 3 -f working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz -m working/.tmp_smc0177/smc0177_b0.nii.gz -o working/smc0177_t1_dti_warped_quick -t s -j 1 
- 
--------------------------------------------------------------------------------------- 
- Mapping parameters 
--------------------------------------------------------------------------------------- 
- ANTSPATH is /nas/usr/local/opt/bin/ants/bin 
- 
- Dimensionality:           3 
- Output name prefix:       working/smc0177_t1_dti_warped_quick 
- Fixed images:             working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz 
- Moving images:            working/.tmp_smc0177/smc0177_b0.nii.gz 
- Mask images: 
- Initial transforms: 
- Number of threads:        1 
- Spline distance:          26 
- Transform type:           s 
- CC radius:                4 
- Precision:                d 
- Use histogram matching    1 
-====================================================================================== 
- antsRegistration call: 
--------------------------------------------------------------------------------------- 
-/nas/usr/local/opt/bin/ants/bin/antsRegistration --verbose 1 --dimensionality 3 --float 0 --collapse-output-transforms 1 --output [ working/smc0177_t1_dti_warped_quick,working/smc0177_t 
--------------------------------------------------------------------------------------- 
- Mapping parameters 
--------------------------------------------------------------------------------------- 
- ANTSPATH is /nas/usr/local/opt/bin/ants/bin 
- 
- Dimensionality:           3 
- Output name prefix:       working/smc0177_t1_dti_warped_quick 
- Fixed images:             working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz 
- Moving images:            working/.tmp_smc0177/smc0177_b0.nii.gz 
- Mask images: 
- Initial transforms: 
- Number of threads:        1 
- Spline distance:          26 
- Transform type:           s 
- CC radius:                4 
- Precision:                d 
- Use histogram matching    1 
-====================================================================================== 
- antsRegistration call: 
--------------------------------------------------------------------------------------- 
-/nas/usr/local/opt/bin/ants/bin/antsRegistration --verbose 1 --dimensionality 3 --float 0 --collapse-output-transforms 1 --output [ working/smc0177_t1_dti_warped_quick,working/smc0177_t1_dti_warped_quickWarped.nii.gz,working/smc0177_t1_dti_warped_quickInverseWarped.nii.gz ] --interpolation Linear --use-histogram-matching 1 --winsorize-image-intensities [ 0.005,0.995 ] --initial-moving-transform [ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1 ] --transform Rigid[ 0.1 ] --metric MI[ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1,32,Regular,0.25 ] --convergence [ 1000x500x250x100,1e-6,10 ] --shrink-factors 8x4x2x1 --smoothing-sigmas 3x2x1x0vox --transform Affine[ 0.1 ] --metric MI[ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1,32,Regular,0.25 ] --convergence [ 1000x500x250x100,1e-6,10 ] --shrink-factors 8x4x2x1 --smoothing-sigmas 3x2x1x0vox --transform SyN[ 0.1,3,0 ] --metric CC[ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1,4 ] --convergence [ 100x70x50x20,1e-6,10 ] --shrink-factors 8x4x2x1 --smoothing-sigmas 3x2x1x0vox 
--------------------------------------------------------------------------------------- 
-All_Command_lines_OK 
-1_dti_warped_quickWarped.nii.gz,working/smc0177_t1_dti_warped_quickInverseWarped.nii.gz ] --interpolation Linear --use-histogram-matching 1 --winsorize-image-intensities [ 0.005,0.995 ] --initial-moving-transform [ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1 ] --transform Rigid[ 0.1 ] --metric MI[ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1,32,Regular,0.25 ] --convergence [ 1000x500x250x100,1e-6,10 ] --shrink-factors 8x4x2x1 --smoothing-sigmas 3x2x1x0vox --transform Affine[ 0.1 ] --metric MI[ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1,32,Regular,0.25 ] --convergence [ 1000x500x250x100,1e-6,10 ] --shrink-factors 8x4x2x1 --smoothing-sigmas 3x2x1x0vox --transform SyN[ 0.1,3,0 ] --metric CC[ working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz,working/.tmp_smc0177/smc0177_b0.nii.gz,1,4 ] --convergence [ 100x70x50x20,1e-6,10 ] --shrink-factors 8x4x2x1 --smoothing-sigmas 3x2x1x0vox 
--------------------------------------------------------------------------------------- 
-All_Command_lines_OK 
- 
- 
-[osotolongo@detritus facehbi]$ antsApplyTransforms -d 3 -i working/.tmp_smc0177/smc0177_b0.nii.gz -r working/smc0177_t1_reoriented.nii.gz -t working/smc0177_t1_dti_warped_quick1Warp.nii.gz -t working/smc0177_t1_dti_warped_quick0GenericAffine.mat -o working/smc0177_b0_to_t1_quick.nii.gz 
-[osotolongo@detritus facehbi]$ ls -l working/smc0177_t1_dti_warped_quick* 
--rw-rw---- 1 osotolongo imagen       193 Aug 14 21:19 working/smc0177_t1_dti_warped_quick0GenericAffine.mat 
--rw-rw---- 1 osotolongo imagen 235516784 Aug 14 21:20 working/smc0177_t1_dti_warped_quick1InverseWarp.nii.gz 
--rw-rw---- 1 osotolongo imagen 234821906 Aug 14 21:20 working/smc0177_t1_dti_warped_quick1Warp.nii.gz 
--rw-rw---- 1 osotolongo imagen   1718930 Aug 14 21:20 working/smc0177_t1_dti_warped_quickInverseWarped.nii.gz 
--rw-rw---- 1 osotolongo imagen  37764628 Aug 14 21:20 working/smc0177_t1_dti_warped_quickWarped.nii.gz 
- 
-</code> 
- 
-{{:neuroimagen:test_1_antssyn.png|}} 
- 
-Mucho mejor. Me voy a quear con esto. Ahora tengo que aplicar la inversa a ver que pasa. 
- 
-<code bash> 
-[osotolongo@detritus facehbi]$ antsApplyTransforms -d 3 -i working/smc0177_t1_reoriented.nii.gz -r working/.tmp_smc0177/smc0177_b0.nii.gz -t [working/smc0177_t1_dti_warped_quick0GenericAffine.mat, 1] -t working/smc0177_t1_dti_warped_quick1InverseWarp.nii.gz -o working/smc0177_t1_to_b0_quick.nii.gz 
-</code> 
- 
-{{:neuroimagen:test_1_antssyn_inverse.png|}} 
- 
-**Este es de lejos el mejor registro en espacio nativo DTI que hemos conseguido hasta ahora asi que me voy a quedar con este. Hay que cambiar todos los scripts para utilizar este metodo. ** m( 
- 
-La posibilidad de deformacion en el ajuste no parece ser necesaria para transformar el espacio nativo DTI al espacio nativo T1. A fin de cuentas es el mismo cerebro por lo que con una transformacion mas sencilla deberia, no solo bastar, sino hacer bien.  
- 
-<code bash> 
-[osotolongo@detritus facehbi]$ antsRegistrationSyN.sh -d 3 -f working/.tmp_smc0177/t1_mask_warped_tmp.nii.gz -m working/.tmp_smc0177/smc0177_b0.nii.gz -o working/smc0177_t1_dti_warped_quick -t a -j 1 
-[osotolongo@detritus facehbi]$ antsApplyTransforms -d 3 -i working/.tmp_smc0177/smc0177_b0.nii.gz -r working/smc0177_t1_reoriented.nii.gz -t working/smc0177_t1_dti_warped_quick0GenericAffine.mat -o working/smc0177_b0_to_t1_quick.nii.gz 
-</code> 
- 
-{{:neuroimagen:test_a_antssyn.png|}} 
- 
-y la inversa, (esta queda en //working/smc0177_t1_dti_warped_quickInverseWarped.nii.gz//) 
- 
-{{:neuroimagen:test_a_antssyn_inverse.png|}} 
- 
-**Nota**: solo cambia el parametro **-t** pero es mucho mas rapido ya que ahora la transformacion es //a: rigid + affine (2 stages)// en lugar de //s: rigid + affine + deformable syn (3 stages)//. Ademas,la transformacion no tiene ningun Warp, solo la matriz de //Affine//. 
  
neuroimagen/altcorrdti.1573724799.txt.gz · Last modified: 2020/08/04 10:46 (external edit)