User Tools

Site Tools


neuroimagen:pipe03

Differences

This shows you the differences between two versions of the page.

Link to this comparison view

Both sides previous revisionPrevious revision
Next revision
Previous revision
neuroimagen:pipe03 [2018/11/08 10:35] – [DTI] osotolongoneuroimagen:pipe03 [2020/08/04 10:58] (current) – external edit 127.0.0.1
Line 1: Line 1:
 ====== ACE Pipeline (v0.3.0) ====== ====== ACE Pipeline (v0.3.0) ======
  
-De momento, el procesamiento MRI y DTI esta integrado en el cluster. El procesamiento de las imagenes PET no lo esta. El procesamiento de fMRI esta sin definir.+De momento, el procesamiento MRI, rs/fMRI y DTI esta integrado en el cluster. El procesamiento de las imagenes PET no lo esta.
 ===== Creando el proyecto ===== ===== Creando el proyecto =====
 Para comenzar a trabajar es necesario crear la estructura del proyecto, que debe ser fija. Para ello existe el script //make_std.pl// que toma como argumento el nombre del proyecto y crea un sencillo archivo de configuracion, así como un par de directorios necesarios.  Para comenzar a trabajar es necesario crear la estructura del proyecto, que debe ser fija. Para ello existe el script //make_std.pl// que toma como argumento el nombre del proyecto y crea un sencillo archivo de configuracion, así como un par de directorios necesarios. 
Line 128: Line 128:
 Para la redefinicion del calculo DTI se ha utilizado el proyecto MOPEAD. Ver la [[neuroimagen:mopead_c|pagina de este proyecto]] para mas info sobre como funcionan las herramientas. Para la redefinicion del calculo DTI se ha utilizado el proyecto MOPEAD. Ver la [[neuroimagen:mopead_c|pagina de este proyecto]] para mas info sobre como funcionan las herramientas.
  
-=== Preprocesamiento ===+==== Preprocesamiento ====
 Los archivos de //DTI// deben estar almacenados en el directorio //dti// dentro del directorio del proyecto y en formato NIfTI-1. Deben ademas ser nombrados de acuerdo a la base de datos del proyecto. El archivo //mop0001sXXXX.nii.gz// (las X son cualquier numero) es el correspondiente a la linea //0001;mop// de la base de datos. Deben existir ademas los archivos //mop0001sXXXX.bval// y //mop0001sXXXX.bvec//. En caso de tenerlo, el archivo //mop0001_p2a_b0.nii.gz//, permite hacer correccion de susceptibilidad.  Los archivos de //DTI// deben estar almacenados en el directorio //dti// dentro del directorio del proyecto y en formato NIfTI-1. Deben ademas ser nombrados de acuerdo a la base de datos del proyecto. El archivo //mop0001sXXXX.nii.gz// (las X son cualquier numero) es el correspondiente a la linea //0001;mop// de la base de datos. Deben existir ademas los archivos //mop0001sXXXX.bval// y //mop0001sXXXX.bvec//. En caso de tenerlo, el archivo //mop0001_p2a_b0.nii.gz//, permite hacer correccion de susceptibilidad. 
  
-De cara al cluster, hay dos maneras de ejecutar el procesamiento DTI. Los scripts //dti_reg.pl// y //dti_reg_split.pl// hacen exactamente lo mismo pero mientras el primero lanza todas las tareas en el mismo trabajo, el segundo lanza una tarea por trabajo permitiendo un control individual del proceso de cada sujeto a cambio de velocidad de procesamiento. Dependiendo de las opciones, la cantidad de sujetos y los fallos que se obtenga en el proceso es preferible uno o el otro. +El registro DTI se ejecuta con el scripts //dti_reg.pl//. Las opciones son, 
- +
-Las opciones son, +
   * //-cut//, (Ver [[neuroimagen:pipe03#opciones_comunes|Opciones comunes]])    * //-cut//, (Ver [[neuroimagen:pipe03#opciones_comunes|Opciones comunes]]) 
   * //-nocorr//, no realiza correciones (para cuando no existe el //P>>A//   * //-nocorr//, no realiza correciones (para cuando no existe el //P>>A//
