diff --git a/README.md b/README.md index 5ecf0ad..c115dd2 100644 --- a/README.md +++ b/README.md @@ -14,13 +14,13 @@ git clone https://github.com/ivadomed/model_seg_csf_epi.git ## Get the data -- git@data.neuro.polymtl.ca:datasets/data_gre-epi +- git@data.neuro.polymtl.ca:datasets/mni-bmpd ### Example calls to get the data ~~~ -git clone git@data.neuro.polymtl.ca:datasets/data_gre-epi -cd data_gre-epi +git clone git@data.neuro.polymtl.ca:datasets/mni-bmpd +cd mni-bmpd git annex get . cd .. ~~~ diff --git a/config/seg_csf_2D.json b/config/mni_bmpd_csf-2d.json similarity index 93% rename from config/seg_csf_2D.json rename to config/mni_bmpd_csf-2d.json index a8ba048..a7593fe 100644 --- a/config/seg_csf_2D.json +++ b/config/mni_bmpd_csf-2d.json @@ -1,16 +1,24 @@ { "command": "train", "gpu_ids": [2], - "path_output": "/mnt/duke/temp/rohan/data_training_human_sc_csf_moco/initial_run", + "path_output": "/mnt/duke/temp/rohan/data_training_human_sc_csf/initial_run", "model_name": "test_model", "debugging": true, "object_detection_params": { "object_detection_path": null, "safety_factor": [1.0, 1.0, 1.0] }, + + "wandb": { + "wandb_api_key": "", + "project_name": "data_training_human_sc_csf", + "run_name": "run-2d" + + }, + "loader_parameters": { - "path_data": "/mnt/duke/temp/rohan/data_training_human_sc_csf_moco/BIDS_conv", + "path_data": "/mnt/duke/temp/rohan/data_training_human_sc_csf/processed_data", "subject_selection": {"n": [], "metadata": [], "value": []}, "target_suffix": ["_seg-manual"], "extensions": [".nii.gz"], @@ -49,7 +57,7 @@ "name": "DiceLoss" }, "training_time": { - "num_epochs": 1, + "num_epochs": 20, "early_stopping_patience": 50, "early_stopping_epsilon": 0.001 }, diff --git a/preprocessing/preprocess.sh b/preprocessing/preprocess.sh new file mode 100644 index 0000000..439113c --- /dev/null +++ b/preprocessing/preprocess.sh @@ -0,0 +1,85 @@ +#!/bin/bash +# +# Process data. +# For T1 : From raw images, proceeds to resampling and reorientation to RPI. +# +# Crop all images. +# Generates soft segmentations. +# Usage: +# ./process_data.sh +# +# +# Authors: Rohan Banerjee + +# The following global variables are retrieved from the caller sct_run_batch +# but could be overwritten by uncommenting the lines below: +# PATH_DATA_PROCESSED="~/data_processed" +# PATH_RESULTS="~/results" +# PATH_LOG="~/log" +# PATH_QC="~/qc" + +# Uncomment for full verbose +set -x + +# Exit if user presses CTRL+C (Linux) or CMD+C (OSX) +trap "echo Caught Keyboard Interrupt within script. Exiting now.; exit" INT + +# Print retrieved variables from sct_run_batch to the log (to allow easier debug) +echo “Retrieved variables from from the caller sct_run_batch:” +echo “PATH_DATA: ${PATH_DATA}” +echo “PATH_DATA_PROCESSED: ${PATH_DATA_PROCESSED}” +echo “PATH_RESULTS: ${PATH_RESULTS}” +echo “PATH_LOG: ${PATH_LOG}” +echo “PATH_QC: ${PATH_QC}” + +# Retrieve input params +SUBJECT=$1 + +# echo SUBJECT + +# Save script path +PATH_SCRIPT=$PWD + +get starting time: +start=`date +%s` + +# SCRIPT STARTS HERE +# ============================================================================== +# Display useful info for the log, such as SCT version, RAM and CPU cores available +sct_check_dependencies -short + +# Go to folder where data will be copied and processed +cd $PATH_DATA_PROCESSED + + +Copy list of participants in processed data folder +if [[ ! -f "participants.tsv" ]]; then + rsync -avzh $PATH_DATA/participants.tsv . +fi + +if [[ ! -f "participants.json" ]]; then + rsync -avzh $PATH_DATA/participants.json . +fi + +if [[ ! -f "README.md" ]]; then + rsync -avzh $PATH_DATA/README.md . +fi + +if [[ ! -f "dataset_description.tsv" ]]; then + rsync -avzh $PATH_DATA/dataset_description . +fi + +# Copy source images +rsync -avzh $PATH_DATA/$SUBJECT . + +#copy derivatives +rsync -avzh $PATH_DATA/derivatives . + +# Script starts here +cd ${SUBJECT}/func +file_bold=${SUBJECT}_task-rest_bold +file_bold_seg=${PATH_DATA}/derivatives/labels/${SUBJECT}/func/${SUBJECT}_task-rest_bold_seg-manual + +sct_register_multimodal -i ${file_bold}.nii.gz -d ${file_bold_seg}.nii.gz -o ${file_bold}_to_${file_bold}_reg.nii.gz -identity 0 +rm warp_${SUBJECT}_task-rest_bold_seg-manual2${SUBJECT}_task-rest_bold.nii.gz warp_${SUBJECT}_task-rest_bold2${SUBJECT}_task-rest_bold_seg-manual.nii.gz ${SUBJECT}_task-rest_bold.nii.gz +mv ${file_bold}_to_${file_bold}_reg.nii.gz ${file_bold}.nii.gz