User Tools

Site Tools


neuroimagen:vbm_lang

VBM para FACEHBI segun las variables de lenguaje

Problema, hay un monton de NA. Hay un metodo para esto (https://www.jiscmail.ac.uk/cgi-bin/webadmin?A2=FSL;c09816a6.1001) pero me voy a equivocar seguro si pongo una columna por cada missing.

    FE_anflu: N = 198
    FE_Pflu: N = 198
    Fluidesa_Verbal_Accio: N = 198

    Action_Namimg_Libre: N = 187
    Boston_Libre: N = 190

    Piramides_Y_Palmeras_Palab: N= 184
    Piramides_Y_Plameras_Imag: N= 184

    Kissing_Dancing_Imagenes: N = 110
    Kissing_Dancing_Palabras: N = 95

Esto va a ser un carnaval pero vo a tener que hacer seis templates.

Primero que todo, el CSV original esta codificado en windows, asi que,

[osotolongo@detritus 198]$ mv ../model_vbm_revisado.csv ../model_vbm_revisado_original.csv
[osotolongo@detritus 198]$ tr -d '\r' < ../model_vbm_revisado_original.csv > ../model_vbm_revisado.csv

Data

A ver ahora,

[osotolongo@detritus vbmlang]$ pwd
/nas/data/facehbi/vbmlang
[osotolongo@detritus vbmlang]$ mkdir 198
[osotolongo@detritus vbmlang]$ cd 198
[osotolongo@detritus 198]$ head -n 1 ../model_vbm_revisado.csv | sed 's/,/\n/g' | cat -n
     1  Subject
     2  PSubject
     3  Interno
     4  group
     5  edat_v0
     6  Anyos_Escolaridad_FAC_v0
     7  Sex_1H_0M_v0
     8  FE_anflu_NP
     9  FE_Pflu_NP
    10  Fluidesa_Verbal_Accio_NP
    11  Action_Namimg_Libre_FAC
    12  Boston_Libre_FAC
    13  Piramides_Y_Palmeras_Palab_FAC
    14  Piramides_Y_Plameras_Imag_FAC
    15  Kissing_Dancing_Imagenes_FAC
    16  Kissing_Dancing_Palabras_FAC

Lista de sujetos,

[osotolongo@detritus 198]$ awk -F"," '{if ($8!="NA") {printf "%04i\n", $1}}'  ../model_vbm_revisado.csv | tail -n +2  > subjects.list

design.mat

[osotolongo@detritus 198]$ awk -F"," '{if ($8!="NA") {print $4" "$5" "$6" "$7" "$8}}'  ../model_vbm_revisado.csv | tail -n +2  > vbm_data.dat
[osotolongo@detritus 198]$ head vbm_data.dat
1 71 8 0 17
1 70 12 1 25
1 70 8 0 17
1 76 16 0 15
1 68 20 1 26
1 64 14 0 20
1 59 19 1 24
1 55 16 0 17
1 67 16 0 28
1 68 20 1 26
[osotolongo@detritus 198]$ Text2Vest vbm_data.dat design.mat
[osotolongo@detritus 198]$ head design.mat
/NumWaves 5
/NumPoints 198
/Matrix
1 71 8 0 17
1 70 12 1 25
1 70 8 0 17
1 76 16 0 15
1 68 20 1 26
1 64 14 0 20
1 59 19 1 24

design.con

[osotolongo@detritus 198]$ cat contras_model.txt
0 0 0 0 1
0 0 0 0 -1
[osotolongo@detritus 198]$ Text2Vest contras_model.txt design.con
[osotolongo@detritus 198]$ cat design.con
/NumWaves 5
/NumPoints 2
/Matrix
0 0 0 0 1
0 0 0 0 -1

BET

[osotolongo@detritus 198]$ mkdir struc
[osotolongo@detritus 198]$ for x in `cat subjects.list`; do get_fsbrain.sh facehbi ${x} struc; done
[osotolongo@detritus 198]$ cd struc/
[osotolongo@detritus struc]$ for x in `cat ../subjects.list`; do a="$a ${x}_struc ${x}_struc_brain"; done
[osotolongo@detritus 198]$ slicesdir -o -e 0.1 $a

Preproc

[osotolongo@brick01 198]$ fslvbm_2_template -n

Resultados: Al revisar el template veo que el volumen 102 no se ha registrado correctamente. La opción correcta es eliminar este volumen del analisis. El volumen 102 corresponde a la linea 103 del archivo subjects.list y a la linea 106 del design.mat, es decir al sujeto 0107. Debo eliminar estas lineas y todos los archivos correspondientes al sujeto 0107 del directorio struc.

y de nuevo,

[osotolongo@brick01 198]$ fslvbm_2_template -n

Nota: del resto de plantillas tambien ha de eliminarse este sujeto ya que el procedimiento de registro de GM es independiente.

Nota 2: El archivo design.mat ha de corregirse y editar el valor de /NumPoints para que cuadre con el nuevo numero de sujetos. El valor correcto es ahora uno menos, 197.


y revisar el GM_merg.nii.gz

y sigue normalmente,

[osotolongo@brick01 198]$ fslvbm_3_proc

randomise

go ahead

[osotolongo@detritus 198]$ fslmaths stats/GM_merg.nii.gz -s 4.0 stats/GM_merg_s4.nii.gz
[osotolongo@detritus 198]$ randomise -i stats/GM_merg_s4.nii.gz -m stats/GM_mask.nii.gz -o stats/vbml_v8 -d design.mat -t design.con -T -n 5000 

Cambiando de variable

Nota: Editar el archivo ../model_vbm_revisado.csv y borrar el sujeto que ha salido mal en el paso 2.

[osotolongo@detritus 198]$ awk -F"," '{if ($9!="NA") {print $4" "$5" "$6" "$7" "$9}}'  ../model_vbm_revisado.csv | tail -n +2  > vbm_data.dat
[osotolongo@detritus 198]$ Text2Vest vbm_data.dat design.mat
[osotolongo@detritus 198]$ head design.mat
/NumWaves 5
/NumPoints 197
/Matrix
1 71 8 0 22
1 70 12 1 23
1 70 8 0 14
1 76 16 0 18
1 68 20 1 22
1 64 14 0 24
1 59 19 1 24
[osotolongo@detritus 198]$ randomise -i stats/GM_merg_s4.nii.gz -m stats/GM_mask.nii.gz -o stats/vbml_v9 -d design.mat -t design.con -T -n 5000
randomise options: -i stats/GM_merg_s4.nii.gz -m stats/GM_mask.nii.gz -o stats/vbml_v9 -d design.mat -t design.con -T -n 5000 
Loading Data: 
...

Cada teplate va asociada a su grupode variables correspondientes,

[osotolongo@brick01 190]$ randomise -i stats/GM_merg_s4.nii.gz -m stats/GM_mask.nii.gz -o stats/vbml_v12 -d design.mat -t design.con -T -n 5000
randomise options: -i stats/GM_merg_s4.nii.gz -m stats/GM_mask.nii.gz -o stats/vbml_v12 -d design.mat -t design.con -T -n 5000
...
neuroimagen/vbm_lang.txt · Last modified: 2020/08/27 12:18 by osotolongo