User Tools

Site Tools


neuroimagen:pipe05

Differences

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

Link to this comparison view

Both sides previous revision Previous revision
Next revision
Previous revision
neuroimagen:pipe05 [2022/01/12 10:10]
osotolongo [Extraer resultados]
neuroimagen:pipe05 [2022/05/02 08:34] (current)
osotolongo [Dependencias]
Line 1: Line 1:
 ====== Pipeline de Procesamiento de FACE v0.5 ====== ====== Pipeline de Procesamiento de FACE v0.5 ======
  
-Nueva version en etapa de planificacion. 
  
 ===== Porque una nueva version? ===== ===== Porque una nueva version? =====
  
-  * // Introducir containers. Preparar el pipeline para utilizarlo en Microsoft Azure, AWS o similar. Todas las llamadas a FSL, Freesurfer o ANTs deben sustituirse por una llamada a containers. // **Nota: De momento no parece ser necesario y los containers de FSL o Fs pueden ser mas complicados de lo que parecen** DELETEME 
   * <del>Modularizacion de las llamadas a SLURM. Los script sbatch han de crearse y lanzarse a traves del modulo SLURM.pm. Deben reescribirse los scripts.</del> DONE ([[neuroimagen:neuro4.pm|Modulos del pipeline]])   * <del>Modularizacion de las llamadas a SLURM. Los script sbatch han de crearse y lanzarse a traves del modulo SLURM.pm. Deben reescribirse los scripts.</del> DONE ([[neuroimagen:neuro4.pm|Modulos del pipeline]])
   * Reparalelizar los procesos de registro, y extraccion de metricas PET en modulos mas pequeños :?:   * Reparalelizar los procesos de registro, y extraccion de metricas PET en modulos mas pequeños :?:
Line 13: Line 11:
   * <del>Usar Freesurfer 7.2 [[https://surfer.nmr.mgh.harvard.edu/fswiki/ReleaseNotes|Release Notes]]</del> DONE ([[neuroimagen:freesurfer7|Update Freesurfer 7.2]])   * <del>Usar Freesurfer 7.2 [[https://surfer.nmr.mgh.harvard.edu/fswiki/ReleaseNotes|Release Notes]]</del> DONE ([[neuroimagen:freesurfer7|Update Freesurfer 7.2]])
  
-===== TODO =====  
  
-  - acenip Containers? DELETEME 
- 
-{{ :neuroimagen:map_container_build.png?600 |}} 
  
 ===== Dependencias ===== ===== Dependencias =====
Line 28: Line 22:
   * fmriprep: https://fmriprep.org/en/stable/   * fmriprep: https://fmriprep.org/en/stable/
   * dicom3tools: https://www.dclunie.com/dicom3tools.html (//no estrictamente necesario pero conveniente//)   * dicom3tools: https://www.dclunie.com/dicom3tools.html (//no estrictamente necesario pero conveniente//)
-  * xnatapic: https://github.com/asqwerty666/xnatapic (para las operaciones con XNAT)+  * xnatapic: https://github.com/asqwerty666/xnatapic (para las operaciones con XNAT). Intentando eliminar estas dependencias
  
 ===== DB ===== ===== DB =====
Line 2092: Line 2086:
 [osotolongo@brick03 facehbi]$ for x in `cat xnat_pet_experiments.list`; do xnatapic run_pipeline --project_id facehbi --pipeline RegisterPETwithMRImatch --experiment_id ${x}; done [osotolongo@brick03 facehbi]$ for x in `cat xnat_pet_experiments.list`; do xnatapic run_pipeline --project_id facehbi --pipeline RegisterPETwithMRImatch --experiment_id ${x}; done
 </code> </code>
 +
 +==== Extraer resultados ====
 +
 +La idea fundamental aqui es obtener los valores de SUVR y centiloide calculados en XNAT. Estos pueden obtenerse con,
 +
 +<code bash>
 +$ xnatapic get_registration_report --project_id f5cehbi --output xnat_pet_results.csv
 +</code>
 +
 +y esto vamos a limpiarlo un poco,
 +
 +<code bash>
 +$ awk -F"," '{print $2","$6","$7}' xnat_pet_results.csv | sed 's/"//g' | tail -n +2 | sort -t, -k 1 > pet.results
 +</code>
 +
 +La lista de sujetos del proyecto se obtiene con,
 +
 +<code bash>
 +$  xnatapic list_subjects --project_id f5cehbi --label > xnat_subjects.list
 +</code>
 +
 +Esto se puede ordenar rapidamente haciendo,
 +
 +<code bash>
 +$ sort -t, -k 1 xnat_subjects.list > xnat_subjects_sorted.list
 +</code>
 +
 +Y entonces podemos integrar los ID de proyecto con los resultaos, a traves de los ID de XNAT, y seleccionar los datos que queremos guardar,
 +
 +<code bash>
 +$ join -t, xnat_subjects_sorted.list pet.results | sort -t, -k 2 | awk -F"," '{if ($3) print $2";"$3";"$4}' | sed '1iSubject;SUVR;Centiloid'"
 +</code>
 +
 +Todo esto se resume en el script [[https://github.com/asqwerty666/acenip/blob/main/bin/xnat_pullcl.pl | xnat_pullcl.pl]]. Los archivos intermedios se borran una vez que se obtienen los resultados. Las opciones son,
 +
 +  * -p : nombre del proyecto en XNAT, se ignora si existe //-x//. Solo existe por compatibilidad.
 +  * -x : nombre del proyecto en XNAT
 +  * -o : archivo de salida (default STDOUT)
 +
  
  
Line 2348: Line 2381:
 </code> </code>
  
-y para cada experiento gurdamos los resultados del analisis de FS en un directorio,+y para cada experiento guardamos los resultados del analisis de FS en un directorio,
  
 <code perl> <code perl>
Line 2364: Line 2397:
 my $fsout = $fsoutput.'/fsrecon'; my $fsout = $fsoutput.'/fsrecon';
 make_path $fsout; make_path $fsout;
-</code perl>+</code>
  
 podemos utilizar las sintaxis de la funcion //fs_file_metrics()// almacenadas en [[neuroimagen:neuro4.pm#fsmetricspm|FSMetrics.pm]]. //L ultima version actualizada, siempre [[https://github.com/asqwerty666/acenip/blob/main/lib/FSMetrics.pm|en github]]//. podemos utilizar las sintaxis de la funcion //fs_file_metrics()// almacenadas en [[neuroimagen:neuro4.pm#fsmetricspm|FSMetrics.pm]]. //L ultima version actualizada, siempre [[https://github.com/asqwerty666/acenip/blob/main/lib/FSMetrics.pm|en github]]//.
neuroimagen/pipe05.1641982242.txt.gz · Last modified: 2022/01/12 10:10 by osotolongo