Line 141: Line 139:
  
 <code bash> <code bash>
-dti_reg_split -nocorr -cut soloestos.csv facehbi+dti_reg.pl -nocorr -cut soloestos.csv facehbi
 </code> </code>
  
 procesara los sujetos contenidos en el archivo //soloestos.csv// que pertenezcan al proyecto //facehbi// sin realizar correciones por suceptibilidad. procesara los sujetos contenidos en el archivo //soloestos.csv// que pertenezcan al proyecto //facehbi// sin realizar correciones por suceptibilidad.
  
-Los valores de FA y MD se obtienen ejecutando //dti_metrics.pl//. Este script calcula, y envia la tabla por email, estos valores en las regiones de referencia definidos por los [[https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/Atlases|atlas de la JHU]]. Por defecto utiliza el //JHU white-matter tractography atlas//. Las opciones son,+**Report aqui** FIXME 
 + 
 +Los valores de FA y MD se obtienen ejecutando //dti_metrics.pl//. Este script calcula, y envia la tabla por email, estos valores en las regiones de referencia definidos por los [[https://fsl.fmrib.ox.ac.uk/fsl/fslwiki/Atlases|atlas de la JHU]]. 
 +<code bash> 
 +$ dti_metrics.pl facehbi 
 +</code> 
 + Por defecto utiliza el //JHU white-matter tractography atlas//. Las opciones son,
   * //-l//, no envía la tabla por email   * //-l//, no envía la tabla por email
   * //-a1//, usa el //ICBM-DTI-81 white-matter labels atlas//   * //-a1//, usa el //ICBM-DTI-81 white-matter labels atlas//
Line 152: Line 156:
   * //-sd//, incluye tambien las desviaciones standard   * //-sd//, incluye tambien las desviaciones standard
  
-=== Tractografía ===+==== Tractografía ====
 Para la tractografia se utliza el script //dti_track.pl//. Este script ejecuta //bedpostx// y //probtrackx// sobre los sujetos del proyecto. Para ejecutar este script es necesario crear el archivo //dti_tracks.seed// en el directorio del proyecto. Este archivo contiene las ROI que se utilizaran como mascara para //probtrackx//. Por defecto se utiliza la segmentacion de freesurfer y las ROI se indican por el indice que se puede ver en //FreeSurferColorLUT.txt// Para la tractografia se utliza el script //dti_track.pl//. Este script ejecuta //bedpostx// y //probtrackx// sobre los sujetos del proyecto. Para ejecutar este script es necesario crear el archivo //dti_tracks.seed// en el directorio del proyecto. Este archivo contiene las ROI que se utilizaran como mascara para //probtrackx//. Por defecto se utiliza la segmentacion de freesurfer y las ROI se indican por el indice que se puede ver en //FreeSurferColorLUT.txt//
  
Line 191: Line 195:
 </code> </code>
  
-=== Herramientas === +==== Metricas en tractos escogidos ====
-**track2mask.sh**+
  
-Convierte una imagen en una mascara,con un umbral dado,+Una vez hecha la tractografia tenemos un mapa de determinado grupo de tractos sobre los que podemos sacarpara cada sujeto, los valores medios de FA y MD. Esto lo podemos hacer con el script //dti_metrics_alt.pl//. Este script busca los archivos //output// de la tractografia, y hace una mascara por encima de un valor determinado (por defecto 25% del valor maximo). Luego, calcula los valores de FA y MD usando esta mascara. Esto se hace para cada sujeto individualmente. 
 + 
 +El procedimiento depende de que tracto hayamos procesado. Por ejemplo,
 <code bash> <code bash>
-track2mask.sh fdt_paths.nii.gz 0.25+dti_metrics_alt.pl -path DMN facehbi
 </code> </code>
