juglab / n2v

This is the implementation of Noise2Void training.
Other
387 stars 107 forks source link

Suppress noise early or later in image processing? #94

Closed JohnCraigPublic closed 4 years ago

JohnCraigPublic commented 4 years ago

In almost every image processing task, we are using operators to enhance contrast, perhaps to enhance edges. What are your thoughts on this question: should N2V be used "early in the processing" (perhaps on the original raw images) to suppress noise before it gets amplified by other image processing steps -- or should N2V be applied "last in the processing" to clean up noise that was (probably) enhanced by other processing algorithms?

tibuch commented 4 years ago

TL;DR: N2V should be the first processing step.

One of the prerequisites of Noise2Void is that the noise has zero-mean, which holds true for Gaussian or Poisson noise. The second requirement is that the noise is pixel-wise independent. As long as your processing steps do not violate any of the two requirements N2V should still work. But to be safe we would recommend to run N2V directly on the raw data coming from your imaging system. Although in some cases it makes sense to first subtract a dark-image to reduce some detector patterns.

JohnCraigPublic commented 4 years ago

Thank you.