From srinivasv147 at gmail.com Wed Nov 1 10:07:56 2017 From: srinivasv147 at gmail.com (Srinivas V) Date: Wed, 1 Nov 2017 19:37:56 +0530 Subject: [scikit-image] New Contributor Message-ID: Hi, I am Srinivas I wish to contribute to this project. I am interested in implementing the BM3D denoising. Can someone please guide me through the process of getting started with the existing code base. Regards, V Srinivas -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Wed Nov 1 10:18:02 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Thu, 2 Nov 2017 01:18:02 +1100 Subject: [scikit-image] New Contributor In-Reply-To: References: Message-ID: Hi Srinivas, Thanks for reaching out on the mailing list. It?s the right first step. =) As a second step, please read our contributing document: http://scikit-image.org/docs/0.13.x/contribute.html Can you send us a reference to the algorithm you?re proposing? I have never heard of it? Thanks, Juan. On 2 Nov 2017, 1:08 AM +1100, Srinivas V , wrote: > Hi, > I am Srinivas I wish to contribute to this project. I am interested in implementing the BM3D denoising. Can someone please guide me through the process of getting started with the existing code base. > Regards, > V Srinivas > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: From srinivasv147 at gmail.com Wed Nov 1 12:25:34 2017 From: srinivasv147 at gmail.com (Srinivas V) Date: Wed, 1 Nov 2017 21:55:34 +0530 Subject: [scikit-image] BM3D denoising Message-ID: On Wed, Nov 1, 2017 at 9:30 PM, wrote: > Send scikit-image mailing list submissions to > scikit-image at python.org > > To subscribe or unsubscribe via the World Wide Web, visit > https://mail.python.org/mailman/listinfo/scikit-image > or, via email, send a message with subject or body 'help' to > scikit-image-request at python.org > > You can reach the person managing the list at > scikit-image-owner at python.org > > When replying, please edit your Subject line so it is more specific > than "Re: Contents of scikit-image digest..." > > > Today's Topics: > > 1. New Contributor (Srinivas V) > 2. Re: New Contributor (Juan Nunez-Iglesias) > > > ---------------------------------------------------------------------- > > Message: 1 > Date: Wed, 1 Nov 2017 19:37:56 +0530 > From: Srinivas V > To: scikit-image at python.org > Subject: [scikit-image] New Contributor > Message-ID: > mail.gmail.com> > Content-Type: text/plain; charset="utf-8" > > Hi, > I am Srinivas I wish to contribute to this project. I am interested in > implementing the BM3D denoising. Can someone please guide me through the > process of getting started with the existing code base. > Regards, > V Srinivas > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: attachments/20171101/bebcd58c/attachment-0001.html> > > ------------------------------ > > Message: 2 > Date: Thu, 2 Nov 2017 01:18:02 +1100 > From: Juan Nunez-Iglesias > To: > "=?utf-8?Q?Mailing_list_for_scikit-image_(http=3A//scikit- > image.org)?=" > > Subject: Re: [scikit-image] New Contributor > Message-ID: > Content-Type: text/plain; charset="utf-8" > > Hi Srinivas, > > Thanks for reaching out on the mailing list. It?s the right first step. =) > > As a second step, please read our contributing document: > http://scikit-image.org/docs/0.13.x/contribute.html > > Can you send us a reference to the algorithm you?re proposing? I have > never heard of it? > > Thanks, > > Juan. > > On 2 Nov 2017, 1:08 AM +1100, Srinivas V , wrote: > > Hi, > > I am Srinivas I wish to contribute to this project. I am interested in > implementing the BM3D denoising. Can someone please guide me through the > process of getting started with the existing code base. > > Regards, > > V Srinivas > > _______________________________________________ > > scikit-image mailing list > > scikit-image at python.org > > https://mail.python.org/mailman/listinfo/scikit-image > -------------- next part -------------- > An HTML attachment was scrubbed... > URL: attachments/20171102/11b21b74/attachment-0001.html> > > ------------------------------ > > Subject: Digest Footer > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > > ------------------------------ > > End of scikit-image Digest, Vol 14, Issue 1 > ******************************************* > Hi, Actually BM3D denoising is one of the requested features on the link( https://github.com/scikit-image/scikit-image/wiki/Requested-features). The links to references to the algorithm is ( http://www.ipol.im/pub/art/2012/l-bm3d/). Also I wanted to know if the code I would write would go under the transform folder or some other. Regards, V Srinivas. -------------- next part -------------- An HTML attachment was scrubbed... URL: From grlee77 at gmail.com Wed Nov 1 13:10:15 2017 From: grlee77 at gmail.com (Gregory Lee) Date: Wed, 1 Nov 2017 13:10:15 -0400 Subject: [scikit-image] BM3D denoising In-Reply-To: References: Message-ID: Hi Srinivas, I am familiar with the BM3D algorithm and think it would be a good fit. As far as location, the code would fit best under the restoration subfolder where there are already routines for 2D and 3D non-local means. It is not likely to be trivial to implement because it will likely need some C/Cython code to have reasonable performance, but some code for neighborhood comparisons could be reused from the existing non-local means implementation. Please see the comments below on licensing terms (existing implementations I know of are not compatibly licensed so this means it would be need to be reimplemented from a description in the journal articles). Juan: Similar to non-local means, BM3D looks at the similarity between all patches in a local neighborhood. However rather than simply computing weights based on the patch difference, similar 2D patches are grouped into a 3D stack of patches (thus the 3D in BM3D). This stack of similar patches is transformed with a sparsifying transform, the coefficients are thresholded, the transforms is inverted and then finally there is aggregation of the denoised patches. This leads to substantial improvement over non-local means. The IPOL journal has an open source 2D implementation in C++, but it is under an incompatible LGPLv3 license so it could not be used as the basis for an implementation in scikit-image. http://www.ipol.im/pub/art/2012/l-bm3d/ If you just need something for immediate use, there is also a Cython-based wrapper for the IPOL BM3D code here: https://github.com/ericmjonas/pybm3d There is also a reference implementation from the original authors in Matlab + compiled MEX (no C/C++ source code to the MEX files is provided) http://www.cs.tut.fi/~foi/GCF-BM3D/ The IPOL paper provides a detailed overview that could be used as the basis for making a clean implementation. - Greg On Wed, Nov 1, 2017 at 12:25 PM, Srinivas V wrote: > > > On Wed, Nov 1, 2017 at 9:30 PM, wrote: > >> Send scikit-image mailing list submissions to >> scikit-image at python.org >> >> To subscribe or unsubscribe via the World Wide Web, visit >> https://mail.python.org/mailman/listinfo/scikit-image >> or, via email, send a message with subject or body 'help' to >> scikit-image-request at python.org >> >> You can reach the person managing the list at >> scikit-image-owner at python.org >> >> When replying, please edit your Subject line so it is more specific >> than "Re: Contents of scikit-image digest..." >> >> >> Today's Topics: >> >> 1. New Contributor (Srinivas V) >> 2. Re: New Contributor (Juan Nunez-Iglesias) >> >> >> ---------------------------------------------------------------------- >> >> Message: 1 >> Date: Wed, 1 Nov 2017 19:37:56 +0530 >> From: Srinivas V >> To: scikit-image at python.org >> Subject: [scikit-image] New Contributor >> Message-ID: >> > gmail.com> >> Content-Type: text/plain; charset="utf-8" >> >> Hi, >> I am Srinivas I wish to contribute to this project. I am interested in >> implementing the BM3D denoising. Can someone please guide me through the >> process of getting started with the existing code base. >> Regards, >> V Srinivas >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: > 20171101/bebcd58c/attachment-0001.html> >> >> ------------------------------ >> >> Message: 2 >> Date: Thu, 2 Nov 2017 01:18:02 +1100 >> From: Juan Nunez-Iglesias >> To: >> "=?utf-8?Q?Mailing_list_for_scikit-image_(http=3A//scikit-im >> age.org)?=" >> >> Subject: Re: [scikit-image] New Contributor >> Message-ID: >> Content-Type: text/plain; charset="utf-8" >> >> Hi Srinivas, >> >> Thanks for reaching out on the mailing list. It?s the right first step. =) >> >> As a second step, please read our contributing document: >> http://scikit-image.org/docs/0.13.x/contribute.html >> >> Can you send us a reference to the algorithm you?re proposing? I have >> never heard of it? >> >> Thanks, >> >> Juan. >> >> On 2 Nov 2017, 1:08 AM +1100, Srinivas V , wrote: >> > Hi, >> > I am Srinivas I wish to contribute to this project. I am interested in >> implementing the BM3D denoising. Can someone please guide me through the >> process of getting started with the existing code base. >> > Regards, >> > V Srinivas >> > _______________________________________________ >> > scikit-image mailing list >> > scikit-image at python.org >> > https://mail.python.org/mailman/listinfo/scikit-image >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: > 20171102/11b21b74/attachment-0001.html> >> >> ------------------------------ >> >> Subject: Digest Footer >> >> _______________________________________________ >> scikit-image mailing list >> scikit-image at python.org >> https://mail.python.org/mailman/listinfo/scikit-image >> >> >> ------------------------------ >> >> End of scikit-image Digest, Vol 14, Issue 1 >> ******************************************* >> > Hi, > Actually BM3D denoising is one of the requested features on the link( > https://github.com/scikit-image/scikit-image/wiki/Requested-features). > The links to references to the algorithm is (http://www.ipol.im/pub/art/ > 2012/l-bm3d/). Also I wanted to know if the code I would write would go > under the transform folder or some other. > Regards, > V Srinivas. > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefanv at berkeley.edu Wed Nov 1 15:34:50 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Wed, 01 Nov 2017 12:34:50 -0700 Subject: [scikit-image] BM3D denoising In-Reply-To: References: Message-ID: <1509564890.3409719.1158475200.020BF09E@webmail.messagingengine.com> On Wed, Nov 1, 2017, at 10:10, Gregory Lee wrote: > Juan: Similar to non-local means, BM3D looks at the similarity > between all patches in a local neighborhood. However rather than > simply computing weights based on the patch difference, similar 2D > patches are grouped into a 3D stack of patches (thus the 3D in BM3D). > This stack of similar patches is transformed with a sparsifying > transform, the coefficients are thresholded, the transforms is > inverted and then finally there is aggregation of the denoised > patches. This leads to substantial improvement over non-local means. I chatted to the author of SPORCO at SciPy---it looks like a great package, and may be useful here: http://bwohlberg.github.io/sporco/ St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Wed Nov 1 19:32:02 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Thu, 2 Nov 2017 10:32:02 +1100 Subject: [scikit-image] BM3D denoising In-Reply-To: <1509564890.3409719.1158475200.020BF09E@webmail.messagingengine.com> References: <1509564890.3409719.1158475200.020BF09E@webmail.messagingengine.com> Message-ID: Thanks for the description, Greg! Very informative. I would hope that we could do BM(n+1)D in scikit-image? ;) St?fan, as an aside, I notice that SPORCO is BSD, but uses PyFFTW. ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefanv at berkeley.edu Wed Nov 1 21:14:41 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Wed, 01 Nov 2017 18:14:41 -0700 Subject: [scikit-image] BM3D denoising In-Reply-To: References: <1509564890.3409719.1158475200.020BF09E@webmail.messagingengine.com> Message-ID: <1509585281.3504677.1158779832.5C345861@webmail.messagingengine.com> On Wed, Nov 1, 2017, at 16:32, Juan Nunez-Iglesias wrote: > St?fan, as an aside, I notice that SPORCO is BSD, but uses PyFFTW. ? Yes, I'm aware. If we ever do rely on this code, we'll have to switch that out. St?fan From jni.soma at gmail.com Wed Nov 1 21:22:38 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Thu, 2 Nov 2017 12:22:38 +1100 Subject: [scikit-image] linking to GPL code from BSD code (was: BM3D) Message-ID: On Thu, Nov 2, 2017 at 12:14 PM, Stefan van der Walt wrote: > On Wed, Nov 1, 2017, at 16:32, Juan Nunez-Iglesias wrote: > > St?fan, as an aside, I notice that SPORCO is BSD, but uses PyFFTW. ? > > Yes, I'm aware. If we ever do rely on this code, we'll have to switch > that out. > I'm not pointing it out to switch it out. Rather, I've heard from many GPL proponents that linking/importing GPL in BSD code is fine, and saying the opposite is simply FUD. So I'm wondering whether SPORCO is unwittingly illegal or simply bearing this out. Know of any cases where this has been specifically tested? -------------- next part -------------- An HTML attachment was scrubbed... URL: From njs at pobox.com Wed Nov 1 21:43:32 2017 From: njs at pobox.com (Nathaniel Smith) Date: Wed, 1 Nov 2017 18:43:32 -0700 Subject: [scikit-image] linking to GPL code from BSD code (was: BM3D) In-Reply-To: References: Message-ID: On Wed, Nov 1, 2017 at 6:22 PM, Juan Nunez-Iglesias wrote: > On Thu, Nov 2, 2017 at 12:14 PM, Stefan van der Walt > wrote: >> >> On Wed, Nov 1, 2017, at 16:32, Juan Nunez-Iglesias wrote: >> > St?fan, as an aside, I notice that SPORCO is BSD, but uses PyFFTW. >> >> Yes, I'm aware. If we ever do rely on this code, we'll have to switch >> that out. > > > I'm not pointing it out to switch it out. Rather, I've heard from many GPL > proponents that linking/importing GPL in BSD code is fine, and saying the > opposite is simply FUD. So I'm wondering whether SPORCO is unwittingly > illegal or simply bearing this out. Know of any cases where this has been > specifically tested? You can combine GPL and BSD code, and it's certainly not illegal; it's just that you may have to treat the combined work as being under the GPL. -n -- Nathaniel J. Smith -- https://vorpus.org From stefanv at berkeley.edu Wed Nov 1 23:12:45 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Wed, 01 Nov 2017 20:12:45 -0700 Subject: [scikit-image] linking to GPL code from BSD code (was: BM3D) In-Reply-To: References: Message-ID: <1509592365.3615241.1158857184.1BB4229E@webmail.messagingengine.com> On Wed, Nov 1, 2017, at 18:43, Nathaniel Smith wrote: > > I'm not pointing it out to switch it out. Rather, I've heard from many GPL > > proponents that linking/importing GPL in BSD code is fine, and saying the > > opposite is simply FUD. So I'm wondering whether SPORCO is unwittingly > > illegal or simply bearing this out. Know of any cases where this has been > > specifically tested? > > You can combine GPL and BSD code, and it's certainly not illegal; it's > just that you may have to treat the combined work as being under the > GPL. And advertise it as such; whereas scikit-image explicitly labels itself as BSD. In a sense, not too dissimilar from packages released under BSD, but then implement patented algorithms. You have to make your users aware of what they're getting themselves into. St?fan From silvertrumpet999 at gmail.com Wed Nov 1 23:24:42 2017 From: silvertrumpet999 at gmail.com (Josh Warner) Date: Wed, 1 Nov 2017 20:24:42 -0700 Subject: [scikit-image] linking to GPL code from BSD code (was: BM3D) In-Reply-To: References: Message-ID: I'm not a lawyer, but I believe there is a longstanding misunderstanding on this matter and the FSF is in the wrong. The FSF, in the GPL FAQ, says that maintained dynamic linking, as exhibited in Python, infects any package that imports. However, to trigger this clause the 'linked' package must constitute a derivative work, which has a definite legal meaning. The FSF's justification in the case of static linking is relatively sound. However, legal rulings on the matter of dynamic linking, as in Python (*Galoob v. Nintendo*) disagree. For those interested, the actual ruling for *Galoob v. Nintendo*: https://law.justia.com/cases/federal/appellate-courts/F2/964/965/341457/ The relevant portion of the ruling, which stands today and was affirmed in *Micro Star v. FormGen Inc.*, states rather concretely ?A derivative work must incorporate a protected work in some concrete or > permanent "form."? > > Ergo, despite what the FSF states, *on the basis of current law dynamic linking - linking without creating a file in any way, simply asking another library to do something - does not constitute creation of a derivative work, and thus does not infringe the GPL.* Linking as a matter of current law involves actually combining the linked code with the code from the linking package into a concrete form, generally a file, which can then be executed. Thus, static linking infects, but dynamic linking does not. Again, *this isn't what the FSF says, but ultimately the GPL means what it actually says, not what the FSF wants it to. *Consider this the same way that the US Constitution exists separately from the Federalist papers and other writings of the founding fathers. Despite this being relatively clearly settled law, very few people call the FSF out on it, and fewer have the guts to act appropriately as permitted under the law. Most It's actually harming communities, though, and PyFFTW is a great example. If anyone can actually refute this, I'm all ears. On Wed, Nov 1, 2017 at 6:43 PM, Nathaniel Smith wrote: > On Wed, Nov 1, 2017 at 6:22 PM, Juan Nunez-Iglesias > wrote: > > On Thu, Nov 2, 2017 at 12:14 PM, Stefan van der Walt < > stefanv at berkeley.edu> > > wrote: > >> > >> On Wed, Nov 1, 2017, at 16:32, Juan Nunez-Iglesias wrote: > >> > St?fan, as an aside, I notice that SPORCO is BSD, but uses PyFFTW. > >> > >> Yes, I'm aware. If we ever do rely on this code, we'll have to switch > >> that out. > > > > > > I'm not pointing it out to switch it out. Rather, I've heard from many > GPL > > proponents that linking/importing GPL in BSD code is fine, and saying the > > opposite is simply FUD. So I'm wondering whether SPORCO is unwittingly > > illegal or simply bearing this out. Know of any cases where this has been > > specifically tested? > > You can combine GPL and BSD code, and it's certainly not illegal; it's > just that you may have to treat the combined work as being under the > GPL. > > -n > > -- > Nathaniel J. Smith -- https://vorpus.org > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > -------------- next part -------------- An HTML attachment was scrubbed... URL: From njs at pobox.com Thu Nov 2 03:26:56 2017 From: njs at pobox.com (Nathaniel Smith) Date: Thu, 2 Nov 2017 00:26:56 -0700 Subject: [scikit-image] linking to GPL code from BSD code (was: BM3D) In-Reply-To: References: Message-ID: On Wed, Nov 1, 2017 at 8:24 PM, Josh Warner wrote: > I'm not a lawyer, but I believe there is a longstanding misunderstanding on > this matter and the FSF is in the wrong. The FSF, in the GPL FAQ, says that > maintained dynamic linking, as exhibited in Python, infects any package that > imports. However, to trigger this clause the 'linked' package must > constitute a derivative work, which has a definite legal meaning. The FSF's > justification in the case of static linking is relatively sound. However, > legal rulings on the matter of dynamic linking, as in Python (Galoob v. > Nintendo) disagree. > > For those interested, the actual ruling for Galoob v. Nintendo: > https://law.justia.com/cases/federal/appellate-courts/F2/964/965/341457/ > > The relevant portion of the ruling, which stands today and was affirmed in > Micro Star v. FormGen Inc., states rather concretely > >> A derivative work must incorporate a protected work in some concrete or >> permanent "form." >> > > > Ergo, despite what the FSF states, on the basis of current law dynamic > linking - linking without creating a file in any way, simply asking another > library to do something - does not constitute creation of a derivative work, > and thus does not infringe the GPL. Linking as a matter of current law > involves actually combining the linked code with the code from the linking > package into a concrete form, generally a file, which can then be executed. > Thus, static linking infects, but dynamic linking does not. Again, this > isn't what the FSF says, but ultimately the GPL means what it actually says, > not what the FSF wants it to. Consider this the same way that the US > Constitution exists separately from the Federalist papers and other writings > of the founding fathers. > > Despite this being relatively clearly settled law, very few people call the > FSF out on it, and fewer have the guts to act appropriately as permitted > under the law. Most It's actually harming communities, though, and PyFFTW > is a great example. > > If anyone can actually refute this, I'm all ears. I'm not a lawyer either, but this strikes me as extraordinarily overconfident armchair lawyering. You can't take one sentence out of one ruling and base a whole legal analysis on it. In this case, I guess you're arguing that because dynamic linking only combines the works temporarily in memory at runtime, this isn't a "concrete or permanent form", just like the Game Genie only modified Nintendo games dynamically in memory, so no derivative work is created. But... this is refuting a straw man. Even the FSF doesn't think that you combining two works at runtime in the privacy of your home is a license violation; I've never even heard that argument. The usual argument for dynamic linking creating derivative works is that in order to write the program that calls PyFFTW or whatever, you had to incorporate various creative ideas encoded in the PyFFTW API into the structure of your program. A crude example would be that your program's text probably contains a bunch of function names that the PyFFTW developers invented, but it's more than just that -- look up the Abstraction-Filtration-Comparison test, and consider that if you write a book that's just like Harry Potter but with every word replaced by a synonym, or even a piece of fan-fic that uses the same characters but none of the same language, then those can still be derivative works of J. K. Rowling's texts. The FSF is definitely guilty of oversimplifying this, but it's probably best to think of their position as a simple bright-line rule of thumb, like... if you follow this rule you're definitely safe, and if you don't follow this rule... well, it's complicated and ultimately it might depend on what the jury had for lunch that day, so good luck. Or at least you should ask an actual lawyer :-) -n -- Nathaniel J. Smith -- https://vorpus.org From jni.soma at gmail.com Thu Nov 2 03:23:15 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Thu, 2 Nov 2017 18:23:15 +1100 Subject: [scikit-image] linking to GPL code from BSD code (was: BM3D) In-Reply-To: References: Message-ID: Thanks Josh. That was a very informative click-hole, and I now fully agree with your assessment that a Python import in a BSD package would not violate the GPL clause. I would caution two things: - If scikit-image required GPL-licensed code to function, then any downstream distribution would need to bundle both together, and might thus fall foul of GPL restrictions. Therefore I would argue that if we include GPL dependencies, we should make them optional. - If we were to vendor GPL code with scikit-image, I believe that would also violate the GPL if we did not license the resulting library as GPL. Having said that, if we stick to optional dependencies, e.g. on PyFFTW to speed up our FFT code if it is present, then I think we would be in the clear. And this is a very attractive proposition. Thanks, Juan. -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefanv at berkeley.edu Thu Nov 2 03:51:18 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Thu, 02 Nov 2017 00:51:18 -0700 Subject: [scikit-image] linking to GPL code from BSD code (was: BM3D) In-Reply-To: References: Message-ID: <1509609078.3704857.1159011984.2EED1E4A@webmail.messagingengine.com> On Thu, Nov 2, 2017, at 00:26, Nathaniel Smith wrote: > The FSF is definitely guilty of oversimplifying this, but it's > probably best to think of their position as a simple bright-line rule > of thumb, like... if you follow this rule you're definitely safe, and > if you don't follow this rule... well, it's complicated and ultimately > it might depend on what the jury had for lunch that day, so good luck. > Or at least you should ask an actual lawyer :-) Should we not also ask: if we got sued, would an argument along the lines of "yes, I know you've explicitly stated publicly that you meant *this* with your license, but we prefer interpreting it like *that*" fly? I have no idea how courts interpret these things, but if a reasonable expectation was set, I can't see how ignoring it would benefit us. Until there's absolute clarity, or a confirmation from the authors or the FSF that importing FFTW is OK, I wouldn't go there. St?fan From Victor.Poughon at cnes.fr Thu Nov 2 04:53:07 2017 From: Victor.Poughon at cnes.fr (Poughon Victor) Date: Thu, 2 Nov 2017 08:53:07 +0000 Subject: [scikit-image] Observed difference between skimage.filters.rank.mean and scipy.signal.convolve2d Message-ID: <3E55146A6A81B44A9CB69CAB65908CEA4CCE29D4@TW-MBX-P01.cnesnet.ad.cnes.fr> Hello, I looks like skimage.filters.rank.mean and scipy.signal.convolve2d don't output exactly the same images. When doing: image = data.coins() K = np.ones((11, 11)) rank_mean = rank.mean(image, selem=K) naive_convolve = convolve2d(image, K, mode="same") / K.sum() All output pixel are different, with an absolute difference varying randomly between 0 and 1. Of course there's also a massive difference at the border, but that's expected because convolve2d treats image boundaries differently. But even in the center of the image all pixels are different. I've made a test script with an illustrated output image, you can check it out in this gist: https://gist.github.com/vpoughon/b4afc76ce5dc681fda9d0550d41359d3 Am I doing something wrong? Thanks, Victor Poughon From jni.soma at gmail.com Fri Nov 3 09:56:37 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Sat, 4 Nov 2017 00:56:37 +1100 Subject: [scikit-image] Observed difference between skimage.filters.rank.mean and scipy.signal.convolve2d In-Reply-To: <3E55146A6A81B44A9CB69CAB65908CEA4CCE29D4@TW-MBX-P01.cnesnet.ad.cnes.fr> References: <3E55146A6A81B44A9CB69CAB65908CEA4CCE29D4@TW-MBX-P01.cnesnet.ad.cnes.fr> Message-ID: <52ecf618-41e9-4179-ad49-fefd998cfb97@Spark> Hi Victor, The biggest problem is that you?re getting bitten by datatypes. Please read the following document: http://scikit-image.org/docs/dev/user_guide/data_types.html Specifically, rank_mean is a uint8 image, so only contains integers between 0 and 255. naive_convolve is a float image, with continuous values between 0 and 255. Try this: In [17]: naive_convolve_float = naive_convolve / 255 In [18]: rank_mean_float = rank_mean / 255 In [19]: plt.imshow(np.abs(naive_convolve_float - rank_mean_float), cmap='magma') Out[19]: Result: There is a smaller difference also. Internally, filters.rank uses a fancy rolling histogram algorithm with integer data values. This means that the result of the rank_mean is only approximately accurate, essentially to within integer rounding (good enough for most real-world uses), while the convolve2d code gives you an exact value (to within floating point error). Hope this helps! Juan. On 2 Nov 2017, 7:54 PM +1100, Poughon Victor , wrote: > Hello, > > I looks like skimage.filters.rank.mean and scipy.signal.convolve2d don't output exactly the same images. When doing: > > image = data.coins() > K = np.ones((11, 11)) > > rank_mean = rank.mean(image, selem=K) > naive_convolve = convolve2d(image, K, mode="same") / K.sum() > > All output pixel are different, with an absolute difference varying randomly between 0 and 1. Of course there's also a massive difference at the border, but that's expected because convolve2d treats image boundaries differently. But even in the center of the image all pixels are different. I've made a test script with an illustrated output image, you can check it out in this gist: > > https://gist.github.com/vpoughon/b4afc76ce5dc681fda9d0550d41359d3 > > Am I doing something wrong? > > Thanks, > > Victor Poughon > > > > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screen Shot 2017-11-04 at 12.52.04 am.png Type: image/png Size: 54739 bytes Desc: not available URL: From Victor.Poughon at cnes.fr Fri Nov 3 12:11:45 2017 From: Victor.Poughon at cnes.fr (Poughon Victor) Date: Fri, 3 Nov 2017 16:11:45 +0000 Subject: [scikit-image] Observed difference between skimage.filters.rank.mean and scipy.signal.convolve2d In-Reply-To: <52ecf618-41e9-4179-ad49-fefd998cfb97@Spark> References: <3E55146A6A81B44A9CB69CAB65908CEA4CCE29D4@TW-MBX-P01.cnesnet.ad.cnes.fr>, <52ecf618-41e9-4179-ad49-fefd998cfb97@Spark> Message-ID: <3E55146A6A81B44A9CB69CAB65908CEA4CCE4195@TW-MBX-P01.cnesnet.ad.cnes.fr> Thank you, that makes sense. Your link does not explain why float images are restricted to [-1; 1] though? So with my data I can't just do: image = np.array(data.coins(), dtype=np.float) I guess skimage makes an assumption that images are within a fixed range? Best, Victor Poughon ________________________________ De : scikit-image [scikit-image-bounces+victor.poughon=cnes.fr at python.org] de la part de Juan Nunez-Iglesias [jni.soma at gmail.com] Envoy? : vendredi 3 novembre 2017 14:56 ? : Mailing list for scikit-image (http://scikit-image.org) Objet : Re: [scikit-image] Observed difference between skimage.filters.rank.mean and scipy.signal.convolve2d Hi Victor, The biggest problem is that you?re getting bitten by datatypes. Please read the following document: http://scikit-image.org/docs/dev/user_guide/data_types.html Specifically, rank_mean is a uint8 image, so only contains integers between 0 and 255. naive_convolve is a float image, with continuous values between 0 and 255. Try this: In [17]: naive_convolve_float = naive_convolve / 255 In [18]: rank_mean_float = rank_mean / 255 In [19]: plt.imshow(np.abs(naive_convolve_float - rank_mean_float), cmap='magma') Out[19]: Result: [cid:47EBAC9317A4470AA3DEF2C02C973463] There is a smaller difference also. Internally, filters.rank uses a fancy rolling histogram algorithm with integer data values. This means that the result of the rank_mean is only approximately accurate, essentially to within integer rounding (good enough for most real-world uses), while the convolve2d code gives you an exact value (to within floating point error). Hope this helps! Juan. On 2 Nov 2017, 7:54 PM +1100, Poughon Victor , wrote: Hello, I looks like skimage.filters.rank.mean and scipy.signal.convolve2d don't output exactly the same images. When doing: image = data.coins() K = np.ones((11, 11)) rank_mean = rank.mean(image, selem=K) naive_convolve = convolve2d(image, K, mode="same") / K.sum() All output pixel are different, with an absolute difference varying randomly between 0 and 1. Of course there's also a massive difference at the border, but that's expected because convolve2d treats image boundaries differently. But even in the center of the image all pixels are different. I've made a test script with an illustrated output image, you can check it out in this gist: https://gist.github.com/vpoughon/b4afc76ce5dc681fda9d0550d41359d3 Am I doing something wrong? Thanks, Victor Poughon _______________________________________________ scikit-image mailing list scikit-image at python.org https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Screen Shot 2017-11-04 at 12.52.04 am.png Type: image/png Size: 54739 bytes Desc: Screen Shot 2017-11-04 at 12.52.04 am.png URL: From jni.soma at gmail.com Sun Nov 5 02:37:45 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Sun, 5 Nov 2017 18:37:45 +1100 Subject: [scikit-image] linking to GPL code from BSD code (was: BM3D) In-Reply-To: <1509609078.3704857.1159011984.2EED1E4A@webmail.messagingengine.com> References: <1509609078.3704857.1159011984.2EED1E4A@webmail.messagingengine.com> Message-ID: <1fd57b02-43a8-47f0-9cf4-dd037303dcff@Spark> Ok here?s my suggested course of action, inspired in part by the movie The Life of David Gale: 1) Apply for a grant to fund steps 2-5. 2) Make a BSD-licensed library that imports fftw 2b) (optional) sell the library for $500/license. 3) Convince the makers of FFTW to sue. We would pay all legal costs from (1) 4) Put *most* of the funds from (1) towards the defense legal costs, though. 5) Win the lawsuit, thereby creating the required legal precedent and providing a massive boost to the BSD-licensed SciPy ecosystem. Any takers? ;) Juan. On 2 Nov 2017, 6:51 PM +1100, Stefan van der Walt , wrote: > On Thu, Nov 2, 2017, at 00:26, Nathaniel Smith wrote: > > The FSF is definitely guilty of oversimplifying this, but it's > > probably best to think of their position as a simple bright-line rule > > of thumb, like... if you follow this rule you're definitely safe, and > > if you don't follow this rule... well, it's complicated and ultimately > > it might depend on what the jury had for lunch that day, so good luck. > > Or at least you should ask an actual lawyer :-) > > Should we not also ask: if we got sued, would an argument along the > lines of "yes, I know you've explicitly stated publicly that you meant > *this* with your license, but we prefer interpreting it like *that*" > fly? I have no idea how courts interpret these things, but if a > reasonable expectation was set, I can't see how ignoring it would > benefit us. > > Until there's absolute clarity, or a confirmation from the authors or > the FSF that importing FFTW is OK, I wouldn't go there. > > St?fan > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: From grlee77 at gmail.com Mon Nov 6 16:23:10 2017 From: grlee77 at gmail.com (Gregory Lee) Date: Mon, 6 Nov 2017 16:23:10 -0500 Subject: [scikit-image] linking to GPL code from BSD code (was: BM3D) In-Reply-To: <1fd57b02-43a8-47f0-9cf4-dd037303dcff@Spark> References: <1509609078.3704857.1159011984.2EED1E4A@webmail.messagingengine.com> <1fd57b02-43a8-47f0-9cf4-dd037303dcff@Spark> Message-ID: Nothing to add on the legality of dynamically linking GPL code, but in the specific case of pyFFTW, please be aware that the conda-forge packages for this use STATIC linking of FFTW. Static linking was chosen in order to get around a potential error for certain transform types when combined with MKL-based numpy. See details at: https://github.com/pyFFTW/pyFFTW/issues/40 https://github.com/conda-forge/pyfftw-feedstock/blob/master/recipe/build.sh On Sun, Nov 5, 2017 at 2:37 AM, Juan Nunez-Iglesias wrote: > Ok here?s my suggested course of action, inspired in part by the movie The > Life of David Gale: > > 1) Apply for a grant to fund steps 2-5. > 2) Make a BSD-licensed library that imports fftw > 2b) (optional) sell the library for $500/license. > 3) Convince the makers of FFTW to sue. We would pay all legal costs from > (1) > 4) Put *most* of the funds from (1) towards the defense legal costs, > though. > 5) Win the lawsuit, thereby creating the required legal precedent and > providing a massive boost to the BSD-licensed SciPy ecosystem. > > Any takers? ;) > > Juan. > > On 2 Nov 2017, 6:51 PM +1100, Stefan van der Walt , > wrote: > > On Thu, Nov 2, 2017, at 00:26, Nathaniel Smith wrote: > > The FSF is definitely guilty of oversimplifying this, but it's > probably best to think of their position as a simple bright-line rule > of thumb, like... if you follow this rule you're definitely safe, and > if you don't follow this rule... well, it's complicated and ultimately > it might depend on what the jury had for lunch that day, so good luck. > Or at least you should ask an actual lawyer :-) > > > Should we not also ask: if we got sued, would an argument along the > lines of "yes, I know you've explicitly stated publicly that you meant > *this* with your license, but we prefer interpreting it like *that*" > fly? I have no idea how courts interpret these things, but if a > reasonable expectation was set, I can't see how ignoring it would > benefit us. > > Until there's absolute clarity, or a confirmation from the authors or > the FSF that importing FFTW is OK, I wouldn't go there. > > St?fan > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzungng89 at gmail.com Mon Nov 6 18:35:00 2017 From: dzungng89 at gmail.com (Dzung Nguyen) Date: Mon, 6 Nov 2017 17:35:00 -0600 Subject: [scikit-image] peak_local_max Message-ID: Hi all, I might take the issue #2758 for my 2nd PR to scikit-image. Could someone point out the potential problems? It does take >20 second on my computer. I looked at the code briefly, and it seems that the bottleneck is _get_high_intensity_peaks? Thanks, -- *Dzung Nguyen* PhD Student Electrical Engineering and Computer Science, Northwestern University, IL, USA http://users.eecs.northwestern.edu/~dtn419/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From imagepy at sina.com Mon Nov 6 22:12:16 2017 From: imagepy at sina.com (imagepy at sina.com) Date: Tue, 07 Nov 2017 11:12:16 +0800 Subject: [scikit-image] =?gbk?b?u9i4tKO6IHBlYWtfbG9jYWxfbWF4?= Message-ID: <20171107031216.3A4E82E010F@webmail.sinamail.sina.com.cn> Hi Dzung Nguyen: Does you want to mark every 'circle like' parts in the region? peak_local_max will result too many points, may be you should use h_maxima, unfortunatly, h_maximu is also slow. I had mailed befor. if you want to get the local_max without any other limit, you can use a scipy.ndimage.maximum_filter: # python code maximg = maximum_filter(img, 3) local_max = maximg == img And you may be intresting in my Project, ImagePy: https://github.com/Image-Py, Which is a imagej of python. or a photoshop with scikit-image core. you can do many things interactively. I use my spare time in the last year, Now it has did a A small effect. (In the imagepy.ipyalg.hydrology I had implemented a fast findmax function), two snapshots in the attachment. YXDragonBest ----- ???? ----- ????Dzung Nguyen ????scikit-image at python.org ???[scikit-image] peak_local_max ???2017?11?07? 07?37? Hi all, I might take the issue #2758 for my 2nd PR to scikit-image. Could someone point out the potential problems? It does take >20 second on my computer. I looked at the code briefly, and it seems that the bottleneck is _get_high_intensity_peaks? Thanks, --Dzung Nguyen PhD StudentElectrical Engineering and Computer Science,Northwestern University, IL, USA http://users.eecs.northwestern.edu/~dtn419/ _______________________________________________ scikit-image mailing list scikit-image at python.org https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: imagepy.jpg Type: image/jpeg Size: 236236 bytes Desc: not available URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: skeleton.jpg Type: image/jpeg Size: 257578 bytes Desc: not available URL: From stefanv at berkeley.edu Sat Nov 11 01:33:16 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Fri, 10 Nov 2017 22:33:16 -0800 Subject: [scikit-image] Python 3 transition Message-ID: <1510381996.2676265.1168926312.710807B8@webmail.messagingengine.com> Hi, everyone I'd like to make a 4th attempt to determine our transition pathway to Python 3. The last thread is here: https://mail.python.org/pipermail/scikit-image/2017-July/005304.html I would like to propose that the next version, 0.14 (scheduled for March of next year), becomes the last targeted for Python 2. It will also be an LTS (Long Time Support), which means we will backport serious fixes for a period of one year. 0.15 will then target Python >= 3.5 only (sorry, no f-strings yet!). Let me know your thoughts. St?fan From imagepy at sina.com Sat Nov 11 02:42:47 2017 From: imagepy at sina.com (imagepy at sina.com) Date: Sat, 11 Nov 2017 15:42:47 +0800 Subject: [scikit-image] =?gbk?b?u9i4tKO6IFB5dGhvbiAzIHRyYW5zaXRpb24=?= Message-ID: <20171111074247.DA4C2AC00BB@webmail.sinamail.sina.com.cn> Just my own opinion. we can give up python2.x -- YXDragon ----- ???? ----- ????Stefan van der Walt ????scikit-image at python.org ???[scikit-image] Python 3 transition ???2017?11?11? 14?34? Hi, everyone I'd like to make a 4th attempt to determine our transition pathway to Python 3. The last thread is here: https://mail.python.org/pipermail/scikit-image/2017-July/005304.html I would like to propose that the next version, 0.14 (scheduled for March of next year), becomes the last targeted for Python 2. It will also be an LTS (Long Time Support), which means we will backport serious fixes for a period of one year. 0.15 will then target Python >= 3.5 only (sorry, no f-strings yet!). Let me know your thoughts. St?fan _______________________________________________ scikit-image mailing list scikit-image at python.org https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzungng89 at gmail.com Sat Nov 11 14:49:06 2017 From: dzungng89 at gmail.com (Dzung Nguyen) Date: Sat, 11 Nov 2017 13:49:06 -0600 Subject: [scikit-image] Review PR #1425 Message-ID: Hi scikit-image core team, I am wondering if someone could help review PR #1425 ? I really appreciate your time. Thank you very much! -- *Dzung Nguyen* PhD Student Electrical Engineering and Computer Science, Northwestern University, IL, USA http://users.eecs.northwestern.edu/~dtn419/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Sat Nov 11 18:55:53 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Sun, 12 Nov 2017 10:55:53 +1100 Subject: [scikit-image] =?utf-8?Q?=E5=9B=9E=E5=A4=8D=EF=BC=9A_?=Python 3 transition In-Reply-To: <20171111074247.DA4C2AC00BB@webmail.sinamail.sina.com.cn> References: <20171111074247.DA4C2AC00BB@webmail.sinamail.sina.com.cn> Message-ID: <0503b1ee-4865-472a-ab9e-aed846b927bd@Spark> I agree. I would suggest backporting bugfixes to 0.14 for 2 years, or not naming it LTS because 1y is not ?long term? by most definitions. imho we should aim for 1.0 for this time next year and maybe *that* can depend on Python >= 3.6. =) Juan. On 11 Nov 2017, 6:52 PM +1100, imagepy at sina.com, wrote: > Just my own?opinion. we can give up python2.x? ? ? -- YXDragon > ----- ???? ----- > ????Stefan van der Walt > ????scikit-image at python.org > ???[scikit-image] Python 3 transition > ???2017?11?11? 14?34? > > Hi, everyone > I'd like to make a 4th attempt to determine our transition pathway to > Python 3. The last thread is here: > https://mail.python.org/pipermail/scikit-image/2017-July/005304.html > I would like to propose that the next version, 0.14 (scheduled for March > of next year), becomes the last targeted for Python 2. It will also be > an LTS (Long Time Support), which means we will backport serious fixes > for a period of one year. 0.15 will then target Python >= 3.5 only > (sorry, no f-strings yet!). > Let me know your thoughts. > St?fan > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: From egor.v.panfilov at gmail.com Sun Nov 12 09:05:25 2017 From: egor.v.panfilov at gmail.com (Egor Panfilov) Date: Sun, 12 Nov 2017 17:05:25 +0300 Subject: [scikit-image] =?utf-8?b?5Zue5aSN77yaIFB5dGhvbiAzIHRyYW5zaXRp?= =?utf-8?q?on?= In-Reply-To: <0503b1ee-4865-472a-ab9e-aed846b927bd@Spark> References: <20171111074247.DA4C2AC00BB@webmail.sinamail.sina.com.cn> <0503b1ee-4865-472a-ab9e-aed846b927bd@Spark> Message-ID: Hi all, I'd also support this decision. For information, here is an another link to a related discussion - https://groups.google.com/forum/#!msg/scikit-image/7aH6hshJJg0/ykjxdZ8uMQAJ . Juan, I don't think we're there yet for 1.0, though :). From my standpoint, several important aspects (metaparams handling, API, xy->rc, etc) have to be addressed first (see `discussion` tag on GitHub). Stefan, Has the schedule been changed? I remember we were planning to release 0.14 in November 2017 (see https://mail.python.org/pipermail/scikit-image/2017-September/005352.html). Regards, Egor Panfilov 2017-11-12 2:55 GMT+03:00 Juan Nunez-Iglesias : > I agree. I would suggest backporting bugfixes to 0.14 for 2 years, or not > naming it LTS because 1y is not ?long term? by most definitions. > > imho we should aim for 1.0 for this time next year and maybe *that* can > depend on Python >= 3.6. =) > > Juan. > > On 11 Nov 2017, 6:52 PM +1100, imagepy at sina.com, wrote: > > Just my own opinion. we can give up python2.x -- YXDragon > ----- ???? ----- > ????Stefan van der Walt > ????scikit-image at python.org > ???[scikit-image] Python 3 transition > ???2017?11?11? 14?34? > > Hi, everyone > I'd like to make a 4th attempt to determine our transition pathway to > Python 3. The last thread is here: > https://mail.python.org/pipermail/scikit-image/2017-July/005304.html > I would like to propose that the next version, 0.14 (scheduled for March > of next year), becomes the last targeted for Python 2. It will also be > an LTS (Long Time Support), which means we will backport serious fixes > for a period of one year. 0.15 will then target Python >= 3.5 only > (sorry, no f-strings yet!). > Let me know your thoughts. > St?fan > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From jsch at demuc.de Sun Nov 12 14:10:01 2017 From: jsch at demuc.de (=?utf-8?Q?Johannes_Sch=C3=B6nberger?=) Date: Sun, 12 Nov 2017 20:10:01 +0100 Subject: [scikit-image] Python 3 transition In-Reply-To: <1510381996.2676265.1168926312.710807B8@webmail.messagingengine.com> References: <1510381996.2676265.1168926312.710807B8@webmail.messagingengine.com> Message-ID: Hi, This sounds like a good plan to me. This means that Python 2 is still supported and up to date for at least another year with scikit-image, but internally we can already start taking advantage of Python 3 features. Also, I have the feeling that there is already relatively good Python 3 support in the scientific community at this point. It will only get better in another year when we release 0.15. Cheers, Johannes > On Nov 11, 2017, at 7:33 AM, Stefan van der Walt wrote: > > Hi, everyone > > I'd like to make a 4th attempt to determine our transition pathway to > Python 3. The last thread is here: > > https://mail.python.org/pipermail/scikit-image/2017-July/005304.html > > I would like to propose that the next version, 0.14 (scheduled for March > of next year), becomes the last targeted for Python 2. It will also be > an LTS (Long Time Support), which means we will backport serious fixes > for a period of one year. 0.15 will then target Python >= 3.5 only > (sorry, no f-strings yet!). > > Let me know your thoughts. > > St?fan > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image From stefanv at berkeley.edu Sun Nov 12 16:21:00 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Sun, 12 Nov 2017 13:21:00 -0800 Subject: [scikit-image] =?utf-8?b?5Zue5aSN77yaIFB5dGhvbiAzIHRyYW5zaXRp?= =?utf-8?q?on?= In-Reply-To: References: <20171111074247.DA4C2AC00BB@webmail.sinamail.sina.com.cn> <0503b1ee-4865-472a-ab9e-aed846b927bd@Spark> Message-ID: <1510521660.3971617.1170051720.177C9D47@webmail.messagingengine.com> Please continue any discussion of the issue on the original thread; I'll respond there. On Sun, Nov 12, 2017, at 06:05, Egor Panfilov wrote: > Hi all, > > I'd also support this decision. > For information, here is an another link to a related discussion - > https://groups.google.com/forum/#!msg/scikit-image/7aH6hshJJg0/ykjxdZ8uMQAJ > .> > Juan, > I don't think we're there yet for 1.0, though :). From my standpoint, > several important aspects (metaparams handling, API, xy->rc, etc) have > to be addressed first (see `discussion` tag on GitHub).> > Stefan, > Has the schedule been changed? I remember we were planning to release > 0.14 in November 2017 (see > https://mail.python.org/pipermail/scikit-image/2017-September/005352.html).> > Regards, > Egor Panfilov > > 2017-11-12 2:55 GMT+03:00 Juan Nunez-Iglesias : >> I agree. I would suggest backporting bugfixes to 0.14 for 2 years, or >> not naming it LTS because 1y is not ?long term? by most definitions.>> >> imho we should aim for 1.0 for this time next year and maybe *that* >> can depend on Python >= 3.6. =)>> >> Juan. >> >> On 11 Nov 2017, 6:52 PM +1100,imagepy at sina.com, wrote: >> >>> Just my own opinion. we can give up python2.x -- YXDragon >>> >>> ----- ???? ----- >>> ????Stefan van der Walt >>> ????scikit-image at python.org >>> ???[scikit-image] Python 3 transition >>> ???2017?11?11? 14?34? >>> >>> Hi, everyone >>> I'd like to make a 4th attempt to determine our transition >>> pathway to>>> Python 3. The last thread is here: >>> https://mail.python.org/pipermail/scikit-image/2017-July/005304.html>>> I would like to propose that the next version, 0.14 (scheduled for >>> March>>> of next year), becomes the last targeted for Python 2. It will >>> also be>>> an LTS (Long Time Support), which means we will backport serious >>> fixes>>> for a period of one year. 0.15 will then target Python >= 3.5 only>>> (sorry, no f-strings yet!). >>> Let me know your thoughts. >>> St?fan >>> _______________________________________________ >>> scikit-image mailing list >>> scikit-image at python.org >>> https://mail.python.org/mailman/listinfo/scikit-image >>> _______________________________________________ >>> scikit-image mailing list >>> scikit-image at python.org >>> https://mail.python.org/mailman/listinfo/scikit-image >> >> >> _______________________________________________ >> scikit-image mailing list >> scikit-image at python.org >> https://mail.python.org/mailman/listinfo/scikit-image >> > _________________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefanv at berkeley.edu Sun Nov 12 16:30:41 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Sun, 12 Nov 2017 13:30:41 -0800 Subject: [scikit-image] Python 3 transition In-Reply-To: References: <1510381996.2676265.1168926312.710807B8@webmail.messagingengine.com> Message-ID: <1510522241.3973408.1170054192.42C50363@webmail.messagingengine.com> The thread split off into another, but I am continuing the discussion here. It looks like we have general support for the notion to do one more Python 2.7 release, and to then switch to Python >= 3.5. Egor wrote: > Stefan, > Has the schedule been changed? I remember we were planning to release 0.14 in November 2017 (see https://mail.python.org/pipermail/scikit-image/2017-September/005352.html). As far as I recall, Egor volunteered to be release manager---thank you! I think we can hold off a bit on 0.14: our last release was in September, and there are a few PRs in the pipeline near completion. How about we split off the 0.14.x branch beginning of February? Since we're going to be backporting a lot of patches, should I ask Matthias Bussonier to activate https://github.com/MeeseeksBox/MeeseeksDev for us? St?fan From zhenjiang.zhou at slu.se Mon Nov 6 05:15:10 2017 From: zhenjiang.zhou at slu.se (Zhenjiang Zhou) Date: Mon, 6 Nov 2017 10:15:10 +0000 Subject: [scikit-image] Determine different grass percentage Message-ID: <76788e994bd34647aac59cf2cae757cd@Exch2-3.slu.se> Hi there, I am new python user, trying to use python to solve a question in my research, which is simple but not easy question: The attached image is mixture of two plants: grass and clover, grass is the one with long leaf, clover is the one with round leaf. So they have different shape, but very similar color So the question is how to use python to estimate the percentage of each plant in the whole image (%) >From the literature, local binary pattern might be used, but I am not so sure it can do good job here. Any help is highly appreciated, I can say that this question is a big issue in my research area. Looking forwards to your reply. Zhenjiang Zhou Postdoc Swedish University of Agricultural Sciences Department of Agricultural Research for Northern Sweden 901 83 UME? Sweden Visiting address: Skogsmarksgr?nd Phone:+46 90-786 8731 zhenjiang.zhou at slu.se [slu-logo-rgb-web-medium] -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.jpg Type: image/jpeg Size: 7812 bytes Desc: image001.jpg URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: 8.JPG Type: image/jpeg Size: 5000533 bytes Desc: 8.JPG URL: From ahmed.barbouche1 at gmail.com Tue Nov 7 03:48:39 2017 From: ahmed.barbouche1 at gmail.com (ahmed barbouche) Date: Tue, 7 Nov 2017 09:48:39 +0100 Subject: [scikit-image] Install scikit image Message-ID: Hello , I'm adressing to have some help about how to install scikit image library correctly. I installed python 2.7.14 , with the compiler vs c++ for python. I also make pip install scikit image, it work , it installed setuptools , spy ... but at the end ,it show error in c++ code ... then when i runed my program it showed " your install of scikit image seems to be broken ... ". I tryed to fix some hide c++ file in folder named 'c++ for python' but just the code of error change .i tried also to change version of python to python 3 but the same things appear. Can you help me please . Enclosed some image shown the issue Best regards , Barbouche ahmed -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: Capture.JPG Type: image/jpeg Size: 72678 bytes Desc: not available URL: From kumar.ashutosh.ee at gmail.com Sat Nov 11 18:05:58 2017 From: kumar.ashutosh.ee at gmail.com (Kumar Ashutosh) Date: Sun, 12 Nov 2017 04:35:58 +0530 Subject: [scikit-image] Interested in Contributing to scikit-image Message-ID: Hello, I found this project quite interesting. I am interested in contributing to the repository. Can anyone of you guide me on how can I start contribution and what part of the project is being majorly worked upon? I am currently contributing to scikit-learn, with approximately 9 bugs solved and a few being reviewed. Thanks, Kumar Ashutosh Undergraduate IIT Bombay India ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From egor.v.panfilov at gmail.com Mon Nov 13 01:14:18 2017 From: egor.v.panfilov at gmail.com (Egor Panfilov) Date: Mon, 13 Nov 2017 09:14:18 +0300 Subject: [scikit-image] Install scikit image In-Reply-To: References: Message-ID: Hello Ahmed, I'll second the recommendation from the error message, and strongly suggest you to go through our detailed installation guide - http://scikit-image.org/docs/dev/install.html . For Windows, it is, typically, much easier to setup `numpy`, `scipy`, `scikit-image` and other libraries shipping Cython code either using `conda` package manager, or pre-build wheel packages from https://www.lfd.uci.edu/~gohlke/pythonlibs/ . Regards, Egor 2017-11-07 11:48 GMT+03:00 ahmed barbouche : > Hello , > > I'm adressing to have some help about how to install scikit image library > correctly. > > I installed python 2.7.14 , with the compiler vs c++ for python. > > I also make pip install scikit image, it work , it installed setuptools , > spy ... but at the end ,it show error in c++ code ... then when i runed my > program it showed > " your install of scikit image seems to be broken ... ". > > I tryed to fix some hide c++ file in folder named 'c++ for python' but > just the code of error change .i tried also to change version of python to > python 3 but the same things appear. > > Can you help me please . > Enclosed some image shown the issue > > > > > Best regards , > > Barbouche ahmed > > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From egor.v.panfilov at gmail.com Mon Nov 13 01:22:19 2017 From: egor.v.panfilov at gmail.com (Egor Panfilov) Date: Mon, 13 Nov 2017 09:22:19 +0300 Subject: [scikit-image] Interested in Contributing to scikit-image In-Reply-To: References: Message-ID: Hello Kumar, Thanks for your interest in `scikit-image`! Firstly, we've a very informative guide on contribution proccess in http://scikit-image.org/docs/dev/contribute.html . Secondly, we've a wide variety of open issues, feature requests, and enhancement proposals. You can look through them at https://github.com/scikit-image/scikit-image/issues, and select one in accordance with your expertise in Python and image processing. For the beggining, I'd recommend to start with GitHub issues marked with `difficulty: novice` or `type: documentation` tag. This should help you to get better acquainted with the contribution proccess, as well as with `scikit-image` codebase. Good luck! :) Regards, Egor Panfilov 2017-11-12 2:05 GMT+03:00 Kumar Ashutosh : > Hello, > > I found this project quite interesting. I am interested in contributing to > the repository. Can anyone of you guide me on how can I start contribution > and what part of the project is being majorly worked upon? > I am currently contributing to scikit-learn, with approximately 9 bugs > solved and a few being reviewed. > > Thanks, > > Kumar Ashutosh > Undergraduate > IIT Bombay > India > ? > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzungng89 at gmail.com Mon Nov 13 02:18:21 2017 From: dzungng89 at gmail.com (Dzung Nguyen) Date: Mon, 13 Nov 2017 01:18:21 -0600 Subject: [scikit-image] Determine different grass percentage In-Reply-To: <76788e994bd34647aac59cf2cae757cd@Exch2-3.slu.se> References: <76788e994bd34647aac59cf2cae757cd@Exch2-3.slu.se> Message-ID: How about labeling manually a dataset for training, then let machine learning do the rest (of course local binary pattern could be used as feature)? By labeling, I mean for each image draw the region where there are grass, and the region where there are cover. On Mon, Nov 6, 2017 at 4:15 AM, Zhenjiang Zhou wrote: > Hi there, > > I am new python user, trying to use python to solve a question in my > research, which is simple but not easy question: > > > > The attached image is mixture of two plants: grass and clover, grass is > the one with long leaf, clover is the one with round leaf. > > So they have different shape, but very similar color > > > > So the question is how to use python to estimate the percentage of each > plant in the whole image (%) > > > > From the literature, local binary pattern might be used, but I am not so > sure it can do good job here. > > Any help is highly appreciated, I can say that this question is a big > issue in my research area. > > Looking forwards to your reply. > > > > Zhenjiang Zhou > > Postdoc > > *Swedish University of Agricultural Sciences* > > Department of Agricultural Research for Northern Sweden > 901 83 UME? > Sweden > Visiting address: Skogsmarksgr?nd > Phone:+46 90-786 8731 <+46%2090%20786%2087%2031> > > *zhenjiang.zhou at slu.se *[image: > slu-logo-rgb-web-medium] > > > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > -- *Dzung Nguyen* PhD Student Electrical Engineering and Computer Science, Northwestern University, IL, USA http://users.eecs.northwestern.edu/~dtn419/ -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.jpg Type: image/jpeg Size: 7812 bytes Desc: not available URL: From eecarres at gmail.com Mon Nov 13 06:08:15 2017 From: eecarres at gmail.com (=?UTF-8?Q?Eduard_Ethan_Carr=C3=A9s_Hidalgo?=) Date: Mon, 13 Nov 2017 12:08:15 +0100 Subject: [scikit-image] Determine different grass percentage In-Reply-To: References: <76788e994bd34647aac59cf2cae757cd@Exch2-3.slu.se> Message-ID: Not sure you will be able to do this that easily, but I cannot figure better ways to try. I'll be very interested if you're able to generate good results! *Ethan Carr?s Hidalgo* 2017-11-13 8:18 GMT+01:00 Dzung Nguyen : > How about labeling manually a dataset for training, then let machine > learning do the rest (of course local binary pattern could be used as > feature)? > > By labeling, I mean for each image draw the region where there are grass, > and the region where there are cover. > > On Mon, Nov 6, 2017 at 4:15 AM, Zhenjiang Zhou > wrote: > >> Hi there, >> >> I am new python user, trying to use python to solve a question in my >> research, which is simple but not easy question: >> >> >> >> The attached image is mixture of two plants: grass and clover, grass is >> the one with long leaf, clover is the one with round leaf. >> >> So they have different shape, but very similar color >> >> >> >> So the question is how to use python to estimate the percentage of each >> plant in the whole image (%) >> >> >> >> From the literature, local binary pattern might be used, but I am not so >> sure it can do good job here. >> >> Any help is highly appreciated, I can say that this question is a big >> issue in my research area. >> >> Looking forwards to your reply. >> >> >> >> Zhenjiang Zhou >> >> Postdoc >> >> *Swedish University of Agricultural Sciences* >> >> Department of Agricultural Research for Northern Sweden >> 901 83 UME? >> Sweden >> Visiting address: Skogsmarksgr?nd >> Phone:+46 90-786 8731 <+46%2090%20786%2087%2031> >> >> *zhenjiang.zhou at slu.se *[image: >> slu-logo-rgb-web-medium] >> >> >> >> _______________________________________________ >> scikit-image mailing list >> scikit-image at python.org >> https://mail.python.org/mailman/listinfo/scikit-image >> >> > > > -- > *Dzung Nguyen* > > PhD Student > Electrical Engineering and Computer Science, > Northwestern University, IL, USA > http://users.eecs.northwestern.edu/~dtn419/ > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- A non-text attachment was scrubbed... Name: image001.jpg Type: image/jpeg Size: 7812 bytes Desc: not available URL: From stefanv at berkeley.edu Mon Nov 13 16:56:47 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Mon, 13 Nov 2017 13:56:47 -0800 Subject: [scikit-image] Determine different grass percentage In-Reply-To: References: <76788e994bd34647aac59cf2cae757cd@Exch2-3.slu.se> Message-ID: <1510610207.524227.1171333032.3E28371B@webmail.messagingengine.com> On Sun, Nov 12, 2017, at 23:18, Dzung Nguyen wrote: > How about labeling manually a dataset for training, then let machine > learning do the rest (of course local binary pattern could be used as > feature)? You will definitely need some ground truth data; both for training, and for evaluating any system you come up with. St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From kmichael.aye at gmail.com Mon Nov 13 17:06:37 2017 From: kmichael.aye at gmail.com (K.-Michael Aye) Date: Mon, 13 Nov 2017 15:06:37 -0700 Subject: [scikit-image] Determine different grass percentage In-Reply-To: <1510610207.524227.1171333032.3E28371B@webmail.messagingengine.com> References: <76788e994bd34647aac59cf2cae757cd@Exch2-3.slu.se> <1510610207.524227.1171333032.3E28371B@webmail.messagingengine.com> Message-ID: <1abda125-db20-4a3f-9468-38bae06ba706@Spark> On Nov 13, 2017, 14:57 -0700, Stefan van der Walt , wrote: > On Sun, Nov 12, 2017, at 23:18, Dzung Nguyen wrote: > > How about labeling manually a dataset for training, then let machine learning do the rest (of course local binary pattern could be used as feature)? > > You will definitely need some ground truth data; both for training, and for evaluating any system you come up with. > Alternatively, if you are sure you/the human visual cortex can correctly identify it, then you could create your training data set (i.e. the labels) using a Citizen Science project. zooniverse.org has a relatively easy process for setting up a new project. Michael > St?fan > -------------- next part -------------- An HTML attachment was scrubbed... URL: From dzungng89 at gmail.com Mon Nov 13 17:43:41 2017 From: dzungng89 at gmail.com (Dzung Nguyen) Date: Mon, 13 Nov 2017 16:43:41 -0600 Subject: [scikit-image] Determine different grass percentage In-Reply-To: <1abda125-db20-4a3f-9468-38bae06ba706@Spark> References: <76788e994bd34647aac59cf2cae757cd@Exch2-3.slu.se> <1510610207.524227.1171333032.3E28371B@webmail.messagingengine.com> <1abda125-db20-4a3f-9468-38bae06ba706@Spark> Message-ID: Is this similar to Mechanical Turk (crowdsourcing), but for scientific purpose? On Mon, Nov 13, 2017 at 4:06 PM, K.-Michael Aye wrote: > > On Nov 13, 2017, 14:57 -0700, Stefan van der Walt , > wrote: > > On Sun, Nov 12, 2017, at 23:18, Dzung Nguyen wrote: > > How about labeling manually a dataset for training, then let machine > learning do the rest (of course local binary pattern could be used as > feature)? > > > You will definitely need some ground truth data; both for training, and > for evaluating any system you come up with. > > > > Alternatively, if you are sure you/the human visual cortex can correctly > identify it, then you could create your training data set (i.e. the labels) > using a Citizen Science project. zooniverse.org has a relatively easy > process for setting up a new project. > > Michael > > > St?fan > > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > -- *Dzung Nguyen* PhD Student Electrical Engineering and Computer Science, Northwestern University, IL, USA http://users.eecs.northwestern.edu/~dtn419/ -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Wed Nov 15 01:41:47 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Wed, 15 Nov 2017 17:41:47 +1100 Subject: [scikit-image] Python 3 transition In-Reply-To: <1510522241.3973408.1170054192.42C50363@webmail.messagingengine.com> References: <1510381996.2676265.1168926312.710807B8@webmail.messagingengine.com> <1510522241.3973408.1170054192.42C50363@webmail.messagingengine.com> Message-ID: <8427130b-ce4a-4faa-9230-dffd7ed4cab5@Spark> Responses inline below. On 13 Nov 2017, 8:31 AM +1100, Stefan van der Walt , wrote: > It looks like we have general support for the notion to do one more > Python 2.7 release, and to then switch to Python >= 3.5. ? > As far as I recall, Egor volunteered to be release manager---thank you! I recall this too. =) > ?I think we can hold off a bit on 0.14: our last release was in > September, and there are a few PRs in the pipeline near completion. How?about we split off the 0.14.x branch beginning of February? Feb! That seems excessive? I don?t think our bug fix backport releases really count as releases. > Since we're going to be backporting a lot of patches, should I ask > Matthias Bussonier to activate > > https://github.com/MeeseeksBox/MeeseeksDev I?m a fan of this idea. -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefanv at berkeley.edu Wed Nov 15 01:55:47 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Tue, 14 Nov 2017 22:55:47 -0800 Subject: [scikit-image] Python 3 transition In-Reply-To: <8427130b-ce4a-4faa-9230-dffd7ed4cab5@Spark> References: <1510381996.2676265.1168926312.710807B8@webmail.messagingengine.com> <1510522241.3973408.1170054192.42C50363@webmail.messagingengine.com> <8427130b-ce4a-4faa-9230-dffd7ed4cab5@Spark> Message-ID: <1510728947.1673961.1173023392.7DF06275@webmail.messagingengine.com> On Tue, Nov 14, 2017, at 22:41, Juan Nunez-Iglesias wrote: >> I think we can hold off a bit on 0.14: our last release was in >> September, and there are a few PRs in the pipeline near completion. >> How about we split off the 0.14.x branch beginning of February?> > Feb! That seems excessive? I don?t think our bug fix backport releases > really count as releases. How about this, then: Egor, give us a date that you'd like to release (taking into consideration that you'd then need to do the work ;), leaving at least one month before that to finish pending PRs. St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From egor.v.panfilov at gmail.com Thu Nov 16 14:57:45 2017 From: egor.v.panfilov at gmail.com (Egor Panfilov) Date: Thu, 16 Nov 2017 22:57:45 +0300 Subject: [scikit-image] Python 3 transition In-Reply-To: <1510728947.1673961.1173023392.7DF06275@webmail.messagingengine.com> References: <1510381996.2676265.1168926312.710807B8@webmail.messagingengine.com> <1510522241.3973408.1170054192.42C50363@webmail.messagingengine.com> <8427130b-ce4a-4faa-9230-dffd7ed4cab5@Spark> <1510728947.1673961.1173023392.7DF06275@webmail.messagingengine.com> Message-ID: Hi all, >I recall this too. =) I'm still in charge! ;) Actually, mid-January | early February sounds OK now. We need some time to awaken the reviewers, and catch up with the scheduled issues/PRs. And then, fortunately or not, everyone is having Christmas and Happy New Year :). This is the best we can do for now, but (sorry in advance) during the next year I'll be pushing more to have the releases more frequently (1/6-9month). :) Regards, Egor 2017-11-15 9:55 GMT+03:00 Stefan van der Walt : > On Tue, Nov 14, 2017, at 22:41, Juan Nunez-Iglesias wrote: > > I think we can hold off a bit on 0.14: our last release was in > September, and there are a few PRs in the pipeline near completion. > How about we split off the 0.14.x branch beginning of February? > > > Feb! That seems excessive? I don?t think our bug fix backport releases > really count as releases. > > > How about this, then: Egor, give us a date that you'd like to release > (taking into consideration that you'd then need to do the work ;), leaving > at least one month before that to finish pending PRs. > > St?fan > > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefanv at berkeley.edu Thu Nov 16 15:02:38 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Thu, 16 Nov 2017 12:02:38 -0800 Subject: [scikit-image] Python 3 transition In-Reply-To: References: <1510381996.2676265.1168926312.710807B8@webmail.messagingengine.com> <1510522241.3973408.1170054192.42C50363@webmail.messagingengine.com> <8427130b-ce4a-4faa-9230-dffd7ed4cab5@Spark> <1510728947.1673961.1173023392.7DF06275@webmail.messagingengine.com> Message-ID: <1510862558.1437360.1175067688.136A880F@webmail.messagingengine.com> On Thu, Nov 16, 2017, at 11:57, Egor Panfilov wrote: > Actually, mid-January | early February sounds OK now. We need some > time to awaken the reviewers, and catch up with the scheduled > issues/PRs. And then, fortunately or not, everyone is having Christmas > and Happy New Year :).> This is the best we can do for now, but (sorry in advance) during the > next year I'll be pushing more to have the releases more frequently > (1/6-9month). :) Thanks for taking charge of this, Egor! The 0.14 milestone is here: https://github.com/scikit-image/scikit-image/milestone/7 Let's start working down that list! St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From ssouravsingh12 at gmail.com Sat Nov 18 09:14:19 2017 From: ssouravsingh12 at gmail.com (Sourav Singh) Date: Sat, 18 Nov 2017 19:44:19 +0530 Subject: [scikit-image] Benchmark of image processing libraries Message-ID: Hello, I am writing the mail with reference to the tweet made by Jeremy Howard here- https://twitter.com/jeremyphoward/status/931761385628778496 Here, he did an image rotation for all the existing image processing libraries in Python and noted that vips is better than scipy in terms of speed. I am interested to know if there is anything that could be done regarding the problem. Regards, Sourav -------------- next part -------------- An HTML attachment was scrubbed... URL: From google at terre-adelie.org Tue Nov 21 09:56:55 2017 From: google at terre-adelie.org (Jerome Kieffer) Date: Tue, 21 Nov 2017 15:56:55 +0100 Subject: [scikit-image] Image deconvolution ... Message-ID: <20171121155655.1967b37c@lintaillefer.esrf.fr> Dear all, I have an image which is "blurred" by a kernel which depends on the position on the image. This blurring can be expressed as a sparse matrix (A) multiplication where only the neighboring pixels have non-null contribution. Ax = b where in addition Aij>=0 x >= 0 #non negativity constrain. b >= 0 # measured signal Does anyone have some hints on where to start looking at ? Thanks for your help -- J?r?me Kieffer From jni.soma at gmail.com Tue Nov 21 20:40:50 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Wed, 22 Nov 2017 12:40:50 +1100 Subject: [scikit-image] Image deconvolution ... In-Reply-To: <20171121155655.1967b37c@lintaillefer.esrf.fr> References: <20171121155655.1967b37c@lintaillefer.esrf.fr> Message-ID: <4729ea16-023c-4223-8ac3-ef08e7038163@Spark> Hi J?r?me, Can you explain your problem more? You know A and x and want to find b? Is this an exact solution, or is Ax = b + err? SciPy?s sparse.linalg module is where you?ll find most of your answers, I think? If you want to *build* A from some description, you might find our homography example in Elegant SciPy useful: https://github.com/elegant-scipy/elegant-scipy/blob/master/markdown/ch5.markdown#applications-of-sparse-matrices-image-transformations Juan. On 22 Nov 2017, 1:58 AM +1100, Jerome Kieffer , wrote: > Dear all, > > I have an image which is "blurred" by a kernel which depends on the > position on the image. > This blurring can be expressed as a sparse matrix (A) multiplication where > only the neighboring pixels have non-null contribution. > > Ax = b > > where in addition > Aij>=0 > x >= 0 #non negativity constrain. > b >= 0 # measured signal > > Does anyone have some hints on where to start looking at ? > Thanks for your help > > -- > J?r?me Kieffer > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: From google at terre-adelie.org Wed Nov 22 03:16:32 2017 From: google at terre-adelie.org (Jerome Kieffer) Date: Wed, 22 Nov 2017 09:16:32 +0100 Subject: [scikit-image] Image deconvolution ... In-Reply-To: <4729ea16-023c-4223-8ac3-ef08e7038163@Spark> References: <20171121155655.1967b37c@lintaillefer.esrf.fr> <4729ea16-023c-4223-8ac3-ef08e7038163@Spark> Message-ID: <20171122091632.5936232f@lintaillefer.esrf.fr> On Wed, 22 Nov 2017 12:40:50 +1100 Juan Nunez-Iglesias wrote: > Hi J?r?me, > > Can you explain your problem more? You know A and x and want to find > b? Is this an exact solution, or is Ax = b + err? SciPy?s > sparse.linalg module is where you?ll find most of your answers, I > think? If you want to *build* A from some description, you might find > our homography example in Elegant SciPy useful: Hi Juan, Thanks for your help. Nice documentation on scipy.sparse I wish I had it a couple of days ago. Indeed I have spent a week in building the matrix A using ray-tracing and now I believe it is almost correct now. The idea is to consider some image sensor (in 2D) which absorb the photon (X-ray) in volume (instead of the surface). So each pixel is considered as a voxel and the sensor is a 2D array of voxels. After this raytracing step, I know how much of a photon arriving in one pixel contributes to the neighboring pixels, this is my matrix A, (in CSR format). "b" is of course the image I read from the detector, with all element positive and I expect "x" to have all element positive as well. I tried to search in scipy.sparse.linalg the method which would allow me to retrieve "x" from "b". For now, the best I found is : res = linalg.lsmr(A, b, damp=damp, x0=b) When the damping factor is null or too small, I notice many wiggles (with negative regions) near peaks. For now I try to adjust this damp factor so that the minimum of x is positive but I am not confident on the method. -- J?r?me Kieffer tel +33 476 882 445 From jni.soma at gmail.com Wed Nov 22 20:33:21 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Thu, 23 Nov 2017 12:33:21 +1100 Subject: [scikit-image] Image deconvolution ... In-Reply-To: <20171122091632.5936232f@lintaillefer.esrf.fr> References: <20171121155655.1967b37c@lintaillefer.esrf.fr> <4729ea16-023c-4223-8ac3-ef08e7038163@Spark> <20171122091632.5936232f@lintaillefer.esrf.fr> Message-ID: Hi J?r?me, Sounds great! I?ll admit that I?m not confident in this area either, but my reading of the documentation suggests that this is the right approach: the damping controls the square norm of x. By keeping it small (with large damping), you force the elements to be non-negative. I hope the final picture looks good now! =) If you get a nice result, I suggest you write a blog post about it, with pictures. It sounds like a very cool use of SciPy, and would be a valuable addition to writeups about it! Juan. On 22 Nov 2017, 7:16 PM +1100, Jerome Kieffer , wrote: > On Wed, 22 Nov 2017 12:40:50 +1100 > Juan Nunez-Iglesias wrote: > > > Hi J?r?me, > > > > Can you explain your problem more? You know A and x and want to find > > b? Is this an exact solution, or is Ax = b + err? SciPy?s > > sparse.linalg module is where you?ll find most of your answers, I > > think? If you want to *build* A from some description, you might find > > our homography example in Elegant SciPy useful: > > > Hi Juan, > > Thanks for your help. Nice documentation on scipy.sparse I wish I had > it a couple of days ago. > > Indeed I have spent a week in building the matrix > A using ray-tracing and now I believe it is almost correct now. > > The idea is to consider some image sensor (in 2D) which absorb the > photon (X-ray) in volume (instead of the surface). So each pixel is considered > as a voxel and the sensor is a 2D array of voxels. > After this raytracing step, I know how much of a photon arriving in one > pixel contributes to the neighboring pixels, this is my matrix A, > (in CSR format). > > "b" is of course the image I read from the detector, with all element > positive and I expect "x" to have all element positive as well. > > I tried to search in scipy.sparse.linalg the method which would allow > me to retrieve "x" from "b". For now, the best I found is : > > res = linalg.lsmr(A, b, damp=damp, x0=b) > > When the damping factor is null or too small, I notice many wiggles > (with negative regions) near peaks. For now I try to adjust this damp factor > so that the minimum of x is positive but I am not confident on the > method. > > -- > J?r?me Kieffer > tel +33 476 882 445 > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefanv at berkeley.edu Thu Nov 23 00:14:54 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Wed, 22 Nov 2017 21:14:54 -0800 Subject: [scikit-image] Image deconvolution ... In-Reply-To: <20171122091632.5936232f@lintaillefer.esrf.fr> References: <20171121155655.1967b37c@lintaillefer.esrf.fr> <4729ea16-023c-4223-8ac3-ef08e7038163@Spark> <20171122091632.5936232f@lintaillefer.esrf.fr> Message-ID: <1511414094.384131.1181791008.1924E067@webmail.messagingengine.com> Hi Jerome The problem you describe sounds very similar to the one solved for super-resolution imaging. My PhD thesis talks quite a bit about the methods utilized to solve it: http://mentat.za.net/phd_dissertation.html The code is here, but---written by some PhD student in 2009 ;) https://github.com/stefanv/supreme/blob/master/supreme/resolve/iterative.py#L58 One of the tricks we used in SR imaging was to find a good smooth estimate for the resulting image, and then used the optimization to search for updates of that "prior". You can then penalize the updates not to be too large, and thereby prevent the oscillations you mention. Best regards St?fan P.S. Juan, w.r.t. the Elegant SciPy sparse example: https://github.com/stefanv/supreme/blob/master/supreme/resolve/operators.pyx#L34 On Wed, Nov 22, 2017, at 00:16, Jerome Kieffer wrote: > On Wed, 22 Nov 2017 12:40:50 +1100 > Juan Nunez-Iglesias wrote: > > > Hi J?r?me, > > > > Can you explain your problem more? You know A and x and want to find > > b? Is this an exact solution, or is Ax = b + err? SciPy?s > > sparse.linalg module is where you?ll find most of your answers, I > > think? If you want to *build* A from some description, you might find > > our homography example in Elegant SciPy useful: > > > Hi Juan, > > Thanks for your help. Nice documentation on scipy.sparse I wish I had > it a couple of days ago. > > Indeed I have spent a week in building the matrix > A using ray-tracing and now I believe it is almost correct now. > > The idea is to consider some image sensor (in 2D) which absorb the > photon (X-ray) in volume (instead of the surface). So each pixel is > considered > as a voxel and the sensor is a 2D array of voxels. > After this raytracing step, I know how much of a photon arriving in one > pixel contributes to the neighboring pixels, this is my matrix A, > (in CSR format). > > "b" is of course the image I read from the detector, with all element > positive and I expect "x" to have all element positive as well. > > I tried to search in scipy.sparse.linalg the method which would allow > me to retrieve "x" from "b". For now, the best I found is : > > res = linalg.lsmr(A, b, damp=damp, x0=b) > > When the damping factor is null or too small, I notice many wiggles > (with negative regions) near peaks. For now I try to adjust this damp > factor > so that the minimum of x is positive but I am not confident on the > method. > > -- > J?r?me Kieffer > tel +33 476 882 445 > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image From google at terre-adelie.org Thu Nov 23 02:00:42 2017 From: google at terre-adelie.org (=?UTF-8?B?SsOpcsO0bWU=?= Kieffer) Date: Thu, 23 Nov 2017 08:00:42 +0100 Subject: [scikit-image] Image deconvolution ... In-Reply-To: References: <20171121155655.1967b37c@lintaillefer.esrf.fr> <4729ea16-023c-4223-8ac3-ef08e7038163@Spark> <20171122091632.5936232f@lintaillefer.esrf.fr> Message-ID: <20171123080042.4aedfc88@patagonia> Hi Juan, On Thu, 23 Nov 2017 12:33:21 +1100 Juan Nunez-Iglesias wrote: > Sounds great! I?ll admit that I?m not confident in this area either, > but my reading of the documentation suggests that this is the right > approach: the damping controls the square norm of x. By keeping it > small (with large damping), you force the elements to be non-negative. The approach looks OK, I am just a bit "unconfident" about tweeking a factor to get the image I am expecting. Not very scientific when the resulting image has to used as input for quantitative analysis. > I hope the final picture looks good now! =) If you get a nice result, > I suggest you write a blog post about it, with pictures. It sounds > like a very cool use of SciPy, and would be a valuable addition to > writeups about it! This will be part of the documentation of pyFAI by the end of the year: http://pyfai.readthedocs.io/en/latest/usage/tutorial/index.html To Stefan, I am sorry I forgot about your PhD work. I will check again your work, last time it was a different topic :) Cheers, Jerome From stefanv at berkeley.edu Thu Nov 23 15:46:07 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Thu, 23 Nov 2017 12:46:07 -0800 Subject: [scikit-image] Image deconvolution ... In-Reply-To: <20171123080042.4aedfc88@patagonia> References: <20171121155655.1967b37c@lintaillefer.esrf.fr> <4729ea16-023c-4223-8ac3-ef08e7038163@Spark> <20171122091632.5936232f@lintaillefer.esrf.fr> <20171123080042.4aedfc88@patagonia> Message-ID: <15feaa16698.2815.acf34a9c767d7bb498a799333be0433e@fastmail.com> On 22 November 2017 23:08:17 J?r?me Kieffer wrote: > On Thu, 23 Nov 2017 12:33:21 +1100 > Juan Nunez-Iglesias wrote: > >> Sounds great! I?ll admit that I?m not confident in this area either, >> but my reading of the documentation suggests that this is the right >> approach: the damping controls the square norm of x. By keeping it >> small (with large damping), you force the elements to be non-negative. > > The approach looks OK, I am just a bit "unconfident" about tweeking a > factor to get the image I am expecting. Not very scientific when the > resulting image has to used as input for quantitative analysis. There are various ways to do this, but you have to dampen/penalize the solution: oscillatory results often achieve the same norm as smooth results, and the optimization algorithm otherwise has no way to choose which is best. Instead of applying explicit regularization, you can also terminate conjugate gradients early, for example. Best regards St?fan From jni.soma at gmail.com Sat Nov 25 18:55:34 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Sun, 26 Nov 2017 10:55:34 +1100 Subject: [scikit-image] Benchmark of image processing libraries In-Reply-To: References: Message-ID: Hi Sourav, Yes, improving performance is something that?s in the roadmap (this roadmap exists only in the heads of several core developers ? something else that needs to be rectified). It just hasn?t been emphasised for lack of developer time. A very specific goal that I?ve had for a while is to set up integration for the project with airspeed velocity. Once we have that, the performance of the library should progressively improve, simply by having performance be a more visible goal. For this, we need a dedicated machine to run benchmarks. St?fan, do you think you could make/host one at BIDS? Juan. On 19 Nov 2017, 1:15 AM +1100, Sourav Singh , wrote: > Hello, > > I am writing the mail with reference to the tweet made by Jeremy Howard here-?https://twitter.com/jeremyphoward/status/931761385628778496 > > Here, he did an image rotation for all the existing image processing libraries in Python and noted that vips is better than scipy in terms of speed. > > I am interested to know if there is anything that could be done regarding the problem. > > > Regards, > > Sourav > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Sat Nov 25 20:39:41 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Sun, 26 Nov 2017 12:39:41 +1100 Subject: [scikit-image] Observed difference between skimage.filters.rank.mean and scipy.signal.convolve2d In-Reply-To: <3E55146A6A81B44A9CB69CAB65908CEA4CCE4195@TW-MBX-P01.cnesnet.ad.cnes.fr> References: <3E55146A6A81B44A9CB69CAB65908CEA4CCE29D4@TW-MBX-P01.cnesnet.ad.cnes.fr> <52ecf618-41e9-4179-ad49-fefd998cfb97@Spark> <3E55146A6A81B44A9CB69CAB65908CEA4CCE4195@TW-MBX-P01.cnesnet.ad.cnes.fr> Message-ID: On 4 Nov 2017, 3:13 AM +1100, Poughon Victor , wrote: > Thank you, that makes sense. > Your link does not explain why float images are restricted to [-1; 1] though? So with my data I can't just do: > > ??? image = np.array(data.coins(), dtype=np.float) > > I guess skimage makes an assumption that images are within a fixed range? The short version is that it?s there so that roundtrip conversions work. Suppose you convert a float image to a uint8 image. If you don?t assume a range ([0, 1] for most float images), then you essentially have to map the image range, which could be, say, [0.45, 276.928], to the possible values for uint8, [0, 255]. Then when you convert back, what output range do you use? [0, 10^302]? By assuming a range, you can keep conversions between data types consistent, within rounding error. We are aiming to be more flexible about this, by reducing the dependence on range checking wherever it is not strictly necessary. Many functions have a `preserve_range` keyword that allows you to input images in arbitrary ranges, and you?ll get back an image with no rescaling applied to it. If you come across a function that you think should work without range conversions, let us know. Unfortunately, rank filters don?t fall in this category, because they need to be converted to a 12-bit integer range, so the input range must be known. You can use exposure.rescale_intensity to do conversions manually before and after the rank filters. Hope this helps! Juan. -------------- next part -------------- An HTML attachment was scrubbed... URL: From stefanv at berkeley.edu Mon Nov 27 00:48:24 2017 From: stefanv at berkeley.edu (Stefan van der Walt) Date: Sun, 26 Nov 2017 21:48:24 -0800 Subject: [scikit-image] Benchmark of image processing libraries In-Reply-To: References: Message-ID: <1511761704.1843327.1185077552.6E794E71@webmail.messagingengine.com> On Sat, Nov 25, 2017, at 15:55, Juan Nunez-Iglesias wrote: > For this, we need a dedicated machine to run benchmarks. St?fan, do > you think you could make/host one at BIDS? Yes, I can probably make available a machine for this purpose. Who will volunteer to set it up? St?fan -------------- next part -------------- An HTML attachment was scrubbed... URL: From jni.soma at gmail.com Mon Nov 27 08:23:30 2017 From: jni.soma at gmail.com (Juan Nunez-Iglesias) Date: Tue, 28 Nov 2017 00:23:30 +1100 Subject: [scikit-image] Benchmark of image processing libraries In-Reply-To: <1511761704.1843327.1185077552.6E794E71@webmail.messagingengine.com> References: <1511761704.1843327.1185077552.6E794E71@webmail.messagingengine.com> Message-ID: On 27 Nov 2017, 4:48 PM +1100, Stefan van der Walt , wrote: > > Who will volunteer to set it up? (apprehensively?) ? -------------- next part -------------- An HTML attachment was scrubbed... URL: From ssouravsingh12 at gmail.com Mon Nov 27 08:44:15 2017 From: ssouravsingh12 at gmail.com (Sourav Singh) Date: Mon, 27 Nov 2017 19:14:15 +0530 Subject: [scikit-image] Benchmark of image processing libraries In-Reply-To: References: <1511761704.1843327.1185077552.6E794E71@webmail.messagingengine.com> Message-ID: ? On Mon, Nov 27, 2017 at 6:53 PM, Juan Nunez-Iglesias wrote: > > On 27 Nov 2017, 4:48 PM +1100, Stefan van der Walt , > wrote: > > > Who will volunteer to set it up? > > > (apprehensively?) ? > > _______________________________________________ > scikit-image mailing list > scikit-image at python.org > https://mail.python.org/mailman/listinfo/scikit-image > > -------------- next part -------------- An HTML attachment was scrubbed... URL: From imagepy at sina.com Wed Nov 29 14:03:42 2017 From: imagepy at sina.com (imagepy at sina.com) Date: Thu, 30 Nov 2017 03:03:42 +0800 Subject: [scikit-image] my fast watershed has pass all the test_watershed check Message-ID: <20171129190342.4A1B6AC00BB@webmail.sinamail.sina.com.cn> Hi Everyone:I had implemented a watershed by numba, and now it has pass all the test_watershed check and got a exactly same result with skimage, support watershed-line, support connectivity, (pass test 0-12, but mine did not support compact yet) It support nd, now only support uint8 image with uint16 marks. (because I think sometimes it is enough, It can process float image if it is needed) And it is very smart and fast. less than 100 lines, and faster than skimage one. a 3d image which skimage run more than 10 minutes ( and I cannot wait any longer, so kill it), but my watershed just need 28 s. The code are attached. BestYXDragon -------------- next part -------------- An HTML attachment was scrubbed... URL: -------------- next part -------------- An embedded and charset-unspecified text was scrubbed... Name: watershed_test.py URL: