-
Notifications
You must be signed in to change notification settings - Fork 15
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Circular Dependency for DIPY ? #51
Comments
I think that it would be great if we could make TRX not depend on DIPY. I do think that one good step in that direction would be to integrate the StatefulTractogram object upstream into nibabel. Admittedly, this is not the only DIPY dependency here, but it would take care of a large part of the dependency. The rest could potentially then be migrated as DIPY functionality, or more clearly separated out here. |
As of now, the TRX core does not require Dipy, but the most useful scripts do require Dipy simply because when it comes to manipulating or visualizing real data Dipy or Fury is involved. The function to_sft() does require Dipy. Once the code is 'mature enough' in TRX I could make sure the StatefulTractogram works with TRX (although SFT does load everything in RAM). We talked about moving the StatefulTractogram to Nibabel, but from my point of view it is just a 'class' that wrapper around a few loader/writer to make it consistent to use with spatial information. I am not sure what is the best approach here, but I made a few scripts to make TRX easy to use/test and only these depend on Dipy, we avoided including Dipy in the core, but for a script as complex as 'validate' or 'convert' need the StatefulTractogram is required (because that's a meta-script, it does a lot of check and all). |
I don't think StatefulTractogram goes in Nibabel, its operation are really high-level (consistency between files, validity check mostly specific to Dipy, functions useful for other Dipy usage), while I feel like Nibabel is really about file format (header, data, basic checks). If only moving the 'core', TRX could move to Nibabel, but we would still need a repo full of scripts that mix Nibabel (to get to the TRX) and Dipy (to get to the StatefulTractogram) to make it nice and easy to use. |
I think that the day trx "core" migrates to nibabel is still a bit far off. For the time being, we could have two separate repos in the tee-ar-ex org that have "core" functionality and "nice-to-have" (i.e., depend on DIPY/FURY) separated between them. |
I like this last idea. Let me know if you need help to start this process |
Hey @skoudoro : how would you feel about moving functionality that depends on DIPY into DIPY itself? For example, a These are generally useful, and since they already require DIPY, anyone using them would need to have DIPY anyway, and they are not trx-specific, because they also work on other file formats. |
I'd be up for a sprint on this on Friday afternoon (2-4PM PT, which is 5-7 EST), if you folks are up for it. Alternatively, if that timing is rotten for you, put up a PR earlier in the day and I will review it in my afternoon. |
sound like a plan. I will do my my best to be online during this time slot. I might start on the EST morning |
OK. I sent you both a calendar invite with a zoom link. If anyone else wants to join for this session, just let me know and I will add you as well. |
I had to solve something this morning and I have the lab meeting in 45 minutes. So I will work on this in the afternoon after all. |
we were talking about Friday morning @frheault, I am not available today, quite busy |
Hi @frheault, I am available from now until 1pm, Please send me email with a zoom/google link, whenever you are ready. Thanks! |
Any progress in integrating trx into dipy? |
Hi @yurivict, on the last DIPY release, the base of TRX is integrated in DIPY. So currently, DIPY depends on TRX. Next steps for next release (probably in march): dipy/dipy#2760 |
Hi @frheault, Hi @arokem,
I would like to start integrating TRX in DIPY.
However:
What is the best approach to solve this coming issue ?
Thank you for your feedback !
The text was updated successfully, but these errors were encountered: