User Tools

Site Tools


neuroimagen:fbb

This is an old revision of the document!


Problemas con el procesamiento de FBB y como no morir en el intento

de DICOM a NiFTI

Necesitamos convertir los DICOM de FBB a formato NiFTI-1 para trabajar con FSL. El servidor DICOM corta el numero de slices por directorio a 500 por lo que inicialmente hubo muchisimos problemas de conversion y procesamiento.

Luego hay que buscar por todas las subcarpetas del DICOM las imagenes 4x5min que estan desordenadas. Para convertir uno de los sujetos ha de hacerse algo asi,

$ for x in `find /nas/raw_images/facehbi/fbb/FACEHBI-F001B/DICOM/ -type f`; do if [[ `dckey -k "SeriesDescription" $x 2>&1 | grep  "4x5min"` ]]; then cp $x /nas/facehbi/tmp_2nifti/; fi; done; y=$(ls /nas/facehbi/tmp_2nifti/ | head -n 1); dcm2nii -o /nas/facehbi/tmp/ /nas/facehbi/tmp_2nifti/$y;

que da una salida muy ruidosa, pero funciona. Para hacerlos todos de una tacada habria que iterar esto por todos los sujetos. FIXME

* Pagina vieja * DELETEME

$ dcm2nii -o tmp/ /nas/raw_images/facehbi/fbb/FACEHBI-F023B/DICOM/15020608/57070000/57437982

y podemos tener las sigientes situaciones:

  • Te mandan un DICOM con 4 secuencias de 5 min, apilados correctamente en el tiempo

Esto es lo ideal y se convierte facilmente en 4 archivos distintos

$ fslsplit s005a2001.nii.gz ../fbb_first/smc0023s -t
  • La secuencia esta apilada en el eje Z

Lo peor no es que esten apiladas mal sino que el numero de slices de cada imagen es bastante arbitrario. Hay que abrir la imagen y seleccionarlos manualmente

$ ls -lh 
total 70M
-rw-rw-r-- 1 osotolongo osotolongo 16M Mar  6  2015 s004a2001.nii.gz
-rw-rw-r-- 1 osotolongo osotolongo 54M Mar  6  2015 s005a2001.nii.gz
$ fslview s005a2001.nii.gz &
$ mkdir splitted; fslsplit s005a2001.nii.gz splitted/s004a -z
$ a=`for i in {0..85}; do printf "splitted/s004a%04d " $i; done`; fslmerge -z ../fbb_first/smc0021s0000 $a
$ a=`for i in {85..185}; do printf "splitted/s004a%04d " $i; done`; fslmerge -z ../fbb_first/smc0021s0001 $a
$ a=`for i in {185..280}; do printf "splitted/s004a%04d " $i; done`; fslmerge -z ../fbb_first/smc0021s0002 $a
$ a=`for i in {280..390}; do printf "splitted/s004a%04d " $i; done`; fslmerge -z ../fbb_first/smc0021s0003 $a
$ rm -rf *
  • Una combinacion de lo anterior

Esto es lo peor, y creo que lo hacen para joder, pero la solucion es combinar los dos metodos anteriores

Correccion de movimiento

Ahora tenemos 4 archivos representando la integracion de 5 min y hay que corregistrarlos al espacio de usuario. Lo primero es traer el archivo de freesurfer y luego corregistrar cada uo de los fbb al user space. despues se ha de unirlos temporalmente y hacer un mcflirt.

lo primero seria traerse la mri del directorio de freesurfer

get_fs_subj

y luego corregistrar cada imagen al espacio del sujeto. Hay 4 variantes para esto.

1.- Intentando registrar cada imagen independientemente.

fbb_reg

2.- Usando la informacion de un registro para el resto

fbb_regc

3.- Usando la informacion solo del cerebro extraido para hacer el corregistro

fbb_regb

4.- el mas complicado, usando una mascara. Este metodo se probo con el corregistro de PiBs y usa un umbral de intensidad

fbb_regm

Esto lo he intentado agrupar en el script fbb_correct.pl,

fbb_correct.pl (chunk)

neuroimagen/fbb.1430310544.txt.gz · Last modified: 2020/08/04 10:45 (external edit)