SoK/2020/StatusReport/hellozee

From KDE Community Wiki

Supporting Floating-Point Color Space Operations in Krita

Synopsis

What is it?

  • Another edge detection filter, can give more accurate results than the current one.

Why is it needed?

  • First, it gives better results. Second, since it gives better results, it would increase the accuracy of Magnetic Lasso, which uses Laplacian of Gaussian implemented for the Colorize Mask.

How would it be done?

  • Since Canny Filter is just a augmented Sobel Filter and we could just use the already present implementation of it.
  • Non Maximum suppression should easily doable given that we get both the partially differentiated values wrt to both x and y.
  • Since we already have the value of the pixels, applying double threshold would just be a simple for loop.
  • Further the results could be refined with several blob analysis algorithms for the weak pixels but this would be an extra goal, :)

Mentor

Progress

The commits can be tracked with the help of this MR.

Implementing KisCannyFilterTest

Adding KisEdgeDetectionKernel::applyCannyEdgeDetection

Controls for controlling threshold while applying Filter

Bugs Remaining

  • Border Problem caused by tiling.
  • Generating weird artifacts on higher radius.
  • UI controls not applicable are not disabled completely.

Contact details