User Tools

Site Tools


neuroimagen:xnat_pipelines_registro

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:xnat_pipelines_registro [2020/12/11 13:54]
daniel
neuroimagen:xnat_pipelines_registro [2020/12/11 16:25]
daniel [RegisterPETwithMRImatch: llamadas a los pipelets]
Line 60: Line 60:
  
 {{ :neuroimagen:registerpetwithmri-resources_mri.png?nolink |}} {{ :neuroimagen:registerpetwithmri-resources_mri.png?nolink |}}
 +
 +
  
 ===== Generación del informe ===== ===== Generación del informe =====
Line 79: Line 81:
  
 **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). **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 ===== ===== Detalle de la implementación =====
Line 110: Line 114:
 El resultado del pipeline anterior es un archivo JSON (que también es cargado como recurso de la sesión PET en Xnat) con una la estructura similar a las respuestas de los servicios de Xnat, para poder hacer uso después de este mecanismo de consulta; p.ej. El resultado del pipeline anterior es un archivo JSON (que también es cargado como recurso de la sesión PET en Xnat) con una la estructura similar a las respuestas de los servicios de Xnat, para poder hacer uso después de este mecanismo de consulta; p.ej.
  
-<code json>+<code javascript>
 { "ResultSet": { { "ResultSet": {
     "Result":[     "Result":[
Line 138: Line 142:
  
 **Nota:** Los pipelines de Xnat pueden usar llamadas a funciones Java del /pipeline engine/ para evaluar variables y expresiones y asignar valores a parámetros. En particular, ''fileUtils:getColumn'' y ''fileUtils:GetColumnList'', permiten obtener valores de un campo o de una lista de valores de un /ResultSet/ como el de arriba: **Nota:** Los pipelines de Xnat pueden usar llamadas a funciones Java del /pipeline engine/ para evaluar variables y expresiones y asignar valores a parámetros. En particular, ''fileUtils:getColumn'' y ''fileUtils:GetColumnList'', permiten obtener valores de un campo o de una lista de valores de un /ResultSet/ como el de arriba:
-  ''fileUtils:GetColumn(HOST, USER, PASSWORD, PATH, COLUMN)'' +<code> 
-  ''fileUtils:GetColumnList(HOST, USER, PASSWORD, PATH, COLUMN)''+ fileUtils:GetColumn(HOST, USER, PASSWORD, PATH, COLUMN) 
 + fileUtils:GetColumnList(HOST, USER, PASSWORD, PATH, COLUMN) 
 +</code> 
 Más detalles en el código fuente de [[https://github.com/NrgXnat/pipeline-client/blob/master/src/main/java/org/nrg/pipeline/client/utils/FileUtils.java|FileUtils]]. Más detalles en el código fuente de [[https://github.com/NrgXnat/pipeline-client/blob/master/src/main/java/org/nrg/pipeline/client/utils/FileUtils.java|FileUtils]].
  
Line 152: Line 159:
 Primero, hace la consulta a Xnat sobre los experimentos de modalidad (xsiType) ''xnat:mrSessionData'' que se encuentran del mismo sujeto dentro del proyecto. Esto se guarda como un archivo CSV (''mriSessions.csv''). Primero, hace la consulta a Xnat sobre los experimentos de modalidad (xsiType) ''xnat:mrSessionData'' que se encuentran del mismo sujeto dentro del proyecto. Esto se guarda como un archivo CSV (''mriSessions.csv'').
  
-Después, ejecuta el script ''matchPETwithMRI.sh' (representado por el recurso del mismo nombre), llamándolo como+Después, ejecuta el script ''matchPETwithMRI.sh'' (representado por el recurso del mismo nombre), llamándolo como
  
-<code bash>matchPETwithMRI.sh --PETdate $DATE --MRIrecords mriSessions.csv --outputMatch mriSessionMatch.json</code>+<code Bash> 
 +matchPETwithMRI.sh --PETdate $DATE --MRIrecords mriSessions.csv --outputMatch mriSessionMatch.json 
 +</code>
  
 donde ''$DATE'' es sustituida por el valor de la fecha de la sesión de PET (dato que Xnat guarda como ''xnat:imageSessionData/date''). donde ''$DATE'' es sustituida por el valor de la fecha de la sesión de PET (dato que Xnat guarda como ''xnat:imageSessionData/date'').
  
 ++++El código de este script se puede ver a continuación. | ++++El código de este script se puede ver a continuación. |
-<file bash matchPETwithMRI.sh>+<file Bash matchPETwithMRI.sh>
 #!/bin/bash -l #!/bin/bash -l
  
Line 350: Line 359:
 El script se llamaría desde la línea de comandos de esta forma: El script se llamaría desde la línea de comandos de esta forma:
  
-<code bash>linkNIIwithTagValue.sh --tag SequenceName --value _tfl3d1_16ns --link sub-XNAT5_S00037_T1w</bash>+<code Bash> 
 +linkNIIwithTagValue.sh --tag SequenceName --value _tfl3d1_16ns --link sub-XNAT5_S00037_T1w 
 +</code>
  
 El argumento ''--link'' indica el nombre de los enlaces suaves que se crearán en el directorio de trabajo apuntando a los archivos correspondientes (uno con extensión ''nii.gz'' y otro con extensión ''.json''). El argumento ''--link'' indica el nombre de los enlaces suaves que se crearán en el directorio de trabajo apuntando a los archivos correspondientes (uno con extensión ''nii.gz'' y otro con extensión ''.json'').
Line 669: Line 680:
 La llamada al script desde la línea de comandos se haría como sigue: La llamada al script desde la línea de comandos se haría como sigue:
  
-<code bash>mkSlicesQAhtm.sh --sid XNAT5_S00037 --wdir ./reg/</bash>+<code bash> 
 +mkSlicesQAhtm.sh --sid XNAT5_S00037 --wdir ./reg/ 
 +</code>
  
 Como se ve, no necesita más información que el ''id'' del sujeto, porque el acceso al resto de la información se hará con rutas relativas a la carpeta de recursos ''MRI''. Como se ve, no necesita más información que el ''id'' del sujeto, porque el acceso al resto de la información se hará con rutas relativas a la carpeta de recursos ''MRI''.
neuroimagen/xnat_pipelines_registro.txt · Last modified: 2020/12/11 16:25 by daniel