Skip to content

Cleanup denoising #173

Description

@sneakers-the-rat

Currently denoising consists of:

  • models
    • MinimumProjectionConfig
    • MSEDetectorConfig
    • GradientDetectorConfig
    • BlackAreaDetectorConfig
    • NoisePatchConfig
    • FrequencyMaskingConfig
    • DenoiseConfig (wraps the others)
  • process/video.py
    • NoisePatchProcessor
    • FrequencyMaskProcessor
    • PassThroughProcessor
    • MinProjSubtractProcessor
    • denoise
  • process/frame_helper.py
    • InvalidFrameDetector
    • GradientNoiseDetector
    • BlackAreaDetector
    • MSENoiseDetector
    • FrequencyMaskHelper
  • cli
    • some more stuff

I think that's it?

the processors seem to just wrap the frame helpers, so i think those two things can get collapsed.

We want to split scoring noise in frames from dropping frames for being too noisy, and the configs conflate the two, so we need to also split up the configs so that we can parameterize noise scoring separately from frame dropping.

Then we want to simplify the implementations, where there is some structure in the frame helpers and processors, but it gets pretty messy and has a decent bit of code duplication.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions