public class ROF_Denoise extends Object implements ij.plugin.filter.PlugInFilter
For the included image, a fairly good result is obtained by using a theta value around 12-16. A possible addition would be to analyze the residual with an entropy function and add back areas that have a lower entropy, i.e. there are some correlation between the surrounding pixels.
Based on the Matlab code by Philippe Magiera and Carl Londahl.
Modifier and Type | Field and Description |
---|---|
protected ij.ImagePlus |
image |
CONVERT_TO_FLOAT, DOES_16, DOES_32, DOES_8C, DOES_8G, DOES_ALL, DOES_RGB, DOES_STACKS, DONE, FINAL_PROCESSING, KEEP_THRESHOLD, NO_CHANGES, NO_IMAGE_REQUIRED, NO_UNDO, NO_UNDO_RESET, PARALLELIZE_IMAGES, PARALLELIZE_STACKS, ROI_REQUIRED, SNAPSHOT, STACK_REQUIRED, SUPPORTS_MASKING
Constructor and Description |
---|
ROF_Denoise() |
Modifier and Type | Method and Description |
---|---|
static void |
denoise(ij.process.FloatProcessor ip,
float theta) |
static void |
denoise(ij.process.FloatProcessor ip,
float theta,
float g,
float dt,
int iterations) |
void |
run(ij.process.ImageProcessor ip)
This method is run when the current image was accepted.
|
int |
setup(String arg,
ij.ImagePlus image)
This method gets called by ImageJ / Fiji to determine
whether the current image is of an appropriate type.
|
public int setup(String arg, ij.ImagePlus image)
setup
in interface ij.plugin.filter.PlugInFilter
arg
- can be specified in plugins.configimage
- is the currently opened imagepublic void run(ij.process.ImageProcessor ip)
run
in interface ij.plugin.filter.PlugInFilter
ip
- is the current slice (typically, plugins use
the ImagePlus set above instead).public static void denoise(ij.process.FloatProcessor ip, float theta)
public static void denoise(ij.process.FloatProcessor ip, float theta, float g, float dt, int iterations)
Copyright © 2015–2021 Fiji. All rights reserved.