Non-local Means does not work correctly in 16 bits?

classic Classic list List threaded Threaded
1 message Options
Reply | Threaded
Open this post in threaded view

Non-local Means does not work correctly in 16 bits?

Sidnei Paciornik
Dear colleagues,

I found a peculiar behavior for the Non-Local Means filter (
<>) and I am not sure it is a
characteristic or a bug.

I have this approx. 1000x1000 16-bit image obtained by x-ray microCT. It
has a dark (zero value) edge all around.

I applied the Non_Local_Means filter always using the “Auto estimate sigma”
option. I tested it on the full image and in square ROI´s, both at 16-bit
and after converting to 8-bit.

I found out that at 16-bit the result depended strongly on ROI size. For
the full image there was no visible effect of the filter. As the ROI got
smaller the filter worked but left many artifacts except for the smallest
ROI (approx 200 x 200 pixels). When operating at 8-bit the ROI size had
little effect. In fact, even the full image was nicely denoised, although
some artifacts are visible.

At 16-bit the result was always worse than at 8-bit except for the smallest
ROI, for which both results were visually similar.

Any suggestions?

Thank you!

ImageJ mailing list: