Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Adding config file for training the 2D segmentation model #3

Open
wants to merge 4 commits into
base: main
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 3 additions & 3 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -14,13 +14,13 @@ git clone https://github.com/ivadomed/model_seg_csf_epi.git

## Get the data

- [email protected]:datasets/data_gre-epi
- [email protected]:datasets/mni-bmpd

### Example calls to get the data

~~~
git clone [email protected]:datasets/data_gre-epi
cd data_gre-epi
git clone [email protected]:datasets/mni-bmpd
cd mni-bmpd
git annex get .
cd ..
~~~
Expand Down
14 changes: 11 additions & 3 deletions config/seg_csf_2D.json → config/mni_bmpd_csf-2d.json
Original file line number Diff line number Diff line change
@@ -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": "<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"],
Expand Down Expand Up @@ -49,7 +57,7 @@
"name": "DiceLoss"
},
"training_time": {
"num_epochs": 1,
"num_epochs": 20,
"early_stopping_patience": 50,
"early_stopping_epsilon": 0.001
},
Expand Down
85 changes: 85 additions & 0 deletions preprocessing/preprocess.sh
Original file line number Diff line number Diff line change
@@ -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 <SUBJECT>
#
#
# 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