hi, Le lun. 10 sept. 2018 à 14:47, johannes hanika <hana...@gmail.com> a écrit :
> hi! > > nice, your downscaled images look impeccable :) maybe they jump up or > down by one pixel or so? > I think this is partly due to rounding errors as we multiply a width by a float factor to find the new width. Also, as we get fewer and fewer lines and colums, it may be possible that some details appear slightly moved, due to the algorithm itself. > > do you have any example result images for the denoising already? are > you running before or after black point subtraction? if you can, i > think you should run before. > For the moment, I develop the new algorithm as part of the raw denoise module, so I guess it is after black point substraction. I will consider to make it run before. You can find to before/after examples here: https://drive.google.com/open?id=18UU3AAHqyE0oE_zAvTdQbFL2i7zBAgCV Images that end with _01 are the "after". Note that only raw non local means was used to denoise these images, nothing else. It reduces both luminance and chrominance noise. Yet, this is only a preliminary result, with a basic nlm algorithm, and I have mainy ideas of improvements: - use anscombe transformation (and maybe improve it: see https://ieeexplore.ieee.org/document/7812567/) - use downscaling and upscaling to get a multiscale denoising. This should relax the constraints on the neighborhood parameter of the nlm algorithm, and would allow better denoising for very noisy image - adapt total variation to raw data so that total variation could be used to get a better patch comparison (MSE+TV), and to avoid denoising pixels which are not noisy - use MSE+TV only to get a list of 8-16 most similar patches, and use "two direction non local model" with these patches ( https://ieeexplore.ieee.org/abstract/document/6307863/). This should completely solve the "rare patch" issue that we encounter with nlm. - and of course, make this run as fast as possible for preview! So basically, a lot of work remaining, but very exciting work ;-) cheers, rawfiner > > exciting stuff :) > > cheers, > jo > > > On Wed, Sep 5, 2018 at 9:34 PM rawfiner <rawfi...@gmail.com> wrote: > > > > Hi! > > Some of you may now that I am working on a raw denoising algorithm. > > One of the hard thing was that prior to demosaic, the algorithms are > computed on unscaled data, while after demosaic the algorithms can compute > a preview on a downscaled image, which is easier in terms of speed. > > > > So I tried to downscale the raw data, to be able to use that for preview. > > There was 2 existing algorithm in darktable to do that (thank you > Johannes for showing me these algorithms!): > dt_iop_clip_and_zoom_mosaic_half_size_f for bayer files and > dt_iop_clip_and_zoom_mosaic_third_size_xtrans_f for xtrans files > > My problem was that they only allow to downscale the images by a fixed > factor (2 in the case of bayer, and 3 in the case of xtrans). > > > > So I designed an algorithm, that work on both bayer and xtrans, and that > can be used whatever the scale factor. > > The source code is available here: > > https://github.com/rawfiner/darktable/tree/rawfiner-fix-downscale-algo > > (commit 9992cf66fc8510f637e5e5f8ae26c49c2cba2eaa) > > The graphic interface in raw denoise module is just here to be able to > see the effect of the algorithm in "fit to screen" zoom mode, and to > activate or desactivate the algorithm. It allows to compare what we get by > downscaling the picture before demosaic to what we would obtain without > this downscaling. > > The first slider controls the downscaling factor (0.25 means that width > is multiplied by 0.25, thus divided by 4) > > The second slider is useless for now. > > > > I made a quick video to compare the algorithm with the existing ones, > and to explain how the algorithm work: > > https://youtu.be/oE38w1YOhNQ > > Sorry for the slow speed of speech, I am not used yet to do videos in > english ;-) > > > > You can also find some examples here: > > https://drive.google.com/open?id=19xveG0EeF2RUjlRjDTs1AA9f-TnFZe2W > > > > cheers, > > rawfiner > > > > > > > ___________________________________________________________________________ > 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 > > ___________________________________________________________________________ darktable developer mailing list to unsubscribe send a mail to darktable-dev+unsubscr...@lists.darktable.org