[030aeb]: / scripts / multi-scan-script

Download this file

107 lines (88 with data), 3.1 kB

#!/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