-
Notifications
You must be signed in to change notification settings - Fork 21
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
Dependencies #40
Comments
This would be amazing. |
As with Imagefiltering.jl, moving a lot of this code somewhere without |
Swapping |
I would put in a PR, except the traits dependency in ImageCore.jl is blocking this being possible - they would need to move somewhere - ArrayInterface.jl? |
I agree that we should try to generalize and split things out in terms of AbstractArray. @johnnychen94 can provide more useful feedback on the future plans. It is been a while since the last time I contributed to the Images.jl stack and I know a lot has changed since then. |
This is a good proposal. Except for the maintainability, a similar relationship between Distances.jl and ImageDistances.jl is an ideal solution; people outside of the JuliaImages community could directly use and extend a "Morphology.jl" package, and JuliaImages keeps maintaining the colorant part of it. Maintainability is the only issue here; we don't have many maintainers here to split everything apart to get the least dependencies. (Mostly it's me and @timholy doing it). If there's someone giving a clear fork of ImageMorphology without the ImageCore.jl stack, I'll be very happy to see ImageMorphology built on top it. |
Great. I understand the maintenance burden involved here, and don't have a huge amount available myself. But hopefully this would eventually spread the burden a little wider. We could register a very minimally changed version of this package as Morphology.jl with type restrictions eased and without the The next question is what would be a good location/org for Morphology.jl? It could be the same place as MapFilter.jl/ArrayFilters.jl/Stencils.jl etc suggested in related issues (I would also be good to have those package separated out in a similar way). Another angle is that in fact the traits in ImageCore.jl are themselves not specifically image-related, and could be in a more general arrays package. |
I'm supportive of this. Hold for just a little while? ImageCore may soon be based on ArrayInterface (JuliaImages/ImageCore.jl#112 (comment)) but there will likely be a few things to sort out. I'd like to see ArrayInterface move to JuliaArrays first, and I haven't gone beyond JuliaArrays/ArrayInterface.jl#121 in terms of checking whether ArrayInterface is in adequate shape to be included in ImageCore. |
That would be great. I thought it was a stretch to propose moving array traits from ImageCore to SciML. But the images traits could live there if it was in JuliaArrays, and I think we have a short term solution so we can wait, but I think the aim is to not have to duplicates of these algorithms around. |
@timholy an @johnnychen94 I'll put together Morphology.jl and write the PR to depend on it here once the ImageCore.jl traits are sorted. Reading them I'm not sure I can do that myself, but I'm guessing that's possible now that ArrayInterface.jl has moved. I'm happy to maintain Morphology.jl as well so this isn't adding a burden here. |
Just checking in on this, and where the ImageCore.jl traits are at now? |
Here's the plan with respect to the lazy loading(JuliaImages/Images.jl#1009) and monorepo (JuliaImages/Images.jl#898) stuff:
The Morphology and MorphologyInterface will be maintained in one repo. I'll do it in JuliaImages since we're probably the main maintainers of this package. I'll also experiment with my Workflows.jl stuff, so sit tight! |
Hmmm, I changed my mind wrt monorepo arch. Let's just get everything back to Images.jl |
A lot of the methods in this package are widely useful outside of image manipulation.
In ecology and geospatial fields there are uses for methods like
label_components
andfeature_distance
but dependencies like ColorVectorSpace.jl and ImageCore.jl are a lot to include.Looking through the source, I cant actually find much that requires these dependencies. Could
GenericGrayImage
just beAbstractArray
? What other methods require ColorVectorSpace.jl and ImageCore.jl?See:
EcoJulia/NeutralLandscapes.jl#14
The text was updated successfully, but these errors were encountered: