InsightSoftwareConsortium / ITK

Insight Toolkit (ITK) -- Official Repository. ITK builds on a proven, spatially-oriented architecture for processing, segmentation, and registration of scientific images in two, three, or more dimensions.
https://itk.org
Apache License 2.0
1.37k stars 660 forks source link

Integrate some remote modules into ITK proper #3371

Open dzenanz opened 2 years ago

dzenanz commented 2 years ago

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 https://github.com/InsightSoftwareConsortium/ITKSplitComponents/issues/50 and https://github.com/InsightSoftwareConsortium/ITKFastBilateral/issues/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 commented 2 years ago

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

hjmjohnson commented 2 years ago

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 commented 2 years ago

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

hjmjohnson commented 2 years ago

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 commented 2 years ago

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 commented 2 years ago

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

dzenanz commented 2 years ago

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

dzenanz commented 2 weeks ago

Now is a good time to make these larger modifications.

dzenanz commented 2 weeks ago

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.