Skip to content

Commit 2cb8872

Browse files
committed
doc: catching up to changes
2 parents 9d19061 + 1a93a17 commit 2cb8872

File tree

782 files changed

+3243
-1960
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

782 files changed

+3243
-1960
lines changed

.dockerignore

Lines changed: 33 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,7 +1,34 @@
1-
.git/
2-
*.pyc
3-
*.egg-info
1+
# python cache
2+
__pycache__/**/*
43
__pycache__
5-
docker/nipype_*
6-
docker/test-*
7-
.coverage
4+
*.pyc
5+
6+
# python distribution
7+
build/**/*
8+
build
9+
dist/**/*
10+
dist
11+
nipype.egg-info/**/*
12+
nipype.egg-info
13+
.eggs/**/*
14+
.eggs
15+
src/**/*
16+
src/
17+
18+
# git
19+
.gitignore
20+
.git/**/*
21+
.git
22+
23+
# other
24+
docs/**/*
25+
docs/
26+
.coverage
27+
.coveragerc
28+
codecov.yml
29+
rtd_requirements.txt
30+
circle.yml
31+
Vagrantfile
32+
.travis.yml
33+
.noserc
34+

.github/ISSUE_TEMPLATE.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -7,4 +7,4 @@
77
### How to replicate the behavior
88

99
### Platform details:
10-
please paste the output of: `python -c "import nipype; print(nipype.get_info())"`
10+
please paste the output of: `python -c "import nipype; print(nipype.get_info()); print(nipype.__version__)"`

.gitignore

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,6 +13,7 @@
1313
.project
1414
.settings
1515
.pydevproject
16+
.eggs
1617
.idea/
1718
/documentation.zip
1819
.DS_Store
@@ -24,4 +25,4 @@ htmlcov/
2425
__pycache__/
2526
*~
2627
.ipynb_checkpoints/
27-
.ruby-version
28+
.ruby-version

.travis.yml

