pub enum Algorithm {
Nlmeans(NlmeansOptions),
NlmeansHq(NlmeansHqOptions),
Nl4d(Nl4dOptions),
}Expand description
Which denoising algorithm to run.
Each variant carries its own settings, so a knob one algorithm has no use for cannot be set on it.
Variants§
Nlmeans(NlmeansOptions)
The fast NLMeans path, with fixed weighting and no noise measurement.
NlmeansHq(NlmeansHqOptions)
NLMeans with its weighting matched to the measured noise level.
This also uses a different default strength, one that adapts to
the temporal radius and the plane being denoised. See
[crate::nlmeans::hq_default_strength].
Nl4d(Nl4dOptions)
Groups 8x8 patches across the motion-compensated temporal window itself, rather than filtering with NLM first and grouping within one frame afterward.
No NLM weighting pass ever runs, so none of the NLM knobs appear
on Nl4dOptions.
Trait Implementations§
impl Copy for Algorithm
impl StructuralPartialEq for Algorithm
Auto Trait Implementations§
impl Freeze for Algorithm
impl RefUnwindSafe for Algorithm
impl Send for Algorithm
impl Sync for Algorithm
impl Unpin for Algorithm
impl UnsafeUnpin for Algorithm
impl UnwindSafe for Algorithm
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more