-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathconvert_bids.sh
More file actions
59 lines (51 loc) · 2.92 KB
/
convert_bids.sh
File metadata and controls
59 lines (51 loc) · 2.92 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
#!/bin/bash
#
# This script will convert your directory structure
# with already dicom mcverted images (gzipped niftis)
# to BIDS specification - TC
# Set folder names
inputdir="/Volumes/psych-cog/dsnlab/BIDS"
outputdir="/Volumes/psych-cog/dsnlab/BIDS"
studyid="bidstry"
subid="TAG666"
sessid="wave1"
declare -a rest_numruns=("01" "02") # run should have two digits
declare -a tasks=("SVC" "DSD")
declare -a numruns=("01" "02") # run should have two digits; TO DO figure out how to run this when tasks have diff # of runs
# create directory structure for one subject
mkdir -p "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"
cd "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"
mkdir anat
mkdir func
mkdir dwi
mkdir fmap
# move files and generate corresponding jsons
# structural (mprage)
cp "${inputdir}"/"${subid}"/mprage/*.nii.gz "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"/anat/sub-"${subid}"_ses-"${sessid}"_T1w.nii.gz
python /Volumes/psych-cog/dsnlab/BIDS/convert2bids/hdr2json.py -i "${inputdir}"/"${subid}"/mprage/*.txt -o "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"/anat/sub-"${subid}"_ses-"${sessid}"_T1w.json -t mprage
# resting state
for i in ${rest_numruns[@]}
do
echo $i
cp "${inputdir}"/"${subid}"/resting/run"$i"/*.nii.gz "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"/func/sub-"${subid}"_ses-"${sessid}"_task-rest_run-"$i"_bold.nii.gz
python /Volumes/psych-cog/dsnlab/BIDS/convert2bids/hdr2json.py -i "${inputdir}"/"${subid}"/resting/run"$i"/*.txt -o "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"/func/sub-"${subid}"_ses-"${sessid}"_task-rest_run-"$i"_bold.json -t rest
done
# tasks
for i in "${tasks[@]}"
do
echo $tasks
for j in "${numruns[@]}"
do echo $numruns
cp "${inputdir}"/"${subid}"/"$i"/run"$j"/*.nii.gz "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"/func/sub-"${subid}"_ses-"${sessid}"_task-"$i"_run-"$j"_bold.nii.gz
python /Volumes/psych-cog/dsnlab/BIDS/convert2bids/hdr2json.py -i "${inputdir}"/"${subid}"/"$i"/run"$j"/*.txt -o "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"/func/sub-"${subid}"_ses-"${sessid}"_task-"$i"_run-"$j"_bold.json -t task
done
done
## dwi
for i in "${numruns[@]}"
do
echo $i
cp "${inputdir}"/"${subid}"/DTI/run"$i"/*.nii.gz "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"/dwi/sub-"${subid}"_ses-"${sessid}"_run-"$i"_dwi.nii.gz
cp "${inputdir}"/"${subid}"/DTI/run"$i"/*bvals "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"/dwi/sub-"${subid}"_ses-"${sessid}"_run-"$i"_dwi.bval
cp "${inputdir}"/"${subid}"/DTI/run"$i"/*bvecs "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"/dwi/sub-"${subid}"_ses-"${sessid}"_run-"$i"_dwi.bvec
python /Volumes/psych-cog/dsnlab/BIDS/convert2bids/hdr2json.py -i "${inputdir}"/"${subid}"/DTI/run"$i"/*.txt -o "${outputdir}"/"${studyid}"/sub-"${subid}"/ses-"${sessid}"/func/sub-"${subid}"_ses-"${sessid}"_run-"$i"_dwi.json -t dwi
done