Lines changed: 19 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,6 @@
11
cache:
2-
- apt
2+
apt: true
3+
34
language: python
45
python:
56
- 2.7
@@ -10,11 +11,7 @@ env:
1011
- INSTALL_DEB_DEPENDECIES=false NIPYPE_EXTRAS="doc,tests,fmri,profiler"
1112
- INSTALL_DEB_DEPENDECIES=true NIPYPE_EXTRAS="doc,tests,fmri,profiler,duecredit"
1213
before_install:
13-
- function bef_inst {
14-
wget http://repo.continuum.io/miniconda/Miniconda${TRAVIS_PYTHON_VERSION:0:1}-latest-Linux-x86_64.sh
15-
-O /home/travis/.cache/miniconda.sh &&
16-
bash /home/travis/.cache/miniconda.sh -b -p /home/travis/miniconda &&
17-
export PATH=/home/travis/miniconda/bin:$PATH &&
14+
- function apt_inst {
1815
if $INSTALL_DEB_DEPENDECIES; then sudo rm -rf /dev/shm; fi &&
1916
if $INSTALL_DEB_DEPENDECIES; then sudo ln -s /run/shm /dev/shm; fi &&
2017
bash <(wget -q -O- http://neuro.debian.net/_files/neurodebian-travis.sh) &&
@@ -26,18 +23,24 @@ before_install:
2623
source /etc/fsl/fsl.sh;
2724
source /etc/afni/afni.sh;
2825
export FSLOUTPUTTYPE=NIFTI_GZ; fi }
29-
- travis_retry bef_inst
30-
install:
31-
# Add install of vtk and mayavi to test mesh (disabled): conda install -y vtk mayavi &&
32-
- function inst {
26+
- function conda_inst {
27+
export CONDA_HOME=$HOME/conda &&
28+
wget https://repo.continuum.io/miniconda/Miniconda${TRAVIS_PYTHON_VERSION:0:1}-latest-Linux-x86_64.sh
29+
-O /home/travis/.cache/conda.sh &&
30+
bash /home/travis/.cache/conda.sh -b -p ${CONDA_HOME} &&
31+
export PATH=${CONDA_HOME}/bin:$PATH &&
32+
hash -r &&
33+
conda config --set always_yes yes --set changeps1 no &&
34+
conda update -q conda &&
35+
conda install python=${TRAVIS_PYTHON_VERSION} &&
3336
conda config --add channels conda-forge &&
34-
conda update --yes conda &&
35-
conda update --all -y python=$TRAVIS_PYTHON_VERSION &&
3637
conda install -y nipype icu &&
37-
rm -r /home/travis/miniconda/lib/python${TRAVIS_PYTHON_VERSION}/site-packages/nipype* &&
38-
pip install -r requirements.txt &&
39-
pip install -e .[$NIPYPE_EXTRAS]; }
40-
- travis_retry inst
38+
rm -r ${CONDA_HOME}/lib/python${TRAVIS_PYTHON_VERSION}/site-packages/nipype*; }
39+
# Add install of vtk and mayavi to test mesh (disabled): conda install -y vtk mayavi
40+
- travis_retry apt_inst
41+
- travis_retry conda_inst
42+
install:
43+
- travis_retry pip install -e .[$NIPYPE_EXTRAS]
4144
script:
4245
- py.test --doctest-modules nipype
4346
deploy:

CHANGES

Lines changed: 13 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,11 +1,24 @@
11
Upcoming Release
22
=====================
3+
4+
* ENH: Enable new BBRegister init options for FSv6+ (https://github.com/nipy/nipype/pull/1811)
5+
* REF: Splits nipype.interfaces.utility into base, csv, and wrappers (https://github.com/nipy/nipype/pull/1828)
6+
* FIX: Makespec now runs with nipype in current directory (https://github.com/nipy/nipype/pull/1813)
7+
* FIX: Flexible nifti opening with mmap if Numpy < 1.12.0 (https://github.com/nipy/nipype/pull/1796 + https://github.com/nipy/nipype/pull/1831)
8+
* ENH: DVARS includes intensity normalization feature - turned on by default (https://github.com/nipy/nipype/pull/1827)
9+
* FIX: DVARS is correctly using sum of squares instead of standard deviation (https://github.com/nipy/nipype/pull/1827)
10+
* ENH: Refactoring of nipype.interfaces.utility (https://github.com/nipy/nipype/pull/1828)
11+
* FIX: CircleCI were failing silently. Some fixes to tests (https://github.com/nipy/nipype/pull/1833)
12+
* FIX: Issues in Docker image permissions, and docker documentation (https://github.com/nipy/nipype/pull/1825)
13+
* ENH: Revised all Dockerfiles and automated deployment to Docker Hub
14+
from CircleCI (https://github.com/nipy/nipype/pull/1815)
315
* ENH: Update ReconAll interface for FreeSurfer v6.0.0 (https://github.com/nipy/nipype/pull/1790)
416
* FIX: Cast DVARS float outputs to avoid memmap error (https://github.com/nipy/nipype/pull/1777)
517
* FIX: FSL FNIRT intensity mapping files (https://github.com/nipy/nipype/pull/1799)
618
* ENH: Additional outputs generated by FSL EDDY (https://github.com/nipy/nipype/pull/1793)
719
* TST: Parallelize CircleCI build across 4 containers (https://github.com/nipy/nipype/pull/1769)
820

21+
922
0.13.0-rc1 (January 4, 2017)
1023
===============================
1124

Dockerfile

Lines changed: 190 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -26,49 +26,204 @@
2626
# OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
2727
# OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
2828

29-
FROM nipype/testnipypedata:latest
30-
MAINTAINER Stanford Center for Reproducible Neuroscience <crn.poldracklab@gmail.com>
3129

32-
# Preparations
33-
RUN ln -snf /bin/bash /bin/sh
30+
#
31+
# Based on https://github.com/poldracklab/fmriprep/blob/9c92a3de9112f8ef1655b876de060a2ad336ffb0/Dockerfile
32+
#
33+
FROM ubuntu:xenial-20161213
34+
MAINTAINER The nipype developers https://github.com/nipy/nipype
35+
36+
ARG DEBIAN_FRONTEND=noninteractive
37+
38+
# Pre-cache neurodebian key
39+
COPY docker/files/neurodebian.gpg /root/.neurodebian.gpg
40+
41+
# Prepare environment
42+
RUN apt-key add /root/.neurodebian.gpg && \
43+
apt-get update && \
44+
apt-get install -y --no-install-recommends curl bzip2 ca-certificates xvfb && \
45+
curl -sSL http://neuro.debian.net/lists/xenial.us-ca.full >> /etc/apt/sources.list.d/neurodebian.sources.list && \
46+
apt-key adv --refresh-keys --keyserver hkp://ha.pool.sks-keyservers.net 0xA5D32F012649A5A9 || true; \
47+
apt-get update
48+
49+
# Installing freesurfer
50+
RUN curl -sSL 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 \
51+
--exclude='freesurfer/trctrain' \
52+
--exclude='freesurfer/subjects/fsaverage_sym' \
53+
--exclude='freesurfer/subjects/fsaverage3' \
54+
--exclude='freesurfer/subjects/fsaverage4' \
55+
--exclude='freesurfer/subjects/fsaverage5' \
56+
--exclude='freesurfer/subjects/fsaverage6' \
57+
--exclude='freesurfer/subjects/cvs_avg35' \
58+
--exclude='freesurfer/subjects/cvs_avg35_inMNI152' \
59+
--exclude='freesurfer/subjects/bert' \
60+
--exclude='freesurfer/subjects/V1_average' \
61+
--exclude='freesurfer/average/mult-comp-cor' \
62+
--exclude='freesurfer/lib/cuda' \
63+
--exclude='freesurfer/lib/qt'
64+
65+
ENV FSL_DIR=/usr/share/fsl/5.0 \
66+
OS=Linux \
67+
FS_OVERRIDE=0 \
68+
FIX_VERTEX_AREA= \
69+
FSF_OUTPUT_FORMAT=nii.gz \
70+
FREESURFER_HOME=/opt/freesurfer
71+
ENV SUBJECTS_DIR=$FREESURFER_HOME/subjects \
72+
FUNCTIONALS_DIR=$FREESURFER_HOME/sessions \
73+
MNI_DIR=$FREESURFER_HOME/mni \
74+
LOCAL_DIR=$FREESURFER_HOME/local \
75+
FSFAST_HOME=$FREESURFER_HOME/fsfast \
76+
MINC_BIN_DIR=$FREESURFER_HOME/mni/bin \
77+
MINC_LIB_DIR=$FREESURFER_HOME/mni/lib \
78+
MNI_DATAPATH=$FREESURFER_HOME/mni/data \
79+
FMRI_ANALYSIS_DIR=$FREESURFER_HOME/fsfast
80+
ENV PERL5LIB=$MINC_LIB_DIR/perl5/5.8.5 \
81+
MNI_PERL5LIB=$MINC_LIB_DIR/perl5/5.8.5 \
82+
PATH=$FREESURFER_HOME/bin:$FSFAST_HOME/bin:$FREESURFER_HOME/tktools:$MINC_BIN_DIR:$PATH
83+
RUN echo "cHJpbnRmICJrcnp5c3p0b2YuZ29yZ29sZXdza2lAZ21haWwuY29tXG41MTcyXG4gKkN2dW12RVYzelRmZ1xuRlM1Si8yYzFhZ2c0RVxuIiA+IC9vcHQvZnJlZXN1cmZlci9saWNlbnNlLnR4dAo=" | base64 -d | sh
84+
85+
# Installing Neurodebian packages (FSL, AFNI, git)
86+
RUN apt-get install -y --no-install-recommends \
87+
fsl-core=5.0.9-1~nd+1+nd16.04+1 \
88+
fsl-mni152-templates=5.0.7-2 \
89+
afni=16.2.07~dfsg.1-2~nd16.04+1
90+
91+
ENV FSLDIR=/usr/share/fsl/5.0 \
92+
FSLOUTPUTTYPE=NIFTI_GZ \
93+
FSLMULTIFILEQUIT=TRUE \
94+
POSSUMDIR=/usr/share/fsl/5.0 \
95+
LD_LIBRARY_PATH=/usr/lib/fsl/5.0:$LD_LIBRARY_PATH \
96+
FSLTCLSH=/usr/bin/tclsh \
97+
FSLWISH=/usr/bin/wish \
98+
AFNI_MODELPATH=/usr/lib/afni/models \
99+
AFNI_IMSAVE_WARNINGS=NO \
100+
AFNI_TTATLAS_DATASET=/usr/share/afni/atlases \
101+
AFNI_PLUGINPATH=/usr/lib/afni/plugins \
102+
PATH=/usr/lib/fsl/5.0:/usr/lib/afni/bin:$PATH
103+
104+
# Installing and setting up ANTs
105+
RUN mkdir -p /opt/ants && \
106+
curl -sSL "https://github.com/stnava/ANTs/releases/download/v2.1.0/Linux_Ubuntu14.04.tar.bz2" \
107+
| tar -xjC /opt/ants --strip-components 1
108+
109+
ENV ANTSPATH=/opt/ants \
110+
PATH=$ANTSPATH:$PATH
111+
112+
# Installing and setting up c3d
113+
RUN mkdir -p /opt/c3d && \
114+
curl -sSL "http://downloads.sourceforge.net/project/c3d/c3d/1.0.0/c3d-1.0.0-Linux-x86_64.tar.gz" \
115+
| tar -xzC /opt/c3d --strip-components 1
116+
117+
ENV C3DPATH=/opt/c3d/ \
118+
PATH=$C3DPATH/bin:$PATH
119+
120+
# Install some other required tools
121+
RUN apt-get install -y --no-install-recommends \
122+
git=1:2.7.4-0ubuntu1 \
123+
graphviz=2.38.0-12ubuntu2 \
124+
unzip \
125+
apt-utils \
126+
fusefat \
127+
make \
128+
ruby=1:2.3.0+1 && \
129+
apt-get clean && \
130+
rm -rf /var/lib/apt/lists/* /tmp/* /var/tmp/*
131+
132+
# Install fake-S3
133+
ENV GEM_HOME /usr/lib/ruby/gems/2.3
134+
ENV BUNDLE_PATH="$GEM_HOME" \
135+
BUNDLE_BIN="$GEM_HOME/bin" \
136+
BUNDLE_SILENCE_ROOT_WARNING=1 \
137+
BUNDLE_APP_CONFIG="$GEM_HOME"
138+
ENV PATH $BUNDLE_BIN:$PATH
139+
RUN mkdir -p "$GEM_HOME" "$BUNDLE_BIN" && \
140+
chmod 777 "$GEM_HOME" "$BUNDLE_BIN"
141+
142+
RUN gem install fakes3
143+
144+
# Install Matlab MCR: from the good old install_spm_mcr.sh of @chrisfilo
145+
WORKDIR /opt
146+
RUN echo "destinationFolder=/opt/mcr" > mcr_options.txt && \
147+
echo "agreeToLicense=yes" >> mcr_options.txt && \
148+
echo "outputFile=/tmp/matlabinstall_log" >> mcr_options.txt && \
149+
echo "mode=silent" >> mcr_options.txt && \
150+
mkdir -p matlab_installer && \
151+
curl -sSL http://www.mathworks.com/supportfiles/downloads/R2015a/deployment_files/R2015a/installers/glnxa64/MCR_R2015a_glnxa64_installer.zip \
152+
-o matlab_installer/installer.zip && \
153+
unzip matlab_installer/installer.zip -d matlab_installer/ && \
154+
matlab_installer/install -inputFile mcr_options.txt && \
155+
rm -rf matlab_installer mcr_options.txt
156+
157+
# Install SPM
158+
RUN curl -sSL http://www.fil.ion.ucl.ac.uk/spm/download/restricted/utopia/dev/spm12_r6472_Linux_R2015a.zip -o spm12.zip && \
159+
unzip spm12.zip && \
160+
rm -rf spm12.zip
161+
162+
ENV MATLABCMD="/opt/mcr/v85/toolbox/matlab" \
163+
SPMMCRCMD="/opt/spm12/run_spm12.sh /opt/mcr/v85/ script" \
164+
FORCE_SPMMCR=1
34165

35-
# Install this branch's code
36-
WORKDIR /root/src
37166

38-
# Install matplotlib, sphinx and coverage to build documentation
39-
# and run tests with coverage
40-
RUN source activate nipypetests-2.7 && \
41-
pip install matplotlib sphinx coverage && \
42-
source activate nipypetests-3.4 && \
43-
pip install matplotlib sphinx coverage && \
44-
source activate nipypetests-3.5 && \
45-
pip install matplotlib sphinx coverage
167+
# Installing and setting up miniconda
168+
RUN curl -sSLO https://repo.continuum.io/miniconda/Miniconda3-4.2.12-Linux-x86_64.sh && \
169+
bash Miniconda3-4.2.12-Linux-x86_64.sh -b -p /usr/local/miniconda && \
170+
rm Miniconda3-4.2.12-Linux-x86_64.sh
46171

47-
ADD . nipype/
172+
ENV PATH=/usr/local/miniconda/bin:$PATH \
173+
LANG=C.UTF-8 \
174+
LC_ALL=C.UTF-8 \
175+
ACCEPT_INTEL_PYTHON_EULA=yes
48176

49-
# Install the checked out version of nipype, check that requirements are
50-
# installed and install it for each of the three environments.
51-
RUN cd nipype/ && \
52-
source activate nipypetests-2.7 && \
53-
pip install -r requirements.txt && \
54-
pip install -e .
177+
# Installing precomputed python packages
178+
RUN conda config --add channels conda-forge --add channels intel && \
179+
chmod +x /usr/local/miniconda/bin/* && \
180+
conda config --set always_yes yes --set changeps1 no && \
181+
conda update -q conda && \
182+
chmod +x /usr/local/miniconda/bin/*; sync && \
183+
conda install -y mkl=2017.0.1 \
184+
numpy=1.11.2 \
185+
scipy=0.18.1 \
186+
scikit-learn=0.17.1 \
187+
matplotlib=1.5.3 \
188+
pandas=0.19.0 \
189+
libxml2=2.9.4 \
190+
libxslt=1.1.29 \
191+
traits=4.6.0 \
192+
psutil=5.0.1 \
193+
icu=58.1 && \
194+
find /usr/local/miniconda/ -exec chmod 775 {} +
55195

56-
RUN cd nipype/ && \
57-
source activate nipypetests-3.4 && \
58-
pip install -r requirements.txt && \
59-
pip install -e .
196+
# matplotlib cleanups: set default backend, precaching fonts
197+
RUN sed -i 's/\(backend *: \).*$/\1Agg/g' /usr/local/miniconda/lib/python3.5/site-packages/matplotlib/mpl-data/matplotlibrc && \
198+
python -c "from matplotlib import font_manager"
60199

61-
RUN cd nipype/ && \
62-
source activate nipypetests-3.5 && \
63-
pip install -r requirements.txt && \
64-
pip install -e .
200+
# Unless otherwise specified each process should only use one thread - nipype
201+
# will handle parallelization
202+
ENV MKL_NUM_THREADS=1 \
203+
OMP_NUM_THREADS=1
65204

66-
WORKDIR /scratch
205+
# Installing dev requirements (packages that are not in pypi)
206+
WORKDIR /root/
207+
COPY requirements.txt requirements.txt
208+
RUN pip install -r requirements.txt && \
209+
rm -rf ~/.cache/pip
67210

68-
# Install entrypoints
69-
ADD docker/circleci/run_* /usr/bin/
70-
RUN chmod +x /usr/bin/run_*
211+
# Installing nipype
212+
COPY . /root/src/nipype
213+
RUN cd /root/src/nipype && \
214+
pip install -e .[all] && \
215+
rm -rf ~/.cache/pip
71216

72-
# RUN echo 'source /etc/profile.d/nipype_tests.sh' >> /etc/bash.bashrc
73-
ENTRYPOINT ["/usr/bin/run_examples.sh"]
217+
WORKDIR /root/
74218

219+
ARG BUILD_DATE
220+
ARG VCS_REF
221+
ARG VERSION
222+
LABEL org.label-schema.build-date=$BUILD_DATE \
223+
org.label-schema.name="NIPYPE" \
224+
org.label-schema.description="NIPYPE - Neuroimaging in Python: Pipelines and Interfaces" \
225+
org.label-schema.url="http://nipype.readthedocs.io" \
226+
org.label-schema.vcs-ref=$VCS_REF \
227+
org.label-schema.vcs-url="https://github.com/nipy/nipype" \
228+
org.label-schema.version=$VERSION \
229+
org.label-schema.schema-version="1.0"

0 commit comments

Comments
 (0)