--- a +++ b/scripts/multi-scan-script @@ -0,0 +1,106 @@ +#!/bin/bash + +# multi-scan-script +# +# @brief: Run qDESS, Cubequant, and Cones analysis on super folder (absolute path) specified as an argument +# +# @folder structure: +# |subject_scans +# |patient01 +# |qdess +# |cubequant +# |cones +# |patient02 +# |qdess +# |cubequant +# |cones +# |patient03 +# |qdess +# |cubequant +# |cones +# ... +# +# @usage (from terminal/command line): +# ./multi-scan-script PATH_TO_SUPER_FOLDER +# eg: "./multi-scan-script Users/john/Documents/subject_scans/" +# +# @initialization protocol: +# 1. run "chmod +x multi-scan-script" from the command line +# 2. Update `WEIGHTS_DIRECTORY` field below +# +# @notes: +# - If data already exists for subject, then script does not recalculate - delete `data` folder and rerun script to redo analysis +# +# @author: Arjun Desai, Stanford University +# (c) Stanford University, 2018 + +echo "This file is currently deprecated - if needed, please make an issue on the corresponding Github repository" +exit 125 + +WEIGHTS_DIRECTORY="/Users/arjundesai/Documents/stanford/research/msk_pipeline_raw/weights" +if [ -z "$WEIGHTS_DIRECTORY" ]; then + echo "Please define WEIGHTS_DIRECTORY in script. Use the absolute path" + exit 125 +fi + +if [ $# -eq 1 ] +then +SERIES="qdess" +else +SERIES=$2 +fi + +# find relevant dicom files + +FILES=$(find $1 -type d -name $SERIES) + +cd .. + +for i in $FILES; do + DIRNAME=$(dirname $i) + SAVE_DIRNAME="$DIRNAME/data" + CUBEQUANT_DIRNAME="$DIRNAME/cubequant" + CONES_DIRNAME="$DIRNAME/cones" + TARGET_SCAN="$SAVE_DIRNAME/qdess_data/echo1.nii.gz" + MASK="$SAVE_DIRNAME/fc/fc.nii.gz" + + CUBEQUANT_INTERREGISTERED_DATA="$SAVE_DIRNAME/cubequant_data/interregistered" + CUEQUANT_T1RHO="$SAVE_DIRNAME/cubequant_data/t1_rho.nii.gz" + + + CONES_INTERREGISTERED_DATA="$SAVE_DIRNAME/cones_data/interregistered" + CONES_T2STAR="$SAVE_DIRNAME/cones_data/t2_star.nii.gz" + + echo "" + echo "----------Analyzing $DIRNAME---------" + + # use qDESS to get femoral cartilage segmentation + 3D t2 maps + if [ ! -e $TARGET_SCAN ]; then + dosma --d $i --s $SAVE_DIRNAME qdess --fc segment --rms --weights_dir $WEIGHTS_DIRECTORY + dosma --l $SAVE_DIRNAME qdess --fc t2 + fi + + # interregister cubequant with qdess + if [ ! -e $CUBEQUANT_INTERREGISTERED_DATA ]; then + echo $CUBEQUANT_INTERREGISTERED_DATA + dosma --d $CUBEQUANT_DIRNAME --s $SAVE_DIRNAME cubequant interregister --ts $TARGET_SCAN --tm $MASK + fi + + # cubequant 3D t1rho map + if [ ! -e $CUEQUANT_T1RHO ]; then + dosma --l $SAVE_DIRNAME cubequant t1_rho + fi + + # interregister cones with qdess + if [ ! -e $CONES_INTERREGISTERED_DATA ]; then + dosma --d $CONES_DIRNAME --s $SAVE_DIRNAME cones interregister --ts $TARGET_SCAN --tm $MASK + fi + + # cones 3D t2_star map + if [ ! -e $CONES_T2STAR ]; then + dosma --l $SAVE_DIRNAME cones t2_star + fi + + # analyze femoral cartilage + python -m pipeline --l $SAVE_DIRNAME knee --fc --t2 --t2_star --t1_rho +done