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 <srinivasv...@gmail.com> wrote: > > > On Wed, Nov 1, 2017 at 9:30 PM, <scikit-image-requ...@python.org> wrote: > >> Send scikit-image mailing list submissions to >> scikit-image@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-requ...@python.org >> >> You can reach the person managing the list at >> scikit-image-ow...@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 <srinivasv...@gmail.com> >> To: scikit-image@python.org >> Subject: [scikit-image] New Contributor >> Message-ID: >> <CABXwt0+37gx=Ay2XGOEvsyx+nGOJtfxx-=K9aqrCtWg9VeGJ_w@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: <http://mail.python.org/pipermail/scikit-image/attachments/ >> 20171101/bebcd58c/attachment-0001.html> >> >> ------------------------------ >> >> Message: 2 >> Date: Thu, 2 Nov 2017 01:18:02 +1100 >> From: Juan Nunez-Iglesias <jni.s...@gmail.com> >> To: >> "=?utf-8?Q?Mailing_list_for_scikit-image_(http=3A//scikit-im >> age.org)?=" >> <scikit-image@python.org> >> Subject: Re: [scikit-image] New Contributor >> Message-ID: <d18b0a85-6d6e-40bc-944c-2dde5c9589de@Spark> >> 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 <srinivasv...@gmail.com>, 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@python.org >> > https://mail.python.org/mailman/listinfo/scikit-image >> -------------- next part -------------- >> An HTML attachment was scrubbed... >> URL: <http://mail.python.org/pipermail/scikit-image/attachments/ >> 20171102/11b21b74/attachment-0001.html> >> >> ------------------------------ >> >> Subject: Digest Footer >> >> _______________________________________________ >> scikit-image mailing list >> scikit-image@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@python.org > https://mail.python.org/mailman/listinfo/scikit-image > >
_______________________________________________ scikit-image mailing list scikit-image@python.org https://mail.python.org/mailman/listinfo/scikit-image