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
<https://www.ncbi.nlm.nih.gov/pubmed/24600385>
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
Note:
-
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:
<http://dipy.org/release0.10.html>
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(a)python.org <neuroimaging(a)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
-
dipy.sims.voxel.SingleTensor has been replaced by
dipy.sims.voxel.single_tensor
-
dipy.sims.voxel.MultiTensor has been replaced by
dipy.sims.voxel.multi_tensor
-
dipy.sims.voxel.SticksAndBall has been replaced by
dipy.sims.voxel.sticks_and_ball
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:
-
dipy.tracking.utils.connectivity_matrix
-
dipy.tracking.utils.density_map
-
dipy.tracking.utils.stremline_mapping
-
dipy.tracking._util._mapping_to_voxel
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
dipy.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
-
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