Hi, thank you for the information! I have tried out a simple approach by profiling the color filters in the Sensor pattern separately, and use only patches for each pixel that are centered around a pixel that has the same position in the repeating filter pattern. The results are quite interesting, as the algorithm seems to perform very well in flat surfaces and texture is also rendered quite nicely. Maybe it is worth investigating whether that may be developed into a more sophisticated approach.
I've uploaded the code I used and a sample image to try it out here: https://github.com/wilecoyote2015/NLMeans_Raw_Test One can use profile_camera.py to profile the camera and nlm_raw_profiled to denoise a raw image. The code isn't elaborated and slow as hell, but it provides an idea of the results. It only works with Bayer sensors. Best, Bjoern 2018-02-18 13:33 GMT+01:00 johannes hanika <hana...@gmail.com>: > hi! > > sure, everything that improves noise reduction will be a welcomed > addition. glancing over the paper you mention, it is based on > non-local means and a global minimisation/total variation step. keep > in mind that for interactive usage we need to render several > megapixels through all necessary modules in a very short time frame. > this usually means a couple 10 milliseconds per module. > > currently we run a generalised anscombe transform (gaussian and > poissonian noise), which can be combined with wavelet or non-local > means. the closest they have as comparison is in table II in > conjunction with BM3D, which seems to be the winning combination. > > working on raw data seems like a good idea and i had started that > years ago in some unfinished branch. one thing about raw data is also > that the black point has not been subtracted yet and that you can > effectively better filter gaussian noise near zero using the negative > values still contained in the data. designing denoising algorithms in > this space is a bit painful to implement and needs to consider the > different colour filter array layouts, which is tedious and can result > in slow algorithms. also the anscombe transform doesn't work very well > near zero, so this branch was based on a fisz transform and wavelets. > in the end the results were usually not all that different except in > one or two extreme oddball images. in this context a specialised > nlmeans approach may be useful (but the gaussian part of the noise is > important). > > cheers, > jo > > On Sun, Feb 18, 2018 at 1:43 AM, Björn Sozumschein > <wilecoyote2...@gmail.com> wrote: > > Hello all, > > > > the Paper "Adaptive regularization of the NL-means: Application to image > and > > video denoising" by Sutour et al, 2014 provides a nice overview regarding > > methods to adapt the NL Means algorithm for poisson noise and introduces > > regularization in order to remove typical artifacts. As far as I have > read > > from the documentation, the profiled denoise with NL-Means uses the > profile > > to transform the image data to uniform standard deviation in order to > apply > > NL-Means for simple gaussian noise. As stated in Sutour et al., it isn't > too > > complicated to adapt the algorithm to other noise using the likelihood > with > > respect to the noise model for weights and distance. > > > > I would be interested in experimenting a bit with this, and I believe it > > would also be interesting to look into adaption of the NL-means for > mosaiced > > RAW data in order to be able to deal with the noise before it's patterns > get > > spatially correlated by demosaicing. > > > > Do you believe that this could be worth giving it a try? > > I must say, however, that I'm quite busy with my master thesis and work > > currently, so that I won't be able to do actual coding work for darktable > > soon, so that I'd consider this as a mid-term side project ;) > > > > Best, > > Bjoern > > > > ____________________________________________________________ > _______________ > > darktable developer mailing list to unsubscribe send a mail to > > darktable-dev+unsubscr...@lists.darktable.org > ___________________________________________________________________________ darktable developer mailing list to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org