User Tools

Site Tools


neuroimagen:xnat_pipelines_registro

This is an old revision of the document!


Pipeline de registro de PET y MRI en Xnat

El objetivo de este pipeline es procesar conjuntamente dos imágenes MRI y PET de un mismo sujeto adquiridas en las fechas más próximas posibles, siempre a menos de 6 meses (dos experimentos Xnat, en el mismo proyecto), registrarlas, calcular algunas estadísticas y someterlas a un proceso de validación manual.

El proceso se ha separado en tres partes que se han integrado, finalmente, en un único pipeline:

  1. preprocesamiento de los experimentos (emparejamiento de imágenes PET con las MRI más próximas del mismo sujeto y conversión de ambas a NIFTI)
  2. ejecución del pipeline de registro y cálculo
  3. generación de una imagen de previsualización del registro y un proceso /user friendly/ de validación del resultado

Ejemplo de uso

El pipeline que se ejecuta automáticamente se halla en:

/nas/data/xnat/pipeline/catalog/RegisterPETwithMRImatch/RegisterPETwithMRImatch.xml

pero conviene definir también los otros pipelines: MatchPETwithMRI, DicomToNifti_Y y RegisterPETwithMRI.

Instalación del pipeline: argumentos de entrada

En el proyecto, se añaden los tres pipelines de registro y el pipeline de conversión a formato NIFTI:

Pero sólo se pide que se arranque automáticamente tras la carga de imágenes RegisterPETwithMRImatch, que es el que llama a los otros en el orden adecuado.

Las opciones dcmT1tag y dcmFBBtag indican, respectivamente, patrones en los atributos SequenceName de la secuencia MRI y ProtocolName de la secuencia PET. Pueden variar de un proyecto a otro.

Nota: Es necesario marcar la opción “Launch pipeline automatically when session is archived?” al añadir el pipeline; esta opción, aunque se editen luego las opciones del pipeline, no se guarda.

Carga de los archivos MRI y PET: ejecución automática del pipeline

Dado que el pipeline RegisterPETwithMRImatch se ejecuta automáticamente al cargar un estudio PET, es imprescindible que antes se haya cargado el estudio MRI correspondiente al mismo sujeto, con el que se quiere emparejar.

Nota: Si se usa la utilidad xnatapic upload_dicom, se debe indicar explícitamente que se ejecuten los pipelines automáticos al completar la carga de los estudios PET. P.ej.

xnatapic upload_dicom --project_id TestMatch1 --subject_id FACEHBI_001 --pipelines facehbi/FACEHBI-F001B

Notificación por e-mail y enlace a la validación

El proceso de cada estudio no es muy largo: unos 20 minutos. Al finalizar (si todo ha transcurrido sin errores), le llegará al usuario un correo electrónico como el que sigue:

El primer enlace sólo es un log de las operaciones. El segundo enlace, abre una ventana donde se muestra el resultado del registro. El usuario debe decidir si es correcto o no, y esa decisión se guardará en Xnat junto con el resto de información de registro y estadísticas.

Recursos generados

Como resultado del pipeline, en cada estudio PET procesado se crea una carpeta de recursos llamada MRI. En ella se guarda la siguiente información:

  • un archivo JSON, llamado mriSessionMatch.json, con resultados del emparejamiento PET-MRI, estadísticas sobre el registro (SURV y CL) y sobre la evaluación de la calidad del mismo (QA)
  • los archivos NIFTI, _fbb y _struc, generados durante el registro
  • un archivo HTML llamado qa.html y una imagen GIF (obtenida superponiendo los bordes del _struc sobre la imagen _fbb) que son con los que se lleva a cabo la evaluación de calidad del apartado anterior

Generación del informe

El script get_registration_report de la xnatapic genera un archivo CSV que resume estos valores para cada PET de cada individuo. Se debe invocar como:

xnatapic get_registration_report --project_id TestMatch1 --output report.csv

El archivo CSV de salida contiene las siguientes columnas:

  • DCM_SUBJECT: código DICOM del paciente en el estudio PET
  • SUBJECT_ID: código Xnat del paciente
  • PET_EXPERIMENT_ID: código Xnat del estudio PET
  • MRI_EXPERIMENT_ID: código Xnat del estudio MRI
  • REGISTRATION_QA: 0 si no se hizo o si no se consideró bueno el registro; 1 si se consideró bueno el registro
  • STATISTICS_SURV: estadístico SURV calculado al comparar el PET con la referencia
  • STATISTICS_CL: estadístico CL calculado al comparar el PET con la referencia

Nota: Cuando un estudio PET no ha podido emparejarse con uno MRI, el usuario recibe un mensaje de error. Entonces, en el archivo CSV la columna de REGISTRATION_QA aparece vacía (y en MRI_EXPERIMENT_ID un valor que no corresponde a ningún experimento).

Detalle de la implementación

neuroimagen/xnat_pipelines_registro.1607687827.txt.gz · Last modified: 2020/12/11 11:57 by daniel