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 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:

Note:



To upgrade or install DIPY


Run the following command in your terminal: 


pip install --upgrade dipy


or


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@python.org  

We also have an instant messaging service and chat room available at https://gitter.im/nipy/dipy


On behalf of the DIPY developers,

Eleftherios Garyfallidis, Ariel Rokem, Serge Koudoro

https://dipy.org/contributors


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+

Reconstruction

The spherical harmonics bases mrtrix and fibernav have been renamed to tournier07 and descoteaux07 after the deprecation cycle started in the 0.15 release.

We changed dipy.data.default_sphere from symmetric724 to repulsion724 which is more evenly distributed.

Segmentation

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.

Simulations

Interpolation

All interpolation functions have been moved to a new module name dipy.core.interpolation

Tracking

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.

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.

The dipy.tracking.local.tissue_classifier.TissueClass was renameddipy.tracking.stopping_criterion.StreamlineStatus.

The EuDX tracking function has been removed. EuDX tractography can be performed using dipy.tracking.local_tracking using dipy.reconst.peak_direction_getter.EuDXDirectionGetter.

Streamlines

dipy.io.trackvis has been removed. Use dipy.io.streamline instead.

Other