#!/bin/bash PROY=$1 shift SUBJECT=$1 shift DIR=$1 shift echo PROY=$PROY echo SUBJECT=$SUBJECT echo DIR=$DIR #Todos los archivos en el directorio son de la misma fecha y paciente PTID=$(dckey -k "PatientID" "$(find "${DIR}/" -type f | head -n 1)" 2>&1 | sed 's/[ \t]$//g') #Es posible que justo el primer archivo de la serie no tenga PatientID: buscamos el primero que lo tenga for f in $(find "$DIR/" -type f); do if PTID=$(dckey -k "PatientID" "$f" 2>&1 | sed 's/[ \t]$//g') && ! [ -z "$PTID" ] ; then break fi done echo PTID=$PTID #Crear el proyecto y el sujecto if [[ -z $(xnatapic list_projects --project_id ${PROY}) ]]; then xnatapic create_project --project_id ${PROY}; fi if [[ -z $(xnatapic list_subjects --project_id ${PROY} --subject_id ${SUBJECT}) ]]; then xnatapic create_subject --project_id ${PROY} --subject_id ${SUBJECT}; fi #Subir los archivos xnatapic upload_dicom --project_id ${PROY} --subject_id ${SUBJECT} --experiment_id ${PTID} --mixed-series ${DIR} #Ejecutar pipeline de conversion DCMC=$(xnatapic list_pipelines --project_id ${PROY} | grep DicomToNifti_Y) if [[ $DCMC == DicomToNifti_Y ]]; then xnatapic run_pipeline --project_id ${PROY} --pipeline DicomToNifti_Y --experiment_id ${PTID}; fi