Where communities thrive

  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
Repo info
  • 18:14
    codecov[bot] commented #2589
  • 17:33
    jacobdr commented #2589
  • 14:09
    codecov[bot] commented #2531
  • 14:08
    codecov[bot] commented #2531
  • 14:08
    pep8speaks commented #2531
  • 14:08
    tomdelahaije synchronize #2531
  • 13:31
    codecov[bot] commented #2531
  • 13:30
    codecov[bot] commented #2531
  • 13:30
    pep8speaks commented #2531
  • 13:30
    tomdelahaije synchronize #2531
  • 02:32
    jacobdr commented #2589
  • 02:28
    codecov[bot] commented #2589
  • 02:27
    codecov[bot] commented #2589
  • 02:27
    pep8speaks commented #2589
  • 02:27
    jacobdr synchronize #2589
  • 02:27
    codecov[bot] commented #2589
  • 02:27
    codecov[bot] commented #2589
  • 02:27
    pep8speaks commented #2589
  • 02:27
    jacobdr synchronize #2589
  • May 15 21:00
    codecov[bot] commented #2531
@BramshQamar Thank you so much for your help!
hi, I was interested in a feature of the bundle_profile function. As I understand it, to estimate the bundle profile, the tool creates a sort of skeletonization of the bundle (an average path of the streamlines). Is it possible to just use the command that returns this middle bundle path?
thank you
4 replies
Eleftherios Garyfallidis
Can you provide more details @gamorosino ? Also you should consider attending the DIPY workshop this year. It has a large section on bundle analytics, tractometry etc (among other topics).
HI everyone
needed some help
im trying to download dipy via conda on my windows machine
however, it keeps getting stuck on the "solving environment / " batch process
and that is after three iterations of trying to fetch data from conda-forge
what am i doing wrong?
3 replies
@pcamach2: hi
ran into another error
tried to follow the tutorials and import fetch_sherbrooke_3shell
however it throws this error

ImportError Traceback (most recent call last)
Input In [1], in <cell line: 1>()
----> 1 from dipy.data import fetch_sherbrooke_3shell
2 fetch_sherbrooke_3shell()

File ~\anaconda3\envs\test\lib\site-packages\dipy\data__init__.py:14, in <module>
12 import gzip
13 import numpy as np
---> 14 from dipy.core.gradients import GradientTable, gradient_table
15 from dipy.core.sphere import Sphere, HemiSphere
16 from dipy.data.fetcher import (get_fnames,
17 fetch_scil_b0,
18 read_scil_b0,
53 fetch_bundle_fa_hcp,
54 fetch_gold_standard_io)

File ~\anaconda3\envs\test\lib\site-packages\dipy\core\gradients.py:7, in <module>
4 import numpy as np
5 from scipy.linalg import inv, polar
----> 7 from dipy.io import gradients as io
8 from dipy.core.onetime import auto_attr
9 from dipy.core.geometry import vector_norm, vec2vec_rotmat

File ~\anaconda3\envs\test\lib\site-packages\dipy\io__init__.py:4, in <module>
1 # init for io routines
3 from .gradients import read_bvals_bvecs
----> 4 from .dpy import Dpy
5 from .bvectxt import (read_bvec_file, ornt_mapping, reorient_vectors,
6 reorient_on_axis, orientation_from_string,
7 orientation_to_string)
8 from .pickles import save_pickle, load_pickle

File ~\anaconda3\envs\test\lib\site-packages\dipy\io\dpy.py:12, in <module>
1 """ A class for handling large tractography datasets.
3 It is built using the h5py which in turn implement
8 .. [1] http://www.hdfgroup.org/HDF5/doc/H5.intro.html
9 """
11 import numpy as np
---> 12 import h5py
14 from nibabel.streamlines import ArraySequence as Streamlines
16 # Make sure not to carry across setup module from * import

