Usuario:JAGT/FreeSurfer

De Wikipedia, la enciclopedia libre

FreeSurfer es un conjunto de herramientas de reconstrucción automatizada de la superficie cortical del cerebro basada en imágenes MRI, y capaz de representar información de resonancia funcional sobre la reconstrucción.

Descarga / Instalación / Licencia[editar]

Requisitos[editar]

  • Un ordenador basado en UNIX (Linux o Mac OS X) o instalar VirtualBox [1] en Windows.
  • Procesador mínimo de 2GHZ
  • 4 GB de RAM
  • Targeta gráfica 3D compatible con OpenGL.
  • 4GB de espacio libre para la instalación de Freesurfer.
  • Más de 3GB de espacio libre para trabajar con ficheros.

Descarga[editar]

En la consola o terminal (ejemplo para Linux de 64 bits):

wget ftp://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/5.1.0/freesurfer-Linux-centos4_x86_64-stable-pub-v5.1.0.tar.gz

(El comando wget descarga el fichero de la dirección web o ftp que se le diga en el mismo directorio en el que te encuentres en ese momento)

Instalación[editar]

FreeSurfer no requiere instaladores. Simplemente hay que extraer el contenido comprimido y ponerlo en un directorio fijo.

Se recomienda que este directorio sea: /usr/local/freesurfer

Para decomprimirlo:

tar xzvf freesurfer-Linux-centos4_x86_64-stable-pub-v5.1.0.tar.gz

(El comando tar descomprime los ficheros tar.gz en linux. Hay que tener en cuenta que el fichero del freesurfer ocupa alrededor de 3GB, por lo que va a consumir un buen rato de tiempo.)

Para ubicarlo en el directorio recomendable:

sudo mv freesurfer /usr/local

(El comando mv mueve el directorio de lugar. Este comando es rápido porque simplemente se renombra la ubicación de los ficheros).

Licencia[editar]

FreeSurfer requiere licencia, pero esta licencia es gratuita.

Formulario de licencia: https://surfer.nmr.mgh.harvard.edu/registration.html

Una vez registrado, recibirás en tu correo electrónico la licencia. Son tres líneas que deben ser escritas en el fichero .license dentro del directorio del freesurfer.

sudo gedit /usr/local/freesurfer/.license

Con este comando se edita/crea el fichero .license en el directorio en el que se va a instalar el freesurfer. Una vez abierto el editor de texto, copiar del correo las tres líneas de licencia, y pegarlas en el editor. Pulsamos guardar y cerramos el editor.

Configuración[editar]

Configurar freesurfer consiste en decirle a la máquina donde está ubicado el programa.

ATENCIÓN: Esto hay que hacerlo cada vez que vayamos a utilizar el programa. Para automatizar este proceso, ver el siguiente apartado.

En primer lugar debes saber que existen varios tipos de terminales, y nos vamos a centrar en dos: BASH y TCSH. El terminal más recomendado para FreeSurfer es TCSH.

Recomendación: Si no tienes ninguna preferencia por BASH o TCSH, te recomendamos que configures la consola para que automáticamente arranque en modo TCSH. Para ello escribe en un terminal lo siguiente:

chsh -s /bin/tcsh

TCSH[editar]

Para activar este tipo de terminal escribiremos:

tcsh

Una vez que estemos en el terminal de tipo tcsh, declararemos las variables de entorno:

setenv FREESURFER_HOME /usr/local/freesurfer
source $FREESURFER_HOME/SetUpFreeSurfer.csh

(Fíjate que el fichero tiene la extensión CSH)

Si todo ha salido correctamente, nos aparecerá como resultado lo siguiente:

Setting up environment for FreeSurfer/FS-FAST (and FSL)
FREESURFER_HOME /usr/local/freesurfer
FSFAST_HOME     /usr/local/freesurfer/fsfast
FSF_OUTPUT_FORMAT nii
SUBJECTS_DIR    /usr/local/freesurfer/subjects
MNI_DIR         /usr/local/freesurfer/mni

BASH[editar]

En caso de utilizar un terminal en BASH, la función setenv no existe. Habrá que usar la función export para definir las variables, y requiere ir seguido de un "=" tal y como sigue:

export FREESURFER_HOME=/usr/local/freesurfer
source $FREESURFER_HOME/SetUpFreeSurfer.sh

(Fíjate que en caso de ser BASH, la extensión ahora es SH)

Automatizar la configuración[editar]

