JuliaImages / JuliaImages/ImageCore.jl
common interface and documentation to support optimized implementation on various image memory formats
Nobody has claimed this yet.
- Dominant language
- Julia
- Stars
- 28
- Forks
- 21
- PR merge metrics
- No merged PRs in 30d
Description
This is a re-post from a recent slack discussion
I don't think JuliaImages will try to break the "an image is
AbstractArray{<:Colorant}" contract because we've proved that it's so convenient to build orthogonality and thus support generic codes in a very efficient way. For image data that doesn't fit into the AoS (RGBRGBRGB) memory layout, an approach to fit into the JuliaImages type design is to provide a thin array wrapper for it.For instance:
IndirectArrayfor indexed imageStructArraywraps SoA data as AbstractArray{<:Colorant}SparseArrayfrom SparseArrayKit wraps a dict-based data for sparse imageBy following this design, we can ensure that our toolbox at least works for those special image types. And if performance is a concern, we add specialized methods to provide an optimized implementation for them via multiple dispatches.
we need to figure out the missing utilities by adding a few examples, e.g., imresize on the indexed image can be an interesting yet simple example.
Contributor guide
No contributing guide indexed for this repository
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start with the indexed-image imresize example linked in the issue, then review the proposed IndirectArray, StructArray, and SparseArray wrappers. Identify the missing utilities and examples needed for a common interface and optimized implementations; done means the supported formats are demonstrated and their interface requirements are documented.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- julia
- Domain
- computer-vision
- Issue type
- Feature
- Difficulty
- 5/5
- Estimated time
- Over a week
- Activity status
- Stale
- Clarity
- Needs clarification
- Newbie friendliness
- 25/100