From stefan at sun.ac.za Mon Apr 1 05:18:29 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Mon, 1 Apr 2013 11:18:29 +0200 Subject: Google Summer of Code 2013 Message-ID: Hi everyone It looks like we will be able to participate in Google Summer of Code 2013 under the PSF umbrella. If you have any project ideas, please add details here: https://github.com/scikit-image/scikit-image/wiki/GSoC-2013 *Prospective GSoC students: *We follow the same policy as scikit-learn, in that you have to have at least one patch contributed to the project *before*applying for a summer of code project. Regards St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Mon Apr 1 23:26:07 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Mon, 1 Apr 2013 22:26:07 -0500 Subject: SciPy 2013 Tutorial In-Reply-To: <20130329075138.GA29112@phare.normalesup.org> References: <20130329075138.GA29112@phare.normalesup.org> Message-ID: Emmanuelle, Thanks so much for passing along your proposal... Unfortunately, I got caught up with other things and didn't have time to put together a proposal for SciPy. :( -Tony On Fri, Mar 29, 2013 at 2:51 AM, Emmanuelle Gouillart < emmanuelle.gouillart at nsup.org> wrote: > Hi Tony, > > I'm not going to SciPy 2013, but I've agreed to give a 1h30-long tutorial > on image processing with scikit-image at Euroscipy 2013 (August 21-24). > I'd happy to share course materials if you're interested. > > I copy below the abstract I've given to the organizers. > > Cheers, > Emmanuelle > > Image processing with scikit-image and the SciPy stack > ====================================================== > > Numerical image processing involves the manipulation and transformation > of images, often in order to extract information of interest from the > images. NumPy nd-arrays provide an efficient container for image data, > that can therefore be processed using the SciPy toolstack. > > In this tutorial, we will first briefly see how simple operations on > images (e.g. cropping, framing) can be performed using NumPy. More > complex image processing operations will be handled principally by the > scikit-image module (occasionally by the ndimage submodule of > SciPy). Compared to other image processing modules for Python, > scikit-image is designed to work transparently with numpy nd-arrays, and > is written in pure Python and some Cython in order to promote readability > and maintainability. > > The different subtopics of this tutorial include: > > * input and output of images (file formats...) > * image enhancing / denoising > * image segmentation (separating an image in labeled regions) > * extraction of geometrical features (edges, lines, spheres, skeleton...) > * extraction of features for image classification > > This tutorial will consist mostly of hands-on examples; no mathematical > justification of the algorithms will be given during the tutorial. > Besides the main image processing tasks, the tutorial will demonstrate > how NumPy advanced features (masks, broadcasting, manipulation of > subsets of indices) and scikit-image utilities functions make image > processing easier. The tutorial will also address the visualization of > image processing results (contours, etc.). > > > On Thu, Mar 28, 2013 at 09:06:04PM -0500, Tony Yu wrote: > > I was wondering if anyone has plans to submit a [1]tutorial proposal > for > > SciPy 2013. The proposal is due on Monday (Apr. 1st). It'd be great to > > have scikit-image represented there; especially since medical imaging > is > > one of the mini-symposia topics. > > If no one else is able, I'll probably submit something, but I have a > > feeling that many of you have more (i.e. any) experience teaching > image > > processing than I do. > > Cheers, > > -Tony > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From littlemumford at gmail.com Tue Apr 2 13:04:07 2013 From: littlemumford at gmail.com (Stuart Mumford) Date: Tue, 2 Apr 2013 10:04:07 -0700 (PDT) Subject: Coordinate overlap in two labelled images Message-ID: <836abfe6-8997-4c61-bea2-d68a2750c298@googlegroups.com> Hello, I have a problem I was hoping someone here would be able to help me with! I am using your (amazingly fast) label image routines and regionprops to extract the coordinates of the regions in two images. I need to filter these objects out if they do not overlap in both the images, then renumber all the remaining regions. At the moment I am doing something unspeakable with nested loops and sets which is pretty damn slow; I was hoping someone here would have a really clever idea on how to solve this. Failing that does anyone know how I can find the number of coordinates (output from regionprops) that overlap in two numpy arrays? Thanks a lot Stuart -------------- next part -------------- An HTML attachment was scrubbed... URL: From siggin at gmail.com Tue Apr 2 13:13:30 2013 From: siggin at gmail.com (Sigmund) Date: Tue, 2 Apr 2013 10:13:30 -0700 (PDT) Subject: Coordinate overlap in two labelled images In-Reply-To: <836abfe6-8997-4c61-bea2-d68a2750c298@googlegroups.com> References: <836abfe6-8997-4c61-bea2-d68a2750c298@googlegroups.com> Message-ID: Not sure if I got your point but what about turning your two arrays in in one 3D array. Using the label function and find_objects on the 3D array should do what you want. On Tuesday, April 2, 2013 7:04:07 PM UTC+2, Stuart Mumford wrote: > > Hello, > > I have a problem I was hoping someone here would be able to help me with! > > I am using your (amazingly fast) label image routines and regionprops to > extract the coordinates of the regions in two images. I need to filter > these objects out if they do not overlap in both the images, then renumber > all the remaining regions. At the moment I am doing something unspeakable > with nested loops and sets which is pretty damn slow; I was hoping someone > here would have a really clever idea on how to solve this. Failing that > does anyone know how I can find the number of coordinates (output from > regionprops) that overlap in two numpy arrays? > > Thanks a lot > Stuart > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Tue Apr 2 14:52:18 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 2 Apr 2013 20:52:18 +0200 Subject: Coordinate overlap in two labelled images In-Reply-To: <836abfe6-8997-4c61-bea2-d68a2750c298@googlegroups.com> References: <836abfe6-8997-4c61-bea2-d68a2750c298@googlegroups.com> Message-ID: Hi Stuart On Tue, Apr 2, 2013 at 7:04 PM, Stuart Mumford wrote: > I am using your (amazingly fast) label image routines and regionprops to extract the coordinates of the regions in two images. I need to filter these objects out if they do not overlap in both the images, then renumber all the remaining regions. At the moment I am doing something unspeakable with nested loops and sets which is pretty damn slow; I was hoping someone here would have a really clever idea on how to solve this. Failing that does anyone know how I can find the number of coordinates (output from regionprops) that overlap in two numpy arrays? You can use join_segmentations to find an intersection of your two label maps. Then, walk through the newly formed regions and check at each point whether the object exists in both images (that way, you don't have so many comparisons to do). http://scikit-image.org/docs/dev/auto_examples/plot_join_segmentations.html If that's not exactly what you had in mind, you can use this code to find all the connected regions in an image: https://github.com/stefanv/lulu/blob/master/lulu/base.pyx#L21 These regions are encoded sparsely, and testing their intersection is very fast (see the algorithm section of this paper: https://scholar.sun.ac.za/handle/10019.1/4883). I hope that helps! St?fan From jni.soma at gmail.com Wed Apr 3 00:33:11 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Wed, 3 Apr 2013 15:33:11 +1100 Subject: Coordinate overlap in two labelled images In-Reply-To: References: <836abfe6-8997-4c61-bea2-d68a2750c298@googlegroups.com> Message-ID: Suggestion number 3. I'll deal with each of three interpretations of your question. Suppose your images are im1 and im2. Now, you might want 1) of the regions in im1, the ones that intersect over at least 1 pixel with regions of im2; 2) the regions that are part of regions in both im1 and im2 (ie the intersection of regions in im1 and im2); or 3) the union of regions of im1 and im2 that have at least one pixel intersection with the other image. The last example assumes the union'ed regions don't touch each other. Then: In [1]: import scipy.ndimage as nd In [2]: im1 = np.array([[0, 0, 0, 0], [1, 1, 0, 2], [0, 0, 0, 2]]) In [3]: im1 Out[3]: array([[0, 0, 0, 0], [1, 1, 0, 2], [0, 0, 0, 2]]) In [4]: im2 = np.array([[0, 1, 0, 0], [0, 1, 0, 0], [0, 1, 0, 0]]) In [5]: im2 Out[5]: array([[0, 1, 0, 0], [0, 1, 0, 0], [0, 1, 0, 0]]) In [6]: intersect = im1.astype(bool) * im2.astype(bool) In [7]: intersect Out[7]: array([[False, False, False, False], [False, True, False, False], [False, False, False, False]], dtype=bool) In [8]: overlap_labels1 = np.unique(im1[intersect]) In [9]: selector = np.zeros(im1.max() + 1, int) In [10]: selector[overlap_labels1] = arange(1, len(overlap_labels1) + 1) In [11]: reg1 = selector[im1] In [12]: reg1 Out[12]: array([[0, 0, 0, 0], [1, 1, 0, 0], [0, 0, 0, 0]]) In [13]: reg2 = nd.label(intersect)[0] In [14]: reg2 Out[14]: array([[0, 0, 0, 0], [0, 1, 0, 0], [0, 0, 0, 0]], dtype=int32) In [15]: overlap_labels2 = np.unique(im2[intersect]) In [16]: selector2 = np.zeros(im2.max() + 1, int) In [17]: selector2[overlap_labels2] = 1 In [18]: nonzero_pixels = reg1 + selector2[im2] In [19]: reg3 = nd.label(nonzero_pixels)[0] In [20]: reg3 Out[20]: array([[0, 1, 0, 0], [1, 1, 0, 0], [0, 1, 0, 0]], dtype=int32) On Wed, Apr 3, 2013 at 5:52 AM, St?fan van der Walt wrote: > Hi Stuart > > On Tue, Apr 2, 2013 at 7:04 PM, Stuart Mumford > wrote: > > I am using your (amazingly fast) label image routines and regionprops to > extract the coordinates of the regions in two images. I need to filter > these objects out if they do not overlap in both the images, then renumber > all the remaining regions. At the moment I am doing something unspeakable > with nested loops and sets which is pretty damn slow; I was hoping someone > here would have a really clever idea on how to solve this. Failing that > does anyone know how I can find the number of coordinates (output from > regionprops) that overlap in two numpy arrays? > > You can use join_segmentations to find an intersection of your two > label maps. Then, walk through the newly formed regions and check at > each point whether the object exists in both images (that way, you > don't have so many comparisons to do). > > http://scikit-image.org/docs/dev/auto_examples/plot_join_segmentations.html > > If that's not exactly what you had in mind, you can use this code to > find all the connected regions in an image: > > https://github.com/stefanv/lulu/blob/master/lulu/base.pyx#L21 > > These regions are encoded sparsely, and testing their intersection is > very fast (see the algorithm section of this paper: > https://scholar.sun.ac.za/handle/10019.1/4883). > > I hope that helps! > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From littlemumford at gmail.com Thu Apr 4 09:23:14 2013 From: littlemumford at gmail.com (Stuart Mumford) Date: Thu, 4 Apr 2013 06:23:14 -0700 (PDT) Subject: Coordinate overlap in two labelled images In-Reply-To: References: <836abfe6-8997-4c61-bea2-d68a2750c298@googlegroups.com> Message-ID: Hello, Thanks for your replies everyone, I am looking through them but this is a reasonably low-priority project. I am sure I will have a follow up question or two soon!! Thanks again Stuart -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sat Apr 6 11:19:20 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Sat, 6 Apr 2013 10:19:20 -0500 Subject: SciPy 2013 Tutorial In-Reply-To: <51600D52.8040805@continuum.io> References: <20130329075138.GA29112@phare.normalesup.org> <20130406114947.GA4388@phare.normalesup.org> <51600D52.8040805@continuum.io> Message-ID: I'll have to give this another try, then. Thanks! -Tony On Sat, Apr 6, 2013 at 6:56 AM, Francesc Alted wrote: > Yes! The new deadline is on Monday 8th, so you are still on time. > > Francesc > > Al 06/04/13 13:49, En/na Emmanuelle Gouillart ha escrit: > > Hi Tony, >> >> I've heard that there has been a deadline extension (from people that >> were also behind schedule for submitting their tutorial :-), so I think >> it's still time to submit an abstract. >> >> Cheers, >> Emmanuelle >> >> On Mon, Apr 01, 2013 at 10:26:07PM -0500, Tony Yu wrote: >> >>> Emmanuelle, >>> Thanks so much for passing along your proposal... Unfortunately, I >>> got >>> caught up with other things and didn't have time to put together a >>> proposal for SciPy. :( >>> -Tony >>> On Fri, Mar 29, 2013 at 2:51 AM, Emmanuelle Gouillart >>> <[1]emmanuelle.gouillart at nsup.**org > >>> wrote: >>> Hi Tony, >>> I'm not going to SciPy 2013, but I've agreed to give a 1h30-long >>> tutorial >>> on image processing with scikit-image at Euroscipy 2013 (August >>> 21-24). >>> I'd happy to share course materials if you're interested. >>> I copy below the abstract I've given to the organizers. >>> Cheers, >>> Emmanuelle >>> Image processing with scikit-image and the SciPy stack >>> ==============================**======================== >>> Numerical image processing involves the manipulation and >>> transformation >>> of images, often in order to extract information of interest from >>> the >>> images. NumPy nd-arrays provide an efficient container for image >>> data, >>> that can therefore be processed using the SciPy toolstack. >>> In this tutorial, we will first briefly see how simple operations >>> on >>> images (e.g. cropping, framing) can be performed using NumPy. More >>> complex image processing operations will be handled principally by >>> the >>> scikit-image module (occasionally by the ndimage submodule of >>> SciPy). Compared to other image processing modules for Python, >>> scikit-image is designed to work transparently with numpy >>> nd-arrays, and >>> is written in pure Python and some Cython in order to promote >>> readability >>> and maintainability. >>> The different subtopics of this tutorial include: >>> * input and output of images (file formats...) >>> * image enhancing / denoising >>> * image segmentation (separating an image in labeled regions) >>> * extraction of geometrical features (edges, lines, spheres, >>> skeleton...) >>> * extraction of features for image classification >>> This tutorial will consist mostly of hands-on examples; no >>> mathematical >>> justification of the algorithms will be given during the tutorial. >>> Besides the main image processing tasks, the tutorial will >>> demonstrate >>> how NumPy advanced features (masks, broadcasting, manipulation of >>> subsets of indices) and scikit-image utilities functions make image >>> processing easier. The tutorial will also address the >>> visualization of >>> image processing results (contours, etc.). >>> On Thu, Mar 28, 2013 at 09:06:04PM -0500, Tony Yu wrote: >>> > ? ?I was wondering if anyone has plans to submit a [1]tutorial >>> proposal for >>> > ? ?SciPy 2013. The proposal is due on Monday (Apr. 1st). It'd be >>> great >>> to >>> > ? ?have scikit-image represented there; especially since medical >>> imaging is >>> > ? ?one of the mini-symposia topics. >>> > ? ?If no one else is able, I'll probably submit something, but I >>> have >>> a >>> > ? ?feeling that many of you have more (i.e. any) experience >>> teaching >>> image >>> > ? ?processing than I do. >>> > ? ?Cheers, >>> > ? ?-Tony >>> >> > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe@**googlegroups.com > . > For more options, visit https://groups.google.com/**groups/opt_out > . > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From emmanuelle.gouillart at nsup.org Sat Apr 6 07:49:47 2013 From: emmanuelle.gouillart at nsup.org (Emmanuelle Gouillart) Date: Sat, 6 Apr 2013 13:49:47 +0200 Subject: SciPy 2013 Tutorial In-Reply-To: References: <20130329075138.GA29112@phare.normalesup.org> Message-ID: <20130406114947.GA4388@phare.normalesup.org> Hi Tony, I've heard that there has been a deadline extension (from people that were also behind schedule for submitting their tutorial :-), so I think it's still time to submit an abstract. Cheers, Emmanuelle On Mon, Apr 01, 2013 at 10:26:07PM -0500, Tony Yu wrote: > Emmanuelle, > Thanks so much for passing along your proposal... Unfortunately, I got > caught up with other things and didn't have time to put together a > proposal for SciPy. :( > -Tony > On Fri, Mar 29, 2013 at 2:51 AM, Emmanuelle Gouillart > <[1]emmanuelle.gouillart at nsup.org> wrote: > Hi Tony, > I'm not going to SciPy 2013, but I've agreed to give a 1h30-long > tutorial > on image processing with scikit-image at Euroscipy 2013 (August 21-24). > I'd happy to share course materials if you're interested. > I copy below the abstract I've given to the organizers. > Cheers, > Emmanuelle > Image processing with scikit-image and the SciPy stack > ====================================================== > Numerical image processing involves the manipulation and transformation > of images, often in order to extract information of interest from the > images. NumPy nd-arrays provide an efficient container for image data, > that can therefore be processed using the SciPy toolstack. > In this tutorial, we will first briefly see how simple operations on > images (e.g. cropping, framing) can be performed using NumPy. More > complex image processing operations will be handled principally by the > scikit-image module (occasionally by the ndimage submodule of > SciPy). Compared to other image processing modules for Python, > scikit-image is designed to work transparently with numpy nd-arrays, and > is written in pure Python and some Cython in order to promote > readability > and maintainability. > The different subtopics of this tutorial include: > * input and output of images (file formats...) > * image enhancing / denoising > * image segmentation (separating an image in labeled regions) > * extraction of geometrical features (edges, lines, spheres, > skeleton...) > * extraction of features for image classification > This tutorial will consist mostly of hands-on examples; no mathematical > justification of the algorithms will be given during the tutorial. > Besides the main image processing tasks, the tutorial will demonstrate > how NumPy advanced features (masks, broadcasting, manipulation of > subsets of indices) and scikit-image utilities functions make image > processing easier. The tutorial will also address the visualization of > image processing results (contours, etc.). > On Thu, Mar 28, 2013 at 09:06:04PM -0500, Tony Yu wrote: > > ? ?I was wondering if anyone has plans to submit a [1]tutorial > proposal for > > ? ?SciPy 2013. The proposal is due on Monday (Apr. 1st). It'd be great > to > > ? ?have scikit-image represented there; especially since medical > imaging is > > ? ?one of the mini-symposia topics. > > ? ?If no one else is able, I'll probably submit something, but I have > a > > ? ?feeling that many of you have more (i.e. any) experience teaching > image > > ? ?processing than I do. > > ? ?Cheers, > > ? ?-Tony From francesc at continuum.io Sat Apr 6 07:56:02 2013 From: francesc at continuum.io (Francesc Alted) Date: Sat, 06 Apr 2013 13:56:02 +0200 Subject: SciPy 2013 Tutorial In-Reply-To: <20130406114947.GA4388@phare.normalesup.org> References: <20130329075138.GA29112@phare.normalesup.org> <20130406114947.GA4388@phare.normalesup.org> Message-ID: <51600D52.8040805@continuum.io> Yes! The new deadline is on Monday 8th, so you are still on time. Francesc Al 06/04/13 13:49, En/na Emmanuelle Gouillart ha escrit: > Hi Tony, > > I've heard that there has been a deadline extension (from people that > were also behind schedule for submitting their tutorial :-), so I think > it's still time to submit an abstract. > > Cheers, > Emmanuelle > > On Mon, Apr 01, 2013 at 10:26:07PM -0500, Tony Yu wrote: >> Emmanuelle, >> Thanks so much for passing along your proposal... Unfortunately, I got >> caught up with other things and didn't have time to put together a >> proposal for SciPy. :( >> -Tony >> On Fri, Mar 29, 2013 at 2:51 AM, Emmanuelle Gouillart >> <[1]emmanuelle.gouillart at nsup.org> wrote: >> Hi Tony, >> I'm not going to SciPy 2013, but I've agreed to give a 1h30-long >> tutorial >> on image processing with scikit-image at Euroscipy 2013 (August 21-24). >> I'd happy to share course materials if you're interested. >> I copy below the abstract I've given to the organizers. >> Cheers, >> Emmanuelle >> Image processing with scikit-image and the SciPy stack >> ====================================================== >> Numerical image processing involves the manipulation and transformation >> of images, often in order to extract information of interest from the >> images. NumPy nd-arrays provide an efficient container for image data, >> that can therefore be processed using the SciPy toolstack. >> In this tutorial, we will first briefly see how simple operations on >> images (e.g. cropping, framing) can be performed using NumPy. More >> complex image processing operations will be handled principally by the >> scikit-image module (occasionally by the ndimage submodule of >> SciPy). Compared to other image processing modules for Python, >> scikit-image is designed to work transparently with numpy nd-arrays, and >> is written in pure Python and some Cython in order to promote >> readability >> and maintainability. >> The different subtopics of this tutorial include: >> * input and output of images (file formats...) >> * image enhancing / denoising >> * image segmentation (separating an image in labeled regions) >> * extraction of geometrical features (edges, lines, spheres, >> skeleton...) >> * extraction of features for image classification >> This tutorial will consist mostly of hands-on examples; no mathematical >> justification of the algorithms will be given during the tutorial. >> Besides the main image processing tasks, the tutorial will demonstrate >> how NumPy advanced features (masks, broadcasting, manipulation of >> subsets of indices) and scikit-image utilities functions make image >> processing easier. The tutorial will also address the visualization of >> image processing results (contours, etc.). >> On Thu, Mar 28, 2013 at 09:06:04PM -0500, Tony Yu wrote: >> > ? ?I was wondering if anyone has plans to submit a [1]tutorial >> proposal for >> > ? ?SciPy 2013. The proposal is due on Monday (Apr. 1st). It'd be great >> to >> > ? ?have scikit-image represented there; especially since medical >> imaging is >> > ? ?one of the mini-symposia topics. >> > ? ?If no one else is able, I'll probably submit something, but I have >> a >> > ? ?feeling that many of you have more (i.e. any) experience teaching >> image >> > ? ?processing than I do. >> > ? ?Cheers, >> > ? ?-Tony From emmanuelle.gouillart at nsup.org Sat Apr 6 08:08:30 2013 From: emmanuelle.gouillart at nsup.org (Emmanuelle Gouillart) Date: Sat, 6 Apr 2013 14:08:30 +0200 Subject: [OT] open-data movies of science experiments Message-ID: <20130406120830.GB4388@phare.normalesup.org> Hello, sorry for the slightly off-topic e-mail. I'm currently working on a tutorial on image processing with skimage aimed at undergraduate physics teachers. To show them how skimage can be useful for them and their students, I wish to process images taken from a video of a physics experiment (Brownian motion of particles, granular segregation / Brazil nut effect, rising of bubbles in a viscous fluids etc.). However, I'm having a hard time finding open data with a suitable license (such as creative commons). Would you know a website that gathers a large number of open-data educational / scientific movies, and in particular of science experiments? That'd be very helpful. Cheers, Emmanuelle From nelle.varoquaux at gmail.com Sat Apr 6 08:13:56 2013 From: nelle.varoquaux at gmail.com (Nelle Varoquaux) Date: Sat, 6 Apr 2013 14:13:56 +0200 Subject: [OT] open-data movies of science experiments In-Reply-To: <20130406120830.GB4388@phare.normalesup.org> References: <20130406120830.GB4388@phare.normalesup.org> Message-ID: > Hello, > > sorry for the slightly off-topic e-mail. > > I'm currently working on a tutorial on image processing with > skimage aimed at undergraduate physics teachers. To show them how skimage > can be useful for them and their students, I wish to process images taken > from a video of a physics experiment (Brownian motion of particles, > granular segregation / Brazil nut effect, rising of bubbles in a viscous > fluids etc.). However, I'm having a hard time finding open data with a > suitable license (such as creative commons). > > Would you know a website that gathers a large number of open-data > educational / scientific movies, and in particular of science > experiments? That'd be very helpful. Would you be interested in live cell imaging ? > > Cheers, > Emmanuelle > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From emmanuelle.gouillart at nsup.org Sat Apr 6 08:21:03 2013 From: emmanuelle.gouillart at nsup.org (Emmanuelle Gouillart) Date: Sat, 6 Apr 2013 14:21:03 +0200 Subject: [OT] open-data movies of science experiments In-Reply-To: References: <20130406120830.GB4388@phare.normalesup.org> Message-ID: <20130406122103.GA22147@phare.normalesup.org> On Sat, Apr 06, 2013 at 02:13:56PM +0200, Nelle Varoquaux wrote: > > Would you know a website that gathers a large number of open-data > > educational / scientific movies, and in particular of science > > experiments? That'd be very helpful. > Would you be interested in live cell imaging ? Well, this is not what I was primarily looking for (my audience will consist mostly of physics teachers) but it could be interesting for other training sessions, or for the biology teachers. Do you know such a website for live cell imaging? Thanks for your help, Emmanuelle From nelle.varoquaux at gmail.com Sat Apr 6 08:42:52 2013 From: nelle.varoquaux at gmail.com (Nelle Varoquaux) Date: Sat, 6 Apr 2013 14:42:52 +0200 Subject: [OT] open-data movies of science experiments In-Reply-To: <20130406122103.GA22147@phare.normalesup.org> References: <20130406120830.GB4388@phare.normalesup.org> <20130406122103.GA22147@phare.normalesup.org> Message-ID: >> > Would you know a website that gathers a large number of open-data >> > educational / scientific movies, and in particular of science >> > experiments? That'd be very helpful. > >> Would you be interested in live cell imaging ? > > Well, this is not what I was primarily looking for (my audience will > consist mostly of physics teachers) but it could be interesting for other > training sessions, or for the biology teachers. Do you know such a > website for live cell imaging? I don't know any website, but cellcognition provides data samples with the opensource software. It is all published data: http://cellcognition.org/downloads/data > > Thanks for your help, > Emmanuelle > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From ralf.gommers at gmail.com Sat Apr 6 11:20:43 2013 From: ralf.gommers at gmail.com (Ralf Gommers) Date: Sat, 6 Apr 2013 17:20:43 +0200 Subject: imageio progress In-Reply-To: References: Message-ID: On Wed, Mar 27, 2013 at 3:33 PM, Almar Klein wrote: > Dear all, > > Several months ago, I decided to take the code for skimage's freeimage > plugin (which was originally written by Zach Pincus) and turn it into a > stand-alone library. I discussed with Zach and a few others how to proceed > with that, and it seemed that time was a limiting factor for many, so I > ended up doing most coding on my own. > > The project is called imageio and it is > now a plugin-based library with a relatively small core. The freeimage > plugin that started it all currently provides most file formats. Its now at > a stage where I think the core is pretty much finished, and focus can shift > towards different plugins for various scientific formats. But I am not > going to do that alone :) > > I could use some help with: > * People just trying it out. > * People checking the design of the classesand plugin > system . > * If possible, people checking out the code a bit. > * And of course, people writing plugins! > > The way I see it, imageio can become a common backend for reading and > writing images for several libraries (including skimage), or can function > stand-alone. > > Further, I plan on moving it to github to easier attract developers. > > Any help and comments is much appreciated, > Hi Almar, this looks interesting. I'm not really working with images anymore, but was tempted to try imageio out anyway. Installation was smooth, and the 16-bit TIFF image I tried loaded just fine (where PIL still chokes). So in it's current form I suspect it's already quite useful for some people. I haven't looked in enough detail to be able to comment on the classes/plugin design. An option to use imageio.imread/imsave (and/or skimage.io.imread/imsave) as an alternative to PIL from scipy.misc.imread/imshow would make sense to me. Cheers, Ralf -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Sat Apr 6 14:16:16 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Sat, 6 Apr 2013 20:16:16 +0200 Subject: [OT] open-data movies of science experiments In-Reply-To: <20130406120830.GB4388@phare.normalesup.org> References: <20130406120830.GB4388@phare.normalesup.org> Message-ID: Hi Emmanuelle On Apr 6, 2013 2:08 PM, "Emmanuelle Gouillart" < emmanuelle.gouillart at nsup.org> wrote: > I'm currently working on a tutorial on image processing with > skimage aimed at undergraduate physics teachers. To show them how skimage > can be useful for them and their students, I wish to process images taken > from a video of a physics experiment (Brownian motion of particles, > granular segregation / Brazil nut effect, rising of bubbles in a viscous > fluids etc.). However, I'm having a hard time finding open data with a > suitable license (such as creative commons). Have you had a look at MIT's Open Courseware? If they don't have it, perhaps we can record something for you. St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From marianne.corvellec at ens-lyon.org Sun Apr 7 14:59:21 2013 From: marianne.corvellec at ens-lyon.org (Marianne Corvellec) Date: Sun, 7 Apr 2013 11:59:21 -0700 (PDT) Subject: [OT] open-data movies of science experiments In-Reply-To: References: <20130406120830.GB4388@phare.normalesup.org> Message-ID: Hi Emmanuelle, On the biology side again (but biophysics is a big thing ;)), I'm fascinated with the OpenSPIM project and their data might be suitable: http://openspim.org/Gallery#OpenSPIM_data I haven't checked though. Marianne -------------- next part -------------- An HTML attachment was scrubbed... URL: From siddharthkherada27 at gmail.com Tue Apr 9 08:10:45 2013 From: siddharthkherada27 at gmail.com (siddharth kherada) Date: Tue, 9 Apr 2013 05:10:45 -0700 (PDT) Subject: GSOC 2013 Proposal In-Reply-To: References: <55c47858-e03f-4555-993b-cff90f52c8b4@googlegroups.com> Message-ID: <37086299-d66d-4ba4-a9e0-9fff2eb4010a@googlegroups.com> Thanks for the feedback. a) I want to point out that the domain transform filter is better than bilateral filter and can be used in various applications in which bilateral filter is used. b) Image denoising using non-local means method. Is this already implemented? http://inf.ufrgs.br/~eslgastal/AdaptiveManifolds/Gastal_Oliveira_SIGGRAPH2012_Adaptive_Manifolds.pdf c) Some Image Debluring techniques: 1) Deblur image using blind deconvolution 2) Deblur image using Lucy-Richardson method 3) Deblur image using regularized filter 4) Deblur image using Wiener filter What is your opinion about the above techniques? Best Regards, Siddharth On Tuesday, 9 April 2013 17:01:15 UTC+5:30, Stefan van der Walt wrote: > > Hi Siddharth > > On Tue, Apr 9, 2013 at 11:32 AM, siddharth kherada > > wrote: > > I am currently pursuing MS by Research in the field of image processing > at > > IIIT- Hyderabad, India. I am interested in working for Scikit-image this > > summer in a GSoC project. > > Thanks for getting in touch. Both these algorithms are cute, and > we'll consider PRs for them if they come in, but I don't think they > are major underlying parts of the library we'd want to spend a GSoC > on. If you are interested in this sort of thing, image deconvolution > may be more relevant. For GSoC, we'd like to implement algorithms > that will be useful across a wide array of disciplines, if possible. > > Also, we require that students who would like to participate in GSoC > first make other contributions to the project, so be sure to look at > the list of tickets and try to fix some of them, at a minimum. > > Regards > St?fan > -------------- next part -------------- An HTML attachment was scrubbed... URL: From abidrahman2 at gmail.com Tue Apr 9 12:40:26 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Tue, 9 Apr 2013 09:40:26 -0700 (PDT) Subject: Histogram backprojection Message-ID: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> Hi, I would like to add a feature on histogram backprojection as proposed by *Swain & Michael J.* in their paper *"Indexing via color histograms"*.. Earlier, I had written a simple article on that ( it was focussed for OpenCV) in my blog : http://opencvpython.blogspot.in/2013/03/histograms-4-back-projection.html. I can have some simple modification to it to integrate it into scikit-image. So I would like to know the opinion of senior developers on this proposal. Regards Abid K. -------------- next part -------------- An HTML attachment was scrubbed... URL: From abidrahman2 at gmail.com Tue Apr 9 14:37:28 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Tue, 9 Apr 2013 11:37:28 -0700 (PDT) Subject: Histogram backprojection In-Reply-To: References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> Message-ID: <5434cdd9-bede-4ed8-9f98-7f7ccba2961f@googlegroups.com> Hi, I ran into a problem with scikit installation in windows 7. I am using python 2.7 32 bit. python setup.py install shows error : Unable to find vcvarsall.bat. Any idea what it is? I googled and tried a lot of hacks, but still the same error. Any idea what it is? Meanwhile, I will switch into Fedora for backprojection work !!! Regards On Tuesday, 9 April 2013 22:26:52 UTC+5:30, Stefan van der Walt wrote: > > On Tue, Apr 9, 2013 at 6:51 PM, abid rahman > > wrote: > >> > > http://opencvpython.blogspot.in/2013/03/histograms-4-back-projection.html. > > > I got hold of it now, thanks. That looks very interesting, as does > > http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.132.5942 > > We look forward to your pull request! Let us know if you need any help. > > Regards > St?fan > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Tue Apr 9 07:31:15 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 9 Apr 2013 13:31:15 +0200 Subject: GSOC 2013 Proposal In-Reply-To: <55c47858-e03f-4555-993b-cff90f52c8b4@googlegroups.com> References: <55c47858-e03f-4555-993b-cff90f52c8b4@googlegroups.com> Message-ID: Hi Siddharth On Tue, Apr 9, 2013 at 11:32 AM, siddharth kherada wrote: > I am currently pursuing MS by Research in the field of image processing at > IIIT- Hyderabad, India. I am interested in working for Scikit-image this > summer in a GSoC project. Thanks for getting in touch. Both these algorithms are cute, and we'll consider PRs for them if they come in, but I don't think they are major underlying parts of the library we'd want to spend a GSoC on. If you are interested in this sort of thing, image deconvolution may be more relevant. For GSoC, we'd like to implement algorithms that will be useful across a wide array of disciplines, if possible. Also, we require that students who would like to participate in GSoC first make other contributions to the project, so be sure to look at the list of tickets and try to fix some of them, at a minimum. Regards St?fan From stefan at sun.ac.za Tue Apr 9 12:48:03 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 9 Apr 2013 18:48:03 +0200 Subject: Histogram backprojection In-Reply-To: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> Message-ID: Hi Abid On Tue, Apr 9, 2013 at 6:40 PM, abid rahman wrote: > I would like to add a feature on histogram backprojection as proposed by > Swain & Michael J. in their paper "Indexing via color histograms".. Earlier, > I had written a simple article on that ( it was focussed for OpenCV) in my > blog : > http://opencvpython.blogspot.in/2013/03/histograms-4-back-projection.html. For some reason, I get a blank blog entry page when I try to load that. Can anyone else see it? St?fan From stefan at sun.ac.za Tue Apr 9 12:56:52 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 9 Apr 2013 18:56:52 +0200 Subject: Histogram backprojection In-Reply-To: References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> Message-ID: On Tue, Apr 9, 2013 at 6:51 PM, abid rahman wrote: >> > http://opencvpython.blogspot.in/2013/03/histograms-4-back-projection.html. I got hold of it now, thanks. That looks very interesting, as does http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.132.5942 We look forward to your pull request! Let us know if you need any help. Regards St?fan From punchagan at gmail.com Tue Apr 9 12:49:38 2013 From: punchagan at gmail.com (Puneeth Chaganti) Date: Tue, 9 Apr 2013 22:19:38 +0530 Subject: Histogram backprojection In-Reply-To: References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> Message-ID: On Tue, Apr 9, 2013 at 10:18 PM, St?fan van der Walt wrote: > Hi Abid > > On Tue, Apr 9, 2013 at 6:40 PM, abid rahman wrote: >> I would like to add a feature on histogram backprojection as proposed by >> Swain & Michael J. in their paper "Indexing via color histograms".. Earlier, >> I had written a simple article on that ( it was focussed for OpenCV) in my >> blog : >> http://opencvpython.blogspot.in/2013/03/histograms-4-back-projection.html. > > For some reason, I get a blank blog entry page when I try to load > that. Can anyone else see it? It takes a short while (~20s?) to load. But, I can see it. From abidrahman2 at gmail.com Tue Apr 9 12:51:41 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Tue, 9 Apr 2013 22:21:41 +0530 Subject: Histogram backprojection In-Reply-To: References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> Message-ID: Sorry about that. I don't know what is the problem. It works fine for me. Please try base url : www.opencvpython.blogspot.in On Tue, Apr 9, 2013 at 10:18 PM, St?fan van der Walt wrote: > Hi Abid > > On Tue, Apr 9, 2013 at 6:40 PM, abid rahman wrote: > > I would like to add a feature on histogram backprojection as proposed by > > Swain & Michael J. in their paper "Indexing via color histograms".. > Earlier, > > I had written a simple article on that ( it was focussed for OpenCV) in > my > > blog : > > > http://opencvpython.blogspot.in/2013/03/histograms-4-back-projection.html. > > For some reason, I get a blank blog entry page when I try to load > that. Can anyone else see it? > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Abid K. opencvpython.blogspot.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Tue Apr 9 14:53:34 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Wed, 10 Apr 2013 00:23:34 +0530 Subject: Annoying gstreamer bug Message-ID: Hi All, Consider the following code, saved in a file called test.py: import gst I will bet that few among you would predict this output: $ python test.py -h Usage: test.py [OPTION...] - GStreamer initialization Help Options: -h, --help Show help options --help-all Show all help options --help-gst Show GStreamer Options It seems that someone forgot an if __name__ == '__main__' guard somewhere! Now, this would be none of our concern except for the following corollary: $ python -c 'from skimage.io.collection import alphanumeric_key' -h Usage: -c [OPTION...] - GStreamer initialization Help Options: -h, --help Show help options --help-all Show all help options --help-gst Show GStreamer Options Now, I don't know how to fix this, because it make sense that `io` would import `video` (although `from .video import *` is sloppy). But any suggestions are very very welcome. Juan. -------------- next part -------------- An HTML attachment was scrubbed... URL: From abidrahman2 at gmail.com Wed Apr 10 07:13:52 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Wed, 10 Apr 2013 04:13:52 -0700 (PDT) Subject: Histogram backprojection In-Reply-To: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> Message-ID: Doesn't scikit-image has a 2d convolution function like cv2.filter2D in OpenCV which enables convolution of an image (or any numpy array) with custom kernel ? On Tuesday, 9 April 2013 22:10:26 UTC+5:30, abid rahman wrote: > > Hi, > > I would like to add a feature on histogram backprojection as proposed by *Swain > & Michael J.* in their paper *"Indexing via color histograms"*.. Earlier, > I had written a simple article on that ( it was focussed for OpenCV) in my > blog : > http://opencvpython.blogspot.in/2013/03/histograms-4-back-projection.html. > > I can have some simple modification to it to integrate it into > scikit-image. So I would like to know the opinion of senior developers on > this proposal. > > Regards > Abid K. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From siddharthkherada27 at gmail.com Wed Apr 10 07:49:22 2013 From: siddharthkherada27 at gmail.com (siddharth kherada) Date: Wed, 10 Apr 2013 04:49:22 -0700 (PDT) Subject: GSOC 2013 Proposal In-Reply-To: <37086299-d66d-4ba4-a9e0-9fff2eb4010a@googlegroups.com> References: <55c47858-e03f-4555-993b-cff90f52c8b4@googlegroups.com> <37086299-d66d-4ba4-a9e0-9fff2eb4010a@googlegroups.com> Message-ID: <2d464203-1b1a-4b19-8324-39f4105383ce@googlegroups.com> any comments? On Tuesday, 9 April 2013 17:40:45 UTC+5:30, siddharth kherada wrote: > > Thanks for the feedback. > > a) I want to point out that the domain transform filter is better than > bilateral filter and can be used in various applications in which bilateral > filter is used. > > b) Image denoising using non-local means method. Is this already > implemented? > > > http://inf.ufrgs.br/~eslgastal/AdaptiveManifolds/Gastal_Oliveira_SIGGRAPH2012_Adaptive_Manifolds.pdf > > c) Some Image Debluring techniques: > > 1) Deblur image using blind deconvolution > 2) Deblur image using Lucy-Richardson method > 3) Deblur image using regularized filter > 4) Deblur image using Wiener filter > > What is your opinion about the above techniques? > > Best Regards, > Siddharth > > On Tuesday, 9 April 2013 17:01:15 UTC+5:30, Stefan van der Walt wrote: >> >> Hi Siddharth >> >> On Tue, Apr 9, 2013 at 11:32 AM, siddharth kherada >> wrote: >> > I am currently pursuing MS by Research in the field of image processing >> at >> > IIIT- Hyderabad, India. I am interested in working for Scikit-image >> this >> > summer in a GSoC project. >> >> Thanks for getting in touch. Both these algorithms are cute, and >> we'll consider PRs for them if they come in, but I don't think they >> are major underlying parts of the library we'd want to spend a GSoC >> on. If you are interested in this sort of thing, image deconvolution >> may be more relevant. For GSoC, we'd like to implement algorithms >> that will be useful across a wide array of disciplines, if possible. >> >> Also, we require that students who would like to participate in GSoC >> first make other contributions to the project, so be sure to look at >> the list of tickets and try to fix some of them, at a minimum. >> >> Regards >> St?fan >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Wed Apr 10 07:09:08 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Wed, 10 Apr 2013 13:09:08 +0200 Subject: =?ISO-8859-1?Q?Montr=E9al_scikit=2Dimage_overview_=28in_French=29?= Message-ID: Hi all Marianne Corvellec gave a very nice overview of scikit-image at the Montr?al Python user group: http://youtu.be/fqCu6kkPNxU Have a look! St?fan From silvertrumpet999 at gmail.com Wed Apr 10 20:35:19 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Wed, 10 Apr 2013 17:35:19 -0700 (PDT) Subject: Histogram backprojection In-Reply-To: <5434cdd9-bede-4ed8-9f98-7f7ccba2961f@googlegroups.com> References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> <5434cdd9-bede-4ed8-9f98-7f7ccba2961f@googlegroups.com> Message-ID: <165f785b-fb0e-40b1-98dd-16dd8b3538e3@googlegroups.com> The message Unable to find vcvarsall.bat means it's looking for the Visual C++ compiler and can't find it installed. If you want to develop on Windows, I believe this compiler is freely available in Visual Studio 2008. Some all-in-one distributions use workarounds for different compilers on Windows, commonly mingw32 (Python(x,y) uses this option), or pre-compiled binaries (the most used set I'm aware of is provided by Christopher Gohlke: http://www.lfd.uci.edu/~gohlke/pythonlibs/) though you obviously can't easily develop using a precompiled binary. Personally, I think you'll be happier all around if you develop on a *NIX like Fedora, Ubuntu, Linux Mint, or Scientific Linux. On Tuesday, April 9, 2013 1:37:28 PM UTC-5, abid rahman wrote: > > Hi, > > I ran into a problem with scikit installation in windows 7. I am using > python 2.7 32 bit. python setup.py install shows error : Unable to find > vcvarsall.bat. > > Any idea what it is? I googled and tried a lot of hacks, but still the > same error. Any idea what it is? > > Meanwhile, I will switch into Fedora for backprojection work !!! > > Regards > > On Tuesday, 9 April 2013 22:26:52 UTC+5:30, Stefan van der Walt wrote: >> >> On Tue, Apr 9, 2013 at 6:51 PM, abid rahman wrote: >> >> > >> http://opencvpython.blogspot.in/2013/03/histograms-4-back-projection.html. >> >> >> I got hold of it now, thanks. That looks very interesting, as does >> >> http://citeseerx.ist.psu.edu/viewdoc/summary?doi=10.1.1.132.5942 >> >> We look forward to your pull request! Let us know if you need any help. >> >> Regards >> St?fan >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From silvertrumpet999 at gmail.com Wed Apr 10 20:38:12 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Wed, 10 Apr 2013 17:38:12 -0700 (PDT) Subject: Histogram backprojection In-Reply-To: References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> Message-ID: <8ccbd420-50c1-43c8-a21f-76011bbc2156@googlegroups.com> I believe we generally leverage the convolution tools in `scipy.ndimage`. On a high level, the scikit-image project is an extension toolkit for SciPy so we generally* don't reinvent the wheel. * there are always exceptions. On Wednesday, April 10, 2013 6:13:52 AM UTC-5, abid rahman wrote: > > Doesn't scikit-image has a 2d convolution function like cv2.filter2D in > OpenCV which enables convolution of an image (or any numpy array) with > custom kernel ? > > On Tuesday, 9 April 2013 22:10:26 UTC+5:30, abid rahman wrote: >> >> Hi, >> >> I would like to add a feature on histogram backprojection as proposed by >> *Swain & Michael J.* in their paper *"Indexing via color histograms"*.. >> Earlier, I had written a simple article on that ( it was focussed for >> OpenCV) in my blog : >> http://opencvpython.blogspot.in/2013/03/histograms-4-back-projection.html. >> >> I can have some simple modification to it to integrate it into >> scikit-image. So I would like to know the opinion of senior developers on >> this proposal. >> >> Regards >> Abid K. >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Wed Apr 10 23:53:17 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Wed, 10 Apr 2013 22:53:17 -0500 Subject: Histogram backprojection In-Reply-To: References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> <8ccbd420-50c1-43c8-a21f-76011bbc2156@googlegroups.com> Message-ID: On Wed, Apr 10, 2013 at 9:12 PM, abid rahman wrote: > > But it makes another question : If scipy.ndimage is there and scikit is > using scipy, what is the need of scikit-image ? scipy.ndimage itself is a > good library. > Hi Abid, You should think of `scikit-image` as a complement to `scipy.ndimage`: `scikit-image` adds additional capabilities to what is provided by `scipy.ndimage`. In fact, the maintainers of `scipy.ndimage` are Stefan van der Walt, the creator of `scikit-image`, and Thouis (Ray) Jones, a frequent contributor. Part of the rationale for the development of scikits (not just `scikit-image`) was a faster, independent development cycle. This has allowed the SciPy Stack (I think that's the tentative name for the entire scientific python ecosystem, not just `scipy` the package) to grow much faster than before. Cheers, -Tony > Regards > > > On Thu, Apr 11, 2013 at 6:08 AM, Josh Warner wrote: > >> I believe we generally leverage the convolution tools in `scipy.ndimage`. >> On a high level, the scikit-image project is an extension toolkit for SciPy >> so we generally* don't reinvent the wheel. >> >> * there are always exceptions. >> >> >> On Wednesday, April 10, 2013 6:13:52 AM UTC-5, abid rahman wrote: >>> >>> Doesn't scikit-image has a 2d convolution function like cv2.filter2D in >>> OpenCV which enables convolution of an image (or any numpy array) with >>> custom kernel ? >>> >>> On Tuesday, 9 April 2013 22:10:26 UTC+5:30, abid rahman wrote: >>>> >>>> Hi, >>>> >>>> I would like to add a feature on histogram backprojection as proposed >>>> by *Swain & Michael J.* in their paper *"Indexing via color histograms" >>>> *.. Earlier, I had written a simple article on that ( it was focussed >>>> for OpenCV) in my blog : http://opencvpython.blogspot.** >>>> in/2013/03/histograms-4-back-**projection.html. >>>> >>>> I can have some simple modification to it to integrate it into >>>> scikit-image. So I would like to know the opinion of senior developers on >>>> this proposal. >>>> >>>> Regards >>>> Abid K. >>>> >>> -- >> You received this message because you are subscribed to the Google Groups >> "scikit-image" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to scikit-image+unsubscribe at googlegroups.com. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > > > -- > Abid K. > opencvpython.blogspot.com > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From abidrahman2 at gmail.com Wed Apr 10 22:12:17 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Thu, 11 Apr 2013 07:42:17 +0530 Subject: Histogram backprojection In-Reply-To: <8ccbd420-50c1-43c8-a21f-76011bbc2156@googlegroups.com> References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> <8ccbd420-50c1-43c8-a21f-76011bbc2156@googlegroups.com> Message-ID: Hi Josh Warner, Thanks for both your replies. It is fine with Fedora. I have started the work And In that case I will go on with SciPy functions available. But it makes another question : If scipy.ndimage is there and scikit is using scipy, what is the need of scikit-image ? scipy.ndimage itself is a good library. Regards On Thu, Apr 11, 2013 at 6:08 AM, Josh Warner wrote: > I believe we generally leverage the convolution tools in `scipy.ndimage`. > On a high level, the scikit-image project is an extension toolkit for SciPy > so we generally* don't reinvent the wheel. > > * there are always exceptions. > > > On Wednesday, April 10, 2013 6:13:52 AM UTC-5, abid rahman wrote: >> >> Doesn't scikit-image has a 2d convolution function like cv2.filter2D in >> OpenCV which enables convolution of an image (or any numpy array) with >> custom kernel ? >> >> On Tuesday, 9 April 2013 22:10:26 UTC+5:30, abid rahman wrote: >>> >>> Hi, >>> >>> I would like to add a feature on histogram backprojection as proposed by >>> *Swain & Michael J.* in their paper *"Indexing via color histograms"*.. >>> Earlier, I had written a simple article on that ( it was focussed for >>> OpenCV) in my blog : http://opencvpython.blogspot.** >>> in/2013/03/histograms-4-back-**projection.html. >>> >>> I can have some simple modification to it to integrate it into >>> scikit-image. So I would like to know the opinion of senior developers on >>> this proposal. >>> >>> Regards >>> Abid K. >>> >> -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Abid K. opencvpython.blogspot.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Thu Apr 11 04:32:25 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 11 Apr 2013 10:32:25 +0200 Subject: Annoying gstreamer bug In-Reply-To: References: Message-ID: Hi Juan On Thu, Apr 11, 2013 at 10:28 AM, Juan Nunez-Iglesias wrote: > Is no one concerned that anyone writing a command-line tool that leverages > skimage.io will have their help menu overridden? (If they have GStreamer > installed.) This is a bug--I have it fixed in one of my branches, but looks like I forgot to make a PR. I'll see if I can track it down. I think what stopped me is that I realized that the gstreamer video reading is somewhat broken, and tried to get it up and running properly (which I never did). St?fan From jni.soma at gmail.com Thu Apr 11 04:28:23 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Thu, 11 Apr 2013 13:58:23 +0530 Subject: Annoying gstreamer bug In-Reply-To: References: Message-ID: Is no one concerned that anyone writing a command-line tool that leverages skimage.io will have their help menu overridden? (If they have GStreamer installed.) On Wed, Apr 10, 2013 at 12:23 AM, Juan Nunez-Iglesias wrote: > Hi All, > > Consider the following code, saved in a file called test.py: > > import gst > > I will bet that few among you would predict this output: > > $ python test.py -h > Usage: > test.py [OPTION...] - GStreamer initialization > > Help Options: > -h, --help Show help options > --help-all Show all help options > --help-gst Show GStreamer Options > > > It seems that someone forgot an > > if __name__ == '__main__' > guard somewhere! > > Now, this would be none of our concern except for the following corollary: > > $ python -c 'from skimage.io.collection import alphanumeric_key' -h > Usage: > -c [OPTION...] - GStreamer initialization > > Help Options: > -h, --help Show help options > --help-all Show all help options > --help-gst Show GStreamer Options > > > Now, I don't know how to fix this, because it make sense that `io` would > import `video` (although `from .video import *` is sloppy). But any > suggestions are very very welcome. > > Juan. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From google at terre-adelie.org Thu Apr 11 14:49:18 2013 From: google at terre-adelie.org (=?ISO-8859-1?Q?J=E9r=F4me?= Kieffer) Date: Thu, 11 Apr 2013 20:49:18 +0200 Subject: Histogram backprojection In-Reply-To: References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> Message-ID: <20130411204918.082ffee4.google@terre-adelie.org> On Wed, 10 Apr 2013 04:13:52 -0700 (PDT) abid rahman wrote: > Doesn't scikit-image has a 2d convolution function like cv2.filter2D in > OpenCV which enables convolution of an image (or any numpy array) with > custom kernel ? Convolution can be done in Fourier space, especially if the kernel is large ... I do that often, especially on nvidia GPU where FFT is for free. I will have a trainee working on more generic 2D convolutions using OpenCL, this summer. Cheers, -- J?r?me Kieffer From kmichael.aye at gmail.com Fri Apr 12 01:19:30 2013 From: kmichael.aye at gmail.com (Michael Aye) Date: Thu, 11 Apr 2013 22:19:30 -0700 (PDT) Subject: Coordinate overlap in two labelled images In-Reply-To: References: <836abfe6-8997-4c61-bea2-d68a2750c298@googlegroups.com> Message-ID: <134bcfac-246a-4d4f-8c5b-519405293af3@googlegroups.com> Great stuff, Juan, clear and concise. Thanks very much, it's very instructive! On Tuesday, April 2, 2013 9:33:11 PM UTC-7, Juan Nunez-Iglesias wrote: > > Suggestion number 3. I'll deal with each of three interpretations of your > question. Suppose your images are im1 and im2. Now, you might want 1) of > the regions in im1, the ones that intersect over at least 1 pixel with > regions of im2; 2) the regions that are part of regions in both im1 and im2 > (ie the intersection of regions in im1 and im2); or 3) the union of regions > of im1 and im2 that have at least one pixel intersection with the other > image. > > The last example assumes the union'ed regions don't touch each other. > > Then: > > In [1]: import scipy.ndimage as nd > > In [2]: im1 = np.array([[0, 0, 0, 0], [1, 1, 0, 2], [0, 0, 0, 2]]) > > In [3]: im1 > Out[3]: > array([[0, 0, 0, 0], > [1, 1, 0, 2], > [0, 0, 0, 2]]) > > In [4]: im2 = np.array([[0, 1, 0, 0], [0, 1, 0, 0], [0, 1, 0, 0]]) > > In [5]: im2 > Out[5]: > array([[0, 1, 0, 0], > [0, 1, 0, 0], > [0, 1, 0, 0]]) > > In [6]: intersect = im1.astype(bool) * im2.astype(bool) > > In [7]: intersect > Out[7]: > array([[False, False, False, False], > [False, True, False, False], > [False, False, False, False]], dtype=bool) > > In [8]: overlap_labels1 = np.unique(im1[intersect]) > > In [9]: selector = np.zeros(im1.max() + 1, int) > > In [10]: selector[overlap_labels1] = arange(1, len(overlap_labels1) + 1) > > In [11]: reg1 = selector[im1] > > In [12]: reg1 > Out[12]: > array([[0, 0, 0, 0], > [1, 1, 0, 0], > [0, 0, 0, 0]]) > > In [13]: reg2 = nd.label(intersect)[0] > > In [14]: reg2 > Out[14]: > array([[0, 0, 0, 0], > [0, 1, 0, 0], > [0, 0, 0, 0]], dtype=int32) > > In [15]: overlap_labels2 = np.unique(im2[intersect]) > > In [16]: selector2 = np.zeros(im2.max() + 1, int) > > In [17]: selector2[overlap_labels2] = 1 > > In [18]: nonzero_pixels = reg1 + selector2[im2] > > In [19]: reg3 = nd.label(nonzero_pixels)[0] > > In [20]: reg3 > Out[20]: > array([[0, 1, 0, 0], > [1, 1, 0, 0], > [0, 1, 0, 0]], dtype=int32) > > > > > > On Wed, Apr 3, 2013 at 5:52 AM, St?fan van der Walt > > wrote: > >> Hi Stuart >> >> On Tue, Apr 2, 2013 at 7:04 PM, Stuart Mumford > >> wrote: >> > I am using your (amazingly fast) label image routines and regionprops >> to extract the coordinates of the regions in two images. I need to filter >> these objects out if they do not overlap in both the images, then renumber >> all the remaining regions. At the moment I am doing something unspeakable >> with nested loops and sets which is pretty damn slow; I was hoping someone >> here would have a really clever idea on how to solve this. Failing that >> does anyone know how I can find the number of coordinates (output from >> regionprops) that overlap in two numpy arrays? >> >> You can use join_segmentations to find an intersection of your two >> label maps. Then, walk through the newly formed regions and check at >> each point whether the object exists in both images (that way, you >> don't have so many comparisons to do). >> >> >> http://scikit-image.org/docs/dev/auto_examples/plot_join_segmentations.html >> >> If that's not exactly what you had in mind, you can use this code to >> find all the connected regions in an image: >> >> https://github.com/stefanv/lulu/blob/master/lulu/base.pyx#L21 >> >> These regions are encoded sparsely, and testing their intersection is >> very fast (see the algorithm section of this paper: >> https://scholar.sun.ac.za/handle/10019.1/4883). >> >> I hope that helps! >> St?fan >> >> -- >> You received this message because you are subscribed to the Google Groups >> "scikit-image" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to scikit-image... at googlegroups.com . >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Thu Apr 11 17:41:35 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 11 Apr 2013 23:41:35 +0200 Subject: Histogram backprojection In-Reply-To: <20130411204918.082ffee4.google@terre-adelie.org> References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> <20130411204918.082ffee4.google@terre-adelie.org> Message-ID: On Apr 11, 2013 8:49 PM, "J?r?me Kieffer" wrote: > > On Wed, 10 Apr 2013 04:13:52 -0700 (PDT) > abid rahman wrote: > > > Doesn't scikit-image has a 2d convolution function like cv2.filter2D in > > OpenCV which enables convolution of an image (or any numpy array) with > > custom kernel ? > > Convolution can be done in Fourier space, especially if the kernel is large ... I do that often, especially on nvidia GPU where FFT is for free. SciPy also provides fftconvolve, for what it's worth. Looking forward to seeing those opencl codes! (We have to reopen the backend discussion soon) St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From siddharthkherada27 at gmail.com Fri Apr 12 06:10:31 2013 From: siddharthkherada27 at gmail.com (siddharth kherada) Date: Fri, 12 Apr 2013 03:10:31 -0700 (PDT) Subject: GSOC 2013 Proposal In-Reply-To: <2d464203-1b1a-4b19-8324-39f4105383ce@googlegroups.com> References: <55c47858-e03f-4555-993b-cff90f52c8b4@googlegroups.com> <37086299-d66d-4ba4-a9e0-9fff2eb4010a@googlegroups.com> <2d464203-1b1a-4b19-8324-39f4105383ce@googlegroups.com> Message-ID: <7c02c427-53a7-42a8-8df7-17ec11b896bf@googlegroups.com> @stefan Can you please reply on how to move forward? I have send you a personal mail also. Thanks, Siddharth On Wednesday, 10 April 2013 17:19:22 UTC+5:30, siddharth kherada wrote: > > any comments? > > On Tuesday, 9 April 2013 17:40:45 UTC+5:30, siddharth kherada wrote: >> >> Thanks for the feedback. >> >> a) I want to point out that the domain transform filter is better than >> bilateral filter and can be used in various applications in which bilateral >> filter is used. >> >> b) Image denoising using non-local means method. Is this already >> implemented? >> >> >> http://inf.ufrgs.br/~eslgastal/AdaptiveManifolds/Gastal_Oliveira_SIGGRAPH2012_Adaptive_Manifolds.pdf >> >> c) Some Image Debluring techniques: >> >> 1) Deblur image using blind deconvolution >> 2) Deblur image using Lucy-Richardson method >> 3) Deblur image using regularized filter >> 4) Deblur image using Wiener filter >> >> What is your opinion about the above techniques? >> >> Best Regards, >> Siddharth >> >> On Tuesday, 9 April 2013 17:01:15 UTC+5:30, Stefan van der Walt wrote: >>> >>> Hi Siddharth >>> >>> On Tue, Apr 9, 2013 at 11:32 AM, siddharth kherada >>> wrote: >>> > I am currently pursuing MS by Research in the field of image >>> processing at >>> > IIIT- Hyderabad, India. I am interested in working for Scikit-image >>> this >>> > summer in a GSoC project. >>> >>> Thanks for getting in touch. Both these algorithms are cute, and >>> we'll consider PRs for them if they come in, but I don't think they >>> are major underlying parts of the library we'd want to spend a GSoC >>> on. If you are interested in this sort of thing, image deconvolution >>> may be more relevant. For GSoC, we'd like to implement algorithms >>> that will be useful across a wide array of disciplines, if possible. >>> >>> Also, we require that students who would like to participate in GSoC >>> first make other contributions to the project, so be sure to look at >>> the list of tickets and try to fix some of them, at a minimum. >>> >>> Regards >>> St?fan >>> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Fri Apr 12 06:17:06 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 12 Apr 2013 12:17:06 +0200 Subject: GSOC 2013 Proposal In-Reply-To: <37086299-d66d-4ba4-a9e0-9fff2eb4010a@googlegroups.com> References: <55c47858-e03f-4555-993b-cff90f52c8b4@googlegroups.com> <37086299-d66d-4ba4-a9e0-9fff2eb4010a@googlegroups.com> Message-ID: Hi Siddhart On Tue, Apr 9, 2013 at 2:10 PM, siddharth kherada wrote: > a) I want to point out that the domain transform filter is better than > bilateral filter and can be used in various applications in which bilateral > filter is used. That may well be, but it's not something that users have expressed great demand for so far. > b) Image denoising using non-local means method. Is this already > implemented? This is definitely of interest, but not wide enough in scope for a GSoC. If you want to tackle this sort of problem, you may want to propose implementing a wide array of denoising methods, in order to compare them all. > c) Some Image Debluring techniques: > > 1) Deblur image using blind deconvolution > 2) Deblur image using Lucy-Richardson method > 3) Deblur image using regularized filter > 4) Deblur image using Wiener filter > > What is your opinion about the above techniques? I would like to see an implementation of the blind deconvolution algorithm shown by Adobe: https://groups.google.com/d/topic/scikit-image/phSilruONQE/discussion The other algorithms above would be good to have as a baseline comparison. Regards St?fan From stefan at sun.ac.za Fri Apr 12 08:06:16 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 12 Apr 2013 14:06:16 +0200 Subject: multi-page TIFF writer In-Reply-To: References: Message-ID: Hi Juan On Fri, Apr 12, 2013 at 1:46 PM, Juan Nunez-Iglesias wrote: > Do any of you know about writing a numpy array to a multi-page TIFF file in > Python? Last time I checked, you could only read those with PIL, not write. > A quick Googling led me to Tiffany, but it doesn't seem to be particularly > numpy-friendly... The freeimage plugin has code for this already, although we still need to implement an "imsave_collection" wrapper. Grep for "write_multipage". Regards St?fan From hadrien.mary at gmail.com Fri Apr 12 08:43:42 2013 From: hadrien.mary at gmail.com (Hadrien Mary) Date: Fri, 12 Apr 2013 14:43:42 +0200 Subject: multi-page TIFF writer In-Reply-To: References: Message-ID: Hi Juan, You should have a look at the excellent tiffile.py: http://www.lfd.uci.edu/~gohlke/code/tifffile.py.html -- Hadrien Mary Ph.D student in Biology Tournier-Gachet Team CNRS - LBCMCP - UMR 5088 Universit? de Toulouse - B?t. 4R3B1 118, route de Narbonne - 31062 Toulouse On Fri, Apr 12, 2013 at 2:06 PM, St?fan van der Walt wrote: > Hi Juan > > On Fri, Apr 12, 2013 at 1:46 PM, Juan Nunez-Iglesias > wrote: > > Do any of you know about writing a numpy array to a multi-page TIFF file > in > > Python? Last time I checked, you could only read those with PIL, not > write. > > A quick Googling led me to Tiffany, but it doesn't seem to be > particularly > > numpy-friendly... > > The freeimage plugin has code for this already, although we still need > to implement an "imsave_collection" wrapper. Grep for > "write_multipage". > > Regards > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Fri Apr 12 09:26:34 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 12 Apr 2013 15:26:34 +0200 Subject: multi-page TIFF writer In-Reply-To: References: Message-ID: On Fri, Apr 12, 2013 at 2:43 PM, Hadrien Mary wrote: > You should have a look at the excellent tiffile.py: > http://www.lfd.uci.edu/~gohlke/code/tifffile.py.html We also have an I/O plugin for that, but again without the "imsave_collection" unfctionality. It would be great if someone could add that. St?fan From google at terre-adelie.org Fri Apr 12 09:56:59 2013 From: google at terre-adelie.org (Jerome Kieffer) Date: Fri, 12 Apr 2013 15:56:59 +0200 Subject: multi-page TIFF writer In-Reply-To: References: Message-ID: <20130412155659.fa019385.google@terre-adelie.org> On Fri, 12 Apr 2013 17:16:46 +0530 Juan Nunez-Iglesias wrote: > Hi everyone, > > Do any of you know about *writing* a numpy array to a multi-page TIFF file > in Python? Last time I checked, you could only read those with PIL, not > write. A quick Googling led me to > Tiffany, > but it doesn't seem to be particularly numpy-friendly... Have a look at TiffIO from PyMca (or FabIO which are the same) which has this capabilities. Cheers, -- Jerome Kieffer From jni.soma at gmail.com Fri Apr 12 07:46:46 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Fri, 12 Apr 2013 17:16:46 +0530 Subject: multi-page TIFF writer Message-ID: Hi everyone, Do any of you know about *writing* a numpy array to a multi-page TIFF file in Python? Last time I checked, you could only read those with PIL, not write. A quick Googling led me to Tiffany, but it doesn't seem to be particularly numpy-friendly... Thanks! Juan. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Fri Apr 12 07:50:55 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Fri, 12 Apr 2013 17:20:55 +0530 Subject: Coordinate overlap in two labelled images In-Reply-To: <134bcfac-246a-4d4f-8c5b-519405293af3@googlegroups.com> References: <836abfe6-8997-4c61-bea2-d68a2750c298@googlegroups.com> <134bcfac-246a-4d4f-8c5b-519405293af3@googlegroups.com> Message-ID: On Fri, Apr 12, 2013 at 10:49 AM, Michael Aye wrote: > Great stuff, Juan, clear and concise. Thanks very much, it's very > instructive! Thanks! =) -------------- next part -------------- An HTML attachment was scrubbed... URL: From google at terre-adelie.org Sat Apr 13 02:44:23 2013 From: google at terre-adelie.org (=?ISO-8859-1?Q?J=E9r=F4me?= Kieffer) Date: Sat, 13 Apr 2013 08:44:23 +0200 Subject: Histogram backprojection In-Reply-To: References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> <20130411204918.082ffee4.google@terre-adelie.org> Message-ID: <20130413084423.85077a04.google@terre-adelie.org> On Thu, 11 Apr 2013 23:41:35 +0200 St?fan van der Walt wrote: > On Apr 11, 2013 8:49 PM, "J?r?me Kieffer" wrote: > > > > On Wed, 10 Apr 2013 04:13:52 -0700 (PDT) > > abid rahman wrote: > > > > > Doesn't scikit-image has a 2d convolution function like cv2.filter2D in > > > OpenCV which enables convolution of an image (or any numpy array) with > > > custom kernel ? > > > > Convolution can be done in Fourier space, especially if the kernel is > large ... I do that often, especially on nvidia GPU where FFT is for free. > > SciPy also provides fftconvolve, for what it's worth. I was surprised to figure out that fftpack (from numpy) can be faster than fftw depending on the input size... I guess it is not more than: numpy.fft.ifft2(numpy.fft.fft2(A)*numpy.fft.fft2(B).conjuguate()) > Looking forward to seeing those opencl codes! (We have to reopen the > backend discussion soon) If cuda is an option, then I have implementations based on cufft which are really efficient (but most of us could do it so trivial it is). I consider openCL is both cleaner and more promising for open source (even if less easy) Cheers, -- J?r?me Kieffer From stefan at sun.ac.za Sun Apr 14 12:15:55 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Sun, 14 Apr 2013 18:15:55 +0200 Subject: Google Summer of Code 2013 In-Reply-To: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> References: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> Message-ID: Hi Umesh On Sun, Apr 14, 2013 at 10:39 AM, Umesh Sharma wrote: > > I have gone through the Google summer of code ideas > list of scikit-learn , I am very interested in working on implementation of > Image segmentation algorithms and also feature extraction . I have done > implemented otsu image thresholding algorithm . I know the theory of image > segmentation . So can you tell me what to do now as next step . > The first step towards a GSoC is to bond with the community, by way of contributing a few pull requests; e.g., you may fix a couple of existing bugs, or contribute a new feature. We're looking forward to seeing your work. Best regards St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Sun Apr 14 12:20:50 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Sun, 14 Apr 2013 18:20:50 +0200 Subject: GSoC 2013 Pre-roposal In-Reply-To: <55634864-daa7-4030-aae4-1ae065293dc8@googlegroups.com> References: <55634864-daa7-4030-aae4-1ae065293dc8@googlegroups.com> Message-ID: Hi Raunaq On Sun, Apr 14, 2013 at 12:53 AM, Raunaq Vohra wrote: > I have never really contributed to an open-source project, so I'm very > green (in fact, just finished with a minor bugfix, putting up a pull > request soon), but I'm very eager to learn and I hope I can do so - in > whatever capacity - over the next few months. At the very least, I hope to > contribute more actively to this project and meet like-minded people. > We're always very glad to have new and motivated people on board. My proposal for this year's GSoC is to implement image segmentation > algorithms like the graph cut and normalized cut algorithms. I have a fair > idea about the normalized cut method through a paper (Segmenting Point > Sets, Yamazaki, Natarajan, Bai & Hasmann, University of California, Davis) > and Shi & Malik's Eigenvector method and will study more about the others > as well. > There's quite a bit of interest in implementing image segmentation algorithms, so I suggest also having a backup project idea. The ideas on the wiki page are not the only feasible ones--so use them as guidelines, but feel free to suggest others. > I hope to find a mentor who can guide me with this. I would really > appreciate it if someone could help with the same as I'm a little foggy > about whom I should speak with. > The mentors for this year's GSoC will be Emmanuelle Gouillart, Johannes Sch?nberger, Tony Yu and myself, along with any other interested members of the team. This mailing list is the right place to discuss project proposals. Thanks for your bug-fix PR. It looks like that one was already done by Johannes, but fortunately there are plenty of others where that came from :) Regards St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Mon Apr 15 06:39:52 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Mon, 15 Apr 2013 03:39:52 -0700 (PDT) Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> Message-ID: Hi Johannes, Thank you for your reply. I made a new clone and compiled it. As compared to my previous log , this timetoo I got non-existing path error but only once(previously I got two). Any idea on what might be causing this? Both the times, I also get these two lines 1. warning: no files found matching 'setup.cfg' 2. no previously-included directories found matching 'doc/build' Any solution? Thank you for your help. Regards, Ankit. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jschoenberger at demuc.de Mon Apr 15 01:45:22 2013 From: jschoenberger at demuc.de (=?iso-8859-1?Q?Johannes_Sch=F6nberger?=) Date: Mon, 15 Apr 2013 07:45:22 +0200 Subject: Errors while compiling and $make coverage In-Reply-To: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> Message-ID: Hi, It seems you do not have all the necessary files. Look at the top, where the Cython compilation takes place and the output is: non-existing path in 'skimage/morphology': '_convex_hull.c' Try to make a new, clean clone of the repository and recompile. I also recommend you to use virtualenv(-wrapper) to install packages. Johannes Sch?nberger Am 15.04.2013 um 02:52 schrieb Ankit Agrawal : > Hi everyone, > > I am having some issues with compilation. This is what I did. > > 1. cloned the repo from github. > 2. for installation : $ sudo python setup.py install > > this generates the following log : http://pastebin.com/WnAtinFK > > I also noticed that the .pyc and .c files that got generated had only read-only access. > > To test further, I did > > 3. $ make coverage > > which generated this log : http://pastebin.com/LySbvnPG , probably because it could not access the .c files. Can anybody help me out by pointing if I am doing something wrong? Thank you. > > Regards, > Ankit Agrawal. > > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From ronvohra at gmail.com Mon Apr 15 16:47:51 2013 From: ronvohra at gmail.com (Raunaq Vohra) Date: Mon, 15 Apr 2013 13:47:51 -0700 (PDT) Subject: GSoC 2013 Pre-roposal In-Reply-To: References: <55634864-daa7-4030-aae4-1ae065293dc8@googlegroups.com> Message-ID: <5c7d72df-6f31-4f1a-b957-826b6cbd7897@googlegroups.com> Thanks for your reply! I'm not sure if people are working on this right now, but would it be possible for me to work on an implementation of the Stroke Width Transform for text detection? I read the paper today and tried putting in a little work on it after stumbling upon it in the open issues. I was a little flustered when I realized that converting my image to dtype uint8 for the rank filter made it difficult to get clear results. But I'd really love to take this a lot further, if possible. Regards Raunaq On Sunday, April 14, 2013 9:50:50 PM UTC+5:30, Stefan van der Walt wrote: > > Hi Raunaq > > On Sun, Apr 14, 2013 at 12:53 AM, Raunaq Vohra > > wrote: > >> I have never really contributed to an open-source project, so I'm very >> green (in fact, just finished with a minor bugfix, putting up a pull >> request soon), but I'm very eager to learn and I hope I can do so - in >> whatever capacity - over the next few months. At the very least, I hope to >> contribute more actively to this project and meet like-minded people. >> > > We're always very glad to have new and motivated people on board. > > My proposal for this year's GSoC is to implement image segmentation >> algorithms like the graph cut and normalized cut algorithms. I have a fair >> idea about the normalized cut method through a paper (Segmenting Point >> Sets, Yamazaki, Natarajan, Bai & Hasmann, University of California, Davis) >> and Shi & Malik's Eigenvector method and will study more about the others >> as well. >> > > There's quite a bit of interest in implementing image segmentation > algorithms, so I suggest also having a backup project idea. The ideas on > the wiki page are not the only feasible ones--so use them as guidelines, > but feel free to suggest others. > > >> I hope to find a mentor who can guide me with this. I would really >> appreciate it if someone could help with the same as I'm a little foggy >> about whom I should speak with. >> > > The mentors for this year's GSoC will be Emmanuelle Gouillart, Johannes > Sch?nberger, Tony Yu and myself, along with any other interested members of > the team. This mailing list is the right place to discuss project > proposals. > > Thanks for your bug-fix PR. It looks like that one was already done by > Johannes, but fortunately there are plenty of others where that came from :) > > Regards > St?fan > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Mon Apr 15 17:44:13 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Mon, 15 Apr 2013 14:44:13 -0700 (PDT) Subject: Google Summer of Code 2013 In-Reply-To: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> References: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> Message-ID: <85bf17de-6c4e-4328-8fe5-2557e16c2e1a@googlegroups.com> @stefan Hi, Thanks for reply . I have read the modules of scikit-image and understand the modules . First i was thinking of implementing otsu's thersholding algorithm .But it is already implemented . So now I am thinking of implementing multi-level thresholding or graph cut segmentation , I have read the graph based image segmentation paper . and also started implementing it on graph (currently ) , I have installation problems (with latest source code) due to some dependencies of scipy on BLAS and LAPACK ,that i will resolve after my end semester exam(after 19th april) . and i also there is only canny edge detection algorithm for edge detection . although it is better the many other edge detection algorithm . So is it useful if there exist some more edge detection techniques ? and out of these above three which is more important to implement ( according to me since segmentation is more difficult problem so segmentation should be important ). Thank you Umesh Kumar Sharma 4th year UG student IIT Kharagpur -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Mon Apr 15 18:12:39 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Mon, 15 Apr 2013 15:12:39 -0700 (PDT) Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> Message-ID: <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Hi all, My Cython and Numpy are updated to latest version. I have tried recloning the repo and recompiling it four times. The second line of my installation log says, non-existing path in 'skimage/_shared': 'tests' i.e. the tests folder in skimage/_shared/ could not be found. But it's also not present in the master repo on github. Also could you also make sense of the lines 97-98 that say, 1. warning: no files found matching 'setup.cfg' 2. no previously-included directories found matching 'doc/build' I would like to get over with this as quickly as possible. I can't figure out if I am doing something wrong. Thank you. Regards, Ankit Agrawal. -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Mon Apr 15 19:22:07 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Mon, 15 Apr 2013 16:22:07 -0700 (PDT) Subject: Google Summer of Code 2013 In-Reply-To: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> References: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> Message-ID: <790a1ac3-4137-4fb4-8dd8-1d322ff1ae0e@googlegroups.com> Hello Stefan , I am talking about first order or second order differential edge detectors (laplacian ,laplacian of gaussian ). So is it useful to implement because already canny edge detector is implemented in scikit-image . Thanks Umesh Kumar Sharma 4th year UG student IIT Kharagpur -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Mon Apr 15 21:05:14 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Mon, 15 Apr 2013 18:05:14 -0700 (PDT) Subject: Google Summer of Code 2013 In-Reply-To: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> References: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> Message-ID: I start implementing that edge detection algorithms and the move on to the segmentation part after 19th april . Thank you Umesh Kumar Sharma 4th year UG student IIT Kharagpur -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Mon Apr 15 19:14:10 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Mon, 15 Apr 2013 18:14:10 -0500 Subject: Cython memoryviews In-Reply-To: References: Message-ID: On Mon, Apr 15, 2013 at 5:30 PM, St?fan van der Walt wrote: > As such, let's use that from now on, and slowly start working on > converting the old code: > > cnp.ndarray[dtype=float, ndim=2] -> double[:, ::1] > I'm all for using memory views in our code, but we'll have to make sure to bump up the Cython requirement to 0.16 (either that or include the generated source, as someone else suggested recently). Last time I tried to use memory views, bumping the version was an issue, but that was before Ubuntu supported Cython 0.16. We should update `setup.py` and the install docs. Cheers, -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Mon Apr 15 09:34:16 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Mon, 15 Apr 2013 19:04:16 +0530 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> Message-ID: Hi Ankit, Just couple of things, are cython and numpy updated to the latest version ? I was unable to import skimage in iPython in spite of being able to import it in Python shell, since my iPython was linked to 2.7.2 (default version). Then maybe you can check the file directory of the cloned repo to ensure you didn't miss out on any warnings or errors there. Compare it the repo on git as Johannes pointed out. Hope it helps. Let us know how it goes. Chintak On Mon, Apr 15, 2013 at 4:09 PM, Ankit Agrawal wrote: > Hi Johannes, > > Thank you for your reply. I made a new clone and compiled it. > As compared to my previous log , this timetoo I got non-existing path error but only once(previously I got two). Any > idea on what might be causing this? Both the times, I also get these two > lines > > > 1. warning: no files found matching 'setup.cfg' > 2. no previously-included directories found matching 'doc/build' > > > Any solution? Thank you for your help. > > Regards, > Ankit. > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ronnie.ghose at gmail.com Mon Apr 15 19:23:59 2013 From: ronnie.ghose at gmail.com (Ronnie Ghose) Date: Mon, 15 Apr 2013 19:23:59 -0400 Subject: Google Summer of Code 2013 In-Reply-To: <790a1ac3-4137-4fb4-8dd8-1d322ff1ae0e@googlegroups.com> References: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> <790a1ac3-4137-4fb4-8dd8-1d322ff1ae0e@googlegroups.com> Message-ID: i feel like those are already there somewhat ... On Mon, Apr 15, 2013 at 7:22 PM, Umesh Sharma wrote: > Hello Stefan , > > I am talking about first order or second order differential edge detectors > (laplacian ,laplacian of gaussian ). > So is it useful to implement because already canny edge detector is > implemented in scikit-image . > > > > Thanks > > Umesh Kumar Sharma > 4th year UG student > IIT Kharagpur > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Mon Apr 15 14:09:54 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Mon, 15 Apr 2013 20:09:54 +0200 Subject: Morphological techniques In-Reply-To: References: Message-ID: Hi Chintak On Mon, Apr 15, 2013 at 7:55 PM, Chintak Sheth wrote: > I am really excited about being a part of this community and have been > pretty fascinated by morphological techniques in particular. I would really > want to contribute something in this direction. Can someone please point me > to possible bugs or algorithms in this field that need implementations ? Welcome! There are several places to start, e.g. we need a convex_hull_objects function, as well as adapting rank filters to handle int16 correctly (not as 12-bit integers). Otherwise, I'd also keep an eye on IEEE Transactions on Image Processing, and what other leading image processing packages implement. There are some pretty interesting segmentation and feature detection applications of morphology too. The sky's the limit :) Cheers St?fan P.S. There are plenty of bugs to fix too: https://github.com/scikit-image/scikit-image From aaaagrawal at gmail.com Tue Apr 16 01:26:46 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Mon, 15 Apr 2013 22:26:46 -0700 (PDT) Subject: Morphological techniques In-Reply-To: References: Message-ID: <40776f51-8707-4a05-8df5-327096dfd9d1@googlegroups.com> Hi Stefan, Can you please elaborate in brief what is expected from convex_hull_objects functions as compared to the existing convex_hull_imagefunction? Thank you. Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Mon Apr 15 13:55:55 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Mon, 15 Apr 2013 23:25:55 +0530 Subject: Morphological techniques Message-ID: Hi guys, I've been fiddling around with the library for some time now. And, its really brilliant to have efficient implementations of a bunch of algorithms in 1 place and seeing just a simple function call take care of the task. I am really excited about being a part of this community and have been pretty fascinated by morphological techniques in particular. I would really want to contribute something in this direction. Can someone please point me to possible bugs or algorithms in this field that need implementations ? Thanks, Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Mon Apr 15 18:03:46 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 16 Apr 2013 00:03:46 +0200 Subject: Google Summer of Code 2013 In-Reply-To: <85bf17de-6c4e-4328-8fe5-2557e16c2e1a@googlegroups.com> References: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> <85bf17de-6c4e-4328-8fe5-2557e16c2e1a@googlegroups.com> Message-ID: Hi Umesh On Mon, Apr 15, 2013 at 11:44 PM, Umesh Sharma wrote: > and i also there is only canny edge detection algorithm for > edge detection . although it is better the many other edge detection > algorithm . So is it useful if there exist some more edge detection > techniques ? Currently we have sobel and canny and some other filter-based one. Which others did you have in mind? > and out of these above three which is more important to > implement ( according to me since segmentation is more difficult problem so > segmentation should be important ). Segmentation is a significantly harder problem, so perhaps not the easiest one to tackle as a first PR. Regards St?fan From ronnie.ghose at gmail.com Tue Apr 16 00:04:06 2013 From: ronnie.ghose at gmail.com (Ronnie Ghose) Date: Tue, 16 Apr 2013 00:04:06 -0400 Subject: Image Feature Suggestion Message-ID: Hey guys, I was wondering if you could suggest feature extraction methods to try on an image. So I was wondering given for example a gif of a wheel spinning or (something easier I should think because it has discrete branches spinning) a carousel spinning how could you identify the branches in each frame and tell the approximate radian shift, and then also do that given a slight translation in the picture - ex. a shaky video camera? Thanks, Ronnie -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Mon Apr 15 14:38:59 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Tue, 16 Apr 2013 00:08:59 +0530 Subject: Morphological techniques In-Reply-To: References: Message-ID: Hi Stefan, Thanks for the prompt reply. I'll try working on the convex_hull_objects function to start with. And go through IEEE Transactions on IP. Actually, I did go through the bugs and in particular was looking at 'Add function to resample arrays by a given factor?' ( https://github.com/scikit-image/scikit-image/issues/492), in case no one is working on it already. Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Mon Apr 15 18:18:26 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 16 Apr 2013 00:18:26 +0200 Subject: Errors while compiling and $make coverage In-Reply-To: <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: Hi Ankit On Tue, Apr 16, 2013 at 12:12 AM, Ankit Agrawal wrote: > My Cython and Numpy are updated to latest version. I have tried > recloning the repo and recompiling it four times. The second line of my > installation log says, >From your installation log, it looks like it was successful. Regards St?fan From stefan at sun.ac.za Mon Apr 15 18:28:55 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 16 Apr 2013 00:28:55 +0200 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: On Tue, Apr 16, 2013 at 12:27 AM, Ankit Agrawal wrote: > I get these test errors. If I want to test the code before issuing a PR, > this will be a problem. Any way to sort it out? Thank you again. It's because that version is trying to run the tests in-place. To fix it, you can also build the modules in-place: python setup.py build_ext -i St?fan From stefan at sun.ac.za Mon Apr 15 18:30:15 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 16 Apr 2013 00:30:15 +0200 Subject: Cython memoryviews Message-ID: Hi all I've recently done some more benchmarks with Cython, and memoryviews are significantly faster than the array syntax. It's also easier on the eye! As such, let's use that from now on, and slowly start working on converting the old code: cnp.ndarray[dtype=float, ndim=2] -> double[:, ::1] St?fan From stefan at sun.ac.za Mon Apr 15 19:25:33 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 16 Apr 2013 01:25:33 +0200 Subject: Google Summer of Code 2013 In-Reply-To: <790a1ac3-4137-4fb4-8dd8-1d322ff1ae0e@googlegroups.com> References: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> <790a1ac3-4137-4fb4-8dd8-1d322ff1ae0e@googlegroups.com> Message-ID: On Tue, Apr 16, 2013 at 1:22 AM, Umesh Sharma wrote: > I am talking about first order or second order differential edge detectors > (laplacian ,laplacian of gaussian ). Yes, we can just as well add those for completeness. St?fan From aaaagrawal at gmail.com Mon Apr 15 18:27:24 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Tue, 16 Apr 2013 03:57:24 +0530 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: Hi Stefan, Thanks for your prompt reply. Actually, yes I can use the package already. But when I do $make coverage I get these test errors. If I want to test the code before issuing a PR, this will be a problem. Any way to sort it out? Thank you again. Regards, Ankit Agrawal. On Tue, Apr 16, 2013 at 3:48 AM, St?fan van der Walt wrote: > Hi Ankit > > On Tue, Apr 16, 2013 at 12:12 AM, Ankit Agrawal > wrote: > > My Cython and Numpy are updated to latest version. I have > tried > > recloning the repo and recompiling it four times. The second line of my > > installation log says, > > From your installation log, it looks like it was successful. > > Regards > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Regards, Ankit Agrawal, Senior Undergraduate in Electrical Engineering. IIT Bombay. +91 9833427046 -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Mon Apr 15 18:49:07 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Tue, 16 Apr 2013 04:19:07 +0530 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: Hi Stefan, Thanks again, that worked. Regards, Ankit Agrawal On Tue, Apr 16, 2013 at 3:58 AM, St?fan van der Walt wrote: > On Tue, Apr 16, 2013 at 12:27 AM, Ankit Agrawal > wrote: > > I get these test errors. If I want to test the code before issuing a PR, > > this will be a problem. Any way to sort it out? Thank you again. > > It's because that version is trying to run the tests in-place. To fix > it, you can also build the modules in-place: > > python setup.py build_ext -i > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Regards, Ankit Agrawal, Senior Undergraduate in Electrical Engineering. IIT Bombay. +91 9833427046 -------------- next part -------------- An HTML attachment was scrubbed... URL: From abidrahman2 at gmail.com Tue Apr 16 09:54:46 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Tue, 16 Apr 2013 06:54:46 -0700 (PDT) Subject: Histogram backprojection In-Reply-To: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> Message-ID: <0eb9aeaa-7ff5-4df8-9c2a-e15c6fdfd17d@googlegroups.com> Hi, I have sent a pull request for Histogram backprojection ( sorry for being a little late, It is "exam season" for me in this month). Please review the request and let me know if any modifications to be done ( as this is my first pull request to scikit-image) Regards On Tuesday, 9 April 2013 22:10:26 UTC+5:30, abid rahman wrote: > > Hi, > > I would like to add a feature on histogram backprojection as proposed by *Swain > & Michael J.* in their paper *"Indexing via color histograms"*.. Earlier, > I had written a simple article on that ( it was focussed for OpenCV) in my > blog : > http://opencvpython.blogspot.in/2013/03/histograms-4-back-projection.html. > > I can have some simple modification to it to integrate it into > scikit-image. So I would like to know the opinion of senior developers on > this proposal. > > Regards > Abid K. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Mon Apr 15 23:45:57 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Tue, 16 Apr 2013 09:15:57 +0530 Subject: Cython memoryviews In-Reply-To: References: Message-ID: Hey guys, On Tue, Apr 16, 2013 at 4:00 AM, St?fan van der Walt wrote: > cnp.ndarray[dtype=float, ndim=2] -> double[:, ::1] > Can you explain this syntax to me? I'd understand double[:, :], but not sure I get double[:, ::1]. Are you indicating that the array should be interpreted in C order? Would double[::1, :] indicate a Fortran-order array? And is double[:, ::1, :] invalid? Finally, can you take any array as input and reinterpret as a one-dimensional array? -------------- next part -------------- An HTML attachment was scrubbed... URL: From isaac.gerg at gergltd.com Tue Apr 16 13:34:55 2013 From: isaac.gerg at gergltd.com (Isaac Gerg) Date: Tue, 16 Apr 2013 10:34:55 -0700 (PDT) Subject: Bug when using float32 arrays and Lab2Rgb Message-ID: <0b2e10d7-e52b-4111-828c-07f3440eaa37@googlegroups.com> I am doing a LAB to RGB conversion. If my LAB matrix is float64, the bounds for the axes must be -100, 100. Upon analysis of the output RGB image, the results look correct. However, if the LAB matrix is float32 the bounds are checked and forced to -1 1 which yields an RGB image that is incorrect. Upon further inspect, the problem looks like it comes from the convert function in dtype.py. image = np.asarray(image) dtypeobj = np.dtype(dtype) dtypeobj_in = image.dtype dtype = dtypeobj.type dtype_in = dtypeobj_in.type if dtype_in == dtype: if force_copy: image = image.copy() return image at the "if dtype_in == dtype:" the types are float32 and float64 causing the if to be skipped. Eventually the code reaches the point: if kind_in == 'f': if np.min(image) < -1.0 or np.max(image) > 1.0: raise ValueError("Images of type float must be between -1 and 1.") if kind == 'f': # floating point -> floating point if itemsize_in > itemsize: prec_loss() return dtype(image) and the bounds are checked, outside of [-1 1] and an error is thrown. Isaac -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Tue Apr 16 04:00:29 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Tue, 16 Apr 2013 13:30:29 +0530 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: Hi, I seem to be getting segmentation fault after running : $ python setup.py build_ext -i $ make coverage nosetests skimage --with-coverage --cover-package=skimage make: *** [coverage] Segmentation fault: 11 Any ideas why this is happening ? On Tue, Apr 16, 2013 at 4:19 AM, Ankit Agrawal wrote: > Hi Stefan, > > Thanks again, that worked. > > Regards, > Ankit Agrawal > > > On Tue, Apr 16, 2013 at 3:58 AM, St?fan van der Walt wrote: > >> On Tue, Apr 16, 2013 at 12:27 AM, Ankit Agrawal >> wrote: >> > I get these test errors. If I want to test the code before issuing a PR, >> > this will be a problem. Any way to sort it out? Thank you again. >> >> It's because that version is trying to run the tests in-place. To fix >> it, you can also build the modules in-place: >> >> python setup.py build_ext -i >> >> St?fan >> >> -- >> You received this message because you are subscribed to the Google Groups >> "scikit-image" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to scikit-image+unsubscribe at googlegroups.com. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > > -- > Regards, > Ankit Agrawal, > Senior Undergraduate in Electrical Engineering. > IIT Bombay. > +91 9833427046 > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jschoenberger at demuc.de Tue Apr 16 08:10:35 2013 From: jschoenberger at demuc.de (=?iso-8859-1?Q?Johannes_Sch=F6nberger?=) Date: Tue, 16 Apr 2013 14:10:35 +0200 Subject: Morphological techniques In-Reply-To: References: Message-ID: Hi Chintak, I am not working on this yet, but I recommend to directly ask for it in the issue thread. Maybe some of the other involved people are already working on it. Johannes Sch?nberger Am 15.04.2013 um 20:38 schrieb Chintak Sheth : > Hi Stefan, > > Thanks for the prompt reply. I'll try working on the convex_hull_objects function to start with. And go through IEEE Transactions on IP. > > Actually, I did go through the bugs and in particular was looking at 'Add function to resample arrays by a given factor?' (https://github.com/scikit-image/scikit-image/issues/492), in case no one is working on it already. > > Chintak > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From jschoenberger at demuc.de Tue Apr 16 08:12:42 2013 From: jschoenberger at demuc.de (=?iso-8859-1?Q?Johannes_Sch=F6nberger?=) Date: Tue, 16 Apr 2013 14:12:42 +0200 Subject: Morphological techniques In-Reply-To: <40776f51-8707-4a05-8df5-327096dfd9d1@googlegroups.com> References: <40776f51-8707-4a05-8df5-327096dfd9d1@googlegroups.com> Message-ID: Hi Ankit, I guess, the convex_hull_objects function should determine the convex hull for each separated object in the image. Johannes Sch?nberger Am 16.04.2013 um 07:26 schrieb Ankit Agrawal : > Hi Stefan, > > Can you please elaborate in brief what is expected from convex_hull_objects functions as compared to the existing convex_hull_image function? Thank you. > > Regards, > Ankit Agrawal, > Communication and Signal Processing, > IIT Bombay. > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From stefan at sun.ac.za Tue Apr 16 15:02:56 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 16 Apr 2013 21:02:56 +0200 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> Message-ID: On Tue, Apr 16, 2013 at 6:58 PM, Juan Nunez-Iglesias wrote: > Thanks all. tifffile.py solved my problem. Stefan, the FreeImage plugin > segfaulted when I fed it my data... =\ Can you give us a gdb traceback perhaps? St?fan From jni.soma at gmail.com Tue Apr 16 12:58:16 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Tue, 16 Apr 2013 22:28:16 +0530 Subject: multi-page TIFF writer In-Reply-To: <20130412155659.fa019385.google@terre-adelie.org> References: <20130412155659.fa019385.google@terre-adelie.org> Message-ID: Thanks all. tifffile.py solved my problem. Stefan, the FreeImage plugin segfaulted when I fed it my data... =\ On Fri, Apr 12, 2013 at 7:26 PM, Jerome Kieffer wrote: > On Fri, 12 Apr 2013 17:16:46 +0530 > Juan Nunez-Iglesias wrote: > > > Hi everyone, > > > > Do any of you know about *writing* a numpy array to a multi-page TIFF > file > > in Python? Last time I checked, you could only read those with PIL, not > > write. A quick Googling led me to > > Tiffany, > > but it doesn't seem to be particularly numpy-friendly... > > Have a look at TiffIO from PyMca (or FabIO which are the same) which has > this capabilities. > > Cheers, > > -- > Jerome Kieffer > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Tue Apr 16 16:36:57 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 16 Apr 2013 22:36:57 +0200 Subject: Bug when using float32 arrays and Lab2Rgb In-Reply-To: <0b2e10d7-e52b-4111-828c-07f3440eaa37@googlegroups.com> References: <0b2e10d7-e52b-4111-828c-07f3440eaa37@googlegroups.com> Message-ID: Hi Isaac On Tue, Apr 16, 2013 at 7:34 PM, Isaac Gerg wrote: > I am doing a LAB to RGB conversion. > > If my LAB matrix is float64, the bounds for the axes must be -100, 100. > Upon analysis of the output RGB image, the results look correct. Thanks for spotting this bug. Not all functions should call img_as_float on their input arguments, as you point out. A pull request would be very welcome, or otherwise please file an issue on GitHub. St?fan From stefan at sun.ac.za Tue Apr 16 16:50:57 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 16 Apr 2013 22:50:57 +0200 Subject: Histogram backprojection In-Reply-To: <0eb9aeaa-7ff5-4df8-9c2a-e15c6fdfd17d@googlegroups.com> References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> <0eb9aeaa-7ff5-4df8-9c2a-e15c6fdfd17d@googlegroups.com> Message-ID: Hi Abid On Tue, Apr 16, 2013 at 3:54 PM, abid rahman wrote: > I have sent a pull request for Histogram backprojection ( sorry for being a > little late, It is "exam season" for me in this month). Please review the > request and let me know if any modifications to be done ( as this is my > first pull request to scikit-image) Thanks for the PR! As you'll notice, you've already had feedback from two of us. We typically use the PR as a place to converse about the code until it reaches a state where it can be incorporated into the project. St?fan From stefan at sun.ac.za Tue Apr 16 18:30:13 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Wed, 17 Apr 2013 00:30:13 +0200 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: Hi Chintak On Apr 16, 2013 10:00 AM, "Chintak Sheth" wrote: > > I seem to be getting segmentation fault after running : > > $ python setup.py build_ext -i > $ make coverage > nosetests skimage --with-coverage --cover-package=skimage > make: *** [coverage] Segmentation fault: 11 > > Any ideas why this is happening ? With such little information I can't say. Could you send us a gdb traceback? St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Wed Apr 17 00:54:34 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Wed, 17 Apr 2013 06:54:34 +0200 Subject: Histogram backprojection In-Reply-To: References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> <0eb9aeaa-7ff5-4df8-9c2a-e15c6fdfd17d@googlegroups.com> Message-ID: On Apr 17, 2013 5:53 AM, "abid rahman" wrote: > > I am sorry, what does PR means ? Never heard before. It stands for "pull request". St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From abidrahman2 at gmail.com Tue Apr 16 23:53:41 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Wed, 17 Apr 2013 09:23:41 +0530 Subject: Histogram backprojection In-Reply-To: References: <5c57a984-3370-45b5-b8dd-946b4b2ad724@googlegroups.com> <0eb9aeaa-7ff5-4df8-9c2a-e15c6fdfd17d@googlegroups.com> Message-ID: I am sorry, what does PR means ? Never heard before. On Wed, Apr 17, 2013 at 2:20 AM, St?fan van der Walt wrote: > Hi Abid > > On Tue, Apr 16, 2013 at 3:54 PM, abid rahman > wrote: > > I have sent a pull request for Histogram backprojection ( sorry for > being a > > little late, It is "exam season" for me in this month). Please review the > > request and let me know if any modifications to be done ( as this is my > > first pull request to scikit-image) > > Thanks for the PR! As you'll notice, you've already had feedback from > two of us. We typically use the PR as a place to converse about the > code until it reaches a state where it can be incorporated into the > project. > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -- Abid K. opencvpython.blogspot.com -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Wed Apr 17 00:02:51 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Wed, 17 Apr 2013 09:32:51 +0530 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> Message-ID: On Wed, Apr 17, 2013 at 12:32 AM, St?fan van der Walt wrote: > Can you give us a gdb traceback perhaps? > Um, I don't really get one, perhaps cos my Python is not configured properly? Here's the gdb output: In [7]: fr.write_multipage(im, 'image.tif') Program received signal EXC_BAD_ACCESS, Could not access memory. Reason: KERN_INVALID_ADDRESS at address: 0x000000000eb74970 0x0000000107ca8786 in FreeImage_AppendPage () (I've trimmed the start because it's littered with tons of "no debug data for file blah" statements.) Here's all I need to reproduce it: import numpy as npfrom skimage.io._plugins import freeimage_plugin as fr im0 = np.zeros((500, 500, 500), uint8) fr.write_multipage(im0, 'im.tif') Example in iPython: ~ $ ipython --pylab Welcome to pylab, a matplotlib-based Python environment [backend: MacOSX]. For more information, type 'help(pylab)'. In [1]: from skimage.io._plugins import freeimage_plugin as fr In [2]: im0 = np.zeros((500, 500, 500), uint8) In [3]: fr.write_multipage(im0, 'im0.tif') Segmentation fault: 11 Let me know if you get the same result... -------------- next part -------------- An HTML attachment was scrubbed... URL: From zachary.pincus at yale.edu Wed Apr 17 17:16:05 2013 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Wed, 17 Apr 2013 17:16:05 -0400 Subject: Image Feature Suggestion In-Reply-To: References: Message-ID: Hi Ronnie, Identifying features to track between frames is a pretty classic task in computer vision. Things that come to mind would include the simple Harris corner detector (in skimage), or more recent things like SIFT features and its variants like SURF etc. (DAISY is in skimage) might be of use. All of these tools should be in OpenCV too, IIRC. (Time to spend a while on wikipedia reading about these things and related, if it's all totally unfamiliar.) Alternately, you could try optical flow based techniques to densely track local pixel patches between frames. In either case, the first thing to do would be to get a robust estimate of the global camera translation and subtract out that shake (very common operation these days... I think this is all packaged up in openCV). Then you could do the optical flow / feature tracking specifically on your spinning thing. One basic flow might be: (1) subtract out global camera shake (2) find feature points to track (e.g. good Harris corners) that are not static from frame to frame (e.g. by using background estimation and subtraction) (3) optimize an estimate of the center-of-rotaion and angle-of-rotation parameters, based on how well the feature points match between frames after applying the estimated rotation parameters. If you provide a few sample frames, folks might be able to offer better suggestions. Over all, I think most of the tools you need for this sort of thing are in OpenCV... Zach On Apr 16, 2013, at 12:04 AM, Ronnie Ghose wrote: > Hey guys, > > I was wondering if you could suggest feature extraction methods to try on an image. So I was wondering given for example a gif of a wheel spinning or (something easier I should think because it has discrete branches spinning) a carousel spinning how could you identify the branches in each frame and tell the approximate radian shift, and then also do that given a slight translation in the picture - ex. a shaky video camera? > > Thanks, > Ronnie > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From zachary.pincus at yale.edu Wed Apr 17 18:07:07 2013 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Wed, 17 Apr 2013 18:07:07 -0400 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> Message-ID: <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> This is a lurking 64-bit bug that I failed to squash the last time. Problem solved: https://github.com/scikit-image/scikit-image/pull/507 Thanks, Juan, for identifying this problem! It should be fixed in the github version of skimage. Zach On Apr 17, 2013, at 12:49 PM, St?fan van der Walt wrote: > On Wed, Apr 17, 2013 at 6:02 AM, Juan Nunez-Iglesias wrote: >> In [3]: fr.write_multipage(im0, 'im0.tif') >> Segmentation fault: 11 >> >> Let me know if you get the same result... > > Works perfectly here. Could you run it through gdb? > > gdb python > > then > > run myscript.py > > and after it fails type "bt" for backtrace. > > St?fan > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > From stefan at sun.ac.za Wed Apr 17 12:49:53 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Wed, 17 Apr 2013 18:49:53 +0200 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> Message-ID: On Wed, Apr 17, 2013 at 6:02 AM, Juan Nunez-Iglesias wrote: > In [3]: fr.write_multipage(im0, 'im0.tif') > Segmentation fault: 11 > > Let me know if you get the same result... Works perfectly here. Could you run it through gdb? gdb python then run myscript.py and after it fails type "bt" for backtrace. St?fan From chintaksheth at gmail.com Wed Apr 17 13:30:26 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Wed, 17 Apr 2013 23:00:26 +0530 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: Sorry for the delay, exams going on. So i ran it with "gdb python" but still nothing : Working directory /Users/chintak/Repositories/scikit-image. > (gdb) run setup.py build_ext -i > The program being debugged has been started already. > Start it from the beginning? (y or n) y > Starting program: /usr/local/bin/python setup.py build_ext -i > Program received signal SIGTRAP, Trace/breakpoint trap. > 0x00007fff5fc01028 in __dyld__dyld_start () > (gdb) bt > #0 0x00007fff5fc01028 in __dyld__dyld_start () > #1 0x0000000100000000 in ?? () > (gdb) make coverage > nosetests skimage --with-coverage --cover-package=skimage > make: *** [coverage] Segmentation fault: 11 > (gdb) bt > #0 0x00007fff5fc01028 in __dyld__dyld_start () > #1 0x0000000100000000 in ?? () > (gdb) After getting the segmentation error it just says "Python quit unexpectedly". Can we get any information from Seg fault "11". Any idea what the error code represents ? Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Wed Apr 17 20:35:04 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Thu, 18 Apr 2013 06:05:04 +0530 Subject: multi-page TIFF writer In-Reply-To: <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: On Thu, Apr 18, 2013 at 3:37 AM, Zachary Pincus wrote: > It should be fixed in the github version of skimage. > Yep, I've confirmed that your PR solved the problem for me! So I'll spare you that backtrace, Stefan. ;) Thanks! -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Thu Apr 18 03:22:04 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 18 Apr 2013 09:22:04 +0200 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: Hi Juan On Apr 18, 2013 2:35 AM, "Juan Nunez-Iglesias" wrote: > Yep, I've confirmed that your PR solved the problem for me! So I'll spare you that backtrace, Stefan. ;) Great! Now, for some extra brownie points and our eternal gratitude: a unit test? St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From zachary.pincus at yale.edu Thu Apr 18 10:48:09 2013 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Thu, 18 Apr 2013 10:48:09 -0400 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: > I think Zach knows better than I what the source of the error was, so he should probably handle it. ;) Yes, that's more than fair! I keep forgetting to put in unit tests with my bug fixes, because I am a bad person... :) So the gentle reminders are helpful. St?fan, I'll try to get something in shortly. Zach > On Thu, Apr 18, 2013 at 12:52 PM, St?fan van der Walt wrote: > Hi Juan > > > On Apr 18, 2013 2:35 AM, "Juan Nunez-Iglesias" wrote: > > Yep, I've confirmed that your PR solved the problem for me! So I'll spare you that backtrace, Stefan. ;) > > Great! Now, for some extra brownie points and our eternal gratitude: a unit test? > > St?fan > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From zachary.pincus at yale.edu Thu Apr 18 11:12:31 2013 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Thu, 18 Apr 2013 11:12:31 -0400 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: OK, unittest added: https://github.com/scikit-image/scikit-image/pull/508 Also, BTW, I get the below test failure when I have matplotlib but no PIL installed. I think test_imread_url or the test right before it must be making some incorrect assumptions. (If I re-run the tests after this failure, then also all of the tifffile tests fail, so it seems that some test isn't doing proper teardown of the image loading plugins?) Zach ERROR: test_io.test_imread_url ---------------------------------------------------------------------- Traceback (most recent call last): File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/nose-1.1.2-py2.7.egg/nose/case.py", line 197, in runTest self.test(*self.arg) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scikit_image-0.9dev-py2.7-macosx-10.6-intel.egg/skimage/io/tests/test_io.py", line 27, in test_imread_url image = io.imread(image_url) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scikit_image-0.9dev-py2.7-macosx-10.6-intel.egg/skimage/io/_io.py", line 136, in imread img = call_plugin('imread', f.name, plugin=plugin, **plugin_args) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/scikit_image-0.9dev-py2.7-macosx-10.6-intel.egg/skimage/io/_plugins/plugin.py", line 100, in call return func(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/pyplot.py", line 1750, in imread return _imread(*args, **kwargs) File "/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/site-packages/matplotlib/image.py", line 1193, in imread raise ValueError('Only know how to handle extensions: %s; with PIL installed matplotlib can handle more images' % handlers.keys()) ValueError: Only know how to handle extensions: ['png']; with PIL installed matplotlib can handle more images On Apr 18, 2013, at 8:47 AM, Juan Nunez-Iglesias wrote: > I think Zach knows better than I what the source of the error was, so he should probably handle it. ;) > > > On Thu, Apr 18, 2013 at 12:52 PM, St?fan van der Walt wrote: > Hi Juan > > > On Apr 18, 2013 2:35 AM, "Juan Nunez-Iglesias" wrote: > > Yep, I've confirmed that your PR solved the problem for me! So I'll spare you that backtrace, Stefan. ;) > > Great! Now, for some extra brownie points and our eternal gratitude: a unit test? > > St?fan > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From zachary.pincus at yale.edu Thu Apr 18 11:21:07 2013 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Thu, 18 Apr 2013 11:21:07 -0400 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: > OK, unittest added: https://github.com/scikit-image/scikit-image/pull/508 Aaaaannndd now Travis says I broke the build?? This is what I get! https://travis-ci.org/scikit-image/scikit-image/builds/6447268 But, umm, here's the offending portion of the build log: > $ rake > rake aborted! > No Rakefile found (looking for: rakefile, Rakefile, rakefile.rb, Rakefile.rb) > (See full trace by running task with --trace) > The command "rake" exited with 1. > Done. Your build exited with 1. I don't think I know what I did (if anything) to provoke this... From zachary.pincus at yale.edu Thu Apr 18 11:23:01 2013 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Thu, 18 Apr 2013 11:23:01 -0400 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: <701440BB-DE9B-4AFB-B7EB-3289605092C9@yale.edu> >> Also, BTW, I get the below test failure when I have matplotlib but no PIL installed. I think test_imread_url or the test right before it must be making some incorrect assumptions. (If I re-run the tests after this failure, then also all of the tifffile tests fail, so it seems that some test isn't doing proper teardown of the image loading plugins?) > > That's quite possible--can you see how to fix that test as well? No idea -- that's not setup or teardown code from freeimage... I assume I've noticed this only because everyone else has matplotlib + PIL installed, which I do not. I don't have time to go deeper into the plumbing right now, I'm afraid. From zachary.pincus at yale.edu Thu Apr 18 11:26:30 2013 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Thu, 18 Apr 2013 11:26:30 -0400 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: <6A14CDB6-7AA3-4313-9292-AF9E94DD43EF@yale.edu> > On Thu, Apr 18, 2013 at 5:21 PM, Zachary Pincus wrote: >> I don't think I know what I did (if anything) to provoke this... > > Nope! Not your fault. In these situations, doing another push or > close/open or rebase will all re-trigger the tests. Oh great, thanks. Is there a clean / recommended way to do a nop push / close/open / rebase? My git is limited... sorry for the trouble here! From ronnie.ghose at gmail.com Thu Apr 18 12:26:58 2013 From: ronnie.ghose at gmail.com (Ronnie Ghose) Date: Thu, 18 Apr 2013 12:26:58 -0400 Subject: Image Feature Suggestion In-Reply-To: References: Message-ID: Would this be a useful thing to add then? I thought it was interesting you made references to OpenCV rather then internal options. Thanks, Ronnie On Thu, Apr 18, 2013 at 8:19 AM, St?fan van der Walt wrote: > On Wed, Apr 17, 2013 at 11:16 PM, Zachary Pincus > wrote: > > Identifying features to track between frames is a pretty classic task in > computer vision. Things that come to mind would include the simple Harris > corner detector (in skimage), or more recent things like SIFT features and > its variants like SURF etc. (DAISY is in skimage) might be of use. All of > these tools should be in OpenCV too, IIRC. (Time to spend a while on > wikipedia reading about these things and related, if it's all totally > unfamiliar.) > > Having binary features (there are many) and Star Features (also known > as "Consensus") in skimage would be very valuable. > > > Alternately, you could try optical flow based techniques to densely > track local pixel patches between frames. > > That's also a fun application, and a good way to learn Cython! > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From zachary.pincus at yale.edu Thu Apr 18 12:46:06 2013 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Thu, 18 Apr 2013 12:46:06 -0400 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> <6A14CDB6-7AA3-4313-9292-AF9E94DD43EF@yale.edu> Message-ID: <0608CCF6-242A-42E6-9427-1E692A29D865@yale.edu> >>> Nope! Not your fault. In these situations, doing another push or >>> close/open or rebase will all re-trigger the tests. >> >> Oh great, thanks. Is there a clean / recommended way to do a nop push / close/open / rebase? My git is limited... sorry for the trouble here! > > I think just clicking the "Close" and then "Re-open" buttons will do the trick. Ah, at the risk of sounding even more like an idiot... on what page are the close/reopen buttons? I can't find ones on the GH pull-request page, or on the Travis-ci build. Sorry! Haven't interacted with the codebase since travis was added and clearly I've no idea what I'm doing. Definitely won't merge my own PRs anymore. Hahaha. Zach From zachary.pincus at yale.edu Thu Apr 18 12:50:29 2013 From: zachary.pincus at yale.edu (Zachary Pincus) Date: Thu, 18 Apr 2013 12:50:29 -0400 Subject: Image Feature Suggestion In-Reply-To: References: Message-ID: > Would this be a useful thing to add then? I thought it was interesting you made references to OpenCV rather then internal options. Yeah, but no need to reinvent the wheel. OpenCV is really focused on algorithms for cameras-moving-around-in-the-world, which big chunks of your problem are. So if you want to port some of that code over to skimage, that would be a cool and useful contribution! But if you just wanted to solve your problem ASAP, then OpenCV might be your best resource... Zach PS. Fun story: a while ago I got a sparse optical-flow algorithm (using cross-correlation) running on a GPU. It was totally non-portable (pre-CUDA, custom-shader code), and it didn't actually work precisely right, but I think that it's something that shouldn't be too much trouble to actually make happen these days... > On Thu, Apr 18, 2013 at 8:19 AM, St?fan van der Walt wrote: > On Wed, Apr 17, 2013 at 11:16 PM, Zachary Pincus > wrote: > > Identifying features to track between frames is a pretty classic task in computer vision. Things that come to mind would include the simple Harris corner detector (in skimage), or more recent things like SIFT features and its variants like SURF etc. (DAISY is in skimage) might be of use. All of these tools should be in OpenCV too, IIRC. (Time to spend a while on wikipedia reading about these things and related, if it's all totally unfamiliar.) > > Having binary features (there are many) and Star Features (also known > as "Consensus") in skimage would be very valuable. > > > Alternately, you could try optical flow based techniques to densely track local pixel patches between frames. > > That's also a fun application, and a good way to learn Cython! > > St?fan > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From stefan at sun.ac.za Thu Apr 18 08:19:30 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 18 Apr 2013 14:19:30 +0200 Subject: Image Feature Suggestion In-Reply-To: References: Message-ID: On Wed, Apr 17, 2013 at 11:16 PM, Zachary Pincus wrote: > Identifying features to track between frames is a pretty classic task in computer vision. Things that come to mind would include the simple Harris corner detector (in skimage), or more recent things like SIFT features and its variants like SURF etc. (DAISY is in skimage) might be of use. All of these tools should be in OpenCV too, IIRC. (Time to spend a while on wikipedia reading about these things and related, if it's all totally unfamiliar.) Having binary features (there are many) and Star Features (also known as "Consensus") in skimage would be very valuable. > Alternately, you could try optical flow based techniques to densely track local pixel patches between frames. That's also a fun application, and a good way to learn Cython! St?fan From stefan at sun.ac.za Thu Apr 18 08:55:15 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 18 Apr 2013 14:55:15 +0200 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: On Wed, Apr 17, 2013 at 7:30 PM, Chintak Sheth wrote: > After getting the segmentation error it just says "Python quit > unexpectedly". Can we get any information from Seg fault "11". Any idea what > the error code represents ? Does your build segfault? That's odd. Try building first, and if that works run "nosetests -v" to see which test breaks. Then start "gdb python" and then provide the given test file, e.g. St?fan From ronnie.ghose at gmail.com Thu Apr 18 15:24:29 2013 From: ronnie.ghose at gmail.com (Ronnie Ghose) Date: Thu, 18 Apr 2013 15:24:29 -0400 Subject: Image Feature Suggestion In-Reply-To: References: Message-ID: So first off is there a sort of to-do list? Secondly, should scikit-image be used in conjunction with OpenCV? I thought in general it would be standalone like a few of the other scikits or numpy/scipy (standalone in the sense of only using other python libraries as dependencies). On Thu, Apr 18, 2013 at 12:50 PM, Zachary Pincus wrote: > > Would this be a useful thing to add then? I thought it was interesting > you made references to OpenCV rather then internal options. > > Yeah, but no need to reinvent the wheel. OpenCV is really focused on > algorithms for cameras-moving-around-in-the-world, which big chunks of your > problem are. So if you want to port some of that code over to skimage, that > would be a cool and useful contribution! But if you just wanted to solve > your problem ASAP, then OpenCV might be your best resource... > > Zach > > PS. Fun story: a while ago I got a sparse optical-flow algorithm (using > cross-correlation) running on a GPU. It was totally non-portable (pre-CUDA, > custom-shader code), and it didn't actually work precisely right, but I > think that it's something that shouldn't be too much trouble to actually > make happen these days... > > > > On Thu, Apr 18, 2013 at 8:19 AM, St?fan van der Walt > wrote: > > On Wed, Apr 17, 2013 at 11:16 PM, Zachary Pincus > > wrote: > > > Identifying features to track between frames is a pretty classic task > in computer vision. Things that come to mind would include the simple > Harris corner detector (in skimage), or more recent things like SIFT > features and its variants like SURF etc. (DAISY is in skimage) might be of > use. All of these tools should be in OpenCV too, IIRC. (Time to spend a > while on wikipedia reading about these things and related, if it's all > totally unfamiliar.) > > > > Having binary features (there are many) and Star Features (also known > > as "Consensus") in skimage would be very valuable. > > > > > Alternately, you could try optical flow based techniques to densely > track local pixel patches between frames. > > > > That's also a fun application, and a good way to learn Cython! > > > > St?fan > > > > -- > > You received this message because you are subscribed to the Google > Groups "scikit-image" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to scikit-image+unsubscribe at googlegroups.com. > > For more options, visit https://groups.google.com/groups/opt_out. > > > > > > > > > > -- > > You received this message because you are subscribed to the Google > Groups "scikit-image" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to scikit-image+unsubscribe at googlegroups.com. > > For more options, visit https://groups.google.com/groups/opt_out. > > > > > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Thu Apr 18 10:07:54 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 18 Apr 2013 16:07:54 +0200 Subject: Cython memoryviews In-Reply-To: References: Message-ID: On Tue, Apr 16, 2013 at 5:45 AM, Juan Nunez-Iglesias wrote: >> cnp.ndarray[dtype=float, ndim=2] -> double[:, ::1] > > Can you explain this syntax to me? I'd understand double[:, :], but not sure > I get double[:, ::1]. Are you indicating that the array should be > interpreted in C order? Would double[::1, :] indicate a Fortran-order array? > And is double[:, ::1, :] invalid? Finally, can you take any array as input > and reinterpret as a one-dimensional array? Yes, the ::1 indicates the contiguous dimension, and can only be used in the first and last places. I'm not sure I understand your last question correctly, but you can do: def foo(x): cdef double[:] y = x.ravel() return y[0] St?fan From silvertrumpet999 at gmail.com Thu Apr 18 19:38:57 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Thu, 18 Apr 2013 16:38:57 -0700 (PDT) Subject: Image Feature Suggestion In-Reply-To: References: Message-ID: <778f5261-0b80-4e58-8ebf-83275ced2110@googlegroups.com> I've found that within the universe of SciPy +extensions (like the various SciKits, really anything that likes NumPy arrays) it's fairly easy to get things to play nice without much trouble. Interlacing algorithms from there with OpenCV, SimpleITK, VTK, and the like are more of a chore. They all exist in their own worlds as far as internal datatypes, syntax structure, etc. Nowhere near as friendly to hack together (it can be done, with order(s) of magnitude more effort). However, certain packages in the SciPy universe use these, usually wrapped such that the user never sees it. E.g. Mayavi uses VTK heavily, and Scikit-Image now has a SimpleITK plugin for io - but they're wrapped to users only have to deal with Python/NumPy. In my opinion there is definite value in ports, though they should probably take somewhat lower priority than new/novel work. On Thursday, April 18, 2013 2:24:29 PM UTC-5, Ronnie Ghose wrote: > > So first off is there a sort of to-do list? Secondly, should scikit-image > be used in conjunction with OpenCV? I thought in general it would be > standalone like a few of the other scikits or numpy/scipy (standalone in > the sense of only using other python libraries as dependencies). > > > On Thu, Apr 18, 2013 at 12:50 PM, Zachary Pincus > > wrote: > >> > Would this be a useful thing to add then? I thought it was interesting >> you made references to OpenCV rather then internal options. >> >> Yeah, but no need to reinvent the wheel. OpenCV is really focused on >> algorithms for cameras-moving-around-in-the-world, which big chunks of your >> problem are. So if you want to port some of that code over to skimage, that >> would be a cool and useful contribution! But if you just wanted to solve >> your problem ASAP, then OpenCV might be your best resource... >> >> Zach >> >> PS. Fun story: a while ago I got a sparse optical-flow algorithm (using >> cross-correlation) running on a GPU. It was totally non-portable (pre-CUDA, >> custom-shader code), and it didn't actually work precisely right, but I >> think that it's something that shouldn't be too much trouble to actually >> make happen these days... >> >> >> > On Thu, Apr 18, 2013 at 8:19 AM, St?fan van der Walt > >> wrote: >> > On Wed, Apr 17, 2013 at 11:16 PM, Zachary Pincus >> > > wrote: >> > > Identifying features to track between frames is a pretty classic task >> in computer vision. Things that come to mind would include the simple >> Harris corner detector (in skimage), or more recent things like SIFT >> features and its variants like SURF etc. (DAISY is in skimage) might be of >> use. All of these tools should be in OpenCV too, IIRC. (Time to spend a >> while on wikipedia reading about these things and related, if it's all >> totally unfamiliar.) >> > >> > Having binary features (there are many) and Star Features (also known >> > as "Consensus") in skimage would be very valuable. >> > >> > > Alternately, you could try optical flow based techniques to densely >> track local pixel patches between frames. >> > >> > That's also a fun application, and a good way to learn Cython! >> > >> > St?fan >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups "scikit-image" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an email to scikit-image... at googlegroups.com . >> > For more options, visit https://groups.google.com/groups/opt_out. >> > >> > >> > >> > >> > -- >> > You received this message because you are subscribed to the Google >> Groups "scikit-image" group. >> > To unsubscribe from this group and stop receiving emails from it, send >> an email to scikit-image... at googlegroups.com . >> > For more options, visit https://groups.google.com/groups/opt_out. >> > >> > >> >> -- >> You received this message because you are subscribed to the Google Groups >> "scikit-image" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to scikit-image... at googlegroups.com . >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Thu Apr 18 11:19:47 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 18 Apr 2013 17:19:47 +0200 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: On Thu, Apr 18, 2013 at 5:12 PM, Zachary Pincus wrote: > Also, BTW, I get the below test failure when I have matplotlib but no PIL installed. I think test_imread_url or the test right before it must be making some incorrect assumptions. (If I re-run the tests after this failure, then also all of the tifffile tests fail, so it seems that some test isn't doing proper teardown of the image loading plugins?) That's quite possible--can you see how to fix that test as well? St?fan From stefan at sun.ac.za Thu Apr 18 11:23:24 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 18 Apr 2013 17:23:24 +0200 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: On Thu, Apr 18, 2013 at 5:21 PM, Zachary Pincus wrote: > I don't think I know what I did (if anything) to provoke this... Nope! Not your fault. In these situations, doing another push or close/open or rebase will all re-trigger the tests. St?fan From stefan at sun.ac.za Thu Apr 18 11:40:46 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 18 Apr 2013 17:40:46 +0200 Subject: multi-page TIFF writer In-Reply-To: <6A14CDB6-7AA3-4313-9292-AF9E94DD43EF@yale.edu> References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> <6A14CDB6-7AA3-4313-9292-AF9E94DD43EF@yale.edu> Message-ID: On Thu, Apr 18, 2013 at 5:26 PM, Zachary Pincus wrote: >> Nope! Not your fault. In these situations, doing another push or >> close/open or rebase will all re-trigger the tests. > > Oh great, thanks. Is there a clean / recommended way to do a nop push / close/open / rebase? My git is limited... sorry for the trouble here! I think just clicking the "Close" and then "Re-open" buttons will do the trick. St?fan From silvertrumpet999 at gmail.com Thu Apr 18 20:41:08 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Thu, 18 Apr 2013 17:41:08 -0700 (PDT) Subject: Padding backend Message-ID: It appears there are several scikit-image functions which have need of padding input. As far as I can see, these generally do so internally, with functions or routines that aren't exposed. From a quick search, the following functions in scikit-image all pad using their own internal methods: feature.match_template : mean value filter.lpi_filter : asymmetric zeros morphology.greyreconstruct : symmetric zeros or constant value morphology.watershed : pad child function for symmetric zeros transform.radon : symmetric zeros More broadly, there doesn't appear to be a publicly exposed API for padding NumPy image arrays in any packages I've come across. scipy.ndimage clearly has this functionality, via the common mode parameters, but it isn't exposed for general use. I've put some effort into making a pure Python 2d / 3d capable padding function for personal use, and most of the scipy.ndimage modes are available. Preliminary gist here wouldn't be hard to wrap into a PR (likely not optimal, but functional): https://gist.github.com/JDWarner/a26f77dae983fa1faba9 Would such functionality be desirable? -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Thu Apr 18 11:47:07 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 18 Apr 2013 17:47:07 +0200 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: On Thu, Apr 18, 2013 at 5:12 PM, Zachary Pincus wrote: > Also, BTW, I get the below test failure when I have matplotlib but no PIL installed. I think test_imread_url or the test right before it must be making some incorrect assumptions. (If I re-run the tests after this failure, then also all of the tifffile tests fail, so it seems that some test isn't doing proper teardown of the image loading plugins?) Ah, I see what's happening. This one might be a job for @tonysyu -- Tony, this looks weird because matplotlib is supposed to be able to handle pngs (and you are reading in a png in that test). So perhaps a bug in matplotlib when providing a "file-like object"? St?fan From cjgohlke at gmail.com Thu Apr 18 20:52:06 2013 From: cjgohlke at gmail.com (Christoph Gohlke) Date: Thu, 18 Apr 2013 17:52:06 -0700 Subject: Padding backend In-Reply-To: References: Message-ID: <51709536.4080707@gmail.com> On 4/18/2013 5:41 PM, Josh Warner wrote: > It appears there are several scikit-image functions which have need of > padding input. As far as I can see, these generally do so internally, > with functions or routines that aren't exposed. From a quick search, the > following functions in scikit-image all pad using their own internal > methods: > > |feature.match_template| : mean value > |filter.lpi_filter| : asymmetric zeros > |morphology.greyreconstruct| : symmetric zeros or constant value > |morphology.watershed| : |pad| child function for symmetric zeros > |transform.radon| : symmetric zeros > > More broadly, there doesn't appear to be a publicly exposed API for > padding NumPy image arrays in any packages I've come across. > |scipy.ndimage| clearly has this functionality, via the common |mode| > parameters, but it isn't exposed for general use. > > I've put some effort into making a pure Python 2d / 3d capable padding > function for personal use, and most of the |scipy.ndimage| modes are > available. Preliminary gist here wouldn't be hard to wrap into a PR > (likely not optimal, but functional): > https://gist.github.com/JDWarner/a26f77dae983fa1faba9 > > Would such functionality be desirable? > Numpy has a pad function since version 1.7. Christoph From jni.soma at gmail.com Thu Apr 18 08:47:43 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Thu, 18 Apr 2013 18:17:43 +0530 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: I think Zach knows better than I what the source of the error was, so he should probably handle it. ;) On Thu, Apr 18, 2013 at 12:52 PM, St?fan van der Walt wrote: > Hi Juan > > On Apr 18, 2013 2:35 AM, "Juan Nunez-Iglesias" wrote: > > Yep, I've confirmed that your PR solved the problem for me! So I'll > spare you that backtrace, Stefan. ;) > > Great! Now, for some extra brownie points and our eternal gratitude: a > unit test? > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From silvertrumpet999 at gmail.com Thu Apr 18 21:37:05 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Thu, 18 Apr 2013 18:37:05 -0700 (PDT) Subject: Padding backend In-Reply-To: <51709536.4080707@gmail.com> References: <51709536.4080707@gmail.com> Message-ID: <3237b264-e32e-41fa-926c-59a14e492b7e@googlegroups.com> Missed that in the notes, thanks for the notice. Looks like I need to update. If/when we consider moving to Numpy 1.7.x as a dependency instead of 1.6.x, I'll try to remember to bring this up again. On Thursday, April 18, 2013 7:52:06 PM UTC-5, Christoph Gohlke wrote: > > On 4/18/2013 5:41 PM, Josh Warner wrote: > > It appears there are several scikit-image functions which have need of > > padding input. As far as I can see, these generally do so internally, > > with functions or routines that aren't exposed. From a quick search, the > > following functions in scikit-image all pad using their own internal > > methods: > > > > |feature.match_template| : mean value > > |filter.lpi_filter| : asymmetric zeros > > |morphology.greyreconstruct| : symmetric zeros or constant value > > |morphology.watershed| : |pad| child function for symmetric zeros > > |transform.radon| : symmetric zeros > > > > More broadly, there doesn't appear to be a publicly exposed API for > > padding NumPy image arrays in any packages I've come across. > > |scipy.ndimage| clearly has this functionality, via the common |mode| > > parameters, but it isn't exposed for general use. > > > > I've put some effort into making a pure Python 2d / 3d capable padding > > function for personal use, and most of the |scipy.ndimage| modes are > > available. Preliminary gist here wouldn't be hard to wrap into a PR > > (likely not optimal, but functional): > > https://gist.github.com/JDWarner/a26f77dae983fa1faba9 > > > > Would such functionality be desirable? > > > > > Numpy has a pad function since version 1.7. > > > Christoph > -------------- next part -------------- An HTML attachment was scrubbed... URL: From ronnie.ghose at gmail.com Thu Apr 18 19:41:40 2013 From: ronnie.ghose at gmail.com (Ronnie Ghose) Date: Thu, 18 Apr 2013 19:41:40 -0400 Subject: Image Feature Suggestion In-Reply-To: <778f5261-0b80-4e58-8ebf-83275ced2110@googlegroups.com> References: <778f5261-0b80-4e58-8ebf-83275ced2110@googlegroups.com> Message-ID: so my question is should 'the wheel be reinvented' in numpy world? On Thu, Apr 18, 2013 at 7:38 PM, Josh Warner wrote: > I've found that within the universe of SciPy +extensions (like the various > SciKits, really anything that likes NumPy arrays) it's fairly easy to get > things to play nice without much trouble. > > Interlacing algorithms from there with OpenCV, SimpleITK, VTK, and the > like are more of a chore. They all exist in their own worlds as far as > internal datatypes, syntax structure, etc. Nowhere near as friendly to hack > together (it can be done, with order(s) of magnitude more effort). However, > certain packages in the SciPy universe use these, usually wrapped such that > the user never sees it. E.g. Mayavi uses VTK heavily, and Scikit-Image now > has a SimpleITK plugin for io - but they're wrapped to users only have to > deal with Python/NumPy. > > In my opinion there is definite value in ports, though they should > probably take somewhat lower priority than new/novel work. > > > On Thursday, April 18, 2013 2:24:29 PM UTC-5, Ronnie Ghose wrote: > >> So first off is there a sort of to-do list? Secondly, should scikit-image >> be used in conjunction with OpenCV? I thought in general it would be >> standalone like a few of the other scikits or numpy/scipy (standalone in >> the sense of only using other python libraries as dependencies). >> >> >> On Thu, Apr 18, 2013 at 12:50 PM, Zachary Pincus wrote: >> >>> > Would this be a useful thing to add then? I thought it was interesting >>> you made references to OpenCV rather then internal options. >>> >>> Yeah, but no need to reinvent the wheel. OpenCV is really focused on >>> algorithms for cameras-moving-around-in-the-**world, which big chunks >>> of your problem are. So if you want to port some of that code over to >>> skimage, that would be a cool and useful contribution! But if you just >>> wanted to solve your problem ASAP, then OpenCV might be your best >>> resource... >>> >>> Zach >>> >>> PS. Fun story: a while ago I got a sparse optical-flow algorithm (using >>> cross-correlation) running on a GPU. It was totally non-portable (pre-CUDA, >>> custom-shader code), and it didn't actually work precisely right, but I >>> think that it's something that shouldn't be too much trouble to actually >>> make happen these days... >>> >>> >>> > On Thu, Apr 18, 2013 at 8:19 AM, St?fan van der Walt >>> wrote: >>> > On Wed, Apr 17, 2013 at 11:16 PM, Zachary Pincus >>> > wrote: >>> > > Identifying features to track between frames is a pretty classic >>> task in computer vision. Things that come to mind would include the simple >>> Harris corner detector (in skimage), or more recent things like SIFT >>> features and its variants like SURF etc. (DAISY is in skimage) might be of >>> use. All of these tools should be in OpenCV too, IIRC. (Time to spend a >>> while on wikipedia reading about these things and related, if it's all >>> totally unfamiliar.) >>> > >>> > Having binary features (there are many) and Star Features (also known >>> > as "Consensus") in skimage would be very valuable. >>> > >>> > > Alternately, you could try optical flow based techniques to densely >>> track local pixel patches between frames. >>> > >>> > That's also a fun application, and a good way to learn Cython! >>> > >>> > St?fan >>> > >>> > -- >>> > You received this message because you are subscribed to the Google >>> Groups "scikit-image" group. >>> > To unsubscribe from this group and stop receiving emails from it, send >>> an email to scikit-image...@**googlegroups.com. >>> >>> > For more options, visit https://groups.google.com/**groups/opt_out >>> . >>> > >>> > >>> > >>> > >>> > -- >>> > You received this message because you are subscribed to the Google >>> Groups "scikit-image" group. >>> > To unsubscribe from this group and stop receiving emails from it, send >>> an email to scikit-image...@**googlegroups.com. >>> >>> > For more options, visit https://groups.google.com/**groups/opt_out >>> . >>> > >>> > >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "scikit-image" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to scikit-image...@**googlegroups.com. >>> >>> For more options, visit https://groups.google.com/**groups/opt_out >>> . >>> >>> >>> >> -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Fri Apr 19 03:02:48 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 19 Apr 2013 09:02:48 +0200 Subject: Cython memoryviews In-Reply-To: References: Message-ID: On Fri, Apr 19, 2013 at 8:08 AM, Juan Nunez-Iglesias wrote: > I want to write a function that can take an array of any dimension. From > your response I'm guessing the best way is to write a wrapper in Python and > write a Cython function that takes a 1D array and a shape tuple? The example I gave does take an array of any dimension? St?fan From stefan at sun.ac.za Fri Apr 19 03:24:33 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 19 Apr 2013 09:24:33 +0200 Subject: Image Feature Suggestion In-Reply-To: References: Message-ID: On Thu, Apr 18, 2013 at 9:24 PM, Ronnie Ghose wrote: > So first off is there a sort of to-do list? https://github.com/scikit-image/scikit-image/wiki/Requested-features > Secondly, should scikit-image be > used in conjunction with OpenCV? I thought in general it would be standalone > like a few of the other scikits or numpy/scipy (standalone in the sense of > only using other python libraries as dependencies). There's no reason not to combine them. `scikit-image` aims to provide a highly Pythonic interface to commonly used image processing algorithms. Play around a bit with OpenCV, and you'll soon discover what that means :) St?fan From stefan at sun.ac.za Fri Apr 19 03:33:29 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 19 Apr 2013 09:33:29 +0200 Subject: multi-page TIFF writer In-Reply-To: <0608CCF6-242A-42E6-9427-1E692A29D865@yale.edu> References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> <6A14CDB6-7AA3-4313-9292-AF9E94DD43EF@yale.edu> <0608CCF6-242A-42E6-9427-1E692A29D865@yale.edu> Message-ID: On Thu, Apr 18, 2013 at 6:46 PM, Zachary Pincus wrote: >> I think just clicking the "Close" and then "Re-open" buttons will do the trick. > > Ah, at the risk of sounding even more like an idiot... on what page are the close/reopen buttons? I can't find ones on the GH pull-request page, or on the Travis-ci build. Sorry! Haven't interacted with the codebase since travis was added and clearly I've no idea what I'm doing. Definitely won't merge my own PRs anymore. Hahaha. Ah, I think they disappear once the changes have been merged... St?fan From abidrahman2 at gmail.com Fri Apr 19 12:42:48 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Fri, 19 Apr 2013 09:42:48 -0700 (PDT) Subject: Test Failure Message-ID: <42e05872-5aed-4d77-be4a-e68b37bbe2d3@googlegroups.com> Hi, 1 - I had send a PR on histogram backprojection. at that time travis build was successful. Then i made some modifications for PEP8, but travis build shows errors which i don't understand. https://travis-ci.org/scikit-image/scikit-image/jobs/6472929. But i haven't changed any functionality of code and it works fine in my system as good as old. 2 - Also, I didn't get the concept of writing of tests for my code. What actually the tests do and how should I write a good test code? Regards Abid K -------------- next part -------------- An HTML attachment was scrubbed... URL: From horrorbyharsh at gmail.com Fri Apr 19 13:06:01 2013 From: horrorbyharsh at gmail.com (Harsh Bhatia) Date: Fri, 19 Apr 2013 10:06:01 -0700 (PDT) Subject: Feature detection In-Reply-To: References: Message-ID: <967e23c3-9a73-4d57-b800-c2eed47c8e1d@googlegroups.com> thank u very much for attending and replying ... i will search about more binary features and list them which can be useful by numpy/cython array. i m looking at the bug fixing area n trying to contribute asap. thanks -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Fri Apr 19 02:08:32 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Fri, 19 Apr 2013 11:38:32 +0530 Subject: Cython memoryviews In-Reply-To: References: Message-ID: On Thu, Apr 18, 2013 at 7:37 PM, St?fan van der Walt wrote: > Yes, the ::1 indicates the contiguous dimension, and can only be used > in the first and last places. > Thanks! I'm not sure I understand your last question correctly, I want to write a function that can take an array of any dimension. From your response I'm guessing the best way is to write a wrapper in Python and write a Cython function that takes a 1D array and a shape tuple? -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Fri Apr 19 06:33:54 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 19 Apr 2013 12:33:54 +0200 Subject: Mentor for GSoC In-Reply-To: <8bd5aa9b-d704-44e6-9ba8-f31bd564a540@googlegroups.com> References: <8bd5aa9b-d704-44e6-9ba8-f31bd564a540@googlegroups.com> Message-ID: On Mon, Apr 8, 2013 at 9:31 PM, abid rahman wrote: > Can I know who is the mentor for scikit-image GSoC projects? Can I get > mentor's mail id, IRC nickname etc, please? I'm sorry, for some reason these messages slipped by my radar completely unnoticed. We've been communicating in the mean time, but here's your answer: GSoC project leaders: Emmanuelle Guillart St?fan van der Walt Tony Yu and Aron Ahmadia for projects relating to a proper backend / dispatching system with integration of numba and opencl backends. I'm sure the other members of the team will also help out--these are just the people who signed up. St?fan From aaaagrawal at gmail.com Fri Apr 19 15:45:19 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Fri, 19 Apr 2013 12:45:19 -0700 (PDT) Subject: Test Failure In-Reply-To: <42e05872-5aed-4d77-be4a-e68b37bbe2d3@googlegroups.com> References: <42e05872-5aed-4d77-be4a-e68b37bbe2d3@googlegroups.com> Message-ID: On Friday, April 19, 2013 10:12:48 PM UTC+5:30, abid rahman wrote: > > Hi, > > 1 - I had send a PR on histogram backprojection. at that time travis build > was successful. > > Then i made some modifications for PEP8, but travis build shows errors > which i don't understand. > https://travis-ci.org/scikit-image/scikit-image/jobs/6472929. > > But i haven't changed any functionality of code and it works fine in my > system as good as old. > > 2 - Also, I didn't get the concept of writing of tests for my code. What > actually the tests do and how should I write a good test code? > Writing test-driven code is a feature of high quality software design, something that I learnt recently while contributing to open source :) . Writing tests ensures that when new code is merged, no part of the previous code is broken i.e the tests for the functions in the existing code ensure that your contribution does not change the behavior of existing code in anyway. Good tests are the ones that are easily verifiable by another developers and are tested with small and simple data so that test time is kept at a minimum, while still checking some important properties of the functions( that you are adding). Maybe other experienced members in the community can add more to this. Thank you. Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Fri Apr 19 08:47:15 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 19 Apr 2013 14:47:15 +0200 Subject: imageio progress In-Reply-To: References: Message-ID: Hi Almar On Wed, Mar 27, 2013 at 4:33 PM, Almar Klein wrote: > The project is called imageio and it is now a plugin-based library with a > relatively small core. The freeimage plugin that started it all currently > provides most file formats. Its now at a stage where I think the core is > pretty much finished, and focus can shift towards different plugins for > various scientific formats. But I am not going to do that alone :) Is there a way to add plugins by simply "dumping" plugin files into place? This was part of the thinking when we designed the skimage.io plugin infrastructure (so it would be easy for, e.g., Debian to add new formats by simply unpacking into the right location). I am not entirely happy with the complexity of the io module in skimage, and would love to hear ideas about how it can be simplified, perhaps integrating with imageio. St?fan From stefan at sun.ac.za Fri Apr 19 09:31:19 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 19 Apr 2013 15:31:19 +0200 Subject: Feature detection In-Reply-To: References: Message-ID: Hi Harsh On Fri, Apr 19, 2013 at 3:08 PM, Harsh Bhatia wrote: > My proposal for this year's GSoC is to implement Feature detection (STAR, > Speeded Up Robust Feature) as given in the project ideas list. The STAR code is in OpenCV, so this would be modifying that code for using the numpy / cython array structures. Also, to give the project sufficient scope, we'd need to implement some other features as well, e.g. binary features. Please note that it is important to have contributed some code changes to scikit-image in order to be considered for the GSoC, so please have a go at fixing some bugs or implementing a new feature as soon as possible. Thanks St?fan From jni.soma at gmail.com Fri Apr 19 07:05:50 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Fri, 19 Apr 2013 16:35:50 +0530 Subject: Cython memoryviews In-Reply-To: References: Message-ID: On Fri, Apr 19, 2013 at 12:32 PM, St?fan van der Walt wrote: > The example I gave does take an array of any dimension? > Haha yes of course, I forgot that you Cython could just be Python where you don't need to optimise it. =) -------------- next part -------------- An HTML attachment was scrubbed... URL: From abidrahman2 at gmail.com Fri Apr 19 07:28:34 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Fri, 19 Apr 2013 16:58:34 +0530 Subject: Mentor for GSoC In-Reply-To: References: <8bd5aa9b-d704-44e6-9ba8-f31bd564a540@googlegroups.com> Message-ID: Thank you for the answer , although I have already found who might be the mentors from the discussion on github. :) Regards, Abid K. opencvpython.blogspot.com On Fri, Apr 19, 2013 at 4:03 PM, St?fan van der Walt wrote: > On Mon, Apr 8, 2013 at 9:31 PM, abid rahman wrote: > > Can I know who is the mentor for scikit-image GSoC projects? Can I get > > mentor's mail id, IRC nickname etc, please? > > I'm sorry, for some reason these messages slipped by my radar > completely unnoticed. We've been communicating in the mean time, but > here's your answer: > > GSoC project leaders: > > Emmanuelle Guillart > St?fan van der Walt > Tony Yu > > and Aron Ahmadia for projects relating to a proper backend / > dispatching system with integration of numba and opencl backends. I'm > sure the other members of the team will also help out--these are just > the people who signed up. > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Sat Apr 20 05:27:03 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Sat, 20 Apr 2013 02:27:03 -0700 (PDT) Subject: _mask_filter_result function Message-ID: hello, can anyone tell me what "_mask_filter_result" function is doing in edges.py (skimage/filer/edges.py), i am getting error when i am calling sobel edge detector in latest version of scikit-image . and why we are using it , i mean in sobel edge detection after applying the convolution , can't we directly return that new matrix. Thanks Umesh Kumar Sharma 4th year UG student CSE IIT kharagpur -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Sat Apr 20 07:45:13 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Sat, 20 Apr 2013 04:45:13 -0700 (PDT) Subject: _mask_filter_result function In-Reply-To: References: Message-ID: Thanks Ankit -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Sat Apr 20 09:22:32 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Sat, 20 Apr 2013 06:22:32 -0700 (PDT) Subject: Robert's Edge Detection. Part of [GsoC13] Message-ID: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> Hi, It was suggested earlier that I submit a patch to get familiar with the codebase before applying for GsoC. So, I implemented Robert's Edge Detection algorithm (http://homepages.inf.ed.ac.uk/rbf/HIPR2/roberts.htm). I created an issue for this on github and I have the implementation in my git repo. Should I submit a pull request for this? Regards, Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Sat Apr 20 09:26:14 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Sat, 20 Apr 2013 06:26:14 -0700 (PDT) Subject: Google Summer of Code 2013 In-Reply-To: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> References: <53f0d1d3-ad51-431a-ac28-c2587f7056bb@googlegroups.com> Message-ID: Hi All, I implemented Robert's Edge Detection algorithm ( http://homepages.inf.ed.ac.uk/rbf/HIPR2/roberts.htm). I have made an issue on GitHub( https://github.com/scikit-image/scikit-image/issues/513) and I have the implementation with me. I also created a new topic for this in this group. Should I submit a pull request on GitHub? Regards, Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Sat Apr 20 12:45:56 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Sat, 20 Apr 2013 09:45:56 -0700 (PDT) Subject: GSoC 2013 Message-ID: <6da555aa-b40c-4f55-b874-9da79ae783aa@googlegroups.com> Hi everyone, I apologize for introducing myself a bit late on this list. I am Ankit Agrawal(ankit-maverick on github), a third year student enrolled in Dual Degree program(B.Tech + Masters) in Electrical Engineering at IIT Bombay, with Masters specialization in Communication and Signal Processing. I would like to participate with scikit-image in GSoC this year and currently, I am thinking on building the proposal along the idea of Implementing Feature Detection algorithms or Video Manipulation Framework. I would be discussing about these ideas in more detail in the coming days. The relevant courses that I have taken in the past are Linear Algebra, Image Processing, Computer Vision and Digital Signal Processing. I have end-term exams going on currently, and hence I maybe be a little slower in responding to posts or pushing commits. Thank you. Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sat Apr 20 12:48:11 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Sat, 20 Apr 2013 11:48:11 -0500 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: Hi Chintak, This is kind of a shot in the dark: Could you try running nosetests in the segmentation subpackage of skimage? -Tony On Sat, Apr 20, 2013 at 11:40 AM, Chintak Sheth wrote: > > > > On Thu, Apr 18, 2013 at 6:25 PM, St?fan van der Walt wrote: >> >> Does your build segfault? That's odd. Try building first, and if that >> works run "nosetests -v" to see which test breaks. Then start "gdb >> python" and then provide the given test file, e.g. > > > Even "nosetests -v" seems to give a segmentation fault. I've posted the > output after running "python setup.py build_ext -i" here. > http://pastebin.com/s1y9RESz > > Chintak > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sat Apr 20 13:15:34 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Sat, 20 Apr 2013 12:15:34 -0500 Subject: scikit-image-example for all basic Morphological techniques In-Reply-To: References: Message-ID: On Sat, Apr 20, 2013 at 9:43 AM, Chintak Sheth wrote: I have included the documentation provided with functions, a sample code > which shows how to implement the function (i.e. read the image, create a > structuring element), show the ouput image vs the input image and some > comments to give an intuitive feel for the function. > > Take a look and tell me if it serves the purpose. I hope this can further > decrease the "familiarisation" time for skimage :) > https://github.com/chintak/scikit-image-examples > Hi Chintak, I only took a quick look at the notebook version of this example, but I think something like this would be useful to a lot of users. Thanks for posting! If you'd be willing to take some time to clean it up and submit it as a PR to the scikit-image documentation, I think it would be much more accessible for new users. Here's an example of formatting required for our documentation (specifically, interleaving code, text, and figures): https://github.com/scikit-image/scikit-image/blob/master/doc/examples/applications/plot_rank_filters.py and the resulting output http://scikit-image.org/docs/dev/auto_examples/applications/plot_rank_filters.html The version you have now looks pretty good, but I think it'd be best to leave off the docstrings for the functions. In their place, you could put the essential points from the docstring, plus what you have now as comments. Also, you can import the phantom image as follows (instead of using your local directory path): from skimage import data_dir image = io.imread(data_dir + "/phantom.png", as_grey=True) Same for all the other images that you add to the data directory of skimage. (I would probably leave off the first text image if you're only using it for image display.) Cheers, -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sat Apr 20 14:36:23 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Sat, 20 Apr 2013 13:36:23 -0500 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: On Sat, Apr 20, 2013 at 1:28 PM, Chintak Sheth wrote: > Hi Tony, > > On Sat, Apr 20, 2013 at 10:18 PM, Tony Yu wrote: > >> >> This is kind of a shot in the dark: Could you try running nosetests in >> the segmentation subpackage of skimage? >> >> > Strangely so, "nosetests -v" runs in segmentation subpackage. However, it > gives me a warning : > >> warnings.warn('SciPy was built without UMFPACK. Consider rebuilding ' > > Does that give any more ideas ? > I was hoping that the umfpack import was broken, but it looks like it's failing gracefully. I don't have any specific ideas. Could you try going into each subpackage and running nosetests in each? This is a bit brute-force, but there's not a lot of information to go on right now. -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sat Apr 20 15:14:49 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Sat, 20 Apr 2013 14:14:49 -0500 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: On Sat, Apr 20, 2013 at 1:49 PM, Chintak Sheth wrote: > > Also on another note, is there a function for checking the connectivity of > objects in an image ? How about multiple objects ? > Maybe you're looking for the `label` function? http://scikit-image.org/docs/dev/api/skimage.morphology.html#label -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sat Apr 20 16:07:16 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Sat, 20 Apr 2013 15:07:16 -0500 Subject: multi-page TIFF writer In-Reply-To: References: <20130412155659.fa019385.google@terre-adelie.org> <094768E8-43B1-4C4E-86C6-C586AEF8EC1B@yale.edu> Message-ID: On Thu, Apr 18, 2013 at 10:47 AM, St?fan van der Walt wrote: > On Thu, Apr 18, 2013 at 5:12 PM, Zachary Pincus > wrote: > > Also, BTW, I get the below test failure when I have matplotlib but no > PIL installed. I think test_imread_url or the test right before it must be > making some incorrect assumptions. (If I re-run the tests after this > failure, then also all of the tifffile tests fail, so it seems that some > test isn't doing proper teardown of the image loading plugins?) > > Ah, I see what's happening. This one might be a job for @tonysyu -- > Tony, this looks weird because matplotlib is supposed to be able to > handle pngs (and you are reading in a png in that test). So perhaps a > bug in matplotlib when providing a "file-like object"? > > Fixed in PR 515: https://github.com/scikit-image/scikit-image/pull/515 Unfortunately, I can't reproduce Zach's issue with the test failure leaking into into the tifffile tests. Best, -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sat Apr 20 16:32:16 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Sat, 20 Apr 2013 15:32:16 -0500 Subject: Test failures in graph subpackage Message-ID: Can anyone reproduce the test failures that the Travis buildbot is raising on master: https://travis-ci.org/scikit-image/scikit-image/jobs/6472929#L2274 The tests pass on my setup, so I can't really figure out what's wrong. Thanks, -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sat Apr 20 16:35:20 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Sat, 20 Apr 2013 15:35:20 -0500 Subject: Robert's Edge Detection. Part of [GsoC13] In-Reply-To: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> References: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> Message-ID: On Sat, Apr 20, 2013 at 8:22 AM, Umesh Sharma wrote: > Hi, > > It was suggested earlier that I submit a patch to get familiar with the > codebase before applying for GsoC. So, I implemented Robert's Edge > Detection algorithm (http://homepages.inf.ed.ac.uk/rbf/HIPR2/roberts.htm). > I created an issue for this on github and I have the implementation in my > git repo. Should I submit a pull request for this? > > Hi Umesh, Yes, just go ahead and submit a PR. Best, -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Sat Apr 20 07:30:35 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Sat, 20 Apr 2013 17:00:35 +0530 Subject: _mask_filter_result function In-Reply-To: References: Message-ID: Hi Umesh, The function `_mask_filter_result` assigns all the boundary pixels to a 0 value. The reason for this is that applying filter kernels or edge-detection operators on an image may result in inconsistent values at boundary pixel because of padding mode used by scipy.ndimage.filters.convolve. I hope that clears your doubt. Thank you. Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Sat Apr 20 10:43:18 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Sat, 20 Apr 2013 20:13:18 +0530 Subject: scikit-image-example for all basic Morphological techniques Message-ID: Hi, Since this is my first exposure with open source development, while getting familiar with scikit-image morphological processing functions, I thought why not create an example (tutorial) that could walk you through all the functions and provide you with some intuitive feel about what is happening physically rather than mathematically. Although the documentation is sufficient and has an example included. This example is with a binary array. So I created some examples using images and really showing the whole procedure. So a beginner can straight away start coding with just this one document. I have included the documentation provided with functions, a sample code which shows how to implement the function (i.e. read the image, create a structuring element), show the ouput image vs the input image and some comments to give an intuitive feel for the function. Take a look and tell me if it serves the purpose. I hope this can further decrease the "familiarisation" time for skimage :) https://github.com/chintak/scikit-image-examples Thanks, Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Sat Apr 20 12:40:05 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Sat, 20 Apr 2013 22:10:05 +0530 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: On Thu, Apr 18, 2013 at 6:25 PM, St?fan van der Walt wrote: > > Does your build segfault? That's odd. Try building first, and if that > works run "nosetests -v" to see which test breaks. Then start "gdb > python" and then provide the given test file, e.g. Even "nosetests -v" seems to give a segmentation fault. I've posted the output after running "python setup.py build_ext -i" here. http://pastebin.com/s1y9RESz Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Sat Apr 20 13:30:06 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Sat, 20 Apr 2013 23:00:06 +0530 Subject: scikit-image-example for all basic Morphological techniques In-Reply-To: References: Message-ID: Hi Tony, Thanks for the all the suggestions! Working on it. Chintak On Sat, Apr 20, 2013 at 10:45 PM, Tony Yu wrote: > > > On Sat, Apr 20, 2013 at 9:43 AM, Chintak Sheth wrote: > > > > I have included the documentation provided with functions, a sample code >> which shows how to implement the function (i.e. read the image, create a >> structuring element), show the ouput image vs the input image and some >> comments to give an intuitive feel for the function. >> >> Take a look and tell me if it serves the purpose. I hope this can further >> decrease the "familiarisation" time for skimage :) >> https://github.com/chintak/scikit-image-examples >> > > > Hi Chintak, > > I only took a quick look at the notebook version of this example, but I > think something like this would be useful to a lot of users. Thanks for > posting! > > If you'd be willing to take some time to clean it up and submit it as a PR > to the scikit-image documentation, I think it would be much more accessible > for new users. Here's an example of formatting required for our > documentation (specifically, interleaving code, text, and figures): > > > https://github.com/scikit-image/scikit-image/blob/master/doc/examples/applications/plot_rank_filters.py > > and the resulting output > > > http://scikit-image.org/docs/dev/auto_examples/applications/plot_rank_filters.html > > The version you have now looks pretty good, but I think it'd be best to > leave off the docstrings for the functions. In their place, you could put > the essential points from the docstring, plus what you have now as comments. > > Also, you can import the phantom image as follows (instead of using your > local directory path): > > > from skimage import data_dir > image = io.imread(data_dir + "/phantom.png", as_grey=True) > > > Same for all the other images that you add to the data directory of > skimage. (I would probably leave off the first text image if you're only > using it for image display.) > > Cheers, > -Tony > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Sat Apr 20 14:28:26 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Sat, 20 Apr 2013 23:58:26 +0530 Subject: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: Hi Tony, On Sat, Apr 20, 2013 at 10:18 PM, Tony Yu wrote: > > This is kind of a shot in the dark: Could you try running nosetests in the > segmentation subpackage of skimage? > > Strangely so, "nosetests -v" runs in segmentation subpackage. However, it gives me a warning : > warnings.warn('SciPy was built without UMFPACK. Consider rebuilding ' Does that give any more ideas ? Thanks, Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Sat Apr 20 14:49:40 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Sun, 21 Apr 2013 00:19:40 +0530 Subject: Fwd: Errors while compiling and $make coverage In-Reply-To: References: <01752545-232a-4b5a-b39e-f68dea15a5f0@googlegroups.com> <65c040d2-dafa-4696-8ea4-3355d1267f77@googlegroups.com> Message-ID: Alright, I'll come back to this a little later. First, clean the documentation and submit for a PR. Also on another note, is there a function for checking the connectivity of objects in an image ? How about multiple objects ?I'm sure this will be there, but just not sure which function it is. And in case there isn't, is there a better way of finding an initial point in the object that maybe : > #im is a binary image (m, n) = im.shape for i=0:m-1 > for j=0:n-1 > if im(i,j) > # this is my starting point Thanks, Chintak On Sun, Apr 21, 2013 at 12:06 AM, Tony Yu wrote: > > On Sat, Apr 20, 2013 at 1:28 PM, Chintak Sheth wrote: > >> Hi Tony, >> >> On Sat, Apr 20, 2013 at 10:18 PM, Tony Yu wrote: >> >>> >>> This is kind of a shot in the dark: Could you try running nosetests in >>> the segmentation subpackage of skimage? >>> >>> >> Strangely so, "nosetests -v" runs in segmentation subpackage. However, it >> gives me a warning : >> >>> warnings.warn('SciPy was built without UMFPACK. Consider rebuilding ' >> >> Does that give any more ideas ? >> > > I was hoping that the umfpack import was broken, but it looks like it's > failing gracefully. > > I don't have any specific ideas. Could you try going into each subpackage > and running nosetests in each? This is a bit brute-force, but there's not a > lot of information to go on right now. > > -Tony > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Sun Apr 21 09:15:59 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Sun, 21 Apr 2013 06:15:59 -0700 (PDT) Subject: Edge detectors in filter package Message-ID: <95edf0bc-4ded-4a0d-bc33-122480426c5d@googlegroups.com> Hi everyone, I would like to know the motivation behind keeping edges.py(edge detectors) in filters package. Based on the Image Processing terminology , I think features package is a more appropriate place for it. Thank you. Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Sun Apr 21 11:31:13 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Sun, 21 Apr 2013 08:31:13 -0700 (PDT) Subject: Robert's Edge Detection. Part of [GsoC13] In-Reply-To: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> References: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> Message-ID: Hi, I have updated the changes suggested by Tony S Yu , in the implementation of Robert's Edge Detection algorithm Regards , Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sun Apr 21 11:56:35 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Sun, 21 Apr 2013 10:56:35 -0500 Subject: Edge detectors in filter package In-Reply-To: <95edf0bc-4ded-4a0d-bc33-122480426c5d@googlegroups.com> References: <95edf0bc-4ded-4a0d-bc33-122480426c5d@googlegroups.com> Message-ID: On Sun, Apr 21, 2013 at 8:15 AM, Ankit Agrawal wrote: > Hi everyone, > > I would like to know the motivation behind keeping edges.py(edge > detectors) in filters package. Based on the Image Processing terminology , > I think features package is a more appropriate place for it. Thank you. > I've always thought that edge filters belonged in the features package, too. There's always the question of whether deprecating the current behavior is worth the trouble. I'm +1, despite the pain of deprecation. Cheers, -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From abidrahman2 at gmail.com Sun Apr 21 15:35:37 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Sun, 21 Apr 2013 12:35:37 -0700 (PDT) Subject: Challenge: estimate a blurring kernel In-Reply-To: References: Message-ID: Hi, That is really mind blowing !!! Here is more better video of that presentation : http://www.youtube.com/watch?v=LBIJj13H7uk Do you consider it as a GSoC project ? Isn't it patented ? Regards Abid K On Friday, 14 October 2011 04:06:56 UTC+5:30, Stefan van der Walt wrote: > > Hi all, > > At a recent Adobe MAX conference, people went crazy over their > deblurring demo [1]. I want it in scikits-image! The authors were > even kind enough to leave us some clues as to how [2]. > > Who is up for the challenge? > > St?fan > > [1] http://www.youtube.com/watch?v=xxjiQoTp864t > [2] > http://people.csail.mit.edu/sparis/publi/2011/cvpr_radon/Cho_11_Blur_Kernel_Estimation.pdf > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Sun Apr 21 15:35:21 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Sun, 21 Apr 2013 14:35:21 -0500 Subject: Edge detectors in filter package In-Reply-To: <50AD2FCB-E436-469B-99DB-E66775FA60C9@demuc.de> References: <95edf0bc-4ded-4a0d-bc33-122480426c5d@googlegroups.com> <50AD2FCB-E436-469B-99DB-E66775FA60C9@demuc.de> Message-ID: On Sun, Apr 21, 2013 at 11:05 AM, Johannes Sch?nberger < jschoenberger at demuc.de> wrote: > Basically, "filter" is a very universal term that may be used for lots of > image processing related tasks? On the one hand, edge operators probably > fit well into the feature package, on the other hand Tony just used the > very common term > > > edge filters > > So, I am +-0 on this? I'd agree that `sobel`, `prewitt`, etc. are filters, but I think `canny` is much less of a traditional filter. That said, it's not a big deal either way. -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Sun Apr 21 17:53:59 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Sun, 21 Apr 2013 14:53:59 -0700 (PDT) Subject: Robert's Edge Detection. Part of [GsoC13] In-Reply-To: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> References: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> Message-ID: Hi, I have changes that Tony S Yu suggested and i have also added three test in test_edge.py . I have added three tests one for all zero one for one diagonal and one for other diagonal . Is no of tests are enough or i need to write more ?? Regards Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From jschoenberger at demuc.de Sun Apr 21 12:05:09 2013 From: jschoenberger at demuc.de (=?windows-1252?Q?Johannes_Sch=F6nberger?=) Date: Sun, 21 Apr 2013 18:05:09 +0200 Subject: Edge detectors in filter package In-Reply-To: References: <95edf0bc-4ded-4a0d-bc33-122480426c5d@googlegroups.com> Message-ID: <50AD2FCB-E436-469B-99DB-E66775FA60C9@demuc.de> Basically, "filter" is a very universal term that may be used for lots of image processing related tasks? On the one hand, edge operators probably fit well into the feature package, on the other hand Tony just used the very common term > edge filters So, I am +-0 on this? Johannes Sch?nberger Am 21.04.2013 um 17:56 schrieb Tony Yu : > > On Sun, Apr 21, 2013 at 8:15 AM, Ankit Agrawal wrote: > Hi everyone, > > I would like to know the motivation behind keeping edges.py(edge detectors) in filters package. Based on the Image Processing terminology , I think features package is a more appropriate place for it. Thank you. > > > I've always thought that edge filters belonged in the features package, too. There's always the question of whether deprecating the current behavior is worth the trouble. I'm +1, despite the pain of deprecation. > > Cheers, > -Tony > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From stefan at sun.ac.za Sun Apr 21 15:40:46 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Sun, 21 Apr 2013 21:40:46 +0200 Subject: Challenge: estimate a blurring kernel In-Reply-To: References: Message-ID: On Sun, Apr 21, 2013 at 9:35 PM, abid rahman wrote: > Do you consider it as a GSoC project ? Isn't it patented ? That's a good question: could you check? Also, there may be other, related methods that aren't. St?fan From jni.soma at gmail.com Sun Apr 21 11:50:13 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Mon, 22 Apr 2013 01:50:13 +1000 Subject: imageio progress In-Reply-To: References: Message-ID: I wrote a lot of image io stuff for my own projects before I became aware of skimage. I spent some time thinking about how people could add and maintain their own modules, and came up with the following: io/ __init__.py tiff.py read() write() png.py read() write() etc. This isn't coded, it was just on my todo. Adding new formats is then a matter of dumping in a file containing read() and write() functions, and importing that in the __init__.py file. This results in very clean syntax: io.png.read() There could also be io.read() and io.write() defined in __init__ or some generic name, e.g. io.auto.read(), that would call the right format based on filename. Thoughts? On Fri, Apr 19, 2013 at 10:47 PM, St?fan van der Walt wrote: > Hi Almar > > On Wed, Mar 27, 2013 at 4:33 PM, Almar Klein > wrote: > > The project is called imageio and it is now a plugin-based library with a > > relatively small core. The freeimage plugin that started it all currently > > provides most file formats. Its now at a stage where I think the core is > > pretty much finished, and focus can shift towards different plugins for > > various scientific formats. But I am not going to do that alone :) > > Is there a way to add plugins by simply "dumping" plugin files into > place? This was part of the thinking when we designed the skimage.io > plugin infrastructure (so it would be easy for, e.g., Debian to add > new formats by simply unpacking into the right location). > > I am not entirely happy with the complexity of the io module in > skimage, and would love to hear ideas about how it can be simplified, > perhaps integrating with imageio. > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Sun Apr 21 16:26:56 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Mon, 22 Apr 2013 01:56:56 +0530 Subject: Morphological techniques In-Reply-To: References: Message-ID: Hi, So I have been Chintak On Apr 15, 2013 11:40 PM, "St?fan van der Walt" wrote: > Hi Chintak > > On Mon, Apr 15, 2013 at 7:55 PM, Chintak Sheth > wrote: > > I am really excited about being a part of this community and have been > > pretty fascinated by morphological techniques in particular. I would > really > > want to contribute something in this direction. Can someone please point > me > > to possible bugs or algorithms in this field that need implementations ? > > Welcome! There are several places to start, e.g. we need a > convex_hull_objects function, as well as adapting rank filters to > handle int16 correctly (not as 12-bit integers). > > Otherwise, I'd also keep an eye on IEEE Transactions on Image > Processing, and what other leading image processing packages > implement. > > There are some pretty interesting segmentation and feature detection > applications of morphology too. The sky's the limit :) > > Cheers > St?fan > > P.S. There are plenty of bugs to fix too: > https://github.com/scikit-image/scikit-image > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From silvertrumpet999 at gmail.com Mon Apr 22 11:03:24 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Mon, 22 Apr 2013 08:03:24 -0700 (PDT) Subject: Test failures in graph subpackage In-Reply-To: References: Message-ID: <388f5b74-be87-4e92-93ee-77772b5ba4ce@googlegroups.com> I think I found the problem. Originally, these tests all passed on OSX, Win7, and Scientific Linux. Then I looked into what versions Travis was installing, and the only package newer than what I was running was Cython 0.19. So upgraded Cython to 0.19 using pip (installed with no errors; had 0.17 or 0.18 previously) with no other changes in my config. Then after `$ make clean`, rebuilt scikit-image inplace, and `$ make install` I can reproduce these failures on Scientific Linux. I renamed and kept the old _mcp.c file to compare with the new version; if that diff is potentially of interest I can post it or the full file(s) on pastebin or a gist. Josh On Saturday, April 20, 2013 3:32:16 PM UTC-5, Tony S Yu wrote: > > Can anyone reproduce the test failures that the Travis buildbot is raising > on master: > > https://travis-ci.org/scikit-image/scikit-image/jobs/6472929#L2274 > > The tests pass on my setup, so I can't really figure out what's wrong. > > Thanks, > -Tony > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Mon Apr 22 04:18:14 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Mon, 22 Apr 2013 10:18:14 +0200 Subject: Describing superpixels In-Reply-To: <5174EE96.5050001@gmail.com> References: <5174EE96.5050001@gmail.com> Message-ID: On Mon, Apr 22, 2013 at 10:02 AM, Brickle Macho wrote: > I have a RGB-D image. Using only RGB I segment the image into superpixels > using SLIC and Quickshift algorithms provided in scikit-image. I am trying > visit each superpixel, calculate some depth features for each superpixel. > Specifically I want to calculate the surface normal of the superpixel and > the average angular difference with the neighbouring superpixels. > Eventually I plan to combine the superpixels based on these depth features. If you had a mask for an individual superpixel, and indices into your array, x, y, z, you can imagine finding the coordinates of all pixels under that mask with x[mask], y[mask], z[mask] The mask you typically recover from a label image, so, e.g., mask = (labels == 3). Now, the trickier problem is figuring out where, relative to other super-pixels, this one is located. For that, it may be better to represent the image as a graph, where each node represents a super-pixel, and edges represent links to other super-pixels (in fact, this is something we should implement in scikit-image to make handling labels easier). Would you be interested in collaborating on such a feature? St?fan From chintaksheth at gmail.com Mon Apr 22 01:22:41 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Mon, 22 Apr 2013 10:52:41 +0530 Subject: Morphological techniques In-Reply-To: References: Message-ID: Hi, So I have been able to implement the convex_hull_object function. The implementation is in the "convex_hull.py" file. I have also included two tests in "test_convex_hull.py" file itself. I have submitted a PR for the same. https://github.com/scikit-image/scikit-image/pull/522 Johannes and Stefan, could you'll review it please ? Also if there is a faster algorithm for the same ? I was also thinking about having just the current convex_hull_image() with an additional parameter, method. When method='union', i get the convex hull of the entire image, and if method='object', i get the convex hull of individual objects. Though this approach of defining an another function and giving an additional option of returning convex hull of individual segmented objects, seemed interesting. Also helps keep the code clean. Any comments on this ? Thanks, Chintak On Mon, Apr 22, 2013 at 1:56 AM, Chintak Sheth wrote: > Hi, > > So I have been > > Chintak > On Apr 15, 2013 11:40 PM, "St?fan van der Walt" wrote: > >> Hi Chintak >> >> On Mon, Apr 15, 2013 at 7:55 PM, Chintak Sheth >> wrote: >> > I am really excited about being a part of this community and have been >> > pretty fascinated by morphological techniques in particular. I would >> really >> > want to contribute something in this direction. Can someone please >> point me >> > to possible bugs or algorithms in this field that need implementations ? >> >> Welcome! There are several places to start, e.g. we need a >> convex_hull_objects function, as well as adapting rank filters to >> handle int16 correctly (not as 12-bit integers). >> >> Otherwise, I'd also keep an eye on IEEE Transactions on Image >> Processing, and what other leading image processing packages >> implement. >> >> There are some pretty interesting segmentation and feature detection >> applications of morphology too. The sky's the limit :) >> >> Cheers >> St?fan >> >> P.S. There are plenty of bugs to fix too: >> https://github.com/scikit-image/scikit-image >> >> -- >> You received this message because you are subscribed to the Google Groups >> "scikit-image" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to scikit-image+unsubscribe at googlegroups.com. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> -------------- next part -------------- An HTML attachment was scrubbed... URL: From guillaume at mitotic-machine.org Mon Apr 22 04:54:01 2013 From: guillaume at mitotic-machine.org (Guillaume Gay) Date: Mon, 22 Apr 2013 10:54:01 +0200 Subject: Describing superpixels In-Reply-To: <5174F8F5.4090704@gmail.com> References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> Message-ID: <5174FAA9.1040005@mitotic-machine.org> Hi, If you look for a numpy friendly gtraph library, I would strongly recommend graph-tool It's verry efficient, well documented and Tiago answers really quickly to questions on the mailing list. Plus it's package for debian distros. Cheers, Guillaume Le 22/04/2013 10:46, Brickle Macho a ?crit : > Hi St?fan >> If you had a mask for an individual superpixel, and indices into your >> array, x, y, z, you can imagine finding the coordinates of all pixels >> under that mask with >> >> x[mask], y[mask], z[mask] >> >> The mask you typically recover from a label image, so, e.g., mask = >> (labels == 3). > > Thanks. > >> Now, the trickier problem is figuring out where, relative to other >> super-pixels, this one is located. For that, it may be better to >> represent the image as a graph, where each node represents a >> super-pixel, and edges represent links to other super-pixels (in fact, > I assumed/hoped there is some python based graph library that was > numpy friendly. > >> this is something we should implement in scikit-image to make handling >> labels easier). >> >> Would you be interested in collaborating on such a feature? > Sure. I am still feeling my way, but am willing to contribute what > every way I can. > > Regards, > > Michael. -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Mon Apr 22 04:58:09 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Mon, 22 Apr 2013 10:58:09 +0200 Subject: Describing superpixels In-Reply-To: <5174FAA9.1040005@mitotic-machine.org> References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> Message-ID: On Mon, Apr 22, 2013 at 10:54 AM, Guillaume Gay wrote: > If you look for a numpy friendly gtraph library, I would strongly recommend > graph-tool Thanks for the pointer; graph-tools does look like a fantastic tool. I don't think we're quite ready for the dependency on Boost, though. St?fan From stefan at sun.ac.za Mon Apr 22 05:04:48 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Mon, 22 Apr 2013 11:04:48 +0200 Subject: Morphological techniques In-Reply-To: References: Message-ID: On Mon, Apr 22, 2013 at 7:22 AM, Chintak Sheth wrote: > I was also thinking about having just the current convex_hull_image() with > an additional parameter, method. When method='union', i get the convex hull > of the entire image, and if method='object', i get the convex hull of > individual objects. Though this approach of defining an another function and > giving an additional option of returning convex hull of individual segmented > objects, seemed interesting. Also helps keep the code clean. In general, we prefer to use keywords as parameters that tweak the algorithm (not to switch out an entirely different algorithm). In this case, I think the preference will be for separate functions. Thanks St?fan From guillaume at mitotic-machine.org Mon Apr 22 05:37:21 2013 From: guillaume at mitotic-machine.org (Guillaume Gay) Date: Mon, 22 Apr 2013 11:37:21 +0200 Subject: Describing superpixels In-Reply-To: References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> Message-ID: <517504D1.9030102@mitotic-machine.org> Sure, it is definitely a big stand alone package. Maybe it can provide some inspiration though, notably, the graphml output format is really nice and cross-library so maybe a simple first step is to write a simple I/O from labeled images to graphml? Guillaume Le 22/04/2013 10:58, St?fan van der Walt a ?crit : > On Mon, Apr 22, 2013 at 10:54 AM, Guillaume Gay > wrote: >> If you look for a numpy friendly gtraph library, I would strongly recommend >> graph-tool > Thanks for the pointer; graph-tools does look like a fantastic tool. > I don't think we're quite ready for the dependency on Boost, though. > > St?fan > From stefan at sun.ac.za Mon Apr 22 05:46:58 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Mon, 22 Apr 2013 11:46:58 +0200 Subject: imageio progress In-Reply-To: References: Message-ID: Hi Juan On Sun, Apr 21, 2013 at 5:50 PM, Juan Nunez-Iglesias wrote: > io.png.read() That is a very clean abstraction. It doesn't quite cover our use-case of supporting multiple readers for the same format, but then I also don't know if that is ideal. We could make these things explicit: import skimage.io.matplotlib as skio skio.imread(...) At the moment, we support either matplotlib, freeimage, pil, or whatever is around on the system to do the job. I guess the __init__ could try and import plugins until it finds one that works. St?fan From stefan at sun.ac.za Mon Apr 22 05:50:40 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Mon, 22 Apr 2013 11:50:40 +0200 Subject: Describing superpixels In-Reply-To: <517504D1.9030102@mitotic-machine.org> References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> Message-ID: On Mon, Apr 22, 2013 at 11:37 AM, Guillaume Gay wrote: > Maybe it can provide some inspiration though, notably, the graphml output > format is really nice and cross-library so maybe a simple first step is to > write a simple I/O from labeled images to graphml? That sounds like a reasonable compromise, without involving any dependencies. Does networkx also read graphml? St?fan From tsyu80 at gmail.com Mon Apr 22 15:08:21 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Mon, 22 Apr 2013 14:08:21 -0500 Subject: New core developer: Josh Warner Message-ID: Hi everyone, I'd like to officially welcome Josh Warner to the scikit-image development team. Josh has been contributing to the project for the last year and a half, starting with some improvements for random walker segmentation. Lately, he has been really active reviewing our back log of pull requests and closing bugs. We're looking forward to all the new contributions you'll be able make given your new powers :) Cheers, -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Mon Apr 22 08:32:26 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Mon, 22 Apr 2013 14:32:26 +0200 Subject: Describing superpixels In-Reply-To: References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> Message-ID: On Mon, Apr 22, 2013 at 11:55 AM, Juan Nunez-Iglesias wrote: > It's very convenient to have direct access back to the pixels/voxels making > up each superpixel. Therefore, I stored on each node an array containing all > the linear indices into the `ravel`ed version of the image. This is pretty > expensive, though, so if could do it over, I would store the index of a > single pixel belonging to that superpixel and pair it with a flood fill > algorithm, so that a function `g.get_pixel_indices(superpixel_id)` would > transparently return the pixel list, but in O(superpixel_size) time while > only using up a singe int of space. Thanks for sharing that good advice. Juan. There is also an intermediary storage format, one that I used before with some success. Think of a 2-D example: you store the start and end indices of each column that comprises the object, paired with an index into the rows (very similar to CSR). Perhaps it will be a bit painful to extend to N-d, but it is doable. Another option is to store a graph in an array. This goes along very well with the implementation of ``graph.label``. At each position in the array, you store the index of the previous pixel to which it is connected. For any super-pixel, you can then store only the last pixel, and traverse indices backward to get the entire super-pixel. Con: 2 x storage. > Related note: does skimage have an nd implementation of flood fill? I think one of the recent PRs made an attempt at a 2D version called ``connected_component``, but otherwise no. St?fan From bricklemacho at gmail.com Mon Apr 22 04:02:30 2013 From: bricklemacho at gmail.com (Brickle Macho) Date: Mon, 22 Apr 2013 16:02:30 +0800 Subject: Describing superpixels Message-ID: <5174EE96.5050001@gmail.com> Hi, I am new to python and image processing, which may be my problem, but I don't understand how to interpret/use the integer mask indicating segment labels output from the SLIC and Quickshift algorithms. I have a RGB-D image. Using only RGB I segment the image into superpixels using SLIC and Quickshift algorithms provided in scikit-image. I am trying visit each superpixel, calculate some depth features for each superpixel. Specifically I want to calculate the surface normal of the superpixel and the average angular difference with the neighbouring superpixels. Eventually I plan to combine the superpixels based on these depth features. Could someone explain the segment_mask format/structure and how I should use the mask? Thanks in advance. Brickle. -- From bricklemacho at gmail.com Mon Apr 22 04:41:22 2013 From: bricklemacho at gmail.com (Brickle Macho) Date: Mon, 22 Apr 2013 16:41:22 +0800 Subject: Describing superpixels In-Reply-To: References: <5174EE96.5050001@gmail.com> Message-ID: <5174F7B2.10704@gmail.com> Hi Juan, Thanks. Makes more sense now when I inspect the mask. Michael. -- On 22/04/13 4:17 PM, Juan Nunez-Iglesias wrote: > Hi Brickle, > > Cool problem. =) iirc the return type of these algorithms is an M x N > integer-type numpy array (where the input image is an M x N x 3 numpy > array). Every pixel with the same value belongs in the same > superpixel. So, all pixels with value 1 make up the 1st superpixel, > all pixels with value 2 make up the 2nd, and so on until the nth > superpixel. > > Does that answer your question? > > Juan. > > > On Mon, Apr 22, 2013 at 6:02 PM, Brickle Macho > wrote: > > Hi, > > I am new to python and image processing, which may be my problem, > but I don't understand how to interpret/use the integer mask > indicating segment labels output from the SLIC and Quickshift > algorithms. > > I have a RGB-D image. Using only RGB I segment the image into > superpixels using SLIC and Quickshift algorithms provided in > scikit-image. I am trying visit each superpixel, calculate some > depth features for each superpixel. Specifically I want to > calculate the surface normal of the superpixel and the average > angular difference with the neighbouring superpixels. > Eventually I plan to combine the superpixels based on these depth > features. > > Could someone explain the segment_mask format/structure and how I > should use the mask? > > Thanks in advance. > > Brickle. > -- > > -- > You received this message because you are subscribed to the Google > Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, > send an email to scikit-image+unsubscribe at googlegroups.com > . > For more options, visit https://groups.google.com/groups/opt_out. > > > > -- > You received this message because you are subscribed to the Google > Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send > an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bricklemacho at gmail.com Mon Apr 22 04:46:45 2013 From: bricklemacho at gmail.com (Brickle Macho) Date: Mon, 22 Apr 2013 16:46:45 +0800 Subject: Describing superpixels In-Reply-To: References: <5174EE96.5050001@gmail.com> Message-ID: <5174F8F5.4090704@gmail.com> Hi St??????fan > If you had a mask for an individual superpixel, and indices into your > array, x, y, z, you can imagine finding the coordinates of all pixels > under that mask with > > x[mask], y[mask], z[mask] > > The mask you typically recover from a label image, so, e.g., mask = > (labels == 3). Thanks. > Now, the trickier problem is figuring out where, relative to other > super-pixels, this one is located. For that, it may be better to > represent the image as a graph, where each node represents a > super-pixel, and edges represent links to other super-pixels (in fact, I assumed/hoped there is some python based graph library that was numpy friendly. > this is something we should implement in scikit-image to make handling > labels easier). > > Would you be interested in collaborating on such a feature? Sure. I am still feeling my way, but am willing to contribute what every way I can. Regards, Michael. -- From jni.soma at gmail.com Mon Apr 22 04:17:30 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Mon, 22 Apr 2013 18:17:30 +1000 Subject: Describing superpixels In-Reply-To: <5174EE96.5050001@gmail.com> References: <5174EE96.5050001@gmail.com> Message-ID: Hi Brickle, Cool problem. =) iirc the return type of these algorithms is an M x N integer-type numpy array (where the input image is an M x N x 3 numpy array). Every pixel with the same value belongs in the same superpixel. So, all pixels with value 1 make up the 1st superpixel, all pixels with value 2 make up the 2nd, and so on until the nth superpixel. Does that answer your question? Juan. On Mon, Apr 22, 2013 at 6:02 PM, Brickle Macho wrote: > Hi, > > I am new to python and image processing, which may be my problem, but I > don't understand how to interpret/use the integer mask indicating segment > labels output from the SLIC and Quickshift algorithms. > > I have a RGB-D image. Using only RGB I segment the image into > superpixels using SLIC and Quickshift algorithms provided in scikit-image. > I am trying visit each superpixel, calculate some depth features for each > superpixel. Specifically I want to calculate the surface normal of the > superpixel and the average angular difference with the neighbouring > superpixels. Eventually I plan to combine the superpixels based on > these depth features. > > Could someone explain the segment_mask format/structure and how I should > use the mask? > > Thanks in advance. > > Brickle. > -- > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe@**googlegroups.com > . > For more options, visit https://groups.google.com/**groups/opt_out > . > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Mon Apr 22 05:55:17 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Mon, 22 Apr 2013 19:55:17 +1000 Subject: Describing superpixels In-Reply-To: <517504D1.9030102@mitotic-machine.org> References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> Message-ID: This kind of graph is called a region adjacency graph in the literature. I thought I would share a lesson that I learned from my highly inefficient, NetworkX-based implementation. It's very convenient to have direct access back to the pixels/voxels making up each superpixel. Therefore, I stored on each node an array containing all the linear indices into the `ravel`ed version of the image. This is pretty expensive, though, so if could do it over, I would store the index of a single pixel belonging to that superpixel and pair it with a flood fill algorithm, so that a function `g.get_pixel_indices(superpixel_id)` would transparently return the pixel list, but in O(superpixel_size) time while only using up a singe int of space. Related note: does skimage have an nd implementation of flood fill? On Mon, Apr 22, 2013 at 7:37 PM, Guillaume Gay < guillaume at mitotic-machine.org> wrote: > Sure, it is definitely a big stand alone package. > > Maybe it can provide some inspiration though, notably, the graphml output > format is really nice and cross-library so maybe a simple first step is to > write a simple I/O from labeled images to graphml? > > Guillaume > > Le 22/04/2013 10:58, St?fan van der Walt a ?crit : > > On Mon, Apr 22, 2013 at 10:54 AM, Guillaume Gay >> wrote: >> >>> If you look for a numpy friendly gtraph library, I would strongly >>> recommend >>> graph-tool >>> >> Thanks for the pointer; graph-tools does look like a fantastic tool. >> I don't think we're quite ready for the dependency on Boost, though. >> >> St?fan >> >> > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe@**googlegroups.com > . > For more options, visit https://groups.google.com/**groups/opt_out > . > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Mon Apr 22 08:24:47 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Mon, 22 Apr 2013 22:24:47 +1000 Subject: imageio progress In-Reply-To: References: Message-ID: On Mon, Apr 22, 2013 at 7:46 PM, St?fan van der Walt wrote: > It doesn't quite cover our use-case of supporting multiple readers for the > same format, but then I also don't know if that is ideal. > I don't know either. ;) I noticed that you used multiple plugins, but I haven't been a fan. I think, as you suggested, that the user shouldn't have to worry about these things unless he wants to. So, use a default backend, whatever we think is best for each format. Then, if the user wants to use a specific one, he can write (for example): io.png.set_backend('PIL') This'd be interesting to engineer I bet. =) -------------- next part -------------- An HTML attachment was scrubbed... URL: From silvertrumpet999 at gmail.com Tue Apr 23 01:36:22 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Mon, 22 Apr 2013 22:36:22 -0700 (PDT) Subject: Test failures in graph subpackage In-Reply-To: <388f5b74-be87-4e92-93ee-77772b5ba4ce@googlegroups.com> References: <388f5b74-be87-4e92-93ee-77772b5ba4ce@googlegroups.com> Message-ID: <1e741aa0-a699-465f-97d3-8855e61c9446@googlegroups.com> Should we temporarily modify travis.yml to install an older version of Cython? This bug is getting in the way of the usual Travis workflow, and now that we know the source of the problem it seems counterproductive to have Travis screaming at everyone. Once we either fix the problem (or determine it's a Cython bug), we can revert the travis.yml change. I'll make a PR for this. On Monday, April 22, 2013 10:03:24 AM UTC-5, Josh Warner wrote: I think I found the problem. > > Originally, these tests all passed on OSX, Win7, and Scientific Linux. > Then I looked into what versions Travis was installing, and the only > package newer than what I was running was Cython 0.19. > > So upgraded Cython to 0.19 using pip (installed with no errors; had 0.17 > or 0.18 previously) with no other changes in my config. Then after `$ make > clean`, rebuilt scikit-image inplace, and `$ make install` I can reproduce > these failures on Scientific Linux. > > I renamed and kept the old _mcp.c file to compare with the new version; if > that diff is potentially of interest I can post it or the full file(s) on > pastebin or a gist. > > Josh > > On Saturday, April 20, 2013 3:32:16 PM UTC-5, Tony S Yu wrote: >> >> Can anyone reproduce the test failures that the Travis buildbot is >> raising on master: >> >> https://travis-ci.org/scikit-image/scikit-image/jobs/6472929#L2274 >> >> The tests pass on my setup, so I can't really figure out what's wrong. >> >> Thanks, >> -Tony >> > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jschoenberger at demuc.de Tue Apr 23 01:49:52 2013 From: jschoenberger at demuc.de (=?iso-8859-1?Q?Johannes_Sch=F6nberger?=) Date: Tue, 23 Apr 2013 05:49:52 +0000 Subject: Test failures in graph subpackage In-Reply-To: <1e741aa0-a699-465f-97d3-8855e61c9446@googlegroups.com> References: <388f5b74-be87-4e92-93ee-77772b5ba4ce@googlegroups.com>,<1e741aa0-a699-465f-97d3-8855e61c9446@googlegroups.com> Message-ID: <430703C5-AFE9-4EA2-B10C-3F9069D5CA4A@demuc.de> In the meantime, +1. A bug report or discussion for the people of cython is definitely also a good idea. Johannes Sch?nberger Am 23.04.2013 um 07:36 schrieb "Josh Warner" >: Should we temporarily modify travis.yml to install an older version of Cython? This bug is getting in the way of the usual Travis workflow, and now that we know the source of the problem it seems counterproductive to have Travis screaming at everyone. Once we either fix the problem (or determine it's a Cython bug), we can revert the travis.yml change. I'll make a PR for this. On Monday, April 22, 2013 10:03:24 AM UTC-5, Josh Warner wrote: I think I found the problem. Originally, these tests all passed on OSX, Win7, and Scientific Linux. Then I looked into what versions Travis was installing, and the only package newer than what I was running was Cython 0.19. So upgraded Cython to 0.19 using pip (installed with no errors; had 0.17 or 0.18 previously) with no other changes in my config. Then after `$ make clean`, rebuilt scikit-image inplace, and `$ make install` I can reproduce these failures on Scientific Linux. I renamed and kept the old _mcp.c file to compare with the new version; if that diff is potentially of interest I can post it or the full file(s) on pastebin or a gist. Josh On Saturday, April 20, 2013 3:32:16 PM UTC-5, Tony S Yu wrote: Can anyone reproduce the test failures that the Travis buildbot is raising on master: https://travis-ci.org/scikit-image/scikit-image/jobs/6472929#L2274 The tests pass on my setup, so I can't really figure out what's wrong. Thanks, -Tony -- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bricklemacho at gmail.com Mon Apr 22 21:34:54 2013 From: bricklemacho at gmail.com (Brickle Macho) Date: Tue, 23 Apr 2013 09:34:54 +0800 Subject: Describing superpixels In-Reply-To: References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> Message-ID: <5175E53E.3050006@gmail.com> Thanks everyone for the advice and tips. I am getting closer to a solution. The (obvious) plan is for each edge find neighbouring regions, use segment_mask to extract indices into the depth map and calculate depth features (average depth, surface normals etc) and then combine segments based on these feature(s). Some of the advice in the replies, suggest using a graph package and having some way to directly access the pixels of each super-pixel with some interesting ideas provided. Being a little naive I was hoping to have a simple set of edges to traverse. I found a Peekaboo blog entry: http://peekaboo-vision.blogspot.com.au/2011/08/region-connectivity-graphs-in-python.html Which takes a segment mask/array and creates a set of vertices and edges representing the region connectivity graph. This looks like it might be sufficient. Am I being too naive? Should I just learn/use a graph package? Also, any advice/gotchas on how to join/combine segments? There seems to be a few join/relabel functions in the library. Thanks again, Michael. -- On 22/04/13 8:32 PM, St??????fan van der Walt wrote: > On Mon, Apr 22, 2013 at 11:55 AM, Juan Nunez-Iglesias > wrote: >> It's very convenient to have direct access back to the pixels/voxels making >> up each superpixel. Therefore, I stored on each node an array containing all >> the linear indices into the `ravel`ed version of the image. This is pretty >> expensive, though, so if could do it over, I would store the index of a >> single pixel belonging to that superpixel and pair it with a flood fill >> algorithm, so that a function `g.get_pixel_indices(superpixel_id)` would >> transparently return the pixel list, but in O(superpixel_size) time while >> only using up a singe int of space. > Thanks for sharing that good advice. Juan. There is also an > intermediary storage format, one that I used before with some success. > Think of a 2-D example: you store the start and end indices of each > column that comprises the object, paired with an index into the rows > (very similar to CSR). Perhaps it will be a bit painful to extend to > N-d, but it is doable. > > Another option is to store a graph in an array. This goes along very > well with the implementation of ``graph.label``. At each position in > the array, you store the index of the previous pixel to which it is > connected. For any super-pixel, you can then store only the last > pixel, and traverse indices backward to get the entire super-pixel. > Con: 2 x storage. > >> Related note: does skimage have an nd implementation of flood fill? > I think one of the recent PRs made an attempt at a 2D version called > ``connected_component``, but otherwise no. > > St??????fan > From chintaksheth at gmail.com Tue Apr 23 03:29:12 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Tue, 23 Apr 2013 12:59:12 +0530 Subject: Test failures in graph subpackage In-Reply-To: <1e741aa0-a699-465f-97d3-8855e61c9446@googlegroups.com> References: <388f5b74-be87-4e92-93ee-77772b5ba4ce@googlegroups.com> <1e741aa0-a699-465f-97d3-8855e61c9446@googlegroups.com> Message-ID: +1, oddly so almost all the recent PRs are facing an issue with Travis build. On Tue, Apr 23, 2013 at 11:06 AM, Josh Warner wrote: > Should we temporarily modify travis.yml to install an older version of > Cython? This bug is getting in the way of the usual Travis workflow, and > now that we know the source of the problem it seems counterproductive to > have Travis screaming at everyone. Once we either fix the problem (or > determine it's a Cython bug), we can revert the travis.yml change. > > I'll make a PR for this. > > On Monday, April 22, 2013 10:03:24 AM UTC-5, Josh Warner wrote: > > I think I found the problem. >> >> Originally, these tests all passed on OSX, Win7, and Scientific Linux. >> Then I looked into what versions Travis was installing, and the only >> package newer than what I was running was Cython 0.19. >> >> So upgraded Cython to 0.19 using pip (installed with no errors; had 0.17 >> or 0.18 previously) with no other changes in my config. Then after `$ make >> clean`, rebuilt scikit-image inplace, and `$ make install` I can reproduce >> these failures on Scientific Linux. >> >> I renamed and kept the old _mcp.c file to compare with the new version; >> if that diff is potentially of interest I can post it or the full file(s) >> on pastebin or a gist. >> >> Josh >> >> On Saturday, April 20, 2013 3:32:16 PM UTC-5, Tony S Yu wrote: >>> >>> Can anyone reproduce the test failures that the Travis buildbot is >>> raising on master: >>> >>> https://travis-ci.org/scikit-**image/scikit-image/jobs/**6472929#L2274 >>> >>> The tests pass on my setup, so I can't really figure out what's wrong. >>> >>> Thanks, >>> -Tony >>> >> -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Tue Apr 23 07:12:10 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 23 Apr 2013 13:12:10 +0200 Subject: Test failures in graph subpackage In-Reply-To: References: <388f5b74-be87-4e92-93ee-77772b5ba4ce@googlegroups.com> <1e741aa0-a699-465f-97d3-8855e61c9446@googlegroups.com> Message-ID: On Tue, Apr 23, 2013 at 9:29 AM, Chintak Sheth wrote: > +1, oddly so almost all the recent PRs are facing an issue with Travis > build. I just merged Josh's PR to address this problem, so we can again rely on Travis output. St?fan From stefan at sun.ac.za Tue Apr 23 07:19:56 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 23 Apr 2013 13:19:56 +0200 Subject: Describing superpixels In-Reply-To: <5175E53E.3050006@gmail.com> References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> <5175E53E.3050006@gmail.com> Message-ID: On Tue, Apr 23, 2013 at 3:34 AM, Brickle Macho wrote: > Being a little naive I was hoping to have a simple set of edges to traverse. > I found a Peekaboo blog entry: > http://peekaboo-vision.blogspot.com.au/2011/08/region-connectivity-graphs-in-python.html I think Ga?l's comment might be the key: scipy.sparse.cs_graph_components St?fan From stefan at sun.ac.za Tue Apr 23 10:53:33 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 23 Apr 2013 16:53:33 +0200 Subject: Describing superpixels In-Reply-To: References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> <5175E53E.3050006@gmail.com> Message-ID: On Tue, Apr 23, 2013 at 2:42 PM, Juan Nunez-Iglesias wrote: > I actually don't understand this at all, but it sounds really interesting. > It seems to me like you can only represent chain topologies, but that would > make no sense? Could you elaborate? I think you are right--so we can disregard that idea. From stefan at sun.ac.za Tue Apr 23 11:01:40 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 23 Apr 2013 17:01:40 +0200 Subject: Describing superpixels In-Reply-To: References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> <5175E53E.3050006@gmail.com> Message-ID: On Tue, Apr 23, 2013 at 2:42 PM, Juan Nunez-Iglesias wrote: > Got it. Slightly more space, slightly faster. I imagine you stored repeated > row indices if the object was not convex? > >> Perhaps it will be a bit painful to extend to N-d, but it is doable. You don't even need to. Have a look at section 3.1 of https://scholar.sun.ac.za/handle/10019.1/4883 Either way, I'm not sure I like how this generalized to N-d space--I'd rather work with a graph. So, when it comes down to that, it looks like we have two choices: implement a memory efficient and slightly more computationally expensive implementation, or simply pre-calculate all the neighbor indices and store that. Hrm, that reminds me of the solution we used for ImageCollection--let's just set a memory_efficient flag. If True, we only store the last flood fill result, if False, we store all flood fill results as they are computed. Easy to implement, and gives the user control of memory growth. What do you think? St?fan From chintaksheth at gmail.com Tue Apr 23 07:46:28 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Tue, 23 Apr 2013 17:16:28 +0530 Subject: Describing superpixels In-Reply-To: References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> Message-ID: @stefanv Yes, I'm reading up on some material by which I could have a better and more memory efficient algorithm for flood fill. I'm definitely interested in this. On Mon, Apr 22, 2013 at 6:02 PM, St?fan van der Walt wrote: > On Mon, Apr 22, 2013 at 11:55 AM, Juan Nunez-Iglesias > wrote: > > It's very convenient to have direct access back to the pixels/voxels > making > > up each superpixel. Therefore, I stored on each node an array containing > all > > the linear indices into the `ravel`ed version of the image. This is > pretty > > expensive, though, so if could do it over, I would store the index of a > > single pixel belonging to that superpixel and pair it with a flood fill > > algorithm, so that a function `g.get_pixel_indices(superpixel_id)` would > > transparently return the pixel list, but in O(superpixel_size) time while > > only using up a singe int of space. > > Thanks for sharing that good advice. Juan. There is also an > intermediary storage format, one that I used before with some success. > Think of a 2-D example: you store the start and end indices of each > column that comprises the object, paired with an index into the rows > (very similar to CSR). Perhaps it will be a bit painful to extend to > N-d, but it is doable. > > Another option is to store a graph in an array. This goes along very > well with the implementation of ``graph.label``. At each position in > the array, you store the index of the previous pixel to which it is > connected. For any super-pixel, you can then store only the last > pixel, and traverse indices backward to get the entire super-pixel. > Con: 2 x storage. > > > Related note: does skimage have an nd implementation of flood fill? > > I think one of the recent PRs made an attempt at a 2D version called > ``connected_component``, but otherwise no. > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Tue Apr 23 07:43:16 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Tue, 23 Apr 2013 21:43:16 +1000 Subject: New core developer: Josh Warner In-Reply-To: References: Message-ID: Congrats Josh! Looking forward to joining you at some point. ;) On Tue, Apr 23, 2013 at 5:08 AM, Tony Yu wrote: > Hi everyone, > > I'd like to officially welcome Josh Warner to the scikit-image development > team. Josh has been contributing to the project for the last year and a > half, starting with some improvements for random walker segmentation. > Lately, he has been really active reviewing our back log of pull requests > and closing bugs. > > We're looking forward to all the new contributions you'll be able make > given your new powers :) > > Cheers, > -Tony > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From bricklemacho at gmail.com Tue Apr 23 10:42:55 2013 From: bricklemacho at gmail.com (Brickle Macho) Date: Tue, 23 Apr 2013 22:42:55 +0800 Subject: Describing superpixels In-Reply-To: References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> <5175E53E.3050006@gmail.com> Message-ID: <51769DEF.1000002@gmail.com> On 23/04/13 8:42 PM, Juan Nunez-Iglesias wrote: > This is a whole big can of worms! It really depends on what you're > doing later. For example, do you want to do this hierarchically? Or do > you want to do it in one shot? One shot is simplest: for each edge, > keep a score, something like Pr(join(u, v)). Then, threshold this > graph, ie, throw away all the edges where your probability is lower > than some value. Finally, do a connected components search, and > iterate over all superpixels as follows: I think I understand what you are getting at when you say "keep a score". What you mean "hierarchically" ? Obviously I do some background reading on graph theory so I can understand how to threshold a graph a graph etc. I will doo that later tonight. Once superpixels are combined, I have no need for the graph. I was planning to compare each adjacent superpixel (i.e. each edge) and update a new segment mask as I go. But I have a few problems. Say S1 and S2 are joined. Later I compare S2 and S5 need need to be joined, I need to keep track the S2 has already be relabeled. I think I will need multiple passes, which implies new graph for each pass and repeat until no joins detected. Assuing it would work, it doesn't seem very efficient. I suspect this process to combine vertices in a graph already exists in a graph library so will investigate existing libraries. Thanks again for the ideas. Michael. -- From jni.soma at gmail.com Tue Apr 23 08:42:58 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Tue, 23 Apr 2013 22:42:58 +1000 Subject: Describing superpixels In-Reply-To: <5175E53E.3050006@gmail.com> References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> <5175E53E.3050006@gmail.com> Message-ID: @Michael: On Tue, Apr 23, 2013 at 11:34 AM, Brickle Macho wrote: > Being a little naive I was hoping to have a simple set of edges to > traverse. I found a Peekaboo blog entry: http://peekaboo-vision.** > blogspot.com.au/2011/08/**region-connectivity-graphs-in-**python.html Either this or Stefan's/Gael's suggestion are good. You're not doing anything complicated so a simple edge list is indeed fine. Also, any advice/gotchas on how to join/combine segments? This is a whole big can of worms! It really depends on what you're doing later. For example, do you want to do this hierarchically? Or do you want to do it in one shot? One shot is simplest: for each edge, keep a score, something like Pr(join(u, v)). Then, threshold this graph, ie, throw away all the edges where your probability is lower than some value. Finally, do a connected components search, and iterate over all superpixels as follows: # connected_components is a list of lists, for example out = np.zeros_like(image)for i, c in enumerate(connected_components): for superpixel in c: out[image==superpixel] = i+1return out Each call to `image==superpixel` is O(image.size), but this should be manageable for smallish images. @stefan: On 22/04/13 8:32 PM, St?fan van der Walt wrote: >> >> Thanks for sharing that good advice. Juan. There is also an > >> intermediary storage format, one that I used before with some success. > >> Think of a 2-D example: you store the start and end indices of each > >> column that comprises the object, paired with an index into the rows > >> (very similar to CSR). > Got it. Slightly more space, slightly faster. I imagine you stored repeated row indices if the object was not convex? Perhaps it will be a bit painful to extend to N-d, but it is doable. > Yeah, although I'd prefer to implement flood fill. ;) Another option is to store a graph in an array. This goes along very > >> well with the implementation of ``graph.label``. At each position in > >> the array, you store the index of the previous pixel to which it is > >> connected. For any super-pixel, you can then store only the last > >> pixel, and traverse indices backward to get the entire super-pixel. > >> Con: 2 x storage. > I actually don't understand this at all, but it sounds really interesting. It seems to me like you can only represent chain topologies, but that would make no sense? Could you elaborate? -------------- next part -------------- An HTML attachment was scrubbed... URL: From silvertrumpet999 at gmail.com Wed Apr 24 02:16:29 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Tue, 23 Apr 2013 23:16:29 -0700 (PDT) Subject: functions of ndimage In-Reply-To: References: <20130423214945.GA3097@phare.normalesup.org> Message-ID: <0c57c2e3-932d-483a-98c7-c9394696091a@googlegroups.com> I agree with wrappers, ideally with minimal changes to SciPy's API. Of course this means that if SciPy changes their API or re-implements something (like the change of `scipy.ndimage.label` coming in 0.13), we encounter problems... but in general this saves us from needing to reinvent and maintain the wheel. If this were to be implemented, would our policy then be to use relative imports for the wrapped versions of these functions internally, rather than importing from SciPy? On Tuesday, April 23, 2013 11:29:01 PM UTC-5, Juan Nunez-Iglesias wrote: > > I'm in the middle on this: I would suggest importing the relevant ndimage > functions into the skimage namespace, but not touching the API, except > perhaps in extremely egregious cases. Just as the lack of a Gaussian filter > might confuse beginners, two divergent APIs will confuse advanced users. > > > On Wed, Apr 24, 2013 at 11:41 AM, abid rahman > > wrote: > >> Hi, >> >> Isn't it a bad idea that for some functions we should go for scipy, for >> some other functions we go for skimage. Actually what I felt from >> user-point-of-view is to decrease maximum dependency in the project. So it >> is always better to bring all image processing stuffs in python under one >> library. Installation of one library should serve all our purpose. >> >> Abid K. >> opencvpython.blogspot.com >> >> >> On Wed, Apr 24, 2013 at 3:49 AM, St?fan van der Walt >> > wrote: >> >>> On Tue, Apr 23, 2013 at 11:49 PM, Emmanuelle Gouillart >>> > wrote: >>> > I can see only a small number of scipy.ndimage functions that >>> are >>> > concerned, like gaussian_filter, distance_transform_edt, >>> > binary_fill_holes, but I now think that it'd be worth having a wrapper >>> > for these functions in skimage, for the sake of users not well aware of >>> > scipy.ndimage. We already depend on scipy anyway. >>> >>> I'd be happy to put wrappers to those functions in skimage, as long as >>> we do a thorough review of the API of each. That turns out to be one >>> of skimage's strongest benefits, and we shouldn't rely on ndimage to >>> have considered it very carefully. I think it would help if we had >>> some practical use cases of each of these, to guide us in the right >>> direction. >>> >>> But yes, I can see how this would confuse beginners... >>> >>> St?fan >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "scikit-image" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to scikit-image... at googlegroups.com . >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "scikit-image" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to scikit-image... at googlegroups.com . >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From emmanuelle.gouillart at nsup.org Tue Apr 23 17:49:45 2013 From: emmanuelle.gouillart at nsup.org (Emmanuelle Gouillart) Date: Tue, 23 Apr 2013 23:49:45 +0200 Subject: functions of ndimage Message-ID: <20130423214945.GA3097@phare.normalesup.org> Dear all, a while ago, a PR from Riaan van den Dool proposed to have a Gaussian filter in scikit-image. At this time, I remember that I felt that it was not necessary to have a Gaussian filter in the scikit-image, since there is already one in scipy.ndimage. Many people shared this opinion, and the PR was turned down. However, I have gradually changed my opinion on this matter, and I would like to know what the other developers and users think. I've recently given a tutorial / practical session on scikit-image to an audience of Python beginners (undergraduate teachers who will have to teach Python next year, since Python is now part of the French syllabus for undergraduate scientific studies). And it was very puzzling to them that some functions, such as the Gaussian filter, were not to be found in skimage, but in scipy.ndimage. They had no problem understanding that generic low-level arrays routines were in numpy, and specialized image processing functions in skimage, but they felt like scipy.ndimage was an unnecessary complication! Of course, these users are not representative of all skimage's users, but since Python is getting more and more popular in science, we'll have more and more users who'll prefer finding all high-level image processing functions under skimage's umbrella. I can see only a small number of scipy.ndimage functions that are concerned, like gaussian_filter, distance_transform_edt, binary_fill_holes, but I now think that it'd be worth having a wrapper for these functions in skimage, for the sake of users not well aware of scipy.ndimage. We already depend on scipy anyway. What do you think? Cheers, Emmanuelle From stefan at sun.ac.za Tue Apr 23 18:19:37 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Wed, 24 Apr 2013 00:19:37 +0200 Subject: functions of ndimage In-Reply-To: <20130423214945.GA3097@phare.normalesup.org> References: <20130423214945.GA3097@phare.normalesup.org> Message-ID: On Tue, Apr 23, 2013 at 11:49 PM, Emmanuelle Gouillart wrote: > I can see only a small number of scipy.ndimage functions that are > concerned, like gaussian_filter, distance_transform_edt, > binary_fill_holes, but I now think that it'd be worth having a wrapper > for these functions in skimage, for the sake of users not well aware of > scipy.ndimage. We already depend on scipy anyway. I'd be happy to put wrappers to those functions in skimage, as long as we do a thorough review of the API of each. That turns out to be one of skimage's strongest benefits, and we shouldn't rely on ndimage to have considered it very carefully. I think it would help if we had some practical use cases of each of these, to guide us in the right direction. But yes, I can see how this would confuse beginners... St?fan From usharma01 at gmail.com Wed Apr 24 04:18:25 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Wed, 24 Apr 2013 01:18:25 -0700 (PDT) Subject: Frei-Chen Edge Detector Message-ID: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> Hi, I am working on implementation of Frei-Chen Edge detector ( http://rastergrid.com/blog/2011/01/frei-chen-edge-detector/ ) , i have almost completed it but i have one doubt regarding the last mask it is using for computing average . I don't know why it is using this mask and after applying this mask i am getting an image which looks like original image and the difference can't be detected and if that mask is not used then edges are clearly visible . so can you please tell me where is problem ? Thanks, Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Wed Apr 24 05:43:20 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Wed, 24 Apr 2013 02:43:20 -0700 (PDT) Subject: Frei-Chen Edge Detector In-Reply-To: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> References: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> Message-ID: <38494b86-9605-4a59-b7b5-2d75ce597060@googlegroups.com> Hi Stefan, Here is my code which i have written in edges.py ############## def freiChen(image,mask=None): """Find the edge magnitude using FreiChen Filter. Parameters ---------- image : 2-D array Image to process. mask : 2-D array, optional An optional mask to limit the application to a certain area. Note that pixels surrounding masked regions are also masked to prevent masked regions from affecting the result. Returns ------- output : ndarray The FreiChen edge . """ return np.sqrt(freiChen_edge1(image, mask)**2 +\ freiChen_edge2(image, mask)**2 +\ freiChen_edge3(image, mask)**2 +\ freiChen_edge4(image, mask)**2 +\ freiChen_line1(image, mask)**2 +\ freiChen_line2(image, mask)**2 +\ freiChen_line3(image, mask)**2 +\ freiChen_line4(image, mask)**2 ) #freiChen_average(image, mask)**2) def freiChen_edge1(image, mask): """Find the horizontal edges of an image using the FreiChen operator. The kernel is applied to the input image, to produce separate measurements of the gradient component one orientation. Parameters ---------- image : 2-D array Image to process. mask : 2-D array, optional An optional mask to limit the application to a certain area. Note that pixels surrounding masked regions are also masked to prevent masked regions from affecting the result. Returns ------- output : ndarray The FreiChen horizontal edge. Notes ----- We use the following kernel and return the absolute value of the result at each point:: 1 sqrt(2) 1 0 0 0 -1 -sqrt(2) -1 """ image = img_as_float(image) result = np.abs(convolve(image, np.array([[ 1, sqrt(2), 1], [ 0, 0, 0], [-1,-sqrt(2),-1]]).\ astype(float) / sqrt(8))) return _mask_filter_result(result, mask) def freiChen_edge2(image, mask): """Find the vertical edges of an image using the FreiChen operator. The kernel is applied to the input image, to produce separate measurements of the gradient component one orientation. Parameters ---------- image : 2-D array Image to process. mask : 2-D array, optional An optional mask to limit the application to a certain area. Note that pixels surrounding masked regions are also masked to prevent masked regions from affecting the result. Returns ------- output : ndarray The FreiChan edges . Notes ----- We use the following kernel and return the absolute value of the result at each point:: 1 0 -1 sqrt(2) 0 -sqrt(2) 1 0 -1 """ image = img_as_float(image) result = np.abs(convolve(image, np.array([[ 1, 0, -1 ], [sqrt(2), 0, -sqrt(2)], [ 1, 0, -1]]).\ astype(float) / sqrt(8))) return _mask_filter_result(result, mask) def freiChen_edge3(image, mask): """Find the edges in an image having slope 135 degree FreiChen operator. The kernel is applied to the input image, to produce separate measurements of the gradient component one orientation. Parameters ---------- image : 2-D array Image to process. mask : 2-D array, optional An optional mask to limit the application to a certain area. Note that pixels surrounding masked regions are also masked to prevent masked regions from affecting the result. Returns ------- output : ndarray The FreiChen edges. Notes ----- We use the following kernel and return the absolute value of the result at each point:: 0 -1 sqrt(2) 1 0 -1 -sqrt(2) 1 0 """ image = img_as_float(image) result = np.abs(convolve(image, np.array([[ 0,-1, sqrt(2)], [ 1, 0, -1], [-sqrt(2), 1, 0]]).\ astype(float) / sqrt(8))) return _mask_filter_result(result, mask) def freiChen_edge4(image, mask): """Find the edges of an image having slope 45 degree using the FreiChen operator. The kernel is applied to the input image, to produce separate measurements of the gradient component one orientation. Parameters ---------- image : 2-D array Image to process. mask : 2-D array, optional An optional mask to limit the application to a certain area. Note that pixels surrounding masked regions are also masked to prevent masked regions from affecting the result. Returns ------- output : ndarray The Freichen edges. Notes ----- We use the following kernel and return the absolute value of the result at each point:: sqrt(2) -1 0 -1 0 1 0 1 -sqrt(2) """ image = img_as_float(image) result = np.abs(convolve(image, np.array([[sqrt(2), -1, 0], [ -1, 0, 1], [ 0, 1, -sqrt(2)]]).\ astype(float) / sqrt(8))) return _mask_filter_result(result, mask) def freiChen_line1(image, mask): """Find the edge intersection in an image using the FreiChen operator. The kernel is applied to the input image, to produce separate measurements of the gradient component one orientation. Parameters ---------- image : 2-D array Image to process. mask : 2-D array, optional An optional mask to limit the application to a certain area. Note that pixels surrounding masked regions are also masked to prevent masked regions from affecting the result. Returns ------- output : ndarray The FreiChen lines. Notes ----- We use the following kernel and return the absolute value of the result at each point:: 0 1 0 -1 0 -1 0 1 0 """ image = img_as_float(image) result = np.abs(convolve(image, np.array([[ 0, 1, 0], [-1, 0, -1], [ 0, 1, 0]]).astype(float) / 2.0)) return _mask_filter_result(result, mask) def freiChen_line2(image, mask): """Find the intersection of edges in an image using the FreiChen operator. The kernel is applied to the input image, to produce separate measurements of the gradient component one orientation. Parameters ---------- image : 2-D array Image to process. mask : 2-D array, optional An optional mask to limit the application to a certain area. Note that pixels surrounding masked regions are also masked to prevent masked regions from affecting the result. Returns ------- output : ndarray The FreiChen lines. Notes ----- We use the following kernel and return the absolute value of the result at each point:: -1 0 1 0 0 0 1 0 -1 """ image = img_as_float(image) result = np.abs(convolve(image, np.array([[-1, 0, 1 ], [ 0, 0, 0], [ 1, 0, -1]]).astype(float) / 2.0)) return _mask_filter_result(result, mask) def freiChen_line3(image, mask): """Find the lines of an image using the FreiChen operator. The kernel is applied to the input image, to produce separate measurements of the gradient component one orientation. Parameters ---------- image : 2-D array Image to process. mask : 2-D array, optional An optional mask to limit the application to a certain area. Note that pixels surrounding masked regions are also masked to prevent masked regions from affecting the result. Returns ------- output : ndarray The FreiChen lines. Notes ----- We use the following kernel and return the absolute value of the result at each point:: 1 -2 1 -2 4 -2 1 -2 1 """ image = img_as_float(image) result = np.abs(convolve(image, np.array([[ 1, -2, 1 ], [-2, 4, -2 ], [ 1, -2, 1]]).astype(float) / 6.0)) return _mask_filter_result(result, mask) def freiChen_line4(image, mask): """Find the lines of an image using the FreiChen operator. The kernel is applied to the input image, to produce separate measurements of the gradient component one orientation. Parameters ---------- image : 2-D array Image to process. mask : 2-D array, optional An optional mask to limit the application to a certain area. Note that pixels surrounding masked regions are also masked to prevent masked regions from affecting the result. Returns ------- output : ndarray The FreiChen lines. Notes ----- We use the following kernel and return the absolute value of the result at each point:: -2 1 -2 1 4 1 -2 1 -2 """ image = img_as_float(image) result = np.abs(convolve(image, np.array([[ -2, 1, -2 ], [ 1, 4, 1 ], [ -2, 1, -2 ]]).astype(float) / 6.0)) return _mask_filter_result(result, mask) def freiChen_average(image, mask): image = img_as_float(image) result = np.abs(convolve(image, np.array([[ 1, 1, 1 ], [ 1, 1, 1 ], [ 1, 1, 1 ]]).astype(float) / 3.0)) return _mask_filter_result(result, mask) ############## Should i commit and upload to Git because it is easy to read ??? Regards , Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Wed Apr 24 06:08:31 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Wed, 24 Apr 2013 03:08:31 -0700 (PDT) Subject: Frei-Chen Edge Detector In-Reply-To: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> References: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> Message-ID: <9d7bbc40-2aac-4b7e-978a-108041650093@googlegroups.com> Hi, Here is my code one Git https://github.com/umesh563/scikit-image Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Wed Apr 24 06:56:50 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Wed, 24 Apr 2013 03:56:50 -0700 (PDT) Subject: Frei-Chen Edge Detector In-Reply-To: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> References: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> Message-ID: Thanks Chintak, I was confused by that S = sum(all mask). Regrads Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Wed Apr 24 07:09:11 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Wed, 24 Apr 2013 04:09:11 -0700 (PDT) Subject: Frei-Chen Edge Detector In-Reply-To: References: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> Message-ID: <36e2da7d-9d37-435f-ac9b-67e24d0ba906@googlegroups.com> Hi Umesh, Currently, your code returns np.sqrt(S) where S is the corresponding quantity in the article. The answer given by Chintak is almost perfect, just that the algorithm can be used for detecting lines too. Also, you would have to do some sort of scaling(which may not be linear) on sqrt(S/M),(maybe using rescale_intensity in exposure.py would help) to highlight the edges/lines in the output image. For eg: If you want to detect only the lines, then you would calculate M for k = 5, 6, 7, 8 and then calculate sqrt(S/M) . If you want to show all the edges and lines at once, you will calculate M for k = 1....8. Also, almost all the editors have the option of indenting tabs as spaces. But still you should give a try to Sublime Text 2, as it gives (atleast to me) an aesthetic feel while programming. Hope this solves your problem. Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From abidrahman2 at gmail.com Tue Apr 23 21:41:02 2013 From: abidrahman2 at gmail.com (abid rahman) Date: Wed, 24 Apr 2013 07:11:02 +0530 Subject: functions of ndimage In-Reply-To: References: <20130423214945.GA3097@phare.normalesup.org> Message-ID: Hi, Isn't it a bad idea that for some functions we should go for scipy, for some other functions we go for skimage. Actually what I felt from user-point-of-view is to decrease maximum dependency in the project. So it is always better to bring all image processing stuffs in python under one library. Installation of one library should serve all our purpose. Abid K. opencvpython.blogspot.com On Wed, Apr 24, 2013 at 3:49 AM, St?fan van der Walt wrote: > On Tue, Apr 23, 2013 at 11:49 PM, Emmanuelle Gouillart > wrote: > > I can see only a small number of scipy.ndimage functions that are > > concerned, like gaussian_filter, distance_transform_edt, > > binary_fill_holes, but I now think that it'd be worth having a wrapper > > for these functions in skimage, for the sake of users not well aware of > > scipy.ndimage. We already depend on scipy anyway. > > I'd be happy to put wrappers to those functions in skimage, as long as > we do a thorough review of the API of each. That turns out to be one > of skimage's strongest benefits, and we shouldn't rely on ndimage to > have considered it very carefully. I think it would help if we had > some practical use cases of each of these, to guide us in the right > direction. > > But yes, I can see how this would confuse beginners... > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jschoenberger at demuc.de Wed Apr 24 02:46:56 2013 From: jschoenberger at demuc.de (=?iso-8859-1?Q?Johannes_Sch=F6nberger?=) Date: Wed, 24 Apr 2013 08:46:56 +0200 Subject: functions of ndimage In-Reply-To: References: <20130423214945.GA3097@phare.normalesup.org> <0c57c2e3-932d-483a-98c7-c9394696091a@googlegroups.com> Message-ID: <177C5906-7601-435C-9082-EEBD5B6DC94C@demuc.de> >> If this were to be implemented, would our policy then be to use relative imports for the wrapped versions of these functions internally, rather than importing from SciPy? > I hadn't considered this but it makes a lot of sense, as it potentially slowly decouples scikit-image from its scipy dependency. +1 Overall also +1, I think it is a good idea to provide all functions through scikit-image! From nelle.varoquaux at gmail.com Wed Apr 24 02:54:31 2013 From: nelle.varoquaux at gmail.com (Nelle Varoquaux) Date: Wed, 24 Apr 2013 08:54:31 +0200 Subject: functions of ndimage In-Reply-To: References: <20130423214945.GA3097@phare.normalesup.org> Message-ID: > > I'm in the middle on this: I would suggest importing the relevant ndimage > functions into the skimage namespace, but not touching the API, except > perhaps in extremely egregious cases. Just as the lack of a Gaussian filter > might confuse beginners, two divergent APIs will confuse advanced users. > I don't agree with this point: if you take the case of scikit-learn, there are some methods from scipy wrapped in scikit-learn, where the API changed to match the scikits (all classifiers are classes, with a fit method, a predict method, etc). The API of methods in skimage should match skimage's API, not scipy's. > > On Wed, Apr 24, 2013 at 11:41 AM, abid rahman wrote: > >> Hi, >> >> Isn't it a bad idea that for some functions we should go for scipy, for >> some other functions we go for skimage. Actually what I felt from >> user-point-of-view is to decrease maximum dependency in the project. So it >> is always better to bring all image processing stuffs in python under one >> library. Installation of one library should serve all our purpose. >> >> Abid K. >> opencvpython.blogspot.com >> >> >> On Wed, Apr 24, 2013 at 3:49 AM, St?fan van der Walt wrote: >> >>> On Tue, Apr 23, 2013 at 11:49 PM, Emmanuelle Gouillart >>> wrote: >>> > I can see only a small number of scipy.ndimage functions that >>> are >>> > concerned, like gaussian_filter, distance_transform_edt, >>> > binary_fill_holes, but I now think that it'd be worth having a wrapper >>> > for these functions in skimage, for the sake of users not well aware of >>> > scipy.ndimage. We already depend on scipy anyway. >>> >>> I'd be happy to put wrappers to those functions in skimage, as long as >>> we do a thorough review of the API of each. That turns out to be one >>> of skimage's strongest benefits, and we shouldn't rely on ndimage to >>> have considered it very carefully. I think it would help if we had >>> some practical use cases of each of these, to guide us in the right >>> direction. >>> >>> But yes, I can see how this would confuse beginners... >>> >>> St?fan >>> >>> -- >>> You received this message because you are subscribed to the Google >>> Groups "scikit-image" group. >>> To unsubscribe from this group and stop receiving emails from it, send >>> an email to scikit-image+unsubscribe at googlegroups.com. >>> For more options, visit https://groups.google.com/groups/opt_out. >>> >>> >>> >> -- >> You received this message because you are subscribed to the Google Groups >> "scikit-image" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to scikit-image+unsubscribe at googlegroups.com. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Wed Apr 24 12:24:14 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Wed, 24 Apr 2013 09:24:14 -0700 (PDT) Subject: Frei-Chen Edge Detector In-Reply-To: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> References: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> Message-ID: <4fd7dfdc-ca7c-4eb6-8f3e-6b75b81cae4c@googlegroups.com> Hi , I have implemented the frei-chen edge detector , it works fine for normal images but for some special cases , like half of the image is black and rest is white , in these type of cases , there are some problems. In this implementation first all the 9 masks are applied to image m1,m2,...m9 (after applying mask). so after that there is one step (m1+..m4)/sum(m) there are cases in which sum(m) is not singular so inverse of sum(m) can't be calculated . So how should i handle those cases ?? Thanks, Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From dfarmernv at gmail.com Wed Apr 24 12:26:05 2013 From: dfarmernv at gmail.com (Dan Farmer) Date: Wed, 24 Apr 2013 09:26:05 -0700 Subject: Mean of Least Variance filter In-Reply-To: References: Message-ID: Just to jump on the citation count, etc. Microsoft Academic is actually quite cool in this regard: http://academic.research.microsoft.com/Publication/526623/a-morphology-based-filter-structure-for-edge-enhancing-smoothing Looks like it's been cited about 17 times. I actually prefer Microsoft Academic to Google Scholar for digging up papers to read, but Google Scholar is better at finding copies of the papers outside of paywalls. -Dan On Wed, Apr 24, 2013 at 5:43 AM, St?fan van der Walt wrote: > Hi Chintak > > On Wed, Apr 24, 2013 at 2:34 PM, Chintak Sheth wrote: >> So I was reading a paper on implementation of MLV filters which belongs to a >> broder class of value-and-criterion filters. I read this paper "A >> morphology-based filter structure for edge-enhancing smoothing" > > This looks like an interesting approach (paper available for download > at: http://www.markschulze.net/docs/pdf/icip94.pdf), but I can't find > much more written on it, or a citation count--so it's hard to see what > its effect has been in practice. It'd be good to also look at > > http://dl.acm.org/citation.cfm?id=1897509 > > and compare with other algorithms. > > St?fan > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From stefan at sun.ac.za Wed Apr 24 05:10:52 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Wed, 24 Apr 2013 11:10:52 +0200 Subject: GSoC applications are open Message-ID: Hi prospective GSoC participants Please see the message by Vlad to the scikit-learn list below. Everything there pertains to scikit-image as well. Regards St?fan ---------- Forwarded message ---------- From: Vlad Niculae Date: Wed, Apr 24, 2013 at 3:57 AM Dear students interested in applying for this year's GSoC with scikit-learn: As of a couple of days, applications are open. Scikit-learn is a suborganization of the PSF this year, like in previous years, so you will apply with PSF as an organzation, specifying that you will work on scikit-learn. The PSF were kind enough to provide instructions and a template for the proposals, so you are invited to peruse them. I am forwarding the specific e-mail here. I would like to stress that there is a strict requirement for having contributed some code to scikit-learn, and to blog weekly about your project. But most importantly, please discuss your proposal on the mailing list, the sooner the better. There have been discussions until now, maybe less active than they should have been, but I hope ideas and directions have crystallised a bit and we will soon see good discussion and competitive proposals. Yours, Vlad ---------- Forwarded message ---------- From: Terri Oda Date: Mon, Apr 22, 2013 at 7:22 AM Subject: [Soc2013-general] Student Application Template (Applications start April 22!) To: soc2013-general at python.org As hopefully all of you are aware, student applications to GSoC will be opening April 22 19:00 UTC (tomorrow to me) and closing May 3rd. I highly recommend that you all submit applications early -- you can modify them up until the final deadline. Google will not extend the deadline for any reason, including technical problems with the melange system (which have been known to happen at the last minute in the past), so the sooner you can get an application in the better! We have a template to help you prepare your application with the PSF: http://wiki.python.org/moin/SummerOfCode/ApplicationTemplate2013 Your sub-organizations may have additional requirements; ask them if there's any extra information they need from you. Please note a few things we ask for that are not always required by other orgs: * We do require students to blog about their projects, so you will need to set up a GSoC blog for weekly status updates and any other thoughts you wish to record about your project. * We do require students to submit a link to some sort of code sample, preferably a patch to the sub-org to which you are applying. Talk to your mentors if you're uncertain what would be appropriate. * Don't forget to put the name of your sub-organization (e.g. OpenHatch, MNE-Python) into the title of your application. If you're not sure about how to write a good proposal, ask your prospective mentors: they're the ones who will be deciding if they hire you or not, so they get the final word as to what a good proposal looks like for them. Terri From stefan at sun.ac.za Wed Apr 24 05:12:07 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Wed, 24 Apr 2013 11:12:07 +0200 Subject: Frei-Chen Edge Detector In-Reply-To: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> References: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> Message-ID: Hi Umesh On Wed, Apr 24, 2013 at 10:18 AM, Umesh Sharma wrote: > I am working on implementation of Frei-Chen Edge detector ( > http://rastergrid.com/blog/2011/01/frei-chen-edge-detector/ ) , i have > almost completed it but i have one doubt regarding the last mask it is using > for computing average . > I don't know why it is using this mask and after applying this mask i am > getting an image which looks like original image and the difference can't be > detected and if that mask is not used then edges are clearly visible . > so can you please tell me where is problem ? Can you show us your code? St?fan From stefan at sun.ac.za Wed Apr 24 05:17:31 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Wed, 24 Apr 2013 11:17:31 +0200 Subject: functions of ndimage In-Reply-To: References: <20130423214945.GA3097@phare.normalesup.org> Message-ID: On Wed, Apr 24, 2013 at 8:54 AM, Nelle Varoquaux wrote: > I don't agree with this point: if you take the case of scikit-learn, there > are some methods from scipy wrapped in scikit-learn, where the API changed > to match the scikits (all classifiers are classes, with a fit method, a > predict method, etc). The API of methods in skimage should match skimage's > API, not scipy's. I concur. If scipy has a slightly clunky API (which, for legacy and backward API compatibility reason, might be possible) we shouldn't be tied to it. Whenever you have a chance to put a new API in place instead of adopting an old one, you should make use of it to review that API. As such, I am not against adopting the existing API, but I want it to be reviewed carefully at hand of examples. St?fan From kmichael.aye at gmail.com Wed Apr 24 14:56:48 2013 From: kmichael.aye at gmail.com (Michael Aye) Date: Wed, 24 Apr 2013 11:56:48 -0700 (PDT) Subject: Frei-Chen Edge Detector In-Reply-To: References: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> <9d7bbc40-2aac-4b7e-978a-108041650093@googlegroups.com> Message-ID: <6bd38cb0-4043-4058-9275-7da3466abaf0@googlegroups.com> Concerning removal of whitespace noise, one could setup pre-commit git hooks to do that: http://stackoverflow.com/questions/591923/make-git-automatically-remove-trailing-whitespace-before-committing On Wednesday, April 24, 2013 3:48:52 AM UTC-7, Chintak Sheth wrote: > > Hi Umesh, > > As stated in the subject I'm presuming you want to implement an edge > detector, right ? As it says on the blog : > >> When we are using the Frei-Chen masks for edge detection we are searching >> for the cosine defined above and we use the first four masks as the >> elements of importance so the first sum above goes from one to four. >> > > But in your implementation you are summing all the elements including the > 4 line masks. As can be seen from the function definition, M is the sum of > square of the convolution of relevant masks and S is the sum of square of > the convolution of all the masks. If you take all the masks as "relevant", > the ratio essentially works out to be 1. > > In short, you have to return the sqrt((mask1 + mask2 + mask3 + mask4) / ( > mask1 + mask2 + mask3 + mask4 + mask5 + mask6 + mask7 + mask8 + mask9)) > Where, mask : refers to the square of the convolution between the > corresponding mask and the image > > Also just one more note, before you submit a PR, clean up the whitespace > noise. You can use Sublime Text 2, with 4 white spaces for indentation as > Josh suggested. This is something I learned the hard way. To cross check if > the noise is actually cleared out, you can view it on the GitHub editor. > > I hope this sorts out the issue. > > This is the link you should provide : > https://github.com/umesh563/scikit-image/blob/master/skimage/filter/edges.py. Always > assume people are lazy. ;) > Thanks, > Chintak > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Wed Apr 24 02:50:23 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Wed, 24 Apr 2013 12:20:23 +0530 Subject: functions of ndimage In-Reply-To: References: <20130423214945.GA3097@phare.normalesup.org> <0c57c2e3-932d-483a-98c7-c9394696091a@googlegroups.com> Message-ID: Yeah, I think lets provide a unified experience to our users. You need scikit-image and this alone. On Wed, Apr 24, 2013 at 12:03 PM, Juan Nunez-Iglesias wrote: > On Wed, Apr 24, 2013 at 4:16 PM, Josh Warner wrote: > >> (like the change of `scipy.ndimage.label` coming in 0.13) > > If this were to be implemented, would our policy then be to use relative >> imports for the wrapped versions of these functions internally, rather than >> importing from SciPy? >> > > I hadn't considered this but it makes a lot of sense, as it potentially > slowly decouples scikit-image from its scipy dependency. > > That would make it easier for future maintenance as well, I guess, change the one wrapper and rest all follows. Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Wed Apr 24 00:29:01 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Wed, 24 Apr 2013 14:29:01 +1000 Subject: functions of ndimage In-Reply-To: References: <20130423214945.GA3097@phare.normalesup.org> Message-ID: I'm in the middle on this: I would suggest importing the relevant ndimage functions into the skimage namespace, but not touching the API, except perhaps in extremely egregious cases. Just as the lack of a Gaussian filter might confuse beginners, two divergent APIs will confuse advanced users. On Wed, Apr 24, 2013 at 11:41 AM, abid rahman wrote: > Hi, > > Isn't it a bad idea that for some functions we should go for scipy, for > some other functions we go for skimage. Actually what I felt from > user-point-of-view is to decrease maximum dependency in the project. So it > is always better to bring all image processing stuffs in python under one > library. Installation of one library should serve all our purpose. > > Abid K. > opencvpython.blogspot.com > > > On Wed, Apr 24, 2013 at 3:49 AM, St?fan van der Walt wrote: > >> On Tue, Apr 23, 2013 at 11:49 PM, Emmanuelle Gouillart >> wrote: >> > I can see only a small number of scipy.ndimage functions that >> are >> > concerned, like gaussian_filter, distance_transform_edt, >> > binary_fill_holes, but I now think that it'd be worth having a wrapper >> > for these functions in skimage, for the sake of users not well aware of >> > scipy.ndimage. We already depend on scipy anyway. >> >> I'd be happy to put wrappers to those functions in skimage, as long as >> we do a thorough review of the API of each. That turns out to be one >> of skimage's strongest benefits, and we shouldn't rely on ndimage to >> have considered it very carefully. I think it would help if we had >> some practical use cases of each of these, to guide us in the right >> direction. >> >> But yes, I can see how this would confuse beginners... >> >> St?fan >> >> -- >> You received this message because you are subscribed to the Google Groups >> "scikit-image" group. >> To unsubscribe from this group and stop receiving emails from it, send an >> email to scikit-image+unsubscribe at googlegroups.com. >> For more options, visit https://groups.google.com/groups/opt_out. >> >> >> > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Wed Apr 24 08:43:20 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Wed, 24 Apr 2013 14:43:20 +0200 Subject: Mean of Least Variance filter In-Reply-To: References: Message-ID: Hi Chintak On Wed, Apr 24, 2013 at 2:34 PM, Chintak Sheth wrote: > So I was reading a paper on implementation of MLV filters which belongs to a > broder class of value-and-criterion filters. I read this paper "A > morphology-based filter structure for edge-enhancing smoothing" This looks like an interesting approach (paper available for download at: http://www.markschulze.net/docs/pdf/icip94.pdf), but I can't find much more written on it, or a citation count--so it's hard to see what its effect has been in practice. It'd be good to also look at http://dl.acm.org/citation.cfm?id=1897509 and compare with other algorithms. St?fan From chintaksheth at gmail.com Wed Apr 24 05:48:00 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Wed, 24 Apr 2013 15:18:00 +0530 Subject: Frei-Chen Edge Detector In-Reply-To: <38494b86-9605-4a59-b7b5-2d75ce597060@googlegroups.com> References: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> <38494b86-9605-4a59-b7b5-2d75ce597060@googlegroups.com> Message-ID: Hi Umesh, Yes. You could create a new branch, commit and push it, and provide a link to it maybe ? Chintak On Wed, Apr 24, 2013 at 3:13 PM, Umesh Sharma wrote: > > Hi Stefan, > Here is my code which i have written in edges.py > > ############## > > def freiChen(image,mask=None): > """Find the edge magnitude using FreiChen Filter. > > Parameters > ---------- > image : 2-D array > Image to process. > mask : 2-D array, optional > An optional mask to limit the application to a certain area. > Note that pixels surrounding masked regions are also masked to > prevent masked regions from affecting the result. > > Returns > ------- > output : ndarray > The FreiChen edge . > """ > return np.sqrt(freiChen_edge1(image, mask)**2 +\ > freiChen_edge2(image, mask)**2 +\ > freiChen_edge3(image, mask)**2 +\ > freiChen_edge4(image, mask)**2 +\ > freiChen_line1(image, mask)**2 +\ > freiChen_line2(image, mask)**2 +\ > freiChen_line3(image, mask)**2 +\ > freiChen_line4(image, mask)**2 ) > #freiChen_average(image, mask)**2) > > > def freiChen_edge1(image, mask): > """Find the horizontal edges of an image using the FreiChen operator. > > The kernel is applied to the input image, to produce separate > measurements > of the gradient component one orientation. > > Parameters > ---------- > image : 2-D array > Image to process. > mask : 2-D array, optional > An optional mask to limit the application to a certain area. > Note that pixels surrounding masked regions are also masked to > prevent masked regions from affecting the result. > > Returns > ------- > output : ndarray > The FreiChen horizontal edge. > > Notes > ----- > We use the following kernel and return the absolute value of the > result at each point:: > > 1 sqrt(2) 1 > 0 0 0 > -1 -sqrt(2) -1 > > """ > image = img_as_float(image) > result = np.abs(convolve(image, > np.array([[ 1, sqrt(2), 1], > [ 0, 0, 0], > [-1,-sqrt(2),-1]]).\ > astype(float) / sqrt(8))) > return _mask_filter_result(result, mask) > > > def freiChen_edge2(image, mask): > """Find the vertical edges of an image using the FreiChen operator. > > The kernel is applied to the input image, to produce separate > measurements > of the gradient component one orientation. > > Parameters > ---------- > image : 2-D array > Image to process. > mask : 2-D array, optional > An optional mask to limit the application to a certain area. > Note that pixels surrounding masked regions are also masked to > prevent masked regions from affecting the result. > > Returns > ------- > output : ndarray > The FreiChan edges . > > Notes > ----- > We use the following kernel and return the absolute value of the > result at each point:: > > 1 0 -1 > sqrt(2) 0 -sqrt(2) > 1 0 -1 > """ > image = img_as_float(image) > result = np.abs(convolve(image, > np.array([[ 1, 0, -1 ], > [sqrt(2), 0, -sqrt(2)], > [ 1, 0, -1]]).\ > astype(float) / sqrt(8))) > return _mask_filter_result(result, mask) > > def freiChen_edge3(image, mask): > """Find the edges in an image having slope 135 degree FreiChen > operator. > > The kernel is applied to the input image, to produce separate > measurements > of the gradient component one orientation. > > Parameters > ---------- > image : 2-D array > Image to process. > mask : 2-D array, optional > An optional mask to limit the application to a certain area. > Note that pixels surrounding masked regions are also masked to > prevent masked regions from affecting the result. > > Returns > ------- > output : ndarray > The FreiChen edges. > > Notes > ----- > We use the following kernel and return the absolute value of the > result at each point:: > > 0 -1 sqrt(2) > 1 0 -1 > -sqrt(2) 1 0 > > """ > image = img_as_float(image) > result = np.abs(convolve(image, > np.array([[ 0,-1, sqrt(2)], > [ 1, 0, -1], > [-sqrt(2), 1, 0]]).\ > astype(float) / sqrt(8))) > return _mask_filter_result(result, mask) > > > def freiChen_edge4(image, mask): > """Find the edges of an image having slope 45 degree using the > FreiChen operator. > > The kernel is applied to the input image, to produce separate > measurements > of the gradient component one orientation. > > Parameters > ---------- > image : 2-D array > Image to process. > mask : 2-D array, optional > An optional mask to limit the application to a certain area. > Note that pixels surrounding masked regions are also masked to > prevent masked regions from affecting the result. > > Returns > ------- > output : ndarray > The Freichen edges. > > Notes > ----- > We use the following kernel and return the absolute value of the > result at each point:: > > sqrt(2) -1 0 > -1 0 1 > 0 1 -sqrt(2) > > """ > image = img_as_float(image) > result = np.abs(convolve(image, > np.array([[sqrt(2), -1, 0], > [ -1, 0, 1], > [ 0, 1, -sqrt(2)]]).\ > astype(float) / sqrt(8))) > return _mask_filter_result(result, mask) > > > def freiChen_line1(image, mask): > """Find the edge intersection in an image using the FreiChen operator. > > The kernel is applied to the input image, to produce separate > measurements > of the gradient component one orientation. > > Parameters > ---------- > image : 2-D array > Image to process. > mask : 2-D array, optional > An optional mask to limit the application to a certain area. > Note that pixels surrounding masked regions are also masked to > prevent masked regions from affecting the result. > > Returns > ------- > output : ndarray > The FreiChen lines. > > Notes > ----- > We use the following kernel and return the absolute value of the > result at each point:: > > 0 1 0 > -1 0 -1 > 0 1 0 > > """ > image = img_as_float(image) > result = np.abs(convolve(image, > np.array([[ 0, 1, 0], > [-1, 0, -1], > [ 0, 1, 0]]).astype(float) / 2.0)) > return _mask_filter_result(result, mask) > > > def freiChen_line2(image, mask): > """Find the intersection of edges in an image using the FreiChen > operator. > > The kernel is applied to the input image, to produce separate > measurements > of the gradient component one orientation. > > Parameters > ---------- > image : 2-D array > Image to process. > mask : 2-D array, optional > An optional mask to limit the application to a certain area. > Note that pixels surrounding masked regions are also masked to > prevent masked regions from affecting the result. > > Returns > ------- > output : ndarray > The FreiChen lines. > > Notes > ----- > We use the following kernel and return the absolute value of the > result at each point:: > > -1 0 1 > 0 0 0 > 1 0 -1 > > """ > image = img_as_float(image) > result = np.abs(convolve(image, > np.array([[-1, 0, 1 ], > [ 0, 0, 0], > [ 1, 0, -1]]).astype(float) / 2.0)) > return _mask_filter_result(result, mask) > > def freiChen_line3(image, mask): > """Find the lines of an image using the FreiChen operator. > > The kernel is applied to the input image, to produce separate > measurements > of the gradient component one orientation. > > Parameters > ---------- > image : 2-D array > Image to process. > mask : 2-D array, optional > An optional mask to limit the application to a certain area. > Note that pixels surrounding masked regions are also masked to > prevent masked regions from affecting the result. > > Returns > ------- > output : ndarray > The FreiChen lines. > > Notes > ----- > We use the following kernel and return the absolute value of the > result at each point:: > > 1 -2 1 > -2 4 -2 > 1 -2 1 > > """ > image = img_as_float(image) > result = np.abs(convolve(image, > np.array([[ 1, -2, 1 ], > [-2, 4, -2 ], > [ 1, -2, 1]]).astype(float) / 6.0)) > return _mask_filter_result(result, mask) > > > def freiChen_line4(image, mask): > """Find the lines of an image using the FreiChen operator. > > The kernel is applied to the input image, to produce separate > measurements > of the gradient component one orientation. > > Parameters > ---------- > image : 2-D array > Image to process. > mask : 2-D array, optional > An optional mask to limit the application to a certain area. > Note that pixels surrounding masked regions are also masked to > prevent masked regions from affecting the result. > > Returns > ------- > output : ndarray > The FreiChen lines. > > Notes > ----- > We use the following kernel and return the absolute value of the > result at each point:: > > -2 1 -2 > 1 4 1 > -2 1 -2 > > """ > image = img_as_float(image) > result = np.abs(convolve(image, > np.array([[ -2, 1, -2 ], > [ 1, 4, 1 ], > [ -2, 1, -2 ]]).astype(float) / > 6.0)) > return _mask_filter_result(result, mask) > > > def freiChen_average(image, mask): > image = img_as_float(image) > result = np.abs(convolve(image, > np.array([[ 1, 1, 1 ], > [ 1, 1, 1 ], > [ 1, 1, 1 ]]).astype(float) / 3.0)) > return _mask_filter_result(result, mask) > ############## > > > > Should i commit and upload to Git because it is easy to read ??? > > > > Regards , > > Umesh > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Wed Apr 24 09:52:43 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Wed, 24 Apr 2013 15:52:43 +0200 Subject: Mean of Least Variance filter In-Reply-To: References: Message-ID: On Wed, Apr 24, 2013 at 3:02 PM, Chintak Sheth wrote: > Yeah I already have a copy of the paper and read it as well. Although I wont > be able to download the paper you've provided. I am not a member of ACM, not > yet. Petkov has a copy on his website: http://www.cs.rug.nl/~petkov/publications/2011ivc-contour_survey.pdf St?fan From chintaksheth at gmail.com Wed Apr 24 06:48:52 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Wed, 24 Apr 2013 16:18:52 +0530 Subject: Frei-Chen Edge Detector In-Reply-To: <9d7bbc40-2aac-4b7e-978a-108041650093@googlegroups.com> References: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> <9d7bbc40-2aac-4b7e-978a-108041650093@googlegroups.com> Message-ID: Hi Umesh, As stated in the subject I'm presuming you want to implement an edge detector, right ? As it says on the blog : > When we are using the Frei-Chen masks for edge detection we are searching > for the cosine defined above and we use the first four masks as the > elements of importance so the first sum above goes from one to four. > But in your implementation you are summing all the elements including the 4 line masks. As can be seen from the function definition, M is the sum of square of the convolution of relevant masks and S is the sum of square of the convolution of all the masks. If you take all the masks as "relevant", the ratio essentially works out to be 1. In short, you have to return the sqrt((mask1 + mask2 + mask3 + mask4) / ( mask1 + mask2 + mask3 + mask4 + mask5 + mask6 + mask7 + mask8 + mask9)) Where, mask : refers to the square of the convolution between the corresponding mask and the image Also just one more note, before you submit a PR, clean up the whitespace noise. You can use Sublime Text 2, with 4 white spaces for indentation as Josh suggested. This is something I learned the hard way. To cross check if the noise is actually cleared out, you can view it on the GitHub editor. I hope this sorts out the issue. This is the link you should provide : https://github.com/umesh563/scikit-image/blob/master/skimage/filter/edges.py. Always assume people are lazy. ;) Thanks, Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Wed Apr 24 02:33:21 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Wed, 24 Apr 2013 16:33:21 +1000 Subject: functions of ndimage In-Reply-To: <0c57c2e3-932d-483a-98c7-c9394696091a@googlegroups.com> References: <20130423214945.GA3097@phare.normalesup.org> <0c57c2e3-932d-483a-98c7-c9394696091a@googlegroups.com> Message-ID: On Wed, Apr 24, 2013 at 4:16 PM, Josh Warner wrote: > (like the change of `scipy.ndimage.label` coming in 0.13) Huh? For the less-informed among us, could you elaborate? A quick Googling was not informative... And I have (approximately) 5 bajillion functions that depend on `nd.label`. =) If this were to be implemented, would our policy then be to use relative > imports for the wrapped versions of these functions internally, rather than > importing from SciPy? > I hadn't considered this but it makes a lot of sense, as it potentially slowly decouples scikit-image from its scipy dependency. -------------- next part -------------- An HTML attachment was scrubbed... URL: From silvertrumpet999 at gmail.com Wed Apr 24 20:33:54 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Wed, 24 Apr 2013 17:33:54 -0700 (PDT) Subject: functions of ndimage In-Reply-To: References: <20130423214945.GA3097@phare.normalesup.org> <0c57c2e3-932d-483a-98c7-c9394696091a@googlegroups.com> Message-ID: <6df4bc09-9821-4454-bc3b-9a26b8ebd7c3@googlegroups.com> Regarding the `scipy.ndimage.label` changes coming in 0.13, see the discussion in Issue #495 and the partial fix in merged Issue #498; I think there are still ~4 or so outstanding cases from #495. On Wednesday, April 24, 2013 1:33:21 AM UTC-5, Juan Nunez-Iglesias wrote: > > On Wed, Apr 24, 2013 at 4:16 PM, Josh Warner > > wrote: > >> (like the change of `scipy.ndimage.label` coming in 0.13) > > > Huh? For the less-informed among us, could you elaborate? A quick Googling > was not informative... And I have (approximately) 5 bajillion functions > that depend on `nd.label`. =) > > If this were to be implemented, would our policy then be to use relative >> imports for the wrapped versions of these functions internally, rather than >> importing from SciPy? >> > > I hadn't considered this but it makes a lot of sense, as it potentially > slowly decouples scikit-image from its scipy dependency. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Wed Apr 24 04:01:57 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Wed, 24 Apr 2013 18:01:57 +1000 Subject: functions of ndimage In-Reply-To: References: <20130423214945.GA3097@phare.normalesup.org> Message-ID: On Wed, Apr 24, 2013 at 4:54 PM, Nelle Varoquaux wrote: > I don't agree with this point: if you take the case of scikit-learn, there > are some methods from scipy wrapped in scikit-learn, where the API changed > to match the scikits (all classifiers are classes, with a fit method, a > predict method, etc). The API of methods in skimage should match skimage's > API, not scipy's. > Hi Nelle! =) This is a fair point, but scikit-learn has a very stable, very well-defined interface for its estimators. There are two differences in the case of scikit-image: 1) most of the API is similar to the scipy ndimage API in the first place, implemented as functions that take an image and return an image of the same shape. 2) it's not as consistent overall (e.g. graph.MCP is an object, graph.shortest_path is a function). So, I would recommend aiming for new interfaces in scikit-image to be as close as possible to the scipy.ndimage interface. If a few kwargs are lost in translation, well, that's not a big deal. =) -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Wed Apr 24 08:34:53 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Wed, 24 Apr 2013 18:04:53 +0530 Subject: Mean of Least Variance filter Message-ID: Hi, So I was reading a paper on implementation of MLV filters which belongs to a broder class of value-and-criterion filters. I read this paper "A morphology-based filter structure for edge-enhancing smoothing " It elaborates on the advantages over the median filter or morphological opening. It essentially exhibits edge-enhancing noise smoothing behaviour. Best of all it can be extended to 3D easily. I think it would be a good addition to the already present filter implementations on skimage. What do you guys think about this ? Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Wed Apr 24 09:02:16 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Wed, 24 Apr 2013 18:32:16 +0530 Subject: Mean of Least Variance filter In-Reply-To: References: Message-ID: Hi Stefan, Yeah I already have a copy of the paper and read it as well. Although I wont be able to download the paper you've provided. I am not a member of ACM, not yet. Chintak On Apr 24, 2013 6:13 PM, "St?fan van der Walt" wrote: > Hi Chintak > > On Wed, Apr 24, 2013 at 2:34 PM, Chintak Sheth > wrote: > > So I was reading a paper on implementation of MLV filters which belongs > to a > > broder class of value-and-criterion filters. I read this paper "A > > morphology-based filter structure for edge-enhancing smoothing" > > This looks like an interesting approach (paper available for download > at: http://www.markschulze.net/docs/pdf/icip94.pdf), but I can't find > much more written on it, or a citation count--so it's hard to see what > its effect has been in practice. It'd be good to also look at > > http://dl.acm.org/citation.cfm?id=1897509 > > and compare with other algorithms. > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jjhelmus at gmail.com Wed Apr 24 20:56:37 2013 From: jjhelmus at gmail.com (Jonathan J. Helmus) Date: Wed, 24 Apr 2013 19:56:37 -0500 Subject: functions of ndimage In-Reply-To: <6df4bc09-9821-4454-bc3b-9a26b8ebd7c3@googlegroups.com> References: <20130423214945.GA3097@phare.normalesup.org> <0c57c2e3-932d-483a-98c7-c9394696091a@googlegroups.com> <6df4bc09-9821-4454-bc3b-9a26b8ebd7c3@googlegroups.com> Message-ID: <51787F45.3070801@gmail.com> FYI, the Scipy PR in questions which is causing the problem with scipy.ndimage.label is #240 and #261 . Both of which try to address Trac ticket 1491 - Jonathan Helmus (the ticket creator...) On 4/24/2013 7:33 PM, Josh Warner wrote: > Regarding the `scipy.ndimage.label` changes coming in 0.13, see the > discussion in Issue #495 > and the > partial fix in merged Issue #498 > ; I think > there are still ~4 or so outstanding cases from #495. > > On Wednesday, April 24, 2013 1:33:21 AM UTC-5, Juan Nunez-Iglesias wrote: > > On Wed, Apr 24, 2013 at 4:16 PM, Josh Warner > > wrote: > > (like the change of `scipy.ndimage.label` coming in 0.13) > > > Huh? For the less-informed among us, could you elaborate? A quick > Googling was not informative... And I have (approximately) 5 > bajillion functions that depend on `nd.label`. =) > > If this were to be implemented, would our policy then be to > use relative imports for the wrapped versions of these > functions internally, rather than importing from SciPy? > > > I hadn't considered this but it makes a lot of sense, as it > potentially slowly decouples scikit-image from its scipy dependency. > > -- > You received this message because you are subscribed to the Google > Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send > an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Thu Apr 25 00:41:58 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Wed, 24 Apr 2013 21:41:58 -0700 (PDT) Subject: Robert's Edge Detection. Part of [GsoC13] In-Reply-To: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> References: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> Message-ID: <1876399c-f0e1-431a-b420-cdfd25b65a89@googlegroups.com> Hi Tony , Can you tell me status of the Robert's edge detection part ? Do is it okay or there are other changes left ? Thanks, Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Thu Apr 25 00:45:52 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Wed, 24 Apr 2013 21:45:52 -0700 (PDT) Subject: Frei-Chen Edge Detector In-Reply-To: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> References: <39225761-4816-4ae2-bf56-af05733f20bf@googlegroups.com> Message-ID: Hi , I have implemented frei-chen edge detector . Here is the link https://github.com/umesh563/scikit-image/blob/master/skimage/filter/edges.py I am working on testing of this algorithm . Please review the code and tell me if i need to make any other changes on this part . Regrads, Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Wed Apr 24 09:42:09 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Wed, 24 Apr 2013 23:42:09 +1000 Subject: Describing superpixels In-Reply-To: References: <5174EE96.5050001@gmail.com> <5174F8F5.4090704@gmail.com> <5174FAA9.1040005@mitotic-machine.org> <517504D1.9030102@mitotic-machine.org> <5175E53E.3050006@gmail.com> Message-ID: On Wed, Apr 24, 2013 at 1:01 AM, St?fan van der Walt wrote: > You don't even need to. Have a look at section 3.1 of > > https://scholar.sun.ac.za/handle/10019.1/4883 Very clear! =) But yes, my brain hurts thinking about it in nD. The memory_efficient flag sounds like a good, generalisable compromise. It's probably best to get flood fill working before we get too far ahead of ourselves though. =) -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Thu Apr 25 09:14:34 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Thu, 25 Apr 2013 06:14:34 -0700 (PDT) Subject: Robert's Edge Detection. Part of [GsoC13] In-Reply-To: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> References: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> Message-ID: Thanks Tony , I have removed that part from my commit , now the latest commit contains the robert's edge detector .... Regards , Umesh -------------- next part -------------- An HTML attachment was scrubbed... URL: From tsyu80 at gmail.com Thu Apr 25 08:35:40 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Thu, 25 Apr 2013 07:35:40 -0500 Subject: Robert's Edge Detection. Part of [GsoC13] In-Reply-To: <1876399c-f0e1-431a-b420-cdfd25b65a89@googlegroups.com> References: <6de2943b-e2c5-4896-8291-df7af8a07431@googlegroups.com> <1876399c-f0e1-431a-b420-cdfd25b65a89@googlegroups.com> Message-ID: On Wed, Apr 24, 2013 at 11:41 PM, Umesh Sharma wrote: > Hi Tony , > > Can you tell me status of the Robert's edge detection part ? > Do is it okay or there are other changes left ? > > I think the Roberts edge detection part looks good, but you should probably move the Frei-Chen functions to a separate branch if you want the PR merged sooner. The new functions will require some more rounds of review before merging. Best, -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From emmanuelle.gouillart at nsup.org Thu Apr 25 02:49:56 2013 From: emmanuelle.gouillart at nsup.org (Emmanuelle Gouillart) Date: Thu, 25 Apr 2013 08:49:56 +0200 Subject: Cython 0.18 installation + skimage package - error In-Reply-To: References: Message-ID: <20130425064956.GA10760@phare.normalesup.org> Hello Lakshmi, git is not a Python package, but a standalone version control software. If you're starting using Python, I recommend that you install a distribution of Scientific Python with all the Python packages that you need, this will save you some trouble! Canopy Express is a good pick, but I don't think that skimage is shipped with the free edition. On Windows, you might want to try instead Anaconda from Continuum, which comes with the scikit-image and the scikit-learn (AFAIK, SVMs are found in the scikit-learn). If you install another distribution, you should first remove the Python-related directories that you had installed, otherwise there might be conflicts. Hope this helps, Emmanuelle On Wed, Apr 24, 2013 at 10:32:36PM -0700, Lakshmi wrote: > Hello Members, > ?????? ?????? ?????? ?????? ?????? ?????? ?????? ?????? ?????? ???????????? > ??????I am using Python 2.7. (OS - Windows 7, 64 bit). I am newbie to Python. > ??????I would like to use SVM for 2 D image segmentation. > I have installed "git hub" (in C:/Users/Viji/Documents/GitHub) > I have chosen "Clone in Windows" option in - > [1]https://github.com/scikit-image/scikit-image , > to use skimage package. Am I right by following the above steps? > Should I install GitHub in C:/Python27? I have this doubt since I am > getting an error as "The specified module > could not be found". > I have installed numpy and scipy packages in > C:/Python27/Lib/site-packages. > When I tried to install Cython 0.18, I have got an error as "Unable to > find vcvarsall.bat". > I have installed Canopy Express (free edition). > I do not know why I could not use skimage. Please help me to solve this > issue. > Regards > Lakshmi From thomas.haslwanter at gmail.com Thu Apr 25 14:58:01 2013 From: thomas.haslwanter at gmail.com (thomash) Date: Thu, 25 Apr 2013 11:58:01 -0700 (PDT) Subject: problems with cmorph / reconstruction Message-ID: I don't know if this is the correct place to post a bug-message: Using scikit image 0.8.1, with Python 2.7.3 and on a Win64 system, I have difficulties with importing "reconstruction". The problems seem to stem from "cmorph": from skimage.morphology import reconstruction --------------------------------------------------------------------------- ImportError Traceback (most recent call last) in () ----> 1 from skimage.morphology import reconstruction C:\Python27\lib\site-packages\skimage\morphology\__init__.py in () 1 from .binary import (binary_erosion, binary_dilation, binary_opening, 2 binary_closing) ----> 3 from .grey import * 4 from .selem import * 5 from .ccomp import label C:\Python27\lib\site-packages\skimage\morphology\grey.py in () 2 from skimage import img_as_ubyte 3 ----> 4 from . import cmorph 5 6 ImportError: cannot import name cmorph -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Wed Apr 24 23:11:27 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Thu, 25 Apr 2013 13:11:27 +1000 Subject: functions of ndimage In-Reply-To: <6df4bc09-9821-4454-bc3b-9a26b8ebd7c3@googlegroups.com> References: <20130423214945.GA3097@phare.normalesup.org> <0c57c2e3-932d-483a-98c7-c9394696091a@googlegroups.com> <6df4bc09-9821-4454-bc3b-9a26b8ebd7c3@googlegroups.com> Message-ID: Oh that! Right, I just didn't really consider that an API change since the function signature is unchanged, and label was never really intended for use with asymmetric structuring elements, afaik... =) thanks for the link! On Thursday, April 25, 2013, Josh Warner wrote: > Regarding the `scipy.ndimage.label` changes coming in 0.13, see the > discussion in Issue #495 and > the partial fix in merged Issue #498; > I think there are still ~4 or so outstanding cases from #495. > > On Wednesday, April 24, 2013 1:33:21 AM UTC-5, Juan Nunez-Iglesias wrote: >> >> On Wed, Apr 24, 2013 at 4:16 PM, Josh Warner wrote: >> >>> (like the change of `scipy.ndimage.label` coming in 0.13) >> >> >> Huh? For the less-informed among us, could you elaborate? A quick >> Googling was not informative... And I have (approximately) 5 bajillion >> functions that depend on `nd.label`. =) >> >> If this were to be implemented, would our policy then be to use relative >>> imports for the wrapped versions of these functions internally, rather than >>> importing from SciPy? >>> >> >> I hadn't considered this but it makes a lot of sense, as it potentially >> slowly decouples scikit-image from its scipy dependency. >> > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com 'cvml', 'scikit-image%2Bunsubscribe at googlegroups.com');>. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Thu Apr 25 07:53:54 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Thu, 25 Apr 2013 13:53:54 +0200 Subject: Mean of Least Variance filter In-Reply-To: References: Message-ID: On Thu, Apr 25, 2013 at 1:41 PM, Chintak Sheth wrote: > I think such implementations would be pretty nice for the community. > Thoughts ? I don't know much about these, so I'll let other chime in. St?fan From tsyu80 at gmail.com Thu Apr 25 15:05:43 2013 From: tsyu80 at gmail.com (Tony Yu) Date: Thu, 25 Apr 2013 14:05:43 -0500 Subject: problems with cmorph / reconstruction In-Reply-To: References: Message-ID: Hi Thomas, On Thu, Apr 25, 2013 at 1:58 PM, thomash wrote: > I don't know if this is the correct place to post a bug-message: > This is the right forum. Using scikit image 0.8.1, with Python 2.7.3 and on a Win64 system, I have > difficulties with importing "reconstruction". The problems seem to stem > from "cmorph": > ImportError: cannot import name cmorph How did you install scikit-image? Best, -Tony -------------- next part -------------- An HTML attachment was scrubbed... URL: From marianne.corvellec at ens-lyon.org Thu Apr 25 18:57:36 2013 From: marianne.corvellec at ens-lyon.org (Marianne Corvellec) Date: Thu, 25 Apr 2013 15:57:36 -0700 (PDT) Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: Message-ID: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> Hello all, I'm replying here because the subject is more relevant and the thread is more recent, but I'll quote Emmanuelle from the older thread "Segmentation algorithms". On Friday, June 15, 2012 4:28:07 PM UTC-4, Emmanuelle Gouillart wrote: > > I could, however, write a tutorial on how to deal with the processing of > 3-D images with numpy/skimage/mayavi... > I would be very interested in such a tutorial. :) Since I'm using skimage for processing mostly 3-D images (from X-ray > tomography), I'm strongly biased towards 3-D support. But in fact, it's > only worth implementing an algorithm for 3-D images if it's fast enough > and does not have too high a memory load, since the data are much > larger (nobody wants to wait one day for the segmentation of a > 1000*1000*1000 image... whereas one minute for a 1000x1000 image might > still be decent enough in 2-D). Do you have thoughts on 3D image cross-correlation? My data are images of shape (512, 1536, 21) so the 2D (x, y) part clearly dominates. Still, there is a this z-component of length 21. I'm not making use of it so far and I wonder if I should, if it's worth the trouble of finding an implementation and the additional computational cost. So far, I'm tracking the motion of features on the 2D (512, 1536) images using normalized cross-correlation (function feature.match_template()). The motion looks mainly planar but, well, I'm not sure how refined I should go about this. Thank you, Marianne > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Thu Apr 25 07:41:16 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Thu, 25 Apr 2013 17:11:16 +0530 Subject: Mean of Least Variance filter In-Reply-To: References: Message-ID: Hi Stefan, On Wed, Apr 24, 2013 at 7:22 PM, St?fan van der Walt wrote: > > Petkov has a copy on his website: > http://www.cs.rug.nl/~petkov/publications/2011ivc-contour_survey.pdf > > Yeah, it surely looks like they have described edge and line based contour detectors in detail. I'm not done reading this paper yet, but just out of curiosity how many such contour detector implementations do we currently have in skimage ? More specifically, also the preprocessing edge preserving smoothers, like value-and-criterion operator ? I know rank order filters is one. Any else ? I think such implementations would be pretty nice for the community. Thoughts ? Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Thu Apr 25 13:58:47 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Thu, 25 Apr 2013 23:28:47 +0530 Subject: Mean of Least Variance filter In-Reply-To: References: Message-ID: Hi, Would an implementation of a complete as outlined by the paper provided by Stefan be counted as a GSOC proposal ? Chintak On Thu, Apr 25, 2013 at 5:23 PM, St?fan van der Walt wrote: > On Thu, Apr 25, 2013 at 1:41 PM, Chintak Sheth > wrote: > > I think such implementations would be pretty nice for the community. > > Thoughts ? > > I don't know much about these, so I'll let other chime in. > > St?fan > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Thu Apr 25 15:14:33 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Fri, 26 Apr 2013 00:44:33 +0530 Subject: problems with cmorph / reconstruction In-Reply-To: References: Message-ID: Yes, even I ran into this issue. In my case, a simple exit and re-login to ipython seemed to sort the issue. If that doesn't sort it out then maybe you haven't yet installed skimage. Try doing so with "python setup.py install" or "python setup.y build_ext -i" Thanks, Chintak On Fri, Apr 26, 2013 at 12:28 AM, thomash wrote: > I don't know if this is the correct place to post a bug-message: > > Using scikit image 0.8.1, with Python 2.7.3 and on a Win64 system, I have > difficulties with importing "reconstruction". The problems seem to stem > from "cmorph": > > > from skimage.morphology import reconstruction > --------------------------------------------------------------------------- > ImportError Traceback (most recent call last) > in () > ----> 1 from skimage.morphology import reconstruction > > C:\Python27\lib\site-packages\skimage\morphology\__init__.py in () > 1 from .binary import (binary_erosion, binary_dilation, > binary_opening, > 2 binary_closing) > ----> 3 from .grey import * > 4 from .selem import * > 5 from .ccomp import label > > C:\Python27\lib\site-packages\skimage\morphology\grey.py in () > 2 from skimage import img_as_ubyte > 3 > ----> 4 from . import cmorph > 5 > 6 > > ImportError: cannot import name cmorph > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Fri Apr 26 05:06:44 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 26 Apr 2013 11:06:44 +0200 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: <517A28C2.4050606@gmail.com> References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> Message-ID: On Fri, Apr 26, 2013 at 9:12 AM, Brickle Macho wrote: >> I could, however, write a tutorial on how to deal with the processing of >> 3-D images with numpy/skimage/mayavi... > > > I would be very interested in such a tutorial. :) > > +1 Juan's the right guy for the job! I read his original email again, and while I agree that supporting N-d is important, it still strikes me as a lot harder to implement something in N-d vs 2-D (it's much more than just grabbing the "juicy center", etc.). I think he disagrees, so I look forward to learning how to do it better :) St?fan From marianne.corvellec at ens-lyon.org Fri Apr 26 17:49:53 2013 From: marianne.corvellec at ens-lyon.org (Marianne Corvellec) Date: Fri, 26 Apr 2013 14:49:53 -0700 (PDT) Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> Message-ID: Hello, A little off topic, sorry... On Friday, April 26, 2013 9:45:38 PM UTC+2, Stefan van der Walt wrote: > > > Should I go with British or US spelling for "neighbo(u)r"? =) > > I speak English, but I realise (with an S) that I am in the minority :) As > such, I think it is safer to use the US spelling. > I may agree with the fact that we should go with US spelling. Maybe just because it's shorter and you want short words in code. :) I'm not so sure you really are a minority spelling "realise". I am Canadian so I spell "realize" but "neighbour". Juan, you shouldn't say that spelling "neighbour" is British, it's just *non-US* ;) Alright, no troll intended. > Thanks for volunteering to work on this important part of the package. I > think once that is in place we'd have a very compelling story for a skimage > paper! > Exciting! :) Marianne -------------- next part -------------- An HTML attachment was scrubbed... URL: From bricklemacho at gmail.com Fri Apr 26 03:12:02 2013 From: bricklemacho at gmail.com (Brickle Macho) Date: Fri, 26 Apr 2013 15:12:02 +0800 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> Message-ID: <517A28C2.4050606@gmail.com> > I could, however, write a tutorial on how to deal with the > processing of > 3-D images with numpy/skimage/mayavi... > > > I would be very interested in such a tutorial. :) +1 -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Fri Apr 26 12:01:37 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 26 Apr 2013 18:01:37 +0200 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> Message-ID: On Fri, Apr 26, 2013 at 5:23 PM, Juan Nunez-Iglesias wrote: > On Fri, Apr 26, 2013 at 2:36 PM, St?fan van der Walt > wrote: > At any rate, I've slightly softened my stance. The reason is that all these > neighbourhood models implicitly assume that the data are isotropic, ie same > resolution along each dimension. This is possible, even probable, until 3 > dimensions, and essentially impossible in 4D or higher. So while it's cute > and nice to make it nD, realistically, 3D is good enough for most purposes. > And you can't argue that it's much harder to do 3D than 2D. =) Sorry for throwing you under the bus, Juan :) But I think the tools you mention can be very useful, and tie in nicely also with the idea of graph-based operators for superpixels. Perhaps we should implement such a spatial access library in _shared, and then write a short guide in the documentation on how to use it? St?fan From jschoenberger at demuc.de Fri Apr 26 13:34:52 2013 From: jschoenberger at demuc.de (=?utf-8?Q?Johannes_Sch=C3=B6nberger?=) Date: Fri, 26 Apr 2013 19:34:52 +0200 Subject: Graph Cut In-Reply-To: References: Message-ID: <8AC8FA64-F7CC-4C4F-A298-642E016C735F@demuc.de> Hi and welcome, Your profile seems perfect to me and your ideas meet our expectations; however I think only one of your proposed ideas is not considered sufficient. But Stefan van der Walt can give you more information regarding this. Nevertheless, please note that you have to submit at least one PR to scikit-image. Have a look at this page for more information and other ideas: https://github.com/scikit-image/scikit-image/wiki/GSoC-2013 Johannes Sch?nberger Am 26.04.2013 um 17:49 schrieb Beatka W?jciak : > Hello, > I am finishing my 3rd year of Computer Science studies at University of Wroc?aw (Poland). During my studies I've taken multiple courses about image processing and this (as well as machine learning) is my main field of interest. Most of the projects regarding image processing I've written are in C/C++ but I'm fluent in Python as well (I've written several servers in Python and now I'm using it in my text mining course). I've also taken course about numerical analysis so I'm not afraid of maths. > > I found graph cut algorithm particularly interesting. I've found this paper: http://research.microsoft.com/pubs/67890/siggraph04-grabcut.pdf which seems to give good results and I'd like to implement it. > Please let me know if you find my idea interesting. > > In case it didn't meet your expectations my other idea was to implement algorithm found here: http://people.csail.mit.edu/sparis/publi/2011/cvpr_radon/Cho_11_Blur_Kernel_Estimation.pdf (deblurring from the ideas page). > > I'd be grateful for your comments and suggestions. > Beata Wojciak > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From jturner at gemini.edu Fri Apr 26 19:54:07 2013 From: jturner at gemini.edu (James Turner) Date: Fri, 26 Apr 2013 19:54:07 -0400 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> Message-ID: <517B139F.1010006@gemini.edu> > I am Canadian so I spell "realize" but "neighbour". Me too and I am English... From jni.soma at gmail.com Fri Apr 26 11:23:01 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Fri, 26 Apr 2013 20:53:01 +0530 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> Message-ID: On Fri, Apr 26, 2013 at 2:36 PM, St?fan van der Walt wrote: > Juan's the right guy for the job! Oh *great*. #bus #thrownunder =P > I read his original email again, > and while I agree that supporting N-d is important, it still strikes > me as a lot harder to implement something in N-d vs 2-D (it's much > more than just grabbing the "juicy center", etc.). It depends a lot on the algorithm. For many (all the ones I've used, anyway), the algorithm works on voxels (is it hypervoxels in nD? =) and their neighbours, so you just need to abstract away the "neighbour" concept. See my (pure python, slow as molasses) watershed implementation here , which depends on the function `get_neighbor_idxs` here. (Full disclosure: it's so slow that when the parameters are right, it falls back on skimage. ;) I don't think any of these functions are in principle difficult to implement in Cython, so long as you pass the raveled array+shape, rather than the full n-dimensional array. It just wasn't a priority after you guys came out with 3D watershed. =) SLIC is another easy one to make nD: rather than 2D+RGB, it could be nD+arbitrary channels. The algorithm is exactly the same. (Sorry I've been slow on that one. Again: would have been easier to be nD from the start, rather than converting Andy's implementation which is a headache simply because it assumes 2D+3 channels in so many places.) At any rate, I've slightly softened my stance. The reason is that all these neighbourhood models implicitly assume that the data are isotropic, ie same resolution along each dimension. This is possible, even probable, until 3 dimensions, and essentially impossible in 4D or higher. So while it's cute and nice to make it nD, realistically, 3D is good enough for most purposes. And you can't argue that it's much harder to do 3D than 2D. =) Regarding tutorials, what exactly are people looking for? I incidentally have zero experience with: 1. writing tutorials, 2. mayavi, or 3. cross-correlation methods. However, I'm very much interested in learning about 1 and 2, so I'm happy to take this on with a bit of guidance! (But I have no helpful suggestions for Marianne's specific problem... Sorry!) -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Fri Apr 26 12:13:15 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Fri, 26 Apr 2013 21:43:15 +0530 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> Message-ID: On Fri, Apr 26, 2013 at 9:31 PM, St?fan van der Walt wrote: > Perhaps we should implement > such a spatial access library in _shared, and then write a short guide > in the documentation on how to use it? > I like it! A very manageable first step. Busy this weekend but it's on my to-do for next week. Should I go with British or US spelling for "neighbo(u)r"? =) -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Fri Apr 26 15:45:38 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Fri, 26 Apr 2013 21:45:38 +0200 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> Message-ID: On Apr 26, 2013 6:13 PM, "Juan Nunez-Iglesias" wrote: > > On Fri, Apr 26, 2013 at 9:31 PM, St?fan van der Walt wrote: >> >> Perhaps we should implement >> such a spatial access library in _shared, and then write a short guide >> in the documentation on how to use it? > > > I like it! A very manageable first step. Busy this weekend but it's on my to-do for next week. > > Should I go with British or US spelling for "neighbo(u)r"? =) I speak English, but I realise (with an S) that I am in the minority :) As such, I think it is safer to use the US spelling. Thanks for volunteering to work on this important part of the package. I think once that is in place we'd have a very compelling story for a skimage paper! St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Sat Apr 27 02:28:00 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Fri, 26 Apr 2013 23:28:00 -0700 (PDT) Subject: Making algorithms at least 3D, preferably nD In-Reply-To: <517B139F.1010006@gemini.edu> References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> Message-ID: <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Hi all, I guess I need some clarification what nD images exactly mean. For 3D, these are the following ways I can think of it -- 1. RGB image (n x m x 3) : Total m*n pixels 2. Series of grey-scale images (m x n x p): Total p images each with m*n pixels 3. A grey-scale(m x n x 2) or an RGB image(m x n x 4) with depth value at each pixel like a Pointcloud(http://pointclouds.org/)? Can you please elaborate which of the above(or something different) is meant as nD in this discussion? @Marianne Can you point out to the category that you meant with your images of the dimensions (512, 1536, 21)? Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From bettyrfly at gmail.com Sat Apr 27 09:06:41 2013 From: bettyrfly at gmail.com (=?UTF-8?Q?Beatka_W=C3=B3jciak?=) Date: Sat, 27 Apr 2013 06:06:41 -0700 (PDT) Subject: Graph Cut In-Reply-To: <8AC8FA64-F7CC-4C4F-A298-642E016C735F@demuc.de> References: <8AC8FA64-F7CC-4C4F-A298-642E016C735F@demuc.de> Message-ID: <57cd42e3-208a-41c7-941e-65f699b43b07@googlegroups.com> Hi, thank you for your answer. I actually thought that only one of the papers might be a bit too little for the entire project. Do you think that both papers would be sufficient? I'd like to contact Stefan van der Walt directly - can I reach him on this email address: *stefan at sun.ac.za*? If not could you provide me the correct one since I couldn't find any different email of his. W dniu pi?tek, 26 kwietnia 2013 19:34:52 UTC+2 u?ytkownik Johannes Sch?nberger napisa?: > > Hi and welcome, > > Your profile seems perfect to me and your ideas meet our expectations; > however I think only one of your proposed ideas is not considered > sufficient. But Stefan van der Walt can give you more information regarding > this. > > Nevertheless, please note that you have to submit at least one PR to > scikit-image. Have a look at this page for more information and other > ideas: > > https://github.com/scikit-image/scikit-image/wiki/GSoC-2013 > > Johannes Sch?nberger > > Am 26.04.2013 um 17:49 schrieb Beatka W?jciak >: > > > > Hello, > > I am finishing my 3rd year of Computer Science studies at University of > Wroc?aw (Poland). During my studies I've taken multiple courses about image > processing and this (as well as machine learning) is my main field of > interest. Most of the projects regarding image processing I've written are > in C/C++ but I'm fluent in Python as well (I've written several servers in > Python and now I'm using it in my text mining course). I've also taken > course about numerical analysis so I'm not afraid of maths. > > > > I found graph cut algorithm particularly interesting. I've found this > paper: http://research.microsoft.com/pubs/67890/siggraph04-grabcut.pdfwhich seems to give good results and I'd like to implement it. > > Please let me know if you find my idea interesting. > > > > In case it didn't meet your expectations my other idea was to implement > algorithm found here: > http://people.csail.mit.edu/sparis/publi/2011/cvpr_radon/Cho_11_Blur_Kernel_Estimation.pdf(deblurring from the ideas page). > > > > I'd be grateful for your comments and suggestions. > > Beata Wojciak > > > > -- > > You received this message because you are subscribed to the Google > Groups "scikit-image" group. > > To unsubscribe from this group and stop receiving emails from it, send > an email to scikit-image... at googlegroups.com . > > For more options, visit https://groups.google.com/groups/opt_out. > > > > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From chintaksheth at gmail.com Sat Apr 27 02:13:10 2013 From: chintaksheth at gmail.com (Chintak Sheth) Date: Sat, 27 Apr 2013 11:43:10 +0530 Subject: GSoC 2013: Contour detection or feature detection ? Message-ID: Hi, I am writing this mail since I am a little confused as to which project would be the most advantageous to our community. After talking to Tony, I have been able to short-list 2 projects, one regarding contour detection using snakes or feature detection using SIFT. Kindly take a look at the ideas described in detail below. *About me:* I am Chintak Sheth a 3rd year UG pursuing B.E. (Hons.) in Electrical and Electronics engineering at BITS Pilani Goa campus. I have been working in Image processing for about 8-9 months. I took it as an elective course just out of curiosity, and am now really passionate to work in it, I have recently got a paper published in IEEE Xplore DL. "Study of Dissociated Dipoles for Content Based Image Retrieval Using Stamp Recognition Systems" At the time we had worked on MATLAB, though I regret not having got exposed to skimage then. This is my first exposure with open source development. But in the last couple of weeks, I have contributed to the community by way of documentation for Morphological functions (with a lot of help from Tony: https://github.com/scikit-image/scikit-image/pull/528) which was recently merged and also by trying to implement a convex_hull_object function ( https://github.com/scikit-image/scikit-image/pull/522). *Idea 1:* I was fascinated about value-and-criterion class of nonlinear filters after reading "A morphology-based filter structure for edge-enhancing smoothing". It describes the implementation of Mean of Least Variance filters. What is interesting is the edge preserving smoothing behaviour and also the ease of extending it to 3D or n-D. Stefan further suggested going through this paper (Edge and Line Oriented Contour Detectors : State of the Art) which deals with a higher domain of contour detection and also presents on the various stages involved in this. As it turns out value-and-criterion filters fall into the preprocessing stage for contour detection and are mainly used for removing noise and textures while at the same time preserving edges. For the detection part, I think Active contours (or snakes) offers some pretty serious advantages as opposed to local detectors. Specifically, Snakes: Active contour models describes the basic algorithm and has been cited about 14660 times. I think snakes in combination with a preprocessing filter would be a pretty good addition to skimage. *Idea 2:* A feature detector like SIFT. A lot of literature is available online and also should be pretty good to have in skimage. I'd love to know what are your thoughts on what could be more advantageous to our community. Thanks, Chintak -------------- next part -------------- An HTML attachment was scrubbed... URL: From silvertrumpet999 at gmail.com Sat Apr 27 20:29:51 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Sat, 27 Apr 2013 17:29:51 -0700 (PDT) Subject: Making algorithms at least 3D, preferably nD In-Reply-To: <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: I would classify 1 and 3 as 2-D multichannel, with #2 a fuzzy area depending on what meaning the other images in the series carry. If they are spatially oriented as slices along a third dimension, that would be a grayscale 3-D volume. If they're a stack of different filter types of the same scene (think satellite photography or the Mars rovers) they would be an abstraction of a 2-D multichannel. If it's a movie, that dimension would represent time. When we talk about n-D we are abstracting the number of dimensions to any arbitrary integer n. This can be a somewhat difficult concept. As just one example: in medical imaging we have 4-D and 5-D images where (x, y, z, t, p) could be the dimensionality. In this case generally the first 3 dimensions are spatial, and the following two are time (t) and type of imaging (p, for example CT registered with MR, or just various MR sequences). Analyzing the prodigious amount of data from these scans is a challenge. There are many other examples of higher dimensionality data; perhaps someone else can chime in with other examples. On Saturday, April 27, 2013 1:28:00 AM UTC-5, Ankit Agrawal wrote: > > Hi all, > > I guess I need some clarification what nD images exactly mean. For > 3D, these are the following ways I can think of it -- > 1. RGB image (n x m x 3) : Total m*n pixels > 2. Series of grey-scale images (m x n x p): Total p images each with m*n > pixels > 3. A grey-scale(m x n x 2) or an RGB image(m x n x 4) with depth value at > each pixel like a Pointcloud(http://pointclouds.org/)? > > Can you please elaborate which of the above(or something different) is > meant as nD in this discussion? > > @Marianne > Can you point out to the category that you meant with your images of the > dimensions (512, 1536, 21)? > > Regards, > Ankit Agrawal, > Communication and Signal Processing, > IIT Bombay. > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From almar.klein at gmail.com Sat Apr 27 17:10:31 2013 From: almar.klein at gmail.com (Almar Klein) Date: Sat, 27 Apr 2013 23:10:31 +0200 Subject: imageio progress In-Reply-To: References: Message-ID: > Is there a way to add plugins by simply "dumping" plugin files into > place? This was part of the thinking when we designed the skimage.io > plugin infrastructure (so it would be easy for, e.g., Debian to add > new formats by simply unpacking into the right location). > > I am not entirely happy with the complexity of the io module in > skimage, and would love to hear ideas about how it can be simplified, > perhaps integrating with imageio. > The way in which this is currently implemented in imagio is that each plugin module implements a Format class (with associated Reader and Writer classes), and registers an instance of this Format class with the imagio format manager: format = FormatDefinedInThisModule('dummy', 'An example format that does nothing.') imageio.formats.add_format(format) For a more complete example see plugins/example.py. In effect, plugins can be defines anywhere, also in 3d party packages. The plugins/__init__.py simply imports has one line of code per plugin to import it. You/we could extend it and make plugins/__init__.py search the whole directory and import all found modules. I've done similar things in visvis, but in retrospect I prefer explicitly importing the modules (also less trouble with e.g. freezing). But perhaps the use case that you described justifies such an approach. Adding new formats is then a matter of dumping in a file containing read() > and write() functions, and importing that in the __init__.py file. This > results in very clean syntax: Imagio currently does something similar. A plugin (or format as its called in imageio) must implement three classes: Format to describe meta information about the format (name, short description and docs), as well as functionality to determine whether a given file(name) can be read/written by the format or not. Reader and Writer are overloaded classes used to read and write image data. They should implement a specific set of methods, but may also implement additional methods in cases it makes sense to complement the default interface. When the user tries to read an image (e.g. using imageio.imread()) the format manager picks the first format that says it can read the data, and uses an instance of its Reader class to do the reading. Alternatively imagio.read() gives the user an instance of the Reader class for more control. If the user wants to use a specific format he/she can use imageio.imread(filename, format=X), where X can be the name of a format, its extension, or a Format instance. ... perhaps integrating with imageio. I took imageio out of skimage because I think that reading/saving images is useful to many people that do not necessarily need skimage. But I was indeed hoping for some form of integration with skimage. Also, I'm hoping that imageio can be a place to place functionality for reading specific formats (such as TIFF or .mhd (ITK)). An environment such as github should make it fairly easy for multiple people to maintain their own plugin in a collaborative repository. - Almar -------------- next part -------------- An HTML attachment was scrubbed... URL: From usharma01 at gmail.com Sun Apr 28 10:06:09 2013 From: usharma01 at gmail.com (Umesh Sharma) Date: Sun, 28 Apr 2013 07:06:09 -0700 (PDT) Subject: Gsoc 2013 Proposal Message-ID: Name :- Umesh Kumar Sharma Email :- usharma01 at gmail.com | umesh.sharma at cse.iitkgp.ernet.in Phone :- +91-8388055634 Location :- Kharagpur, India, GMT + 05:30 *Project Title* *:* Graph-cut/Normal-Cut Image Segmentation *Introduction :* Graph-Cut can be used to solve many problems of computer vision that can be formulated in terms of energy minimization. One very important problem of computer vision is object recognition, and it requires better image segementation techniques. There already exists implementation of Felzenswalb's fast graph based method, quickshift method and SLIC in scikit-image. The results of Felzenswalb's algorithm are quite well. If the image size becomes larger then many of the implemented graph algorithms become impractical. *Motivation :* Why python ? Python is my favourite programming language. I am working with python from my second year. So that is why i want to do something in python. Why scikit-image ? I am very interested in the field of image processing/Computer vision, and i wish to see a library equivalent to MATLAB fuctionality in python. I have gone through the source code of scikit-image. It is easy to understand and efficiently implemented. The library scikit-image is not complete yet so i can contribute more in this project and I have done some image processing projects in my past. I found the community of this project very helpful, during my PR submission. So that's why i am applying in scikit-image. *Project Goal:* During the Gsoc period, i was thinking of implementing "A Multilevel Banded Graph Cuts Method for Fast Image Segmentation" [Herve Lombaert, Yiyong Sun, Leo Grady, Chenyang Xu] as my Gsoc[2013] project. The results looks good as shown in paper. There is another paper "Star Shape Prior for Graph-Cut Image Segmentation", which if time permits, i would like to implement as well. *Implementation Details:* As described in paper this algorithm runs one multiple levels to decrease computation and memory requirement. First the graph cut is calcultate on an image of lower resolution and then solution is propagateed to next level only by computing the graph cut at that level in narrow band surrounding. The algorithm consist of three stages:- - Coarsening stage:- sequence of smaller images are constructed from the original image. - Initial Segmentation:- Min Cut is applied on the Coarsed images constructed in the stage first. - Uncoarsening stage :- A binary boundary image Jk is constructed to represent all the image point that are identified by the nodes in the cut Ck and project them onto a higher resolution boundary image Jk-1 at level k-1. also one more thing in this implementation we are using boykov and kolmogorov max-flow implementation because it is several time faster than slandered implementation. *Timeline:* Documentation and writing tests will be done along with the coding work so that it is not left for the last minute. Before June 17: To familiarize myself more with Scikit-image. Understand all smaller details of this algorithm. Discuss all my ideas with the mentor and community members. Discuss with my mentor for any changes in the plan. Phase 1: June 17 - July 19 (4 Weeks) : Implement Coarsening stage and start working on Initial Segmentation(boykov and kolmogorov max-flow)also do some documentation parallely. July 20 - August 2 (2 Week) : Testing and fixing bugs for Phase 1. Phase 2: August 3 - August 30 (4 Weeks) : Complete the segementation part and Implement final Uncoarsening stage of algorithm. August 31 - September 6 (2 Weeks) : Combine all parts of algorithm together and clean-up the code. September 6 - September 13 (1 Week) : Testing and fixing bugs for Phase 2. September 14 - September 27 (2 Week) : Finalizing all documentation and tests. Post Gsoc :- - Implement "Star Shape Prior for Graph-Cut Image Segmentation" paper for segmentation. - Implement remaining edge detector(mainly frei-chen). *About Me :-* I am currently 19 years old and i am pursuing my bachelors in computer science at Indian Institue of Technology Kharagpur(India). Apart from coding and Computer Science I like playing tennis, cricket. I love to spend some time with my friends. I am very enthusiastic in learning new things. My Prepration for this project - I am pretty clear about the implementation details of the paper. - I have quite understand the source code of scikit-image during my first PR, which is almost ready to merge. - I have good understanding of image processing. reference : https://github.com/umesh563/scikit-image/commits/master -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Sun Apr 28 10:11:07 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Sun, 28 Apr 2013 07:11:07 -0700 (PDT) Subject: GSoC 2013 : Idea Discussion Message-ID: <639fa594-48df-44e6-a7d2-d2d9dff75ecc@googlegroups.com> Hi everyone, I am Ankit Agrawal, a 3rd year student enrolled in a 5 year Dual Degree Program(B.Tech + Masters) in Electrical Engineering at IIT Bombay(where SciPy India meet was held in Dec 2012). My Masters specialization is in Communication and Signal Processing. The relevant courses that I have taken in the past are Linear Algebra, Image Processing, Computer Vision and Machine Learning. Previously, I have used MATLAB, OpenCV and PointCloud Library for Image Processing and Computer Vision projects. Some of my projects include : 1) Mini Project *1*and *2 * based on paper 'Undersampled Radial MRI with Multiple Coils. Iterative Image Reconstruction Using a Total Variation Constraint ' 2) Parallel Tracking and Mappingin 3D using Kinect(WIP) based on paper 'Parallel Tracking and mapping for Small AR Workspaces ' 3) Machine Learning competitions on Kaggle(Yes, I have fallen victim to overfitting here.) I just got finished with my end-terms yesterday and hence was a bit under the hood during the last week and slow in pushing commits. I appreciate the patience of the community members who have been reviewing my Pull Requests. I have resumed working on them . I want to discuss some of the ideas more extensively for building a strong GSoC proposal as the ideas page currently does not list much description of them. Idea # 1: In the feature detection idea, binary features like BRIEF, FREAK and BRISK; STAR corners, SURFand SIFT features need to be implemented(Currently, only feature readers are available for SIFT and SURF) . Over the span of 12 weeks, I think 4 of these can implemented giving 3 weeks of time to each. If this sounds a bit ambitious, 3 features can be completed with 4 for weeks for each one. I think a framework for handling features and descriptors like the opencv 2D features frameworkmight be something that skimage should have in future considering the long-term. Idea # 2: I think that the Blind Deconvolutionand Face Detection(@Stefan : Can you please confirm whether you meant Detection instead of Recognition in the idea listed on the idea's page?) both can be completed comfortably in 12 weeks by me as I have worked on a project involving Radon transform(MiniProject 1and 2 ) and have also done a course in Machine Learning. Currently, I don't know of any Non-patent-encumbered face detection algorithm in particular, but I am confident that there are effective methods other than Viola-Jones. A good introduction to Face detection and Recognition is in these slidesby Stanford's Prof. Fei Fei Li. Beatka has shown interest in Graph-Cut as well as Blind Convolution, but I think it would be better if someone tackles all the segmentation algorithms together since the segmentation part of skimage needs many additions. There was a lot of interest for the segmentation idea in the beginning, but if no one is taking it, I would be happy to have that idea as my proposal. Idea # 3: What is needed to be implemented in Video Manipulation Framework idea? My guess is that interfacing the current Video streaming functionality(input either from webcam or files) with the currently implemented algorithms which would also lead to development of Computer Vision algorithms in the future in skimage. Can you please elaborate more on this idea, if possible in a modular way? I request all the community members to comment their views on these ideas soon as I plan to have my proposal ready by 30th. Thank you. Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From marianne.corvellec at ens-lyon.org Sun Apr 28 12:22:18 2013 From: marianne.corvellec at ens-lyon.org (Marianne Corvellec) Date: Sun, 28 Apr 2013 09:22:18 -0700 (PDT) Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: <98ee7a31-e7c2-4b36-8d49-2e373ab58007@googlegroups.com> @Ankit On Sunday, April 28, 2013 5:58:26 PM UTC+2, Juan Nunez-Iglesias wrote: > > On Sat, Apr 27, 2013 at 11:58 AM, Ankit Agrawal > > wrote: >> >> @Marianne >> Can you point out to the category that you meant with your images of the >> dimensions (512, 1536, 21)? >> > > I'm not Marianne but I would bet a nonzero sum that those are (m x n x p) > images. =) > Yes, exactly! Just confirming what Juan and others have made clear. It goes like: In [1]: import skimage.io as io In [2]: coll = io.ImageCollection('Movie2/movie2_t005_z*_c001.png') In [3]: len(coll) Out[3]: 21 In [4]: coll[0].shape Out[4]: (512, 1536) But this collection of image files is for one given time, there are many times (making a movie) so I guess I'm dealing with nD as well. -------------- next part -------------- An HTML attachment was scrubbed... URL: From almar.klein at gmail.com Sun Apr 28 06:10:55 2013 From: almar.klein at gmail.com (Almar Klein) Date: Sun, 28 Apr 2013 12:10:55 +0200 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: > > I would classify 1 and 3 as 2-D multichannel, with #2 a fuzzy area > depending on what meaning the other images in the series carry. If they are > spatially oriented as slices along a third dimension, that would be a > grayscale 3-D volume. If they're a stack of different filter types of the > same scene (think satellite photography or the Mars rovers) they would be > an abstraction of a 2-D multichannel. If it's a movie, that dimension would > represent time. Exactly. There is a difference between the dimensionality of your image and the dimensionality of the array (i.e. the value of len(image.shape)). I suppose most algorithms assume scalar data (i.e. the dimension of the image is the same as the array), except for specific algorithms that explicitly use the different channels. ... in medical imaging we have 4-D and 5-D images where (x, y, z, t, p) > could be the dimensionality. In this case generally the first 3 dimensions > are spatial, and the following two are time (t) and type of imaging (p, for > example CT registered with MR, or just various MR sequences). Analyzing the > prodigious amount of data from these scans is a challenge. > This is true, but I wonder if it makes sense to put different modalities (e.g. CT vs MRI) in a single array. If you want to diffuse your data for instance, it does not make sense to include the modality-dimension. The same can be said for the time dimension, although there are probably situations/algorithms where it does make sense to put multiple time frames in one array. - Almar -------------- next part -------------- An HTML attachment was scrubbed... URL: From emmanuelle.gouillart at nsup.org Sun Apr 28 10:13:09 2013 From: emmanuelle.gouillart at nsup.org (Emmanuelle Gouillart) Date: Sun, 28 Apr 2013 16:13:09 +0200 Subject: segmentation fault when building doc Message-ID: <20130428141309.GA24958@phare.normalesup.org> Hi all, when I try do build the doc with sphinx ("make html", on the master branch of scikit-image), I get a segmentation fault. Here is what gdb says: ************************** aleph ~/travail/projects/scikit-image/doc $ gdb python [master] [16:04] GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04 Copyright (C) 2012 Free Software Foundation, Inc. License GPLv3+: GNU GPL version 3 or later This is free software: you are free to change and redistribute it. There is NO WARRANTY, to the extent permitted by law. Type "show copying" and "show warranty" for details. This GDB was configured as "x86_64-linux-gnu". For bug reporting instructions, please see: ... Reading symbols from /usr/bin/python...(no debugging symbols found)...done. (gdb) run /usr/bin/sphinx-build -b html -d build/doctrees source build/html Starting program: /usr/bin/python /usr/bin/sphinx-build -b html -d build/doctrees source build/html [Thread debugging using libthread_db enabled] Using host libthread_db library "/lib/x86_64-linux-gnu/libthread_db.so.1". Running Sphinx v1.1.3 /usr/lib/pymodules/python2.7/matplotlib/__init__.py:923: UserWarning: This call to matplotlib.use() has no effect because the the backend has already been chosen; matplotlib.use() must be called *before* pylab, matplotlib.pyplot, or matplotlib.backends is imported for the first time. if warn: warnings.warn(_use_error_msg) loading pickled environment... not yet created loading intersphinx inventory from http://scikit-learn.org/stable/objects.inv... loading intersphinx inventory from http://docs.scipy.org/doc/scipy/reference/objects.inv... loading intersphinx inventory from http://docs.scipy.org/doc/numpy/objects.inv... loading intersphinx inventory from http://docs.python.org/2.7/objects.inv... Program received signal SIGSEGV, Segmentation fault. 0x00007fffdeac2643 in __pyx_pf_7skimage_9transform_16_hough_transform_hough_circle (__pyx_v_img=, __pyx_v_radius=0x48d6050, __pyx_v_normalize=1 '\001', __pyx_v_full_output=, __pyx_self=) at skimage/transform/_hough_transform.c:2240 warning: Source file is more recent than executable. 224 *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_double_t *, __pyx_pybuffernd_acc.rcbuffer->pybuffer.buf, __pyx_t_26, __pyx_pybuffernd_acc.diminfo[0].strides, __pyx_t_27, __pyx_pybuffernd_acc.diminfo[1].strides, __pyx_t_28, __pyx_pybuffernd_acc.diminfo[2].strides) += __pyx_v_0 ***************************************** I checked that I obtain the same segfault on a fresh clone. Any idea of what's going on? Am I the only one having trouble building the doc? Cheers, Emmanuelle From jschoenberger at demuc.de Sun Apr 28 10:34:07 2013 From: jschoenberger at demuc.de (=?iso-8859-1?Q?Johannes_Sch=F6nberger?=) Date: Sun, 28 Apr 2013 16:34:07 +0200 Subject: segmentation fault when building doc In-Reply-To: <20130428141309.GA24958@phare.normalesup.org> References: <20130428141309.GA24958@phare.normalesup.org> Message-ID: <8551B9C0-D189-442D-94C2-9DDFA9E37E4B@demuc.de> Hi Emmanuelle, I am on OSX 10.8 and cannot reproduce your segfault. Have you rebuilt and reinstalled skimage? Have you also deleted everything in scikit-image/build and in the site-packages directory? For me this sometimes breaks making the docs if some old files remain in either of them. I suspect that, since it says "warning: Source file is more recent than executable." in the gdb traceback. Johannes Sch?nberger Am 28.04.2013 um 16:13 schrieb Emmanuelle Gouillart : > Hi all, > > when I try do build the doc with sphinx ("make html", on the > master branch of scikit-image), I get a segmentation fault. Here is what > gdb says: > > ************************** > aleph ~/travail/projects/scikit-image/doc $ gdb python [master] > [16:04] > GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04 > Copyright (C) 2012 Free Software Foundation, Inc. > License GPLv3+: GNU GPL version 3 or later > > This is free software: you are free to change and redistribute it. > There is NO WARRANTY, to the extent permitted by law. Type "show > copying" > and "show warranty" for details. > This GDB was configured as "x86_64-linux-gnu". > For bug reporting instructions, please see: > ... > Reading symbols from /usr/bin/python...(no debugging symbols > found)...done. > (gdb) run /usr/bin/sphinx-build -b html -d build/doctrees source > build/html > Starting program: /usr/bin/python /usr/bin/sphinx-build -b html -d > build/doctrees source build/html > [Thread debugging using libthread_db enabled] > Using host libthread_db library > "/lib/x86_64-linux-gnu/libthread_db.so.1". > Running Sphinx v1.1.3 > /usr/lib/pymodules/python2.7/matplotlib/__init__.py:923: UserWarning: > This call to matplotlib.use() has no effect > because the the backend has already been chosen; > matplotlib.use() must be called *before* pylab, matplotlib.pyplot, > or matplotlib.backends is imported for the first time. > > if warn: warnings.warn(_use_error_msg) > loading pickled environment... not yet created > loading intersphinx inventory from > http://scikit-learn.org/stable/objects.inv... > loading intersphinx inventory from > http://docs.scipy.org/doc/scipy/reference/objects.inv... > loading intersphinx inventory from > http://docs.scipy.org/doc/numpy/objects.inv... > loading intersphinx inventory from > http://docs.python.org/2.7/objects.inv... > > Program received signal SIGSEGV, Segmentation fault. > 0x00007fffdeac2643 in > __pyx_pf_7skimage_9transform_16_hough_transform_hough_circle > (__pyx_v_img=, __pyx_v_radius=0x48d6050, > __pyx_v_normalize=1 '\001', __pyx_v_full_output=, > __pyx_self=) at > skimage/transform/_hough_transform.c:2240 > warning: Source file is more recent than executable. > 224 *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_double_t *, > __pyx_pybuffernd_acc.rcbuffer->pybuffer.buf, __pyx_t_26, > __pyx_pybuffernd_acc.diminfo[0].strides, __pyx_t_27, > __pyx_pybuffernd_acc.diminfo[1].strides, __pyx_t_28, > __pyx_pybuffernd_acc.diminfo[2].strides) += __pyx_v_0 > ***************************************** > > I checked that I obtain the same segfault on a fresh clone. > > Any idea of what's going on? Am I the only one having trouble building > the doc? > > Cheers, > Emmanuelle > > > -- > You received this message because you are subscribed to the Google Groups "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > From emmanuelle.gouillart at nsup.org Sun Apr 28 11:04:48 2013 From: emmanuelle.gouillart at nsup.org (Emmanuelle Gouillart) Date: Sun, 28 Apr 2013 17:04:48 +0200 Subject: segmentation fault when building doc In-Reply-To: <8551B9C0-D189-442D-94C2-9DDFA9E37E4B@demuc.de> References: <20130428141309.GA24958@phare.normalesup.org> <8551B9C0-D189-442D-94C2-9DDFA9E37E4B@demuc.de> Message-ID: <20130428150448.GD9579@phare.normalesup.org> Hi Johannes, thank you very much for your help. It appears that I had not done things properly: I thought that the local build (from "python setup.py build_ext --inplace") was the one used for building the docs, but apparently it is necessary to install the package as well. I re-installed the package, and the build went smoothly. Thanks! Emmanuelle On Sun, Apr 28, 2013 at 04:34:07PM +0200, Johannes Sch??????nberger wrote: > Hi Emmanuelle, > I am on OSX 10.8 and cannot reproduce your segfault. > Have you rebuilt and reinstalled skimage? Have you also deleted everything in scikit-image/build and in the site-packages directory? For me this sometimes breaks making the docs if some old files remain in either of them. > I suspect that, since it says "warning: Source file is more recent than executable." in the gdb traceback. > Johannes Sch??????nberger > Am 28.04.2013 um 16:13 schrieb Emmanuelle Gouillart : > > Hi all, > > when I try do build the doc with sphinx ("make html", on the > > master branch of scikit-image), I get a segmentation fault. Here is what > > gdb says: > > ************************** > > aleph ~/travail/projects/scikit-image/doc $ gdb python [master] > > [16:04] > > GNU gdb (Ubuntu/Linaro 7.4-2012.04-0ubuntu2) 7.4-2012.04 > > Copyright (C) 2012 Free Software Foundation, Inc. > > License GPLv3+: GNU GPL version 3 or later > > > > This is free software: you are free to change and redistribute it. > > There is NO WARRANTY, to the extent permitted by law. Type "show > > copying" > > and "show warranty" for details. > > This GDB was configured as "x86_64-linux-gnu". > > For bug reporting instructions, please see: > > ... > > Reading symbols from /usr/bin/python...(no debugging symbols > > found)...done. > > (gdb) run /usr/bin/sphinx-build -b html -d build/doctrees source > > build/html > > Starting program: /usr/bin/python /usr/bin/sphinx-build -b html -d > > build/doctrees source build/html > > [Thread debugging using libthread_db enabled] > > Using host libthread_db library > > "/lib/x86_64-linux-gnu/libthread_db.so.1". > > Running Sphinx v1.1.3 > > /usr/lib/pymodules/python2.7/matplotlib/__init__.py:923: UserWarning: > > This call to matplotlib.use() has no effect > > because the the backend has already been chosen; > > matplotlib.use() must be called *before* pylab, matplotlib.pyplot, > > or matplotlib.backends is imported for the first time. > > if warn: warnings.warn(_use_error_msg) > > loading pickled environment... not yet created > > loading intersphinx inventory from > > http://scikit-learn.org/stable/objects.inv... > > loading intersphinx inventory from > > http://docs.scipy.org/doc/scipy/reference/objects.inv... > > loading intersphinx inventory from > > http://docs.scipy.org/doc/numpy/objects.inv... > > loading intersphinx inventory from > > http://docs.python.org/2.7/objects.inv... > > Program received signal SIGSEGV, Segmentation fault. > > 0x00007fffdeac2643 in > > __pyx_pf_7skimage_9transform_16_hough_transform_hough_circle > > (__pyx_v_img=, __pyx_v_radius=0x48d6050, > > __pyx_v_normalize=1 '\001', __pyx_v_full_output=, > > __pyx_self=) at > > skimage/transform/_hough_transform.c:2240 > > warning: Source file is more recent than executable. > > 224 *__Pyx_BufPtrStrided3d(__pyx_t_5numpy_double_t *, > > __pyx_pybuffernd_acc.rcbuffer->pybuffer.buf, __pyx_t_26, > > __pyx_pybuffernd_acc.diminfo[0].strides, __pyx_t_27, > > __pyx_pybuffernd_acc.diminfo[1].strides, __pyx_t_28, > > __pyx_pybuffernd_acc.diminfo[2].strides) += __pyx_v_0 > > ***************************************** > > I checked that I obtain the same segfault on a fresh clone. > > Any idea of what's going on? Am I the only one having trouble building > > the doc? > > Cheers, > > Emmanuelle > > -- > > You received this message because you are subscribed to the Google Groups "scikit-image" group. > > To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. > > For more options, visit https://groups.google.com/groups/opt_out. From aaaagrawal at gmail.com Sun Apr 28 20:33:55 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Sun, 28 Apr 2013 17:33:55 -0700 (PDT) Subject: GSoC 2013 : Idea Discussion In-Reply-To: References: <639fa594-48df-44e6-a7d2-d2d9dff75ecc@googlegroups.com> Message-ID: Hi Stefan, > In the feature detection idea, binary features like BRIEF, FREAK and > BRISK; > > STAR corners, SURF and SIFT features need to be implemented(Currently, > only > > feature readers are available for SIFT and SURF) . > > We cannot have SIFT or SURF in skimage because of patent constraints, > but we are certainly interested in STAR (consensus). The binary > features would also be a very good contribution. > > I was unaware of that. Thanks for pointing out. OpenCV has a separate section for such patented/non-free algorithms . > > I think a framework for handling features and descriptors like the > opencv 2D > > features framework might be something that skimage should have in future > > considering the long-term. > > Could you describe what such a framework would look like and do? > I haven't looked at OpenCV's source code, but their features frameworkis organized into feature detectors, feature descriptor extractors, feature descriptor matchers, which to me seems very clean and elegant, atleast in terms of the API. > > I think that the Blind Deconvolution and Face Detection(@Stefan : Can > you > > please confirm whether you meant Detection instead of Recognition in the > > I meant detection, and specifically referred to an alternative way of > implemented Viola-Jones that would avoid patent restrictions. > Alternative algorithms would also work, but I am not very familiar > with the literature. > I will research more into these alternative methods. > > Beatka has shown interest in Graph-Cut as well as Blind Convolution, but > I > > think it would be better if someone tackles all the segmentation > algorithms > > together since the segmentation part of skimage needs many additions. > There > > was a lot of interest for the segmentation idea in the beginning, but if > no > > one is taking it, I would be happy to have that idea as my proposal. > > All prospective candidates are more than welcome to share their > ideas/interests here, so that there is limited overlap. I agree that this would be better. > > What is needed to be implemented in Video Manipulation Framework idea? > My > > guess is that interfacing the current Video streaming > functionality(input > > either from webcam or files) with the currently implemented algorithms > which > > would also lead to development of Computer Vision algorithms in the > future > > in skimage. Can you please elaborate more on this idea, if possible in a > > modular way? I request all the community members to comment their views > on > > these ideas soon as I plan to have my proposal ready by 30th. Thank you. > > I think I mentioned this in another mail, but it would encompass > efficient reading, writing, seeking, and real-time display. Long, > long ago I wrote this for Octave: > > http://octave.sourceforge.net/video/overview.html > > I think we can definitely trump that by now in terms of functionality. Umm...I am not sure I got the exact meaning of what you meant here, can you please elaborate a bit? Thanks. Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Sun Apr 28 13:03:31 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Sun, 28 Apr 2013 19:03:31 +0200 Subject: segmentation fault when building doc In-Reply-To: <20130428150448.GD9579@phare.normalesup.org> References: <20130428141309.GA24958@phare.normalesup.org> <8551B9C0-D189-442D-94C2-9DDFA9E37E4B@demuc.de> <20130428150448.GD9579@phare.normalesup.org> Message-ID: On Sun, Apr 28, 2013 at 5:04 PM, Emmanuelle Gouillart wrote: > thank you very much for your help. It appears that I had not done things > properly: I thought that the local build (from "python setup.py build_ext > --inplace") was the one used for building the docs, but apparently it is > necessary to install the package as well. It should not be necessary, as long as the skimage source directory is in your PYTHONPATH before your local installation directory. St?fan From jni.soma at gmail.com Sun Apr 28 11:58:26 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Sun, 28 Apr 2013 21:28:26 +0530 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: On Sat, Apr 27, 2013 at 11:58 AM, Ankit Agrawal wrote: > Hi all, > > I guess I need some clarification what nD images exactly mean. For > 3D, these are the following ways I can think of it -- > 1. RGB image (n x m x 3) : Total m*n pixels > 2. Series of grey-scale images (m x n x p): Total p images each with m*n > pixels > 3. A grey-scale(m x n x 2) or an RGB image(m x n x 4) with depth value at > each pixel like a Pointcloud(http://pointclouds.org/)? > As others have pointed out, I think (1) and (3) are 2D+c, and (2) is 3D. You can also have (m x n x p x 3), or even (t x m x n x p x c) for arbitrary t and c. In general, when I said 3D I meant (m x n x p) and (m x n x p x 3), and when I said nD I meant (t x m x n x p x c). But, importantly, what I'm looking for is functions that are nD aware but will degrade nicely if provided with e.g. a 2D image. @Marianne > Can you point out to the category that you meant with your images of the > dimensions (512, 1536, 21)? > I'm not Marianne but I would bet a nonzero sum that those are (m x n x p) images. =) -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Sun Apr 28 16:47:30 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Sun, 28 Apr 2013 22:47:30 +0200 Subject: GSoC 2013 : Idea Discussion In-Reply-To: <639fa594-48df-44e6-a7d2-d2d9dff75ecc@googlegroups.com> References: <639fa594-48df-44e6-a7d2-d2d9dff75ecc@googlegroups.com> Message-ID: Hi Ankit On Sun, Apr 28, 2013 at 4:11 PM, Ankit Agrawal wrote: > In the feature detection idea, binary features like BRIEF, FREAK and BRISK; > STAR corners, SURF and SIFT features need to be implemented(Currently, only > feature readers are available for SIFT and SURF) . We cannot have SIFT or SURF in skimage because of patent constraints, but we are certainly interested in STAR (consensus). The binary features would also be a very good contribution. > I think a framework for handling features and descriptors like the opencv 2D > features framework might be something that skimage should have in future > considering the long-term. Could you describe what such a framework would look like and do? > I think that the Blind Deconvolution and Face Detection(@Stefan : Can you > please confirm whether you meant Detection instead of Recognition in the I meant detection, and specifically referred to an alternative way of implemented Viola-Jones that would avoid patent restrictions. Alternative algorithms would also work, but I am not very familiar with the literature. > Beatka has shown interest in Graph-Cut as well as Blind Convolution, but I > think it would be better if someone tackles all the segmentation algorithms > together since the segmentation part of skimage needs many additions. There > was a lot of interest for the segmentation idea in the beginning, but if no > one is taking it, I would be happy to have that idea as my proposal. All prospective candidates are more than welcome to share their ideas/interests here, so that there is limited overlap. > What is needed to be implemented in Video Manipulation Framework idea? My > guess is that interfacing the current Video streaming functionality(input > either from webcam or files) with the currently implemented algorithms which > would also lead to development of Computer Vision algorithms in the future > in skimage. Can you please elaborate more on this idea, if possible in a > modular way? I request all the community members to comment their views on > these ideas soon as I plan to have my proposal ready by 30th. Thank you. I think I mentioned this in another mail, but it would encompass efficient reading, writing, seeking, and real-time display. Long, long ago I wrote this for Octave: http://octave.sourceforge.net/video/overview.html I think we can definitely trump that by now in terms of functionality. St?fan From stefan at sun.ac.za Sun Apr 28 16:56:15 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Sun, 28 Apr 2013 22:56:15 +0200 Subject: Graph Cut In-Reply-To: <57cd42e3-208a-41c7-941e-65f699b43b07@googlegroups.com> References: <8AC8FA64-F7CC-4C4F-A298-642E016C735F@demuc.de> <57cd42e3-208a-41c7-941e-65f699b43b07@googlegroups.com> Message-ID: On Sat, Apr 27, 2013 at 3:06 PM, Beatka W?jciak wrote: > I actually thought that only one of the papers might be a bit too little for > the entire project. Do you think that both papers would be sufficient? Just to post publicly what I wrote in our private correspondence: I think implementing a collection of deconvolution algorithms, starting with Richardson-Lucy, could certainly fit the scope of a GSoC. Regards St?fan From stefan at sun.ac.za Sun Apr 28 17:01:30 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Sun, 28 Apr 2013 23:01:30 +0200 Subject: GSoC 2013: Contour detection or feature detection ? In-Reply-To: References: Message-ID: Hi Chintak On Sat, Apr 27, 2013 at 8:13 AM, Chintak Sheth wrote: > opposed to local detectors. Specifically, Snakes: Active contour models > describes the basic algorithm and has been cited about 14660 times. I would consider (active) contour detection algorithms a relevant and very interesting topic for GSoC. > A feature detector like SIFT. A lot of literature is available online and > also should be pretty good to have in skimage. As mentioned on another thread, feature detection--as long as it is not patent encumbered--is on our radar. Specifically STAR (censure), and binary features. Also, perhaps, finding a way to do keyword matching based on our current dense implementation of daisy--any ideas? I haven't read the daisy paper yet. St?fan From aaaagrawal at gmail.com Sun Apr 28 21:06:20 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Mon, 29 Apr 2013 06:36:20 +0530 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: @Josh and Juan, Thanks for your explanation. On Sat, Apr 27, 2013 at 11:58 AM, Ankit Agrawal wrote: > >> Hi all, >> >> I guess I need some clarification what nD images exactly mean. For >> 3D, these are the following ways I can think of it -- >> 1. RGB image (n x m x 3) : Total m*n pixels >> 2. Series of grey-scale images (m x n x p): Total p images each with m*n >> pixels >> 3. A grey-scale(m x n x 2) or an RGB image(m x n x 4) with depth value at >> each pixel like a Pointcloud(http://pointclouds.org/)? >> > > As others have pointed out, I think (1) and (3) are 2D+c, and (2) is 3D. > You can also have (m x n x p x 3), or even (t x m x n x p x c) for > arbitrary t and c. > > In general, when I said 3D I meant (m x n x p) and (m x n x p x 3), and > when I said nD I meant (t x m x n x p x c). But, importantly, what I'm > looking for is functions that are nD aware but will degrade nicely if > provided with e.g. a 2D image. > I may be wrong but I feel that there would be a limited number of algorithms that are nD aware but will scale down nicely if provided with a 2D image. For instance, if we have 3D data of the type (m x n x p), many functions and algorithms involving spatial components for eg: gradient based edge detectors won't be applicable since our 3rd dimension represents a series of images, we can't have something like a gradient in that dimension. Instead, if our data is 3D volumetric image, a great percentage of Computer Vision algorithms won't be of any use since they rely on making sense 3D world from 2D data. I would love to hear any comments on this point. Thanks. Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Mon Apr 29 00:39:38 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Mon, 29 Apr 2013 06:39:38 +0200 Subject: GSoC 2013 : Idea Discussion In-Reply-To: References: <639fa594-48df-44e6-a7d2-d2d9dff75ecc@googlegroups.com> Message-ID: On Mon, Apr 29, 2013 at 2:33 AM, Ankit Agrawal wrote: >> I think I mentioned this in another mail, but it would encompass >> efficient reading, writing, seeking, and real-time display. Long, >> long ago I wrote this for Octave: >> >> http://octave.sourceforge.net/video/overview.html >> >> I think we can definitely trump that by now in terms of functionality. > > Umm...I am not sure I got the exact meaning of what you meant here, can you > please elaborate a bit? Thanks. I simply meant that we are now able to implement not only that functionality but quite a bit more. St?fan From aaaagrawal at gmail.com Sun Apr 28 22:04:40 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Mon, 29 Apr 2013 07:34:40 +0530 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: On Mon, Apr 29, 2013 at 7:13 AM, Juan Nunez-Iglesias wrote: > On Mon, Apr 29, 2013 at 11:06 AM, Ankit Agrawal wrote: > >> @Josh and Juan, >> Thanks for your explanation. >> >> I may be wrong but I feel that there would be a limited number of >> algorithms that are nD aware but will scale down nicely if provided with a >> 2D image. For instance, if we have 3D data of the type (m x n x p), many >> functions and algorithms involving spatial components for eg: gradient >> based edge detectors won't be applicable since our 3rd dimension represents >> a series of images, we can't have something like a gradient in that >> dimension. >> > > @Ankit, actually, edge detectors generalise quite nicely to nD, e.g.: > > http://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.filters.gaussian_gradient_magnitude.html > Yes, edge detectors, filters and interpolating function generalize to nD quite easily, but my point was something else which slipped through because of my ambiguous explanation. The edge detectors will be good if the the data is volumetric in nature. On the contrary, if the data is 3D(series of images) where the dimension is not the z co-ordinate but a time instance, like in Marianne's case, gradient along the first two dimensions would be w.r.t space, while gradient along the third dimension would be w.r.t time(like the Optical Flow algorithmin Computer Vision), which according to me, are fundamentally different in true sense. > Many other examples of nD algorithms: > http://docs.scipy.org/doc/scipy/reference/ndimage.html > > Instead, if our data is 3D volumetric image, a great percentage of >> Computer Vision algorithms won't be of any use since they rely on making >> sense 3D world from 2D data. I would love to hear any comments on this >> point. Thanks. >> > > Photographs are rarely 3D, but various kinds of microscopy produce truly > 3D images, not a sequence of unrelated images. If you give specific > algorithms, we might be better able to point out how to generalise to 3D, > but the gist is that most algorithms *do* generalise. It is the > implementations that are 2D, not the algorithms. > > Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Sun Apr 28 23:05:40 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Mon, 29 Apr 2013 08:35:40 +0530 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: On Mon, Apr 29, 2013 at 7:49 AM, Juan Nunez-Iglesias wrote: > In Marianne's case, there is a 3D volumetric image *in addition to* a > time axis. > > Furthermore, if the time resolution in t is sufficient, many nD algorithms > can be used, along t as well (with suitable parameters e.g. sigma for > gaussian gradient magnitude). For an example, see: > > Andres, B., Kroeger, T., Briggman, K. L., Denk, W., Korogod, N., Knott, > G., Koethe, U., and Hamprecht, F. A. (2012). Globally optimal > closed-surface segmentation for connectomics. ECCV, 778?791. > > where they use a 3D segmentation method to do tracking in 2D+t video. > @Juan, this was an interesting read. I can feel why the 3D volumetric algorithm fits 2D x t (video), because the task involved is segmentation based tracking. However, I am still not fully convinced(would like to know more such examples if any) and feel that most nD algorithms would work differently on 2D x t and 3D. Thanks. Regards, Ankit Agrawal, Communication and Signal Processing, IIT Bombay. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Sun Apr 28 20:36:42 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Mon, 29 Apr 2013 10:36:42 +1000 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: <98ee7a31-e7c2-4b36-8d49-2e373ab58007@googlegroups.com> References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> <98ee7a31-e7c2-4b36-8d49-2e373ab58007@googlegroups.com> Message-ID: #shamelessselfpromotion @Marianne: On Sun, Apr 28, 2013 at 9:52 PM, Marianne Corvellec < marianne.corvellec at ens-lyon.org> wrote: > > In [1]: import skimage.io as io > > In [2]: coll = io.ImageCollection('Movie2/movie2_t005_z*_c001.png') > > In [3]: len(coll) > Out[3]: 21 > > In [4]: coll[0].shape > Out[4]: (512, 1536) > You might find my very first PR to scikit-image useful: =) In [5]: im3d = io.concatenate_images(coll) In [6]: im3d.shape Out[6]: (21, 512, 1536) -------------- next part -------------- An HTML attachment was scrubbed... URL: From aaaagrawal at gmail.com Mon Apr 29 01:14:41 2013 From: aaaagrawal at gmail.com (Ankit Agrawal) Date: Mon, 29 Apr 2013 10:44:41 +0530 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: Hi Juan, I think this is all a bit off-topic anyway. The whole idea of making the > algorithms nD is to apply them to 3D volumetric data, not 2D+t. That they > *sometimes* apply to 2D+t is merely a happy accident. > > Thanks again. I somehow thought that the nD algorithms that are going to be implemented in scikit should also generalize for 2D x t and hence my previous concern. Dealing just with volumetric data makes the whole picture clear. > But scikit-image is part of scikits, an "index of add-on toolkits that > complement SciPy, a library of *scientific* computing routines." > (emphasis mine). One of the goals is (/should be; @stefanv can weigh in) > the analysis of scientific images, many of which are 3D volumetric. And > many such algorithms can be applied as-is whether the data is 2D or 3D. > This includes filters, edge detectors, segmentation methods, convex hulls, > and more. > Yes, all the functions in scipy.ndimage can be genralized for volumetric 3D. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Sun Apr 28 21:43:42 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Mon, 29 Apr 2013 11:43:42 +1000 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: On Mon, Apr 29, 2013 at 11:06 AM, Ankit Agrawal wrote: > @Josh and Juan, > Thanks for your explanation. > > I may be wrong but I feel that there would be a limited number of > algorithms that are nD aware but will scale down nicely if provided with a > 2D image. For instance, if we have 3D data of the type (m x n x p), many > functions and algorithms involving spatial components for eg: gradient > based edge detectors won't be applicable since our 3rd dimension represents > a series of images, we can't have something like a gradient in that > dimension. > @Ankit, actually, edge detectors generalise quite nicely to nD, e.g.: http://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.filters.gaussian_gradient_magnitude.html Many other examples of nD algorithms: http://docs.scipy.org/doc/scipy/reference/ndimage.html Instead, if our data is 3D volumetric image, a great percentage of > Computer Vision algorithms won't be of any use since they rely on making > sense 3D world from 2D data. I would love to hear any comments on this > point. Thanks. > Photographs are rarely 3D, but various kinds of microscopy produce truly 3D images, not a sequence of unrelated images. If you give specific algorithms, we might be better able to point out how to generalise to 3D, but the gist is that most algorithms *do* generalise. It is the implementations that are 2D, not the algorithms. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Sun Apr 28 22:19:49 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Mon, 29 Apr 2013 12:19:49 +1000 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: In Marianne's case, there is a 3D volumetric image *in addition to* a time axis. Furthermore, if the time resolution in t is sufficient, many nD algorithms can be used, along t as well (with suitable parameters e.g. sigma for gaussian gradient magnitude). For an example, see: Andres, B., Kroeger, T., Briggman, K. L., Denk, W., Korogod, N., Knott, G., Koethe, U., and Hamprecht, F. A. (2012). Globally optimal closed-surface segmentation for connectomics. ECCV, 778?791. where they use a 3D segmentation method to do tracking in 2D+t video. On Mon, Apr 29, 2013 at 12:04 PM, Ankit Agrawal wrote: > > > On Mon, Apr 29, 2013 at 7:13 AM, Juan Nunez-Iglesias wrote: > >> On Mon, Apr 29, 2013 at 11:06 AM, Ankit Agrawal wrote: >> >>> @Josh and Juan, >>> Thanks for your explanation. >>> >>> I may be wrong but I feel that there would be a limited number of >>> algorithms that are nD aware but will scale down nicely if provided with a >>> 2D image. For instance, if we have 3D data of the type (m x n x p), many >>> functions and algorithms involving spatial components for eg: gradient >>> based edge detectors won't be applicable since our 3rd dimension represents >>> a series of images, we can't have something like a gradient in that >>> dimension. >>> >> >> @Ankit, actually, edge detectors generalise quite nicely to nD, e.g.: >> >> http://docs.scipy.org/doc/scipy/reference/generated/scipy.ndimage.filters.gaussian_gradient_magnitude.html >> > > Yes, edge detectors, filters and interpolating function generalize to nD > quite easily, but my point was something else which slipped through because > of my ambiguous explanation. The edge detectors will be good if the the > data is volumetric in nature. On the contrary, if the data is 3D(series of > images) where the dimension is not the z co-ordinate but a time instance, > like in Marianne's case, gradient along the first two dimensions would be > w.r.t space, while gradient along the third dimension would be w.r.t > time(like the Optical Flow algorithmin Computer Vision), which according to me, are fundamentally different in > true sense. > > >> Many other examples of nD algorithms: >> http://docs.scipy.org/doc/scipy/reference/ndimage.html >> >> Instead, if our data is 3D volumetric image, a great percentage of >>> Computer Vision algorithms won't be of any use since they rely on making >>> sense 3D world from 2D data. I would love to hear any comments on this >>> point. Thanks. >>> >> >> Photographs are rarely 3D, but various kinds of microscopy produce truly >> 3D images, not a sequence of unrelated images. If you give specific >> algorithms, we might be better able to point out how to generalise to 3D, >> but the gist is that most algorithms *do* generalise. It is the >> implementations that are 2D, not the algorithms. >> >> > Regards, > Ankit Agrawal, > Communication and Signal Processing, > IIT Bombay. > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Mon Apr 29 01:04:58 2013 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Mon, 29 Apr 2013 15:04:58 +1000 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: Hi again Ankit, I think this is all a bit off-topic anyway. The whole idea of making the algorithms nD is to apply them to 3D volumetric data, not 2D+t. That they * sometimes* apply to 2D+t is merely a happy accident. But scikit-image is part of scikits, an "index of add-on toolkits that complement SciPy, a library of *scientific* computing routines." (emphasis mine). One of the goals is (/should be; @stefanv can weigh in) the analysis of scientific images, many of which are 3D volumetric. And many such algorithms can be applied as-is whether the data is 2D or 3D. This includes filters, edge detectors, segmentation methods, convex hulls, and more. On Mon, Apr 29, 2013 at 1:05 PM, Ankit Agrawal wrote: > > > On Mon, Apr 29, 2013 at 7:49 AM, Juan Nunez-Iglesias wrote: > >> In Marianne's case, there is a 3D volumetric image *in addition to* a >> time axis. >> >> Furthermore, if the time resolution in t is sufficient, many nD >> algorithms can be used, along t as well (with suitable parameters e.g. >> sigma for gaussian gradient magnitude). For an example, see: >> >> Andres, B., Kroeger, T., Briggman, K. L., Denk, W., Korogod, N., Knott, >> G., Koethe, U., and Hamprecht, F. A. (2012). Globally optimal >> closed-surface segmentation for connectomics. ECCV, 778?791. >> >> where they use a 3D segmentation method to do tracking in 2D+t video. >> > > @Juan, this was an interesting read. I can feel why the 3D volumetric > algorithm fits 2D x t (video), because the task involved is segmentation > based tracking. However, I am still not fully convinced(would like to know > more such examples if any) and feel that most nD algorithms would work > differently on 2D x t and 3D. Thanks. > > Regards, > Ankit Agrawal, > Communication and Signal Processing, > IIT Bombay. > > -- > You received this message because you are subscribed to the Google Groups > "scikit-image" group. > To unsubscribe from this group and stop receiving emails from it, send an > email to scikit-image+unsubscribe at googlegroups.com. > For more options, visit https://groups.google.com/groups/opt_out. > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Mon Apr 29 09:09:21 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Mon, 29 Apr 2013 15:09:21 +0200 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: On Mon, Apr 29, 2013 at 7:04 AM, Juan Nunez-Iglesias wrote: > But scikit-image is part of scikits, an "index of add-on toolkits that > complement SciPy, a library of scientific computing routines." (emphasis > mine). One of the goals is (/should be; @stefanv can weigh in) the analysis > of scientific images, many of which are 3D volumetric. And many such > algorithms can be applied as-is whether the data is 2D or 3D. This includes > filters, edge detectors, segmentation methods, convex hulls, and more. Volumetric image processing is definitely within scope of the scikit. The reason that most of the implementations up to this point were 2-D is simply a lack of time and hands. Luckily, that seems to be changing, so we may very well have the luxury of tackling this problem head-on. St?fan From silvertrumpet999 at gmail.com Mon Apr 29 20:31:15 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Mon, 29 Apr 2013 17:31:15 -0700 (PDT) Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: Sorry, it's been a busy couple of days! You are generally correct in your reservations of 2D+t vs. true 3D, and it comes back to the fact that we directly use naked NumPy arrays which carry no metadata. The discussion in PR #532 is relevant, for anyone that isn't seeing both. Handling these cases requires additional information, inferred from files or direct from the user in some fashion. As I noted in the PR discussion, this can be accomplished by wrapping the array into a container which also carries metadata, or via a kwarg indicating the behavior of the final channel. My vote is for the latter. On Sunday, April 28, 2013 10:05:40 PM UTC-5, Ankit Agrawal wrote: > > > > On Mon, Apr 29, 2013 at 7:49 AM, Juan Nunez-Iglesias > > wrote: > >> In Marianne's case, there is a 3D volumetric image *in addition to* a >> time axis. >> >> Furthermore, if the time resolution in t is sufficient, many nD >> algorithms can be used, along t as well (with suitable parameters e.g. >> sigma for gaussian gradient magnitude). For an example, see: >> >> Andres, B., Kroeger, T., Briggman, K. L., Denk, W., Korogod, N., Knott, >> G., Koethe, U., and Hamprecht, F. A. (2012). Globally optimal >> closed-surface segmentation for connectomics. ECCV, 778?791. >> >> where they use a 3D segmentation method to do tracking in 2D+t video. >> > > @Juan, this was an interesting read. I can feel why the 3D volumetric > algorithm fits 2D x t (video), because the task involved is segmentation > based tracking. However, I am still not fully convinced(would like to know > more such examples if any) and feel that most nD algorithms would work > differently on 2D x t and 3D. Thanks. > > Regards, > Ankit Agrawal, > Communication and Signal Processing, > IIT Bombay. > -------------- next part -------------- An HTML attachment was scrubbed... URL: From silvertrumpet999 at gmail.com Mon Apr 29 21:47:18 2013 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Mon, 29 Apr 2013 18:47:18 -0700 (PDT) Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: <65a84c9d-2d9e-4939-90dd-4deba6c65e1d@googlegroups.com> Volumetric 3D is rare to some, I'm sure ;) but there's a large audience available for medical image processing that needs 3D. Nearly everything I do involves 3D volumetric arrays. Confocal microscopy can generate true 3D multispectral data in the biological sciences. The field of neurology may be poised to have a huge need for true 3D (multispectral) processing in the near future as well! If you haven't seen this development out of Stanford, it's worth checking out: http://med.stanford.edu/ism/2013/april/clarity.html So, wherever possible, I'll be looking to add 3D implementations. I feel this is a "build it and they will come" sort of situation. On Monday, April 29, 2013 12:16:29 PM UTC-5, Johannes Sch?nberger wrote: > > > Volumetric image processing is definitely within scope of the scikit. > > The reason that most of the implementations up to this point were 2-D > > is simply a lack of time and hands. Luckily, that seems to be > > changing, so we may very well have the luxury of tackling this problem > > head-on. > > I also think that the majority of use cases is based on 2-D data (plus > channel data) and volumentric data is a specific and rare use case. > > I'm also dealing with lots of nD data (3-D, 4-D,?), nevertheless they are > mostly still 2-D data. E.g. > - SAR stacks (NxMxD) > - Covariance matrix images (NxMxDxD) > - Hyperspectral remote sensing images (NxMxD) > - Tomographic SAR (NxMxJxD) > - etc. > where D is often > 200. -------------- next part -------------- An HTML attachment was scrubbed... URL: From jschoenberger at demuc.de Mon Apr 29 13:16:29 2013 From: jschoenberger at demuc.de (=?windows-1252?Q?Johannes_Sch=F6nberger?=) Date: Mon, 29 Apr 2013 19:16:29 +0200 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> Message-ID: > Volumetric image processing is definitely within scope of the scikit. > The reason that most of the implementations up to this point were 2-D > is simply a lack of time and hands. Luckily, that seems to be > changing, so we may very well have the luxury of tackling this problem > head-on. I also think that the majority of use cases is based on 2-D data (plus channel data) and volumentric data is a specific and rare use case. I'm also dealing with lots of nD data (3-D, 4-D,?), nevertheless they are mostly still 2-D data. E.g. - SAR stacks (NxMxD) - Covariance matrix images (NxMxDxD) - Hyperspectral remote sensing images (NxMxD) - Tomographic SAR (NxMxJxD) - etc. where D is often > 200. From f-morozov at ya.ru Tue Apr 30 02:26:26 2013 From: f-morozov at ya.ru (Fedor Morozov) Date: Mon, 29 Apr 2013 23:26:26 -0700 (PDT) Subject: GSoC: Photomontage and Panoram Stitching In-Reply-To: References: Message-ID: <6f986a0c-06a6-4d39-9e2b-f7cc67ce40df@googlegroups.com> Hi. Thank you for replying so soon. >> Perhaps we could start with something simple Sure, that is a good prototype, and, I think, it can be implemented in the following couple of days. Than I should choose some subset of possible improvements and turn it into a full-fledged project proposal with timeline and milestones to submit to Google. >> Eventually, I am also interested in non-rigid registration, registration of voxel data, etc. Judging by the adjastent thread, 3d algorithms are highly desirable for scikit-image, so they should be at least kept in mind when designing the project. As for the state of the art topics in general, it would be great to continue GSoC as a research project during the term. ???????, 30 ?????? 2013 ?., 4:33:48 UTC+4 ???????????? Stefan van der Walt ???????: > > Hi Fedor > > On Tue, Apr 30, 2013 at 12:54 AM, Fedor Morozov > > wrote: > > My name is Fedor Morozov and I am a 2nd year computer science student in > > Moscow State University. > > Thanks for getting in touch! > > > What do you think about such project? I guess, it's rather ambitious, > yet it > > is diverse, interesting > > and will keep me from slacking. If some of the mentioned ideas get > separate > > projects, they can be > > adopted during summer. > > Nathan Faggian has done some work towards registration in pyimreg, and > what we discovered is that it is fairly hard to come up with a good > API. Perhaps you can have a look at that code and give us your > feedback? Registration would be a very useful feature to have in > skimage. > > Perhaps we could start with something simple: compare Harris features > with a robust matching algorithm such as RANSAC to find alignment with > a simple error measure (there is a PR for RANSAC by @ahojnnes). Once > aligned, perform Laplacian or other blending. If that works, one can > focus on adding other feature detectors, multi-resolution matching, > different error measures, optimization based approaches, etc. There > may be some code in https://github.com/stefanv/supreme that we can > re-use, or we can simply start from scratch. > > Eventually, I am also interested in non-rigid registration, > registration of voxel data, etc. > > Registration / blending is an immense topic that can very easily cover > an entire GSoC. > > St?fan > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefan at sun.ac.za Mon Apr 29 20:33:48 2013 From: stefan at sun.ac.za (=?ISO-8859-1?Q?St=E9fan_van_der_Walt?=) Date: Tue, 30 Apr 2013 02:33:48 +0200 Subject: GSoC: Photomontage and Panoram Stitching In-Reply-To: References: Message-ID: Hi Fedor On Tue, Apr 30, 2013 at 12:54 AM, Fedor Morozov wrote: > My name is Fedor Morozov and I am a 2nd year computer science student in > Moscow State University. Thanks for getting in touch! > What do you think about such project? I guess, it's rather ambitious, yet it > is diverse, interesting > and will keep me from slacking. If some of the mentioned ideas get separate > projects, they can be > adopted during summer. Nathan Faggian has done some work towards registration in pyimreg, and what we discovered is that it is fairly hard to come up with a good API. Perhaps you can have a look at that code and give us your feedback? Registration would be a very useful feature to have in skimage. Perhaps we could start with something simple: compare Harris features with a robust matching algorithm such as RANSAC to find alignment with a simple error measure (there is a PR for RANSAC by @ahojnnes). Once aligned, perform Laplacian or other blending. If that works, one can focus on adding other feature detectors, multi-resolution matching, different error measures, optimization based approaches, etc. There may be some code in https://github.com/stefanv/supreme that we can re-use, or we can simply start from scratch. Eventually, I am also interested in non-rigid registration, registration of voxel data, etc. Registration / blending is an immense topic that can very easily cover an entire GSoC. St?fan From jschoenberger at demuc.de Tue Apr 30 01:52:34 2013 From: jschoenberger at demuc.de (=?Windows-1252?Q?Johannes_Sch=F6nberger?=) Date: Tue, 30 Apr 2013 05:52:34 +0000 Subject: Making algorithms at least 3D, preferably nD In-Reply-To: <65a84c9d-2d9e-4939-90dd-4deba6c65e1d@googlegroups.com> References: <506e4b98-5255-4e79-a788-212c283f685d@googlegroups.com> <517A28C2.4050606@gmail.com> <517B139F.1010006@gemini.edu> <707e45a9-2493-4ab3-9b0f-34fbf847eeae@googlegroups.com> ,<65a84c9d-2d9e-4939-90dd-4deba6c65e1d@googlegroups.com> Message-ID: <49D58DEB-2B95-4507-A176-AD8FBE1DDC09@demuc.de> Josh, thanks for the link. I'm not in this field but it looks quite interesting. Johannes Sch?nberger Am 30.04.2013 um 03:47 schrieb "Josh Warner" >: Volumetric 3D is rare to some, I'm sure ;) but there's a large audience available for medical image processing that needs 3D. Nearly everything I do involves 3D volumetric arrays. Confocal microscopy can generate true 3D multispectral data in the biological sciences. The field of neurology may be poised to have a huge need for true 3D (multispectral) processing in the near future as well! If you haven't seen this development out of Stanford, it's worth checking out: http://med.stanford.edu/ism/2013/april/clarity.html So, wherever possible, I'll be looking to add 3D implementations. I feel this is a "build it and they will come" sort of situation. On Monday, April 29, 2013 12:16:29 PM UTC-5, Johannes Sch?nberger wrote: > Volumetric image processing is definitely within scope of the scikit. > The reason that most of the implementations up to this point were 2-D > is simply a lack of time and hands. Luckily, that seems to be > changing, so we may very well have the luxury of tackling this problem > head-on. I also think that the majority of use cases is based on 2-D data (plus channel data) and volumentric data is a specific and rare use case. I'm also dealing with lots of nD data (3-D, 4-D,?), nevertheless they are mostly still 2-D data. E.g. - SAR stacks (NxMxD) - Covariance matrix images (NxMxDxD) - Hyperspectral remote sensing images (NxMxD) - Tomographic SAR (NxMxJxD) - etc. where D is often > 200. -- You received this message because you are subscribed to the Google Groups "scikit-image" group. To unsubscribe from this group and stop receiving emails from it, send an email to scikit-image+unsubscribe at googlegroups.com. For more options, visit https://groups.google.com/groups/opt_out. -------------- next part -------------- An HTML attachment was scrubbed... URL: From f-morozov at ya.ru Tue Apr 30 19:04:11 2013 From: f-morozov at ya.ru (Fedor Morozov) Date: Tue, 30 Apr 2013 16:04:11 -0700 (PDT) Subject: GSoC: Photomontage and Panoram Stitching In-Reply-To: References: Message-ID: Hi. I have just made a pull request with wu's circle generation (one of the "Requested features"). It has nothing to do with the proposed project, but now I can build skimage and understand how to commit my changes. Circle images are attached to this post. ???????, 30 ?????? 2013 ?., 4:33:48 UTC+4 ???????????? Stefan van der Walt ???????: > > Hi Fedor > > On Tue, Apr 30, 2013 at 12:54 AM, Fedor Morozov > > wrote: > > My name is Fedor Morozov and I am a 2nd year computer science student in > > Moscow State University. > > Thanks for getting in touch! > > > What do you think about such project? I guess, it's rather ambitious, > yet it > > is diverse, interesting > > and will keep me from slacking. If some of the mentioned ideas get > separate > > projects, they can be > > adopted during summer. > > Nathan Faggian has done some work towards registration in pyimreg, and > what we discovered is that it is fairly hard to come up with a good > API. Perhaps you can have a look at that code and give us your > feedback? Registration would be a very useful feature to have in > skimage. > > Perhaps we could start with something simple: compare Harris features > with a robust matching algorithm such as RANSAC to find alignment with > a simple error measure (there is a PR for RANSAC by @ahojnnes). Once > aligned, perform Laplacian or other blending. If that works, one can > focus on adding other feature detectors, multi-resolution matching, > different error measures, optimization based approaches, etc. There > may be some code in https://github.com/stefanv/supreme that we can > re-use, or we can simply start from scratch. > > Eventually, I am also interested in non-rigid registration, > registration of voxel data, etc. > > Registration / blending is an immense topic that can very easily cover > an entire GSoC. > > St?fan > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: andres.jpg Type: image/jpeg Size: 12011 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: wu.jpg Type: image/jpeg Size: 10555 bytes Desc: not available URL: