[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

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


API Changes

Some of the changes introduced in the 1.0 release will break backwards
compatibility with previous versions. This release is compatible with
Python 3.5+


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