ANN: DIPY 1.0.0 - a historic release
We are excited to announce a new major and historic release of Diffusion
Imaging in Python (DIPY). DIPY 1.0.0 is out!
Please cite using the following DOI: 10.3389/fninf.2014.00008
DIPY 1.0.0 (Monday, 5 August 2019)
This release received contributions from 17 developers (the full release
notes are at:
https://dipy.org/documentation/1.0.0./release_notes/release1.0/). Thank you
all for your contributions and feedback!
A new DIPY era is starting: this release is compatible with python 3.5+ and
breaks backward compatibility with 0.x.x. Please click here
<https://dipy.org/documentation/1.0.0./api_changes/> to check API changes
or look at the end of this email. The 0.16.x series will have extended
bug-fix-only support for Python 2.7 until June 2020.
Highlights of this release include:
Critical API changes <https://dipy.org/documentation/1.0.0./api_changes/>
New awesome website <http://dipy.org>
Large refactoring of tracking API
New denoising algorithm: MP-PCA
New Gibbs ringing removal
New interpolation module: dipy.core.interpolation
New reconstruction models: Mean Signal DKI, MTMS-CSD
Increased coordinate systems consistency
New object to manage safely tractography data: StatefulTractogram
New command line interface for downloading datasets: FetchFlow
Horizon updated, medical visualization interface powered by QuickBundlesX
Removed all deprecated functions and parameters
Removed compatibility with Python 2.7
Updated minimum dependencies version (Numpy, Scipy)
All tutorials updated to API changes and 3 new added
Large documentation update
Closed 289 issues and merged 98 pull requests
DIPY 0.16.x will be the last series to support python 2. The next
release, DIPY 1.0, will support python 3 only.
To upgrade or install <http://dipy.org/release0.10.html> DIPY
Run the following command in your terminal:
pip install --upgrade dipy
conda install -c conda-forge dipy
This version of DIPY depends on nibabel (2.4.0+).
For visualization you need FURY (0.3.0+).
Questions or suggestions?
For any questions go to http://dipy.org, or send an e-mail to
dipy at python.org <neuroimaging at python.org>
We also have an instant messaging service and chat room available at
On behalf of the DIPY developers,
Eleftherios Garyfallidis, Ariel Rokem, Serge Koudoro
Some of the changes introduced in the 1.0 release will break backwards
compatibility with previous versions. This release is compatible with
The spherical harmonics bases mrtrix and fibernav have been renamed to
tournier07 and descoteaux07 after the deprecation cycle started in the 0.15
We changed dipy.data.default_sphere from symmetric724 to repulsion724 which
is more evenly distributed.
The API of dipy.segment.mask.median_otsu has changed in the following ways:
if you are providing a 4D volume, vol_idx is now a required argument. The
order of parameters has also changed.
Tractogram loading and saving
The API of dipy.io.streamlines.load_tractogram and
dipy.io.streamlines.save_tractogram has changed in the following ways: When
loading trk, tck, vtk, fib, or dpy) a reference nifti file is needed to
guarantee proper spatial transformation handling.
Spatial transformation handling
Functions from dipy.tracking.streamlines were modified to enforce the
affine parameter and uniform docstrings. deform_streamlines select_by_rois,
orient_by_rois, _extract_vals and values_from_volume.
Functions from dipy.tracking.utils were modified to enforce the affine
parameter and uniform docstring. density_map connectivity_matrix,
seeds_from_mask, random_seeds_from_mask, target, target_line_based, near_roi,
length and path_length were all modified.
The function affine_for_trackvis, move_streamlines, flexi_tvis_affine and
get_flexi_tvis_affine were deleted.
Functions from dipy.tracking.life were modified to enforce the affine
parameter and uniform docstring. voxel2streamline, setup and fit from class
FiberModel were all modified.
afq_profile from dipy.stats.analysis was modified in a similar way.
dipy.sims.voxel.SingleTensor has been replaced by
dipy.sims.voxel.MultiTensor has been replaced by
dipy.sims.voxel.SticksAndBall has been replaced by
All interpolation functions have been moved to a new module name
The voxel_size parameter has been removed from the following function:
The dipy.reconst.peak_direction_getter.PeaksAndMetricsDirectionGetter has
been renamed dipy.reconst.peak_direction_getter.EuDXDirectionGetter.
The LocalTracking and ParticleFilteringTracking functions were moved from
dipy.tracking.local.localtrackingto dipy.tracking.local_tracking. They now
need to be imported from dipy.tracking.local_tracking.
functions argument tissue_classifier were renamed stopping_criterion
The TissueClassifier were renamed StoppingCriterion and moved from
dipy.tracking.local.tissue_classifier to dipy.tracking.stopping_criterion.
They now need to be imported from dipy.tracking.stopping_criterion.
TissueClassifier -> StoppingCriterion
BinaryTissueClassifier -> BinaryStoppingCriterion
ThresholdTissueClassifier -> ThresholdStoppingCriterion
ConstrainedTissueClassifier -> AnatomicalStoppingCriterion
ActTissueClassifier -> ActStoppingCriterion
CmcTissueClassifier -> CmcStoppingCriterion
The dipy.tracking.local.tissue_classifier.TissueClass was renamed
The EuDX tracking function has been removed. EuDX tractography can be
performed using dipy.tracking.local_tracking using
dipy.io.trackvis has been removed. Use dipy.io.streamline instead.
dipy.external package has been removed.
dipy.fixes package has been removed.
dipy.segment.quickbundes module has been removed.
dipy.reconst.peaks module has been removed.
Compatibility with Python 2.7 has been removed