-produce una mascara al 25% del valor maximo de la imagen original en el archivo //fdt_paths_mask.nii.gz// en el mismo directorio,+buscara los archivos //output// de //probtrackx// en //working/**sujeto**_probtrack_DMN// y dejara las metricas en //facehbi_dti_DMN.csv//. 
 + 
 +La forma de proceder es, primero realizar la tractografia con el atlas y la red deseada, 
 +<code bash> 
 +dti_track.pl -uofm DMN facehbi 
 +</code> 
 +luego mover los directorios al //path// correcto (esto se puede hacer automaticamente pero es un paso sencillo y para mantener la generalidad es mejor dejarlo asi por ahora), 
 +<code bash> 
 +for x in `ls -d working/*_probtrack_out`; do mv $x `echo $x | sed 's/out/DMN/'`;done 
 +</code> 
 +y finalmente sacar las metricas, 
 +<code bash> 
 +dti_metrics_alt.pl -path DMN facehbi 
 +</code> 
 + 
 +**Nota:** El paso 2 puede obviarse y el script por defecto buscara la tractografia en //working/**sujeto**_probtrack_out// y dejara las metricas en //facehbi_dti_out.csv//. Pero por cuestiones de organizacion no es recomendable. 
 + 
 +Las opciones son, 
 +  * //-cut//, //-l// (Ver [[neuroimagen:pipe03#opciones_comunes|Opciones comunes]])  
 +  * //-path//, define la red sobre la que se trabajara. Cambia el directorio de busqueda de las redes y el nombre del archivo de salida 
 +  * //-thr//seguido de un valor entre 0 y 1, cambia el valor de umbral bajo el cual se cortan las mascaras 
 +  * //-sd//, añade la desviacion standard 
 + 
 + 
  
-{{ :neuroimagen:track_mask.png?direct&300 |fslview_deprecated fdt_paths fdt_paths_mask}} 
  
 ===== PET-FDG ===== ===== PET-FDG =====
Line 267: Line 295:
 los resultados se escriben en el archivo //estudio_pib_fs_suvr_predef.csv//. los resultados se escriben en el archivo //estudio_pib_fs_suvr_predef.csv//.
 ===== PET-FBB ===== ===== PET-FBB =====
-Esta herramienta se creo ustilizando el estudio FACEHBI como piloto. El procedimiento sigue las lineas de este estudio. Se reciben 4 imagenes, cada una integrando 5 minutos. Las imagenes se coregistran independientemente al espacio del sujeto y se luego promedian. Para ello,+Esta herramienta se creo ustilizando el estudio FACEHBI como piloto. El procedimiento sigue las lineas de este estudio. Se reciben 4 imagenes, cada una integrando 5 minutos. Las imagenes se coregistran independientemente al espacio del sujeto y se luego promedian.  
 + 
 +** El analisis de FBB está integrado en el cluster y ahora utiliza SLURM ** por lo que puede controlarse con las herramientas correspondientes.  
 + 
 +Para ello,
  
 <code bash> <code bash>
Line 275: Line 307:
 Las opciones son, Las opciones son,
   * //-cut//, (Ver [[neuroimagen:pipe03#opciones_comunes|Opciones comunes]])   * //-cut//, (Ver [[neuroimagen:pipe03#opciones_comunes|Opciones comunes]])
-  * //-usem//, registra una mascara de los FBB y usa la informacion para registrar las imagenes 
-  * //-useb//, registra los FBB al cerebro extraido 
-  * //-useg//, registra uno de los FBB y usa la informacion para registrar el resto  
  
 Tras esto, se extrae el valor medio en el cortex **(si, en las mismas 5 regiones)**, normalizado por el valor en la materia gris del cerebelo, Tras esto, se extrae el valor medio en el cortex **(si, en las mismas 5 regiones)**, normalizado por el valor en la materia gris del cerebelo,
 <code bash> <code bash>
-parallel_fbb_rois_metrics.pl estudio+fbb_rois_metrics.pl estudio
 </code> </code>
-los resultados se escriben en el archivo //estudio_fbb_fs_suvr_predef.csv//.+los resultados se escriben en el archivo //estudio_fbb_fs_suvr_rois.csv//
 + 
 +También pueden extraerse los valores de Centiloide, medidos tomando como referencia el valor en el cerebelo (completo), según [[https://link.springer.com/article/10.1007/s00259-017-3749-6|Rowe et. al.]]. 
 + 
 +<code bash> 
 +$ fbb_cl_metrics.pl estudio 
 +</code> 
 + 
 +y los resultados quedan en el archivo //estudio_fbb_cl.csv//.
  
 ===== fMRI ===== ===== fMRI =====
 +
 +El tratamiento de las fMRI se ha implementado, en principio, solo para //resting state//. Se ha implementado el //Independent Component Analysis (ICA)// utilizando //feat// y //melodic// de **FSL** e integrando todo en **slurm**. 
 +
 +==== ICA individual ====
 +
 +Para realizar el ICA de un solo sujeto se utiliza el script //rs_ica_one.pl//. La unica opcion disponible es //-cut// (Ver [[neuroimagen:pipe03#opciones_comunes|Opciones comunes]]) para realizar el analisis individual en una seleccion de individuos. En caso contrario lo realiza en todos los sujetos del proyecto. Se lanza simplemente con,
 +
 +<code bash>
 +$ rs_ica_one.pl mopead
 +</code> 
 +
 +----
 +
 +**Nota:** Para realizar esta tarea se utiliza una plantilla que se encuentra en //${PIPEDIR}/lib/lone_ica_template.fsf// y se rellena con los directorios particulares del proyecto en si.No obstante, en caso de tener que cambiar alguna opción mas, como el //TR//, habria que editar directamente la plantilla. De momento, se ha hecho asi para simplificar el uso ya que los fMRI por ahora vienen con un unico protocolo pero esto puede estar sujeto a cambios.
 +
 +----
 +
 +Los resultados de cada sujeto quedan en // working/**sujeto**_rs.ica/ // y el informe en // working/**sujeto**_rs.ica/filtered_func_data.ica/report/00index.html //
 +
 +==== ICA grupal ====
 +
 +Para realizar el ICA del proyecto o un grupo de sujetos se utliza el script //rs_ica_group.pl//. La unica opcion disponible es -cut (Ver Opciones comunes) para realizar el analisis grupal en una seleccion de individuos. En caso contrario lo realiza en todos los sujetos del proyecto. Se lanza con,
 +
 +<code bash>
 +rs_ica_group.pl mopead
 +</code>
 +
 +----
 +
 +**Nota:** Para realizar el analisis se utilizan varias plantillas que se encuentran en ${PIPEDIR}/lib/
 +
 +<code>
 +notalone_ica_template.fsf
 +group_ica_template_p1.fsf
 +group_ica_template_targets.fsf
 +group_ica_template_p2.fsf
 +</code>
 +
 +Estas plantillas se rellenan con los directorios particulares del proyecto en si. No obstante, en caso de tener que cambiar alguna opción mas, como el TR, habria que editar directamente las plantillas correspondientes. Notese que en cualquier caso habria que cambiar dos plantillas, //notalone_ica_template.fsf// y la plantilla // group_ica_template_???.fsf// donde se encuentre el parametro en cuestion. Esto puede estar sujeto a cambios.
 +
 +----
 +
 +Los resultados de cada sujeto quedan en //working/rs.gica/groupmelodic.ica/ // y el informe en //working/rs.gica/groupmelodic.ica/report/00index.html//
 +
 +==== fmriprep ====
 ===== Opciones comunes ===== ===== Opciones comunes =====
  
neuroimagen/pipe03.1541673335.txt.gz · Last modified: 2020/08/04 10:45 (external edit)