Existe una forma sencilla para no tener que realizar la configuración cada vez que queramos utilizar freesurfer.

sudo gedit $HOME/.tcshrc

Y dentro del fichero escribimos estas dos líneas:

setenv FREESURFER_HOME /usr/local/freesurfer
source $FREESURFER_HOME/SetUpFreeSurfer.csh

Ahora cada vez que iniciemos un terminal TCSH se configurará el freesurfer automáticamente.

En caso de querer hacer lo mismo en el terminal BASH, tendremos que escribir las correpondientes líneas para BASH en el fichero ".profile".

Crear un nuevo sujeto[editar]

En FreeSurfer cada sujeto es representado por un directorio que contiene un sistema de archivos estándar.

Este directorio contiene las siguientes carpetas:

  • 3d
  • bem
  • label
  • mri
  • scripts
  • src
  • stats
  • surf
  • tmp
  • touch
  • trash

La más importante es mri, porque contiene los datos originales del sujeto dentro del subdirectorio orig (/mri/orig). La segmentación se inicia a partir de este fichero.

Convertir DICOM a NIfTI[editar]

Las imágenes de resonancia llegan en ficheros con formato DICOM (extensión .dcm). Un sujeto se compone de varios ficheros .dcm (uno por corte). Estos ficheros deben ser empaquetados en formato NIfTI (extensión .nii).

Esto no lo realiza el FreeSurfer, por lo que se hace necesario disponer de un software a parte que realice esta conversión.

Software recomandado para convertir las imágenes DICOM a NIfTI:

  • MRI Convert [2]

Convertir NIfTI a FreeSurfer[editar]

El fichero principal que necesita FreeSurfer para iniciar una segmentación está en /mri/orig, y se denomina 001.mgz.

Este fichero se puede crear a partir del formato nifti comprimido (.nii.gz). El comando es el siguiente:

mri_convert subjectXXX.nii.gz 001.mgz

(El output debe denominarse 001.mgz siempre, para todos los sujetos)

Recuerda: Este fichero debe ubicarse dentro del directorio perteneciente al sujeto:

/sujeto/mri/orig/001.mgz

Segmentación estandard[editar]


recon-all -all -s subject1

subject1 sería el directorio en el que se encuentran los ficheros de este sujeto (recuerda que antes hay que definir el directorio en el que se encuentran los sujetos con un setenv SUBJECTS_DIR). Para que se pueda iniciar una reconstrucción, debe existir el fichero /subject1/mri/orig/001.mgz

La segmentación se compone de diferentes pasos, que pueden agruparse en 3 grandes pasos:

Visualización[editar]

SUBJECTS_DIR[editar]

Para poder abrir un sujeto segmentado con el freesurfer, antes se debe especificar el directorio en el que se encuentra:

setenv SUBJECTS_DIR /home/usuario/datos

Por ejemplo, si nuestro sujeto se encuentra en el directorio /home/usuario/datos/sujeto1 entonces tenemos que especificar que sujeto1 se encuentra en /home/usuario/datos

Tkmedit[editar]

Tksurfer[editar]

Freeview[editar]

Corrección de errores[editar]

Al cargar los resultados mediante tkmedit es imprescindible observar si existen errores que el FreeSurfer ha podido cometer a la hora de segmentar.

Esta es una lista de las cosas que debes aprender a observar cuando ves a un sujeto mediante tkmedit:

  • La intensidad de la normalización
  • Separación del hueso
  • Volumen de sustancia blanca
  • Superficies finales
  • Segmentación subcortical

Intensidad de la normalización[editar]

Muévete por las capas del brainmask y vigila que todo tiene una intensidad uniforme. Es decir, que no hay puntos ni demasiado brillantes ni demasiado oscuros. Si haces clic en cualquier voxel deberías observar que ha sido normalizado a una intensidad muy cercana a 110.

Separación del hueso[editar]

La diferencia fundamental entre orig.mgz y brainmask.mgz es que en el brainmask se ha eliminado todo lo que no es corteza cerebral, es decir, se ha eliminado hueso y cerebelo.

Para comprobar que se ha separado bien, tendremos que comparar brainmask con T1.

tkmedit <sujeto> brainmask.mgz -aux T1.mgz

Con esto se carga el brainmask, teniendo el T1 como auxiliar para poder comparar.

Volumen de sustancia blanca[editar]

Superficies finales[editar]

Segmentación subcortical[editar]

Extracción de los datos[editar]

Estadística[editar]