Magnetic lasso tool
Closed, ResolvedPublic

Description

The magnetic lasso tool was lost in the port to Qt4. The code was in bad shape, but there is a working version in https://phabricator.kde.org/D241. Before it is possible to add to Krita as an experimental feature, the magnetic lasso tool will need an internal rework, including an implementation of the A* algorithm. I would suggest looking at Dmitry's implementation of the watershed algorithm to see how to do a fast parallel implementation of an image processing algo inside a tool.

The main thing that needs work is ergonomics, which is all about finding a really nice "edge detection" algorithm and weighting scheme. You need to be clever about how you do "edge detection" - a simple Sobel filter gives really rough noisy results. To get a good result you'll want to find edges based on hue and value changes separately at a minimum, maybe mix different edge detection filters, or other clever stuff, you'd need to play with it. Another ergonomic concern is figuring out the timing of "commits" where the lasso path freezes and you start your A* path search in the next section.

Here are a few papers about high quality edge detection. They seem way too bright and shiny for something as old as the magnetic lasso, but perhaps they cite other interesting, older methods that could be useful for realtime applications.

After all that, it will need:

  • New icons
  • New cursors
  • Redesign of the on-screen feedback
abrahams created this task.Aug 11 2015, 1:03 PM
abrahams updated the task description. (Show Details)
abrahams raised the priority of this task from to Wishlist.
abrahams claimed this task.
abrahams added a project: Krita: Stable.
abrahams added a subscriber: abrahams.
abrahams updated the task description. (Show Details)Aug 11 2015, 1:27 PM
abrahams updated the task description. (Show Details)Aug 12 2015, 1:17 PM
abrahams updated the task description. (Show Details)Aug 24 2015, 9:11 AM
abrahams updated the task description. (Show Details)Aug 24 2015, 11:12 AM
abrahams updated the task description. (Show Details)
abrahams updated the task description. (Show Details)Aug 24 2015, 11:23 AM
abrahams updated the task description. (Show Details)Aug 24 2015, 11:32 AM
abrahams updated the task description. (Show Details)
Restricted Application added a subscriber: woltherav. · View Herald TranscriptJan 31 2016, 12:33 AM
abrahams raised the priority of this task from Wishlist to Normal.May 9 2016, 1:22 PM
abrahams lowered the priority of this task from Normal to Wishlist.
rempt edited projects, added Krita; removed Krita: Stable.Jun 15 2016, 9:07 AM
abrahams updated the task description. (Show Details)Jun 16 2016, 8:57 PM
abrahams updated the task description. (Show Details)Apr 24 2018, 4:59 AM
woltherav closed this task as Resolved.Oct 11 2019, 1:17 PM
woltherav added a subscriber: hellozee.

Handled by @hellozee