Table of Contents
experimento DTI
FPCustom
El procesamiento se realiza con la version 0.4 del pipeline
Objetivo
Determinar los valores de anisotropia fraccional (FA) y difusividad media(MD) en los tractos que conectan la corteza Fronto-Parietal para los sujetos del protocolo FACEHBI.
Registro
Problemas
La adquisición DTI se ha realizado con una orientación distinta al T1w. Esto por sí solo no seria un problema pero los cortes se han calculado para adquirir la materia blanca en su totalidad y no el cerebro completo.
El resultado es que las imagenes DTI estan cortadas en la parte superior de la cabeza y el corregistro a cualquier espacio es casi imposible.
Soluciones
Se procede en varios pasos par aintentar hacer un registro decente,
- Se registra (flirt, fnirt) la imagen FA al atlas FMRIB58_FA
- Usando esta transformacion (applywarp) se registra el B0 a espacio MNI
- Se aplica una mascara (fslmaths) del B0 registrado sobre el template MNI y se obtiene un espacio MNI recortado al DTI del sujeto
- Se registra (antsRegistrationSyN.sh) el template MNI a espacio nativo T1
- Se usa la transformacion (antsApplyTransforms) para pasar el template MNI recortado a espacio nativo
- Se aplica una mascara (fslmaths) de este template recortado al T1 y se obtiene un T1 recortado
- Se registra (epi_reg) el DTI a este T1 recortado
- Se invierte la matriz de la transformacion (convert_xfm) y se convierte a formato ANTS (c3d_affine_tool).Ya tenemos una transformación valida del T1 al B0!
- Se pasa (antsApplyTransforms) el T1 a espacio nativo DTI usando esta matriz
- Se pasa el template MNI a espacio nativo T1 y de ahi a espacio nativo DTI
- Se pasan los Atlas JHU a espacio nativo T1 y de ahi a espacio nativo DTI
Basicamente,
$ dti_reg.pl -chop -time '12:0:0' facehbi
Tractografia
Una vez efectuado el registro correcto pasamos a planificar la tractografia. Obtenemos la corteza Fronto-Temporal a partir de la segmentacion de FS. Las regiones FP son,
ctx-caudalmiddlefrontal ctx-inferiorparietal ctx-middletemporal ctx-parsopercularis ctx-parstriangularis ctx-postcentral ctx-precentral ctx-superiorfrontal ctx-superiorparietal ctx-superiortemporal ctx-supramarginal
Los FS-LUT (incluyendo rh y lh) han de ser,
1003 1008 1015 1018 1020 1022 1024 1028 1029 1030 1031 2003 2008 2015 2018 2020 2022 2024 2028 2029 2030 2031
Se toma la segmentacion de FS y se lleva a espacio nativo DTI (Ya tenemos la matriz correcta). De aqui se toman los LUT correspodientes.
Usando las ROIs ya en espacio nativo DTI se lanza la tractografia,
Todo esto se agrupa con el comando,
$ dti_track.pl -t1 -time '12:0:0' facehbi
Metricas
Ahora hay que extraer los valores de FA y MD en los tractos calculados,
$ for x in `ls -d working/*_probtrack_out`; do mv $x `echo $x | sed 's/out/FPCustom/'`;done $ dti_metrics_tracks.pl -path FPCustom facehbi
UofM Atlas
Ademas de esta ROI, voy a tomar los nodos predeterminados de redes funcionales conocidas (DMN, LN, SN).El procedimiento es basicamente el mismo pero ahora la tractografia es basada en atlas.
DMN
$ dti_track.pl -t1 -time '12:0:0' -uofm DMN facehbi
$ for x in `ls -d working/*_probtrack_out`; do mv $x `echo $x | sed 's/out/DMN/'`;done $ dti_metrics_tracks.pl -path DMN facehbi
LN
$ dti_track.pl -t1 -time '12:0:0' -uofm LN facehbi
$ for x in `ls -d working/*_probtrack_out`; do mv $x `echo $x | sed 's/out/LN/'`;done $ dti_metrics_tracks.pl -path LN facehbi
SN
$ dti_track.pl -t1 -time '12:0:0' -uofm SN facehbi
$ for x in `ls -d working/*_probtrack_out`; do mv $x `echo $x | sed 's/out/SN/'`;done $ dti_metrics_tracks.pl -path SN facehbi
Composites?
Denominacion
denom_go <- data.frame(fdl$PSubject,fdl$Edad, fdl$Escolaridad, fdl$male, fdl$DMN_FA, fdl$DMN_MD, fdl$FPCustom_FA, fdl$FPCustom_MD, fdl$LN_FA, fdl$LN_MD, fdl$SN_FA, fdl$SN_MD ,fdl$Action_Namimg_Libre_FAC, fdl$Action_Naming_Clave_Fonetica_FAC, fdl$Action_Naming_Clave_Semant_FAC, fdl$Boston_Clave_Fonetica_FAC,fdl$Boston_Clave_Semantica_FAC, fdl$Boston_Libre_FAC, fdl$Boston_Total_FAC) denom_go <- denom_go[complete.cases(denom_go),] denom <- data.frame(denom_go$fdl.Action_Namimg_Libre_FAC, denom_go$fdl.Action_Naming_Clave_Fonetica_FAC, denom_go$fdl.Action_Naming_Clave_Semant_FAC, denom_go$fdl.Boston_Clave_Fonetica_FAC,denom_go$fdl.Boston_Clave_Semantica_FAC, denom_go$fdl.Boston_Libre_FAC, denom_go$fdl.Boston_Total_FAC) denom_cs <- fa(denom, scores="regression") denom_go$cs <- denom_cs$scores mod_fpc <-lm(denom_go$cs ~ denom_go$fdl.FPCustom_FA + denom_go$fdl.Edad + denom_go$fdl.Escolaridad +denom_go$fdl.male) summary(mod_fpc) Call: lm(formula = denom_go$cs ~ denom_go$fdl.FPCustom_FA + denom_go$fdl.Edad + denom_go$fdl.Escolaridad + denom_go$fdl.male) Residuals: Min 1Q Median 3Q Max -4.7387 -0.3689 0.0954 0.5446 1.3876 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.819234 1.664059 0.492 0.62309 denom_go$fdl.FPCustom_FA 1.161257 4.684256 0.248 0.80449 denom_go$fdl.Edad -0.026553 0.009878 -2.688 0.00785 ** denom_go$fdl.Escolaridad 0.034314 0.015229 2.253 0.02544 * denom_go$fdl.male 0.242788 0.144521 1.680 0.09468 . --- Signif. codes: 0 ‘***’ 0.001 ‘**’ 0.01 ‘*’ 0.05 ‘.’ 0.1 ‘ ’ 1 Residual standard error: 0.9226 on 182 degrees of freedom Multiple R-squared: 0.1087, Adjusted R-squared: 0.08911 F-statistic: 5.549 on 4 and 182 DF, p-value: 0.0003086
Contenido Semantico
seman_go <- data.frame(fdl$PSubject,fdl$Edad, fdl$Escolaridad, fdl$male, fdl$DMN_FA, fdl$DMN_MD, fdl$FPCustom_FA, fdl$FPCustom_MD, fdl$LN_FA, fdl$LN_MD, fdl$SN_FA, fdl$SN_MD ,fdl$Piramides_Y_Palmeras_Palab_FAC, fdl$Piramides_Y_Plameras_Imag_FAC, fdl$Kissing_Dancing_Imagenes_FAC, fdl$Kissing_Dancing_Palabras_FAC) seman_go <- seman_go[complete.cases(seman_go),] seman <- data.frame(seman_go$fdl.Piramides_Y_Palmeras_Palab_FAC, seman_go$fdl.Piramides_Y_Plameras_Imag_FAC, seman_go$fdl.Kissing_Dancing_Imagenes_FAC, seman_go$fdl.Kissing_Dancing_Palabras_FAC) seman_cs <- fa(seman, scores="regression") seman_go$cs <- seman_cs$scores mod_fpc <-lm(seman_go$cs ~ seman_go$fdl.FPCustom_FA + seman_go$fdl.Edad + seman_go$fdl.Escolaridad +seman_go$fdl.male) summary(mod_fpc) Call: lm(formula = seman_go$cs ~ seman_go$fdl.FPCustom_FA + seman_go$fdl.Edad + seman_go$fdl.Escolaridad + seman_go$fdl.male) Residuals: Min 1Q Median 3Q Max -3.5541 -0.2416 0.2389 0.5299 1.3893 Coefficients: Estimate Std. Error t value Pr(>|t|) (Intercept) 0.56511 2.06213 0.274 0.785 seman_go$fdl.FPCustom_FA 1.37844 6.00285 0.230 0.819 seman_go$fdl.Edad -0.01763 0.01296 -1.361 0.177 seman_go$fdl.Escolaridad 0.01969 0.02009 0.980 0.330 seman_go$fdl.male -0.22749 0.19717 -1.154 0.252 Residual standard error: 0.8712 on 91 degrees of freedom Multiple R-squared: 0.05015, Adjusted R-squared: 0.008399 F-statistic: 1.201 on 4 and 91 DF, p-value: 0.3158
Nombres
names_go <- data.frame(fdl$PSubject,fdl$Edad, fdl$Escolaridad, fdl$male, fdl$DMN_FA, fdl$DMN_MD, fdl$FPCustom_FA, fdl$FPCustom_MD, fdl$LN_FA, fdl$LN_MD, fdl$SN_FA, fdl$SN_MD ,fdl$Boston_Clave_Fonetica_FAC, fdl$Boston_Clave_Semantica_FAC, fdl$Boston_Libre_FAC, fdl$Boston_Total_FAC, fdl$Piramides_Y_Palmeras_Palab_FAC, fdl$Piramides_Y_Plameras_Imag_FAC) names_go <- names_go[complete.cases(names_go),] nombres <- data.frame(names_go$fdl.Boston_Clave_Fonetica_FAC, names_go$fdl.Boston_Clave_Semantica_FAC, names_go$fdl.Boston_Libre_FAC, names_go$fdl.Boston_Total_FAC, names_go$fdl.Piramides_Y_Palmeras_Palab_FAC, names_go$fdl.Piramides_Y_Plameras_Imag_FAC)
Algo va mal con este composite