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:07]
osotolongo [Segmentación Freesurfer]
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 506: Line 500:
 [[neuroimagen:visualqc_freesurfer_xnat|Realizar el QC a la segmentacion de Freesurfer de los sujetos analizados en XNAT]] [[neuroimagen:visualqc_freesurfer_xnat|Realizar el QC a la segmentacion de Freesurfer de los sujetos analizados en XNAT]]
  
-===== Bajar proyecto de XNAT =====+==== Bajar proyecto de XNAT ====
  
 Una a vez procesada la segmentación de Freesurfer, si queremos hacer algo mas complejo, hemos de bajar ordenadamente el directorio de procesamiento de cada sujeto. El primer paso sería crear el proyecto local, pero no es necesario (al menos en principio) identificar la posicion de las imagenes RAW. Es decir que practicamente se puede hacer a mano a partir del listado de XNAT. Una a vez procesada la segmentación de Freesurfer, si queremos hacer algo mas complejo, hemos de bajar ordenadamente el directorio de procesamiento de cada sujeto. El primer paso sería crear el proyecto local, pero no es necesario (al menos en principio) identificar la posicion de las imagenes RAW. Es decir que practicamente se puede hacer a mano a partir del listado de XNAT.
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 2288: Line 2321:
 ---- ----
  
-==== 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) 
  
 ===== PET-tau ===== ===== PET-tau =====
Line 2385: 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 2401: 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.1641982031.txt.gz · Last modified: 2022/01/12 10:07 by osotolongo