Summary: | GIMP 2.10 like high quality scaling algorithms | ||
---|---|---|---|
Product: | [Applications] krita | Reporter: | JayJay <mnkyshield> |
Component: | General | Assignee: | Krita Bugs <krita-bugs-null> |
Status: | CONFIRMED --- | ||
Severity: | wishlist | CC: | halla, miabraha, shreyeslata, tamtamy.tymona |
Priority: | NOR | ||
Version: | git master (please specify the git hash!) | ||
Target Milestone: | --- | ||
Platform: | unspecified | ||
OS: | Linux | ||
Latest Commit: | Version Fixed In: |
Description
JayJay
2014-04-07 17:53:24 UTC
I thought this was interesting so I looked into it. Unfortunately there is no detailed description of the algorithm apart from the code itself, which is highly wrapped up in the GEGL / GObject framework. The code itself is not well documented... for some reason the author decided to spend many paragraphs giving textbook definitions of Jacobian matrix and writing out inverse of a 2x2 matrix, but very little explanation of the algorithm itself. (Also, Mr. Robidoux mentions his own name in the source file lohalo.c no fewer than 26 times...) The basic idea is that you apply a logistic transform to your data before doing the scaling. That is, you compute atanh(scale_fn(tanh(data)). He calls this sigmoidization. This gives a visually pleasing effect because it preserves very bright and very dark areas. The main complexity is that it blends together mip-maps in a clever way to perform downscaling. WISHGROUP: Stretchgoal Hi, I want to contribute to this project as a GSoC participant. I am currently studying the scaling algorithms for image scaling with high boost filtering and I want to implement it in the krita codebase. This will include linear interpolation, high boost filtering for image enhancement as well. Looking forward to make a worthy contribution. Please guide me through the process. Hi, that's great! Welcome to Krita. A short introduction for GSOC in Krita is here: https://docs.krita.org/en/untranslatable_pages/participating_in_gsoc.html (but note that the ideas list link is incorrect, the current one is here: https://community.kde.org/GSoC/2021/Ideas#Krita - I will fix it asap...) What you need to do next is (1) contact us on some communication channel (preferably IRC: irc.freenode.net:8001 channel #krita, but it can be mailing list `kimageshop@kde.org`, too), (2) build Krita (manual: https://docs.krita.org/en/untranslatable_pages/building_krita.html), (3) fix your first issue or implement a simple feature request. A list of accessible feature requests to start with is here: https://krita-artists.org/t/beginner-coding-tasks-in-krita-easy-and-short-feature-requests-ready-to-implement/5851 (still please check the bug report or ask if no one started to work on a specific bug/wish). Sure, thanks. |