Livewire segmentation in scikit-image

Pavlo Dyban pdyban at gmail.com
Tue Feb 23 12:38:30 EST 2016


Hello Stéfan!
You are right. Livewire segmentation approach is often used for interactive 
segmentation when the contour is updated and displayed while user is moving 
the mouse. However, the approach itself is not limited to interactive 
segmentations, but can just as well be used as a semi-automatic 
segmentation approach. This is the functionality that the iPython ntebook 
in my repository on Github demonstrates 
(https://github.com/pdyban/livewire/blob/master/notebooks/Livewire.ipynb).

Even though scikit-image is majorilly used as a static tool (wihtout 
on-the-fly user interaction), it can nonetheless be used in the latter 
case. In both cases I imagine that Liewire segmentation would enrich the 
segmentation arsenal in scikit-image.

The algorithm is simple and follows along this article: 
https://en.wikipedia.org/wiki/Livewire_Segmentation_Technique. An enhanced 
search for the shortest path has been implemented based on a thread here: 
http://code.activestate.com/recipes/119466-dijkstras-algorithm-for-shortest-paths/, 
see comment 1.
 
Please let me know if you have any concerns. Thanks!

On Tuesday, 23 February 2016 03:56:30 UTC+1, stefanv wrote:
>
> Hi Pavlo 
>
> On 22 February 2016 at 13:43, Pavlo Dyban <pdy... at gmail.com <javascript:>> 
> wrote: 
> > Hello! I am a great fan of scikit-learn and have used it in a number of 
> > various projects so far. This time, I want to contribute to the project. 
> I 
> > have implemented Livewire segmentation algorithm for image segmentation 
> and 
> > would like to bring it into the main package. My code is hosted on 
> github, 
> > it is documented with sphinx and tested. 
>
> Thanks for your interest in contributing to scikit-image! 
>
> > Livewire segmentation technique deduces object boundaries in the image 
> by 
> > converting the image to a weighted graph where edges' weights are 
> computed 
> > from the gradient image. The shortest path algorithm minimises the total 
> > cost function, thus avoiding steep gradients (i.e. object boundaries in 
> the 
> > original image). An example of how the algorithm works you will find in 
> my 
> > repository: https://github.com/pdyban/livewire. 
>
> I've only heard of livewire in terms of interactive work.  Is it 
> commonly used as a stand-alone technique? 
>
> > Do you think this algorithm would be needed inside scikit-image? If yes, 
> > would that belong inside segmentation module? Could someone assist me in 
> my 
> > first open source contribution? It would be great if I could contribute 
> to 
> > your project! Thanks! 
>
> It may well be--I will rely on our segmentation specialists Emmanuelle 
> and Juan to take a look.  Do you perhaps have a citation for this 
> method? 
>
> We're happy to help you get pull requests off the ground.  In the mean 
> time, take a look at: 
>
> http://scikit-image.org/docs/stable/contribute.html 
>
> Thanks! 
> Stéfan 
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://mail.python.org/pipermail/scikit-image/attachments/20160223/600a727a/attachment.html>


More information about the scikit-image mailing list