- nl_means_layered(im, cores=None, axis=0, patch_size=5, patch_distance=15, h=4)¶
Apply the non-local means filter to each 2D layer of a stack in parallel.
skimage.restoration.denoise_nl_meansto each slice, so refer to the documentation of that function for further information.
im (ndarray) – The greyscale image with noise to be removed
cores (int (optional)) – The number of cores to use for the processing. By default all available cores are used.
axis (int) – The axis along which slices should be taken. This should correspond to the axis of rotation of the tomography stage, so if the sample was rotated about the z-axis, then use
patch_size (int) – Size of patches used for denoising
patch_distance (int) – Maximal distance in pixels where to search patches used for denoising.
h (float) – Cut-off distance (in gray levels). The higher
h, the more permissive one is in accepting patches. A higher h results in a smoother image, at the expense of blurring features. For a Gaussian noise of standard deviation sigma, a rule of thumb is to choose the value of
hto be sigma of slightly less.
The quality of the result depends on
sigma. It is recommended to experiment with a single slice first until a suitable set of parameters is found.
Each slice in the stack is adjusted to have the same histogram and intensity.