User Tools

Site Tools


neuroimagen:altdti_2020

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,

  1. Se registra (flirt, fnirt) la imagen FA al atlas FMRIB58_FA
  2. Usando esta transformacion (applywarp) se registra el B0 a espacio MNI
  3. Se aplica una mascara (fslmaths) del B0 registrado sobre el template MNI y se obtiene un espacio MNI recortado al DTI del sujeto
  4. Se registra (antsRegistrationSyN.sh) el template MNI a espacio nativo T1
  5. Se usa la transformacion (antsApplyTransforms) para pasar el template MNI recortado a espacio nativo
  6. Se aplica una mascara (fslmaths) de este template recortado al T1 y se obtiene un T1 recortado
  7. Se registra (epi_reg) el DTI a este T1 recortado
  8. 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!
  9. Se pasa (antsApplyTransforms) el T1 a espacio nativo DTI usando esta matriz
  10. Se pasa el template MNI a espacio nativo T1 y de ahi a espacio nativo DTI
  11. 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

neuroimagen/altdti_2020.txt · Last modified: 2020/08/04 10:58 (external edit)