GSoC/2019/StatusReports/hellozee: Difference between revisions
Line 51: | Line 51: | ||
'''Goal:''' Implement the frontend required for the tool | '''Goal:''' Implement the frontend required for the tool | ||
'''Current Status''' | '''Current Status''' Improving user experience and finishing up the UI | ||
==== Related blog posts ==== | ==== Related blog posts ==== | ||
* [https://hellozee.github.io/topsy_turvy_5th_week/ Topsy-turvy 5th Week] | |||
* [https://hellozee.github.io/it_coming_alive/ It is coming alive] | |||
==== Commits and Differentials ==== | ==== Commits and Differentials ==== | ||
* [https://invent.kde.org/kde/krita/commit/3f74df11d69443f9244a805f8e26ba0973695c51 Initial take on the UI] | |||
* [https://invent.kde.org/kde/krita/commit/b64a646d303a9e7ce3f46acb32ce859d95246a5e Reduced the number of calls KisPaintDevice::exactBounds() is called] | |||
* [https://invent.kde.org/kde/krita/commit/7b53f2e4659dfccbb2a12a2bda9101f43a586728 Creates a bouding rectangle before searching ] | |||
* [https://invent.kde.org/kde/krita/commit/79aeb7826c2c739ed9497653b931ea2e1be9065e LoG now runs on tool activation] | |||
* [https://invent.kde.org/kde/krita/commit/70b167f41b9ffdacbd5279ff121852871d7cb362 Optimized the algorithm, implemented checkpoints] | |||
* [https://invent.kde.org/kde/krita/commit/b44404ee9bc6195b99f2d418e328b17212f48535 Selection can be done with the Magnetic Lasso] | |||
* [https://invent.kde.org/kde/krita/commit/56600569da672c67a332c0f6f03e18131c110841 Anchor points are saved now] | |||
* [https://invent.kde.org/kde/krita/commit/da0cf17c6c97d6e75968e2d8125a17987f4372e6 Selection works as expected] |
Revision as of 02:01, 11 July 2019
Porting Magnetic Lasso to Krita
Summary
- Project Name: Porting Magnetic Lasso to Krita
- Proposal: View Proposal
- Abstract: The Magnetic Lasso was lost during the port from Qt3 to Qt4, this project tries to continue the working to port the tool to the current version of Krita
Project Goals
- Add the Magnetic Lasso Selection Tool in Krita.
- The tool when used should stick to the edges found in the picture.
- Starts after user left clicks and makes an anchor, edges are scanned from the anchor point.
- After the mouse moves a fixed amount of distance the tool automatically places another anchor point and uses it as a reference.
- The user can also manually set an anchor point, him/herself.
- The search radius which is used to determine, upto what area the tool would search for an edge as well as the frequency of anchors can be adjusted by the user.
- The above-mentioned parameters as well as the threshold for determining edges can be adjusted using the tool options widget.
Implementations Status
Status report on each goal implementation.
KisMagneticWorker
Goal: Implement the worker for the algorithm and the corresponding unit test.
Current Status Done
Related blog posts
- Initial Post
- Understanding boost::astar_search
- Another week with boost
- Done with boost
- Deliverable 1 : [✓]
Commits and Differentials
- Adding an initial framework for the test
- Applying Laplacian of Gaussian on KisPaintDevice
- Added the heuristic function for the boost::astar_search
- Implemented boost::graph interface for KisPaintDevice
- an intesity function to the graph for reading threshold
- Implemented boost::astar_search using the KisMagneticGraph wrapper
- heuristic function takes threshold into account now
- Fixed the intensity function
- Finished the Algorithm
- Added docs and completed the test
KisToolSelectMagnetic
Goal: Implement the frontend required for the tool
Current Status Improving user experience and finishing up the UI
Related blog posts
Commits and Differentials
- Initial take on the UI
- Reduced the number of calls KisPaintDevice::exactBounds() is called
- Creates a bouding rectangle before searching
- LoG now runs on tool activation
- Optimized the algorithm, implemented checkpoints
- Selection can be done with the Magnetic Lasso
- Anchor points are saved now
- Selection works as expected