Skip to content

Commit 2efaa34

Browse files
authored
Merge pull request #14 from BIDS-Apps/fs6bug
Fs6bug
2 parents 84607b1 + 9a4b425 commit 2efaa34

File tree

3 files changed

+51
-17
lines changed

3 files changed

+51
-17
lines changed

Dockerfile

Lines changed: 40 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,46 @@
1-
FROM fliem/tracula_base:fs6
1+
FROM bids/base_fsl
2+
3+
4+
#### FreeSurfer
5+
RUN apt-get -y update && \
6+
wget -qO- https://surfer.nmr.mgh.harvard.edu/pub/dist/freesurfer/6.0.0/freesurfer-Linux-centos6_x86_64-stable-pub-v6.0.0.tar.gz | tar zxv -C /opt \
7+
--exclude='freesurfer/subjects/fsaverage_sym' \
8+
--exclude='freesurfer/subjects/fsaverage3' \
9+
--exclude='freesurfer/subjects/fsaverage4' \
10+
--exclude='freesurfer/subjects/fsaverage5' \
11+
--exclude='freesurfer/subjects/fsaverage6' \
12+
--exclude='freesurfer/subjects/cvs_avg35' \
13+
--exclude='freesurfer/subjects/cvs_avg35_inMNI152' \
14+
--exclude='freesurfer/subjects/bert' \
15+
--exclude='freesurfer/subjects/V1_average' \
16+
--exclude='freesurfer/average/mult-comp-cor' \
17+
--exclude='freesurfer/lib/cuda' \
18+
--exclude='freesurfer/lib/qt'
19+
20+
# Set up the environment
21+
ENV OS=Linux
22+
ENV FS_OVERRIDE=0
23+
ENV FIX_VERTEX_AREA=
24+
ENV SUBJECTS_DIR=/opt/freesurfer/subjects
25+
ENV FSF_OUTPUT_FORMAT=nii.gz
26+
ENV MNI_DIR=/opt/freesurfer/mni
27+
ENV LOCAL_DIR=/opt/freesurfer/local
28+
ENV FREESURFER_HOME=/opt/freesurfer
29+
ENV FSFAST_HOME=/opt/freesurfer/fsfast
30+
ENV MINC_BIN_DIR=/opt/freesurfer/mni/bin
31+
ENV MINC_LIB_DIR=/opt/freesurfer/mni/lib
32+
ENV MNI_DATAPATH=/opt/freesurfer/mni/data
33+
ENV FMRI_ANALYSIS_DIR=/opt/freesurfer/fsfast
34+
ENV PERL5LIB=/opt/freesurfer/mni/lib/perl5/5.8.5
35+
ENV MNI_PERL5LIB=/opt/freesurfer/mni/lib/perl5/5.8.5
36+
ENV PATH=/opt/freesurfer/bin:/opt/freesurfer/fsfast/bin:/opt/freesurfer/tktools:/opt/freesurfer/mni/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:$PATH
37+
RUN echo "cHJpbnRmICJrcnp5c3p0b2YuZ29yZ29sZXdza2lAZ21haWwuY29tXG41MTcyXG4gKkN2dW12RVYzelRmZ1xuRlM1Si8yYzFhZ2c0RVxuIiA+IC9vcHQvZnJlZXN1cmZlci9saWNlbnNlLnR4dAo=" | base64 -d | sh
38+
239

340
RUN sudo apt-get update && apt-get install -y python3
441
RUN sudo apt-get update && apt-get install -y python3-pip
5-
RUN pip3 install pybids pandas ipython
42+
RUN pip3 install pandas
43+
RUN pip3 install pybids
644

745
RUN apt-get install -y tree htop
846
RUN apt-get install -y tcsh

circle.yml

Lines changed: 8 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,7 @@ general:
22
artifacts:
33
- "~/outputs1"
44
- "~/outputs2"
5+
56
machine:
67
services:
78
- docker #don't use 1.10 - caching is broken
@@ -23,33 +24,28 @@ dependencies:
2324
- docker build -t bids/${CIRCLE_PROJECT_REPONAME,,} . :
2425
timeout: 21600
2526
- mkdir -p ~/docker; docker save "bids/${CIRCLE_PROJECT_REPONAME,,}" > ~/docker/image.tar
26-
- mkdir -p ${HOME}/outputs
2727

2828
test:
2929
override:
3030
# print version
3131
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test1:/bids_dataset -v ${HOME}/data/ds114_test1_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} --version
3232
# participant level tests for single session dataset
33-
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test1:/bids_dataset -v ${HOME}/outputs1:/outputs -v ${HOME}/data/ds114_test1_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs participant --participant_label 01 --license_key="~/test.key" --freesurfer_dir /freesurfer --stages prep:
33+
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test1:/bids_dataset -v ${HOME}/outputs1:/outputs -v ${HOME}/data/ds114_test1_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs participant --participant_label 01 --license_key="~/test.key" --freesurfer_dir /freesurfer --stages prep && cat ${HOME}/outputs1/sub-01/scripts/trac-preproc.done :
3434
timeout: 21600
35-
# - docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test1:/bids_dataset -v ${HOME}/outputs1:/outputs -v ${HOME}/data/ds114_test1_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs participant --participant_label 02 --license_key="~/test.key" --freesurfer_dir /freesurfer --stages prep :
36-
# timeout: 21600
3735
# group level test for single session dataset: group1
38-
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test1:/bids_dataset -v ${HOME}/data/ds114_test1_tracula_precomp:/outputs -v ${HOME}/data/ds114_test1_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs group1 --license_key="~/test.key" --freesurfer_dir /freesurfer && mkdir -p ${HOME}/outputs1/ && sudo mv ${HOME}/data/ds114_test1_tracula_precomp/00_group* ${HOME}/outputs1/ :
36+
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test1:/bids_dataset -v ${HOME}/data/ds114_test1_tracula_precomp:/outputs -v ${HOME}/data/ds114_test1_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs group1 --license_key="~/test.key" --freesurfer_dir /freesurfer && mkdir -p ${HOME}/outputs1/ && sudo mv ${HOME}/data/ds114_test1_tracula_precomp/00_group* ${HOME}/outputs1/ && cat ${HOME}/outputs1/00_group1_motion_stats/group_motion.tsv :
3937
timeout: 21600
4038
# group level test for single session dataset: group2
41-
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test1:/bids_dataset -v ${HOME}/data/ds114_test1_tracula_precomp:/outputs -v ${HOME}/data/ds114_test1_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs group2 --license_key="~/test.key" --freesurfer_dir /freesurfer && mkdir -p ${HOME}/outputs1/ && sudo mv ${HOME}/data/ds114_test1_tracula_precomp/00_group* ${HOME}/outputs1/ :
39+
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test1:/bids_dataset -v ${HOME}/data/ds114_test1_tracula_precomp:/outputs -v ${HOME}/data/ds114_test1_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs group2 --license_key="~/test.key" --freesurfer_dir /freesurfer && mkdir -p ${HOME}/outputs1/ && sudo mv ${HOME}/data/ds114_test1_tracula_precomp/00_group* ${HOME}/outputs1/ && cat ${HOME}/outputs1/00_group2_tract_stats/fminor_stats.tsv :
4240
timeout: 21600
43-
# participant level tests for a longitudinal dataset
44-
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test2:/bids_dataset -v ${HOME}/outputs2:/outputs -v ${HOME}/data/ds114_test2_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs participant --participant_label 01 --license_key="~/test.key" --freesurfer_dir /freesurfer --stages prep :
41+
# participant level tests for a longitudinal dataset
42+
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test2:/bids_dataset -v ${HOME}/outputs2:/outputs -v ${HOME}/data/ds114_test2_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs participant --participant_label 01 --license_key="~/test.key" --freesurfer_dir /freesurfer --stages prep && cat ${HOME}/outputs2/sub-01_ses-test.long.sub-01/scripts/trac-preproc.done :
4543
timeout: 21600
46-
# - docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test2:/bids_dataset -v ${HOME}/outputs2:/outputs -v ${HOME}/data/ds114_test2_freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs participant --participant_label 02 --license_key="~/test.key" --freesurfer_dir /freesurfer --stages prep :
47-
# timeout: 21600
4844
# group level test for a longitudinal dataset: group1
49-
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test2:/bids_dataset -v ${HOME}/data/ds114_test2_tracula_precomp:/outputs -v ${HOME}/data/ds114_test2_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs group1 --license_key="~/test.key" --freesurfer_dir /freesurfer && mkdir -p ${HOME}/outputs2/ && sudo mv ${HOME}/data/ds114_test2_tracula_precomp/00_group* ${HOME}/outputs2/ :
45+
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test2:/bids_dataset -v ${HOME}/data/ds114_test2_tracula_precomp:/outputs -v ${HOME}/data/ds114_test2_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs group1 --license_key="~/test.key" --freesurfer_dir /freesurfer && mkdir -p ${HOME}/outputs2/ && sudo mv ${HOME}/data/ds114_test2_tracula_precomp/00_group* ${HOME}/outputs2/ && cat ${HOME}/outputs2/00_group1_motion_stats/group_motion.tsv :
5046
timeout: 21600
5147
# group level test for a longitudinal dataset: group2
52-
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test2:/bids_dataset -v ${HOME}/data/ds114_test2_tracula_precomp:/outputs -v ${HOME}/data/ds114_test2_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs group2 --license_key="~/test.key" --freesurfer_dir /freesurfer && mkdir -p ${HOME}/outputs2/ && sudo mv ${HOME}/data/ds114_test2_tracula_precomp/00_group* ${HOME}/outputs2/ :
48+
- docker run -ti --rm --read-only -v /tmp:/tmp -v /var/tmp:/var/tmp -v ${HOME}/data/ds114_test2:/bids_dataset -v ${HOME}/data/ds114_test2_tracula_precomp:/outputs -v ${HOME}/data/ds114_test2_freesurfer:/freesurfer bids/${CIRCLE_PROJECT_REPONAME,,} /bids_dataset /outputs group2 --license_key="~/test.key" --freesurfer_dir /freesurfer && mkdir -p ${HOME}/outputs2/ && sudo mv ${HOME}/data/ds114_test2_tracula_precomp/00_group* ${HOME}/outputs2/ && cat ${HOME}/outputs2/00_group2_tract_stats/fminor_stats.tsv:
5349
timeout: 21600
5450

5551
deployment:

tracula.py

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,13 +32,13 @@ def get_data(layout, subject_label, freesurfer_dir, session_label=""):
3232

3333
# long
3434
if session_label:
35-
# regex magic to avoid https://github.com/INCF/pybids/issues/25
36-
subject_session_info = {"subject": subject_label, "session": "^" + session_label + "$"}
35+
subject_session_info = {"subject": subject_label, "session": session_label}
3736
# cross
3837
else:
3938
subject_session_info = {"subject": subject_label}
4039

41-
dwi_files = [f.filename for f in layout.get(type="dwi", modality="dwi", ext="nii.gz", **subject_session_info)]
40+
dwi_files = [f.filename for f in layout.get(type="dwi", modality="dwi", extensions=["nii", "nii.gz"],
41+
**subject_session_info)]
4242
bvecs_files = layout.get_bvecs(**subject_session_info)
4343
if not bvecs_files:
4444
# if bvecs only in root dir

0 commit comments

Comments
 (0)