Skip to content
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

Integrate some remote modules into ITK proper #3371

Open
dzenanz opened this issue Apr 12, 2022 · 13 comments
Open

Integrate some remote modules into ITK proper #3371

dzenanz opened this issue Apr 12, 2022 · 13 comments
Assignees
Labels
type:Enhancement Improvement of existing methods or implementation

Comments

@dzenanz
Copy link
Member

dzenanz commented Apr 12, 2022

Some remote modules have been in use for a long time, and should be integrated into the main repository (i.e. https://github.com/InsightSoftwareConsortium/ITK/). Some examples are InsightSoftwareConsortium/ITKSplitComponents#50 and InsightSoftwareConsortium/ITKFastBilateral#2.

I think there are more, and we should review the complete list. Better candidates are the remote modules with just one or two filters.

Then there are some rarely used/unused ones, such as https://github.com/KitwareMedical/MultipleImageIterator. I think we should deprecate that one, and schedule it for removal in ITK6. Are there any more?

@dzenanz dzenanz added the type:Enhancement Improvement of existing methods or implementation label Apr 12, 2022
@dzenanz dzenanz self-assigned this Apr 12, 2022
@dzenanz
Copy link
Member Author

dzenanz commented Apr 12, 2022

It would be appreciated if there are any volunteers for helping with this.

@hjmjohnson
Copy link
Member

I would also vote for putting effort into the following to get them upto quality levels where they can be included in the toolkit:

AdaptiveDenoising
AnisotropicDiffusionLBR
GenericLabelInterpolator

MGHIO <--- On the fence about this one.

@dzenanz
Copy link
Member Author

dzenanz commented Apr 12, 2022

I thought that maintenance of MGHIO was shared with Slicer, and therefore isn't a good candidate for integration?

@hjmjohnson
Copy link
Member

Slicer now uses MGHIO directly as an ITK remote module. Maintenance is done as an ITK remote module. I would think that adding it directly to the main repo would simplify the efforts of maintaining the codebase.

@dzenanz
Copy link
Member Author

dzenanz commented Apr 12, 2022

OK. It also doesn't have a lot of files, so it should be simple from that point of view.

I guess we could/should use a merge style which preserves file history for all the remotes we decide to merge.

@dyollb
Copy link
Contributor

dyollb commented Jun 4, 2022

I would offer to help merge ITKLabelErodeDilate into ITK proper (if you agree it is a good candidate). Some instructions would be appreciated.

@dzenanz
Copy link
Member Author

dzenanz commented Jun 6, 2022

@dyollb maybe wait until we integrate one or two remotes in order to see how to do it.

@dzenanz
Copy link
Member Author

dzenanz commented Jun 19, 2024

Now is a good time to make these larger modifications.

@dzenanz
Copy link
Member Author

dzenanz commented Jun 19, 2024

Integrating remote modules which we intend to keep alive will simplify maintenance. There will be just one place to make sweeping changes, and it will be easier to check the scope of change/refactoring under consideration.

@dzenanz
Copy link
Member Author

dzenanz commented Jan 16, 2025

https://github.com/InsightSoftwareConsortium/ITKTBBImageToImageFilter should also be deprecated. It was superseded by Dynamic multi threading with TBB multi-threader back-end introduced in ITK 5.

@dzenanz
Copy link
Member Author

dzenanz commented Jan 16, 2025

Once we finish integration, we should put a note of some sort into the deprecated remote module repositories, so other people coming to them know what happened and don't spend time trying to use them.

@dyollb
Copy link
Contributor

dyollb commented Jan 17, 2025

The GenericLabelInterpolator should be integrated. It's used in SimpleITK

@dzenanz dzenanz modified the milestones: ITK 6.0.0, ITK 6.0 Beta 1 Jan 23, 2025
@dzenanz
Copy link
Member Author

dzenanz commented Feb 4, 2025

Not all remote modules are mature to integrate into the ITK proper. But maybe we could merge some of them? E.g. merge all remote modules which are compute-only (do not depend on any external libraries) into a single one. How should we call it? External? Simple? Integrated? Merged? But not Review, as it would cause confusion with the built-in ITKReview.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
type:Enhancement Improvement of existing methods or implementation
Projects
None yet
Development

No branches or pull requests

3 participants