File ~\anaconda3\envs\test\lib\site-packages\h5py__init__.py:33, in <module>
30 else:
31 raise
---> 33 from . import version
35 if version.hdf5_version_tuple != version.hdf5_built_version_tuple:
36 _warn(("h5py is running against HDF5 {0} when it was built against {1}, "
37 "this may cause problems").format(
38 '{0}.{1}.{2}'.format(version.hdf5_version_tuple),
39 '{0}.{1}.{2}'.format(
40 ))

File ~\anaconda3\envs\test\lib\site-packages\h5py\version.py:15, in <module>
10 """
11 Versioning module for h5py.
12 """
14 from collections import namedtuple
---> 15 from . import h5 as _h5
16 import sys
17 import numpy

File h5py\h5.pyx:1, in init h5py.h5()

ImportError: DLL load failed while importing defs: The specified procedure could not be found.

what have i done wrong?
1 reply
Paolo Avesani
A question related to the upcoming DIPY Workshop: will users with a Silicon Macbook not in the position of following the hands-on related to visualization? Looking forward to hear whether there is some workaround. I believe it might be of interest for other participants.
BTW a very interesting and comprehensive program.
Eleftherios Garyfallidis
Everyone with a silicon macbook should be able to install DIPY and FURY and follow all materials. @Paolopost are you familiar with Rosetta2? See here. https://towardsdatascience.com/how-to-easily-set-up-python-on-any-m1-mac-5ea885b73fab
Hi. One installation/bug problem I have been having in the previous month is with fury in conjunction with the dipy.org tutorials (e.g. https://dipy.org/documentation/1.5.0/examples_built/tracking_introduction_eudx/#example-tracking-introduction-eudx). Fury ("window", "scene" commands) always produces a black rectangle in the upper right corner of the screen (rather than a proper window) when producing visualizations. It sort of works in that it will save a good .png image file of the visualization, but I never see anything on the screen, and the black rectangle is persistent (I can't get rid of it without killing the python session). This happened on both a Ubuntu 20.04LTS and a Debian 11 system, and with both dipy 1.4.1+fury 0.7.1 and dipy 1.5.0+fury 0.8.0 python installation (python 3.8 for former and 3.9 for latter, I think). Thanks. Sorry I am not able to get on Zoom this morning for whatever reason.
Esteban Vaca C.
Hi, I am reaching out regarding the question of large data visualization. We talked in the first Q&A session; as I mentioned in the session, I would be interested in visualizing large images in an HPC cluster. Our cluster is managed with SLURM, and the complete description is available here. I would be happy to know the possibilities to visualize ODFs either as a port forwarding or even better as a web service.
Eleftherios Garyfallidis
Hi @estebvac and thank you for your question. First can you tell me if you are able to run other 3D software in your system? Can you try run glxgears for example?
1 reply
Also are you using a visualization node as described here https://apps.fz-juelich.de/jsc/hps/jureca/visualization.html ?
Finally, while trying to set this up I recommend installing DIPY on your desktop or laptop with anaconda so that at least you can follow the tutorials during the workshop this week.
Hello, I don't know why the latest Dipy version I could get from website was 1.4.1 but not 1.5.0. Does anyone have the same issue?
Serge Koudoro
Does it means you do not have access to https://dipy.org/documentation/1.5.0/documentation/ @Wang-Yu-Sheng ?
I suppose you need to clear the cache of your browser

Hi, I'm new to DIPY. Using Win11, Python 3.10.3 and trying this command

PS D:> pip install fury -U
Collecting fury
Using cached fury-0.8.0-py3-none-any.whl (349 kB)
Collecting pillow>=5.4.1
Using cached Pillow-9.0.1-cp310-cp310-win_amd64.whl (3.2 MB)
Requirement already satisfied: numpy>=1.7.1 in c:\users\rycki\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages (from fury) (1.22.3)
Requirement already satisfied: packaging in c:\users\rycki\appdata\local\packages\pythonsoftwarefoundation.python.3.10_qbz5n2kfra8p0\localcache\local-packages\python310\site-packages (from fury) (21.3)
Collecting scipy>=0.9
Using cached scipy-1.8.0-cp310-cp310-win_amd64.whl (37.0 MB)
Collecting fury
Using cached fury-0.7.1-py3-none-any.whl (315 kB)
Using cached fury-0.7.0-py3-none-any.whl (294 kB)
Using cached fury-0.6.1-py3-none-any.whl (282 kB)
Using cached fury-0.6.0-py3-none-any.whl (272 kB)
Using cached fury-0.5.1-py3-none-any.whl (245 kB)
Using cached fury-0.5.0-py3-none-any.whl (177 kB)
Using cached fury-0.4.0-py3-none-any.whl (150 kB)
Using cached fury-0.3.0-py3-none-any.whl (147 kB)
Using cached fury-0.2.0-py3-none-any.whl (140 kB)
Using cached fury-0.1.4-py3-none-any.whl (121 kB)
Using cached fury-0.1.3-py3-none-any.whl (121 kB)
Using cached fury-0.1.2-py3-none-any.whl (121 kB)
Using cached fury-0.1.1-py3-none-any.whl (121 kB)
Using cached fury-0.1.0-py3-none-any.whl (121 kB)
ERROR: Cannot install fury==0.1.0, fury==0.1.1, fury==0.1.2, fury==0.1.3, fury==0.1.4, fury==0.2.0, fury==0.3.0, fury==0.4.0, fury==0.5.0, fury==0.5.1, fury==0.6.0, fury==0.6.1, fury==0.7.0, fury==0.7.1 and fury==0.8.0 because these package versions have conflicting dependencies.

The conflict is caused by:
fury 0.8.0 depends on vtk>=9.1.0
fury 0.7.1 depends on vtk!=9.0.0 and >=8.1.2
fury 0.7.0 depends on vtk!=9.0.0 and >=8.1.2
fury 0.6.1 depends on vtk!=9.0.0 and >=8.1.2
fury 0.6.0 depends on vtk!=9.0.0 and >=8.1.2
fury 0.5.1 depends on vtk>=8.1.0
fury 0.5.0 depends on vtk>=8.1.0
fury 0.4.0 depends on vtk>=8.1.0
fury 0.3.0 depends on vtk>=8.1.0
fury 0.2.0 depends on vtk>=8.1.0
fury 0.1.4 depends on vtk>=8.1.0
fury 0.1.3 depends on vtk>=8.1.0
fury 0.1.2 depends on vtk>=8.1.0
fury 0.1.1 depends on vtk>=8.1.0
fury 0.1.0 depends on vtk>=8.1.0

To fix this you could try to:

  1. loosen the range of package versions you've specified
  2. remove package versions to allow pip attempt to solve the dependency conflict

ERROR: ResolutionImpossible: for help visit https://pip.pypa.io/en/latest/topics/dependency-resolution/#dealing-with-dependency-conflicts

What does this mean, please?

2 replies
Kevin Teh
Hi all. Curiously wondering if anybody knows or have coded a python implementation of fsls TOPUP or FUGUE? Thank you for any help.
romain viard
Hi Dipy teams, First of all, congratulation
romain viard
Hi Dipy team, First of all, congratulation for the workshop ...I did not have time to connect as much as I would...but such valuables ressources are so help ful. I have a question, do you know if tehre is a simple way to cut fibers between 2 ROIs...For example, I did a tractography between Substancia nigra and Putamen, fibers don't stop, and so I want to cut part of fibers that exceed ROI. An idea ? ( I hope that I made myself clear.)
hello there Dipy team, I was wondering if you could give me access to the latest youtube workshop videos? One of my colleagues at UBC just recently attended it and i am working with her on a project that is using your data.
@Garyfallidis Hello there Gary, if possible can you give me access to the youtube videos of the latest workshop?

@skoudoro Thanks for adding the RESTORE option for the DTI/DKI CLI. Two questions:

  1. Is --sigma expecting a singular value or a per volume estimate? In the RESTORE example, this line produces a per-volume estimate: sigma = ne.estimate_sigma(data)

  2. Assuming it's expecting a 1D array rather than a single value, is there a CLI exposed option for estimating sigma in an equivalent way?

Serge Koudoro
Hi @Adclan350, we will not reopen the access to the workshop videos. All videos and keynotes might be available on our youtube channel later during the year (worst case after summer)
Serge Koudoro
Hi @araikes,
  1. --sigma is expecting a singular floating value ( 1.5267 * std(background_noise) recommended). This value will be apply to all volumes. I can update this option to allow multiple values (1D array). Please create an issue and it will be done before the next release.
  2. No CLI for estimating sigma value for now. Not sure we will build one. I will see how can use the sigma to allow auto-estimation. Please, add it to the same issue
Will do. Thanks @skoudoro
Eleftherios Garyfallidis
@r_viard_twitter thank you for the congratulations. We do not provide a specific function to cut a streamline. However, a streamline is represented by a 2D array of x,y,z points. So you could simply delete the points in each streamline that exceed the ROI (using an L2 norm). You can obtain each streamline using the Streamline class that is an output of the StatefulTractogram. Happy to explain more. I suggest you put a script together to show us how you currently do the the filtering between the two ROIs and then we can show you how to cut the streamlines. Multiple people have requested a cutting feature so this is an opportunity to provide it to you and the rest of the community.

Hi, I faced some problems when I tried to use dipy recently. I don't know why I cannot run command such as "dipy_info -h". I deleted the old version and reinstalled it many times, but the errors still pop up.

It always shows:

(1) pkg_resources.VersionConflict: (dipy 1.5.0 (/home/adduser/anaconda3/lib/python3.9/site-packages), Requirement.parse('dipy==1.6.0.dev0'))
(2) pkg_resources.DistributionNotFound: The 'dipy==1.6.0.dev0' distribution was not found and is required by the application

Here are the detailed error messages:

/home/adduser/anaconda3/lib/python3.9/site-packages/pkg_resources/init.py:122: PkgResourcesDeprecationWarning: 4.0.0-unsupported is an invalid version and will not be supported in a future release warnings.warn(
Traceback (most recent call last):
File "/home/adduser/anaconda3/lib/python3.9/site-packages/pkg_resources/init.py", line 579, in _build_master
File "/home/adduser/anaconda3/lib/python3.9/site-packages/pkg_resources/init.py", line 897, in require
needed = self.resolve(parse_requirements(requirements))
File "/home/adduser/anaconda3/lib/python3.9/site-packages/pkg_resources/init.py", line 788, in resolve
raise VersionConflict(dist, req).with_context(dependent_req)
pkg_resources.VersionConflict: (dipy 1.5.0 (/home/adduser/anaconda3/lib/python3.9/site-packages), Requirement.parse('dipy==1.6.0.dev0'))

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
File "/home/adduser/.local/bin/dipy_info", line 4, in <module>
File "/home/adduser/anaconda3/lib/python3.9/site-packages/pkg_resources/init.py", line 3247, in <module>
def _initialize_master_working_set():
File "/home/adduser/anaconda3/lib/python3.9/site-packages/pkg_resources/init.py", line 3221, in _call_aside
f(args, *kwargs)
File "/home/adduser/anaconda3/lib/python3.9/site-packages/pkg_resources/init.py", line 3259, in _initialize_master_working_set
working_set = WorkingSet._build_master()
File "/home/adduser/anaconda3/lib/python3.9/site-packages/pkg_resources/init.py", line 581, in _build_master
return cls._build_from_requirements(requires)
File "/home/adduser/anaconda3/lib/python3.9/site-packages/pkg_resources/init.py", line 594, in _build_from_requirements
dists = ws.resolve(reqs, Environment())
File "/home/adduser/anaconda3/lib/python3.9/site-packages/pkg_resources/init.py", line 783, in resolve
raise DistributionNotFound(req, requirers)
pkg_resources.DistributionNotFound: The 'dipy==1.6.0.dev0' distribution was not found and is required by the application

What do these errors mean :(

romain viard
@Garyfallidis Thank for the reply, I will try and send it to you if I succeed .
Serge Koudoro

Hi @Wang-Yu-Sheng, this is clearly an environment issue. You have multiple DIPY installed in different environment and they are conflicting.

please, make sure to remove them all before reinstalling.

  • type which dipy_info to know where it come from and remove the whole folder
  • remove this DIPY 1.5.0 installation /home/adduser/anaconda3/lib/python3.9/site-packages which is conflicting with 1.6.0
  • dipy==1.6.0.dev0 means that you have a dipy from the github repo that you cloned and install. remove it also.

a lot of cleaning, and not sure we can help we that

@BramshQamar @ShreyasFadnavis Hello, I wanted to tell you that the guidelines on how to contribute to DIPY(https://github.com/dipy/dipy/blob/master/CONTRIBUTING.md) are not properly working. Have a nice day!
@RafaelNH Hi, I had messaged about a year and a half ago on the implementation of a single-shell free-water elimination method. Through a lot of digging, I found an implementation, using the Beltrami method, that was nearly working. But looking through the fwdti.py file now, I can't seem to find an option for single shell data. Was this ever integrated with Dipy? Sorry if I am missing something obvious. Thanks!
@skoudoro You are amazing. problems solved!! Thanks a lot!
Hi everyone, the ALBA Language Neurobiology Lab of the UCSF Memory and Aging Center has an open position for an imaging data assistant focused on multimodal neuroimaging analysis and diffusion pipeline maintenance and improvement using DIPY. https://albalab.ucsf.edu/open-positions
Hi all.... I'm trying to use Horizon on our HPC. I have a fresh conda environment with just DIPY 1.5.0 and FURY 0.8.0 (along with dependencies). If I try to open a Horizon window, the program prints the affine to the terminal and no window opens, dumping me back to the command prompt. Increasing the log level indicates a segmentation fault but I'm just trying to open an FA map (opens fine with ITKSnap). Any thoughts?
Hi experts, I recently tried to use the DIPY BUndle ANalytics (BUAN) framework (https://dipy.org/documentation/1.5.0/interfaces/buan_flow/), which functions for comparison between groups tracts. But I have some questions as below:
  1. How to create .pam5 files in folder "anatomical_measures"? I have generate other properties files (FA, MD, RD etc) and tracts between two ROIs in MrTrix3.
  2. I am also trying pyAFQ toolkit. Could either DIPY or pyAFQ generate the property plot (such as FA, MD) of tracts of two groups? Just like the plot in (https://yeatmanlab.github.io/pyAFQ/auto_examples/plot_tract_profile.html#sphx-glr-auto-examples-plot-tract-profile-py), but this page shows the plot of a single tract, not tract profile of a group.
Bramsh Q Chandio

Hi @Roger1219

1) it's okay if you don't have .pam5 files. You can give it any niffti files as you have now FA, MD, etc.

2) You could take an average of all subjects in each group by yourself to create group profiles.

1 reply
Question: Is dipy_correct_motion conceptualized as an alternative to e.g., FSL's eddy or a complement (dipy_correct_motion + eddy)?
Jacob Roberts
Is there a maintainer around who can authorize me to run CI via this PR -- https://github.com/dipy/dipy/pull/2589/files