Smooth - Patch Base


(Royi ) #1


Could anyone explain the parameters and algorithm of Smooth - Patch Based?

  1. Spatial Variance - Is it the h Parameter of the Non Local Means?
  2. Patch Variance - The original Non Local Means used Weighing Window for patches, is it the Variance of the Gaussian Window?
  3. Patch Size - Is it the size or the radius of the patch?
  4. Lookup Size - I guess this is the Search Window size. Again, is it Radius or size?
  5. Patch Smoothness - What is that?
  6. Fast Approximation - What is the approximation used?
  7. Iterations - This is clear :-).
  8. Spatial Overlap - What does it mean?

Is it based on Non Local Means?
What kind of Non Local Means is it?
Is it the [IPOL Non Local Means](http://Non-Local Means Denoising)?

Thank You.

(Pat David) #2

This is for the parallel processing. I believe it means the spatial overlap between “tiles” used to parallelize the filter.

(Royi ) #3

@patdavid, I see.
So Spatial Overlap isn’t Algorithm feature.
It is just needed to be selected large enough to allow each thread to have all its tile?
Because when it is to low, there are “Blocks”.

@David_Tschumperle, Could you put some light on other things?

Thank You.


The answers to these kind of questions can maybe be added to the G’mic wiki or G’mic help? After all, the amount of filters and options is vast, and it isn’t always easy to understand what the intention of a certain slider is.

(David Tschumperlé) #5

That’s basically the algorithm described in this paper :

It’s a kind of non-local means with an additional weighting coefficient related to spatial distances between patches that are compared together.

(Royi ) #6

@David_Tschumperle, Thank You!
Does the algorithm works in INT8 / INT16 or all values are transformed into [0, 1] 32 BIT FP?
What is “Fast Approximation”?
What is “Patch Smoothness”?

@patdavid, Could the MathJax rendering of math be enabled for the MarkDown editor?

I think I will be able to describe the algorithm.

Thank You.

(David Tschumperlé) #7
  • All computations are done in 32bits floats.
  • Fast Approximation -> Replace the gaussian function by a rectangular function, to avoid computing the exp().
  • Patch smoothness -> Compute the patch similarity on smoothed patches instead of doing it on the patches from the original image.

(Royi ) #8


So basically “Fast Approximation” makes it “Classic Non Local Means”, doesn’t it?

What about “Size”, is it the Radius or the actual size?

I will be able to write the formulas for the Wiki.

Thank You.