JuliaImages / ImageSmooth.jl

Image smoothing algorithms
MIT License
7 stars 1 forks source link

Linear filtering? #13

Open timholy opened 3 years ago

timholy commented 3 years ago

I'm quite excited to see this package, nice work @JKay0327 and @johnnychen94.

I'm curious about the right way to handle the comparison to smoothing operations like Gaussian blur. There seem to be at least two options:

I'd be happy to make a PR at some point, but I thought it would be best to hear which of these you think makes more sense. I'd be happy with either outcome.

johnnychen94 commented 3 years ago

I've also thought about this too. Take ROF model as an instance, it finds a balance between over-smooth and noisy results. This raises the same question whether ROF should fall into the scope of ImageSmooth.jl

Because it can introduce circular dependencies, my own opinion is to only allow convenient functions if the backends are in a "strictly" lower-level package. ImageFiltering, ImageBase can be considered as lower-level packages because the functions they provide are more fundamental utilities, while ImageNoise is considered as the same level as ImageSmooth because they target to implement concrete application-oriented algorithms.

So I would like to have

johnnychen94 commented 3 years ago

With https://github.com/JuliaImages/ImageBase.jl/pull/24#pullrequestreview-781384529 and https://github.com/JuliaImages/ImageFiltering.jl/pull/233 in mind, we might want to move the solver for L0Smooth to ImageFiltering, and then rewrap it here.

@timholy Does this sound good to you? I'm not very sure if it is a good direction to put model-related solvers to ImageFiltering.jl

ashwani-rathee commented 1 year ago

I am also interested in introducing model based solvers in ImageSmooth.jl like mentioned here: https://www.mia.uni-saarland.de/weickert/Papers/book.pdf and study those utilizing SciML solvers. What's a good first step to take?