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 <srinivasv147@gmail.com> wrote:


On Wed, Nov 1, 2017 at 9:30 PM, <scikit-image-request@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-request@python.org

You can reach the person managing the list at
        scikit-image-owner@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 <srinivasv147@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.soma@gmail.com>
To:
        "=?utf-8?Q?Mailing_list_for_scikit-image_(http=3A//scikit-image.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 <srinivasv147@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