-
Notifications
You must be signed in to change notification settings - Fork 4
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
Proposal: add abstract types ImageAlgorithm and ImageFilter #2
Comments
Just going off of what is found in DataAPI.jl, the original strategy was to use an "API" package as strictly general methods with very little definition. So adding abstract types would be a little different than purely following that approach. That being said, I think whatever fits our needs best is more important than sticking to the original idea. Centering our API around abstract types may be a good way to provide a consistent front end structure that's compatible with whatever happens in the background of packages. Note: I really like the idea of creating an abstract interface to filters. |
What if one wants to use a sequence of filters that mutate the original image? Should we have an |
That's why I propose to create two methods in #3 mutation-or-not is implementation detail, it's not the nature of the algorithm |
Some further development based on this can be: we can create a new concept For example: corruption = [AdditiveGaussianNoise(0.0, 0.1),
MotionBlur(0.2),
DownScale(0.5)]
apply(img, corruption) stacking filters together into a network becomes very popular in deep learning. In signal processing, we have filter bank as well. |
Perhaps
|
I propose to add two abstract types
where filters are algorithms whose input and output are both images, so that they can be stacked together, i.e.,
new_img = old_img |> filter1 |> filter2 |> ...|> filterN
.These two types serve in two ways: as the root of the unified algorithms hierarchy system, and as a placeholder in
ImagesAPI.jl
use case:
related issues:
JuliaImages/Images.jl#772
JuliaImages/ImageBinarization.jl#23
JuliaImages/ImageBinarization.jl#26
cc: @zygmuntszpak
The text was updated successfully, but these errors were encountered: