-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathautomatic_registration_US_to_MRI.sh
42 lines (31 loc) · 2.04 KB
/
automatic_registration_US_to_MRI.sh
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
#!/bin/sh
# Input arguments
case_num=${1-"1"}
image_folder=${2:-"bucket/RESECT/RESECT/NIFTI/Case${case_num}"}
us_image=${3:-"US/Case${case_num}-US-before.nii.gz"}
mri_image=${4:-"MRI/Case${case_num}-FLAIR.nii.gz"}
tag_file=${5:-"Landmarks/Case${case_num}-MRI-beforeUS.tag"}
# Create directory to store the outputs
mkdir -p $image_folder/output
# Resample images into a common reference frame and isotropic voxel size of 0.5x0.5x0.5 mm
c3d $image_folder/$us_image $image_folder/$mri_image -reslice-identity -resample-mm 0.5x0.5x0.5mm \
-o $image_folder/output/Case${case_num}-MRI_in_US.nii.gz
c3d $image_folder/$us_image -resample-mm 0.5x0.5x0.5mm -o $image_folder/output/Case${case_num}-US.nii.gz
# Apply linear rigid pre-registration
./linearBCV -F $image_folder/output/Case${case_num}-MRI_in_US.nii.gz -M $image_folder/output/Case${case_num}-US.nii.gz \
-R 1 -O $image_folder/output/affine${case_num}
# Generate 2 text files containing landmarks
python3 ./landmarks_split_txt.py --inputtag $image_folder/$tag_file --savetxt $image_folder/output/Case${case_num}_lm
# Generate landmark segmentations as a NIFTI file
c3d $image_folder/output/Case${case_num}-MRI_in_US.nii.gz -scale 0 \
-landmarks-to-spheres $image_folder/output/Case${case_num}_lm_mri.txt 1 \
-o $image_folder/output/Case${case_num}-MRI-landmarks.nii.gz
c3d $image_folder/output/Case${case_num}-US.nii.gz -scale 0 \
-landmarks-to-spheres $image_folder/output/Case${case_num}_lm_us.txt 1 \
-o $image_folder/output/Case${case_num}-US-landmarks.nii.gz
# Perform non linear registration
./deedsBCV -F $image_folder/output/Case${case_num}-MRI_in_US.nii.gz -M $image_folder/output/Case${case_num}-US.nii.gz \
-O $image_folder/output/Case${case_num}-deeds -S $image_folder/output/Case${case_num}-US-landmarks.nii.gz -A $image_folder/output/affine${case_num}_matrix.txt
# Calculate mTRE
python3 ./landmarks_centre_mass.py --inputnii $image_folder/output/Case${case_num}-MRI-landmarks.nii.gz \
--movingnii $image_folder/output/Case${case_num}-deeds_deformed_seg.nii.gz --savetxt $image_folder/output/Case${case_num}-results