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 Perona–Malik anisotropic diffusion algorithm #500

Merged
merged 48 commits into from
Jan 22, 2021

Commits on Jul 12, 2020

  1. Starting point

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    5a89ea3 View commit details
    Browse the repository at this point in the history
  2. Working example version

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    e9282ac View commit details
    Browse the repository at this point in the history
  3. Stylistic changes

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    0c9bec2 View commit details
    Browse the repository at this point in the history
  4. Reduce amount of warnings to zero

    The compilation of example will still
    produce some warnings, but they are
    unrelated to the new code
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    902fbb0 View commit details
    Browse the repository at this point in the history
  5. Add rgb version and squash a bug

    There was a bug in nabla computation
    that relied on gray layout
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    3fcffe3 View commit details
    Browse the repository at this point in the history
  6. Add docs

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    a27c941 View commit details
    Browse the repository at this point in the history
  7. Stylistical changes

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    bb7d83a View commit details
    Browse the repository at this point in the history
  8. More stylistical changes

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    dc278a4 View commit details
    Browse the repository at this point in the history
  9. Add missing include

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    f128ef8 View commit details
    Browse the repository at this point in the history
  10. Configuration menu
    Copy the full SHA
    0c486e8 View commit details
    Browse the repository at this point in the history
  11. All cases version

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    65ac151 View commit details
    Browse the repository at this point in the history
  12. Configuration menu
    Copy the full SHA
    de22676 View commit details
    Browse the repository at this point in the history
  13. Improve documentation and static_assert

    The output type must be floating point,
    thus a check was added to make sure it
    is the case. Though I had to add
    specific cases for float32_t as
    std::is_floating_point does not
    consider it a floating point type
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    3b3f487 View commit details
    Browse the repository at this point in the history
  14. Configuration menu
    Copy the full SHA
    b135438 View commit details
    Browse the repository at this point in the history
  15. Improve testing procedure, raise bar

    Now conservation is only within 10%
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    b3a5540 View commit details
    Browse the repository at this point in the history
  16. Add convergence to mean test

    The test seems to be failing though,
    so revisiting the correctness of the
    algorithm is needed
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    38d7415 View commit details
    Browse the repository at this point in the history
  17. 4 way version

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    a5a8f09 View commit details
    Browse the repository at this point in the history
  18. Reduce warnings and fix bug

    Previously algorithm did not
    use a buffer image and updated
    pixels on the fly, by using
    those that were already modified,
    which is incorrect. Also reduced
    number of warnings in the new files
    to zero
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    5991e21 View commit details
    Browse the repository at this point in the history
  19. Use transform

    Rather than manually
    writing out each entry,
    use std::transform
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    ce3bee4 View commit details
    Browse the repository at this point in the history
  20. Squash the damn accumulate bug

    The accumulate part was wrong,
    it multiplied by delta_t on
    every sum, which is wrong
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    43bc160 View commit details
    Browse the repository at this point in the history
  21. Use 8 way nabla compute

    This is just different
    discretization of Laplace
    operator.
    https://en.wikipedia.org/wiki/Discrete_Laplace_operator
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    149b07d View commit details
    Browse the repository at this point in the history
  22. Move to strategy

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    4fe2470 View commit details
    Browse the repository at this point in the history
  23. Configuration menu
    Copy the full SHA
    8628367 View commit details
    Browse the repository at this point in the history
  24. Segment into function objects

    This commit implements correct
    diffusion and separates the whole
    process into multiple pieces
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    db8a326 View commit details
    Browse the repository at this point in the history
  25. Fix test

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    4469ff2 View commit details
    Browse the repository at this point in the history
  26. Configuration menu
    Copy the full SHA
    946a073 View commit details
    Browse the repository at this point in the history
  27. Fix distribution range

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    fcf118d View commit details
    Browse the repository at this point in the history
  28. Drastically decrease error threshold

    Found a bug inside tests, now it
    computes correctly, allowing to reduce
    error threshold drastically
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    cf0ae18 View commit details
    Browse the repository at this point in the history
  29. Surround cout with ifdef

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    1ce4264 View commit details
    Browse the repository at this point in the history
  30. Matlab version

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    e6a6548 View commit details
    Browse the repository at this point in the history
  31. Add classic version

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    c6534fa View commit details
    Browse the repository at this point in the history
  32. Add diffusivity tests

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    4fadad0 View commit details
    Browse the repository at this point in the history
  33. Configuration menu
    Copy the full SHA
    370d1b3 View commit details
    Browse the repository at this point in the history
  34. Configuration menu
    Copy the full SHA
    acb240b View commit details
    Browse the repository at this point in the history
  35. Add Jamfile entries

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    cd03a9a View commit details
    Browse the repository at this point in the history
  36. Configuration menu
    Copy the full SHA
    5939663 View commit details
    Browse the repository at this point in the history
  37. Squash all of the bugs

    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    8c60cb4 View commit details
    Browse the repository at this point in the history
  38. Rename laplace stencils

    Laplace stencils are now the same
    as in mathematical notation
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    abf7be7 View commit details
    Browse the repository at this point in the history
  39. Configuration menu
    Copy the full SHA
    6321b52 View commit details
    Browse the repository at this point in the history
  40. Use indexing and add offsets function

    The new function will provide
    a uniform way to generate stencils
    by making sure directions are
    indexed properly
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    8106bee View commit details
    Browse the repository at this point in the history
  41. Add only required stencil points

    The 5 points Laplace stencil is now
    adding only required points and not
    assuming that others are zero
    simmplecoder committed Jul 12, 2020
    Configuration menu
    Copy the full SHA
    e82f2c2 View commit details
    Browse the repository at this point in the history
  42. Configuration menu
    Copy the full SHA
    f8e382d View commit details
    Browse the repository at this point in the history

Commits on Aug 6, 2020

  1. Configuration menu
    Copy the full SHA
    aaebbdb View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    b5434da View commit details
    Browse the repository at this point in the history
  3. Capture this by value instead of local

    Since this cannot be captured by ref,
    it is captured by value instead.
    The change is to not declare
    redundant variables
    simmplecoder committed Aug 6, 2020
    Configuration menu
    Copy the full SHA
    c77ef2d View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    b0f81f0 View commit details
    Browse the repository at this point in the history

Commits on Aug 25, 2020

  1. Use random_value from test_fixture.hpp

    Also decrease seed range to make test
    duration manageable.
    simmplecoder committed Aug 25, 2020
    Configuration menu
    Copy the full SHA
    6c9b272 View commit details
    Browse the repository at this point in the history
  2. Configuration menu
    Copy the full SHA
    fbad958 View commit details
    Browse the repository at this point in the history