###############################
# step 1. padding images and label images (inferior and superior)

for i in {1..15}; do
	3dZeropad -I 15 -S 15 -A 15 -P 15 -L 15 -R 15 -prefix Template${i}_padded.nii.gz Template${i}.nii.gz
	3dZeropad -I 15 -S 15 -A 15 -P 15 -L 15 -R 15 -prefix Template${i}_padded_label.nii.gz Template${i}_label.nii.gz
done



# check before removing
for i in {1..15}; do
	\rm Template${i}.nii.gz Template${i}_label.nii.gz
done


##############################
# step2. check if any image has negative values

for i in {1..15}; do
	fslmaths Template${i}_padded.nii.gz -bin -mul Template${i}_padded.nii.gz haha.nii.gz
	mv haha.nii.gz Template${i}_padded.nii.gz
done


##############################
# step 3. normalize FOV by registering brain masks, not the brain image from MNI152

# compute affine matrix by brain masks
for i in {1..15}; do 
	flirt -in ../MNI152atlas/MNI152_T1_1mm_padded_brain.nii.gz -ref Template${i}_padded_label.nii.gz -omat MNI152_to_Template${i}_brain.mat &
done

# apply the affine transform to warp with-skull images
for i in {1..15}; do 
	flirt -in ../MNI152atlas/MNI152_T1_1mm_padded.nii.gz -ref Template${i}_padded.nii.gz -out MNI152_to_Template${i}_padded_bybrainonly.nii.gz -init MNI152_to_Template${i}_brain.mat -applyxfm &
done

# apply the affine transform to warp the MNI152 FOV
for i in {1..15}; do 
	flirt -in ../MNI152atlas/MNI152_T1_1mm_padded_FOV.nii.gz -ref Template${i}_padded.nii.gz -out Template${i}_padded_normalizedFOVmask.nii.gz -init MNI152_to_Template${i}_brain.mat -applyxfm -interp nearestneighbour & 
done


############################
# step 4: further verifications

# make sure the brain mask and FOV masks are all 0-1 (not 0-255) and all in uint8 data type
for i in {1..15}; do
	fslmaths Template${i}_padded_label.nii.gz -bin Template${i}_padded_label.nii.gz -odt char
	fslmaths Template${i}_padded_normalizedFOVmask.nii.gz -bin Template${i}_padded_normalizedFOVmask.nii.gz -odt char
done


# check if the masks files have the same dimensions as the image
for i in {1..15}; do
	echo $i
	fslinfo Template${i}_padded.nii.gz; echo ""
	fslinfo Template${i}_padded_label.nii.gz; echo ""
	fslinfo Template${i}_padded_normalizedFOVmask.nii.gz
	read a
done


# need to visualize all images, brain masks and FOV masks to check
for i in {1..15}; do
	fslview Template${i}_padded.nii.gz Template${i}_padded_label.nii.gz -t 0.5 Template${i}_padded_normalizedFOVmask.nii.gz -t 0.5 &
done

