Skip to content
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

Add example with anisotropic diffusion #469

Closed
wants to merge 6 commits into from

Conversation

simmplecoder
Copy link
Contributor

@simmplecoder simmplecoder commented Mar 29, 2020

Description

This commit implements anisotropic diffusion as example program. The main difference from Gaussian smoothing is that it isn't a linear, as it adapts the scaling depending on the region surrounding the pixel. In general it seems to be more careful about the edges, and relatively easy to implement .

This is my solution to a GSoC competency test.

References

http://www.sci.utah.edu/~gerig/CS7960-S2010/materials/Perona-Malik/anisotropic_diffusion-Book.pdf

Tasklist

  • Implement anisotropic diffusion
  • Ensure all CI builds pass
  • Review and approve

@mloskot mloskot added the google-summer-of-code All items related to GSoC activities label Mar 30, 2020
@mloskot
Copy link
Member

mloskot commented Mar 30, 2020

Thanks for the example. For the competency test it looks good.

For submission to GIL as example, it needs copyright notice, Jamfile/CMakeLists.txt update, some formatting (even minimal using the .clang-format), according to GIL guidelines. However, it will not be accepted before the GSoC students selection is completed.

@mloskot mloskot added the example Examples of how to use GIL label Mar 30, 2020
@mloskot mloskot changed the title implement anisotropic diffusion [GSoC] Add example with anisotropic diffusion Mar 30, 2020
@simmplecoder simmplecoder force-pushed the develop branch 2 times, most recently from 23449c8 to 479ab29 Compare April 1, 2020 04:26
This version of the diffusion has
precision loss which accumulates in
a loop and results in a visible
difference
This version utilizes gray64f version
defined in io/typedefs.hpp. It does
manual copy and conversions to avoid
possible bugs in the library
Compress code without losing
too much clarity
The diffusivity calculation doesn't
make use of it, thus removed
This commit makes input image,
output image, iteration count and kappa
customizable through command line
@simmplecoder
Copy link
Contributor Author

Closing as it will be superseded by #500 .

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
example Examples of how to use GIL google-summer-of-code All items related to GSoC activities
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants