MayaFlux 0.5.0
Digital-First Multimedia Processing Framework
Loading...
Searching...
No Matches
VisionOp.hpp File Reference

Declarative description of a Kinesis::Vision processing sequence. More...

+ Include dependency graph for VisionOp.hpp:
+ This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Classes

class  MayaFlux::Kinesis::Vision::VisionSequence::Builder
 Fluent builder for VisionSequence. More...
 
struct  MayaFlux::Kinesis::Vision::CannyParams
 
struct  MayaFlux::Kinesis::Vision::ConnectedComponentsParams
 
struct  MayaFlux::Kinesis::Vision::ExtractPeaksParams
 
struct  MayaFlux::Kinesis::Vision::FilterSeparableParams
 
struct  MayaFlux::Kinesis::Vision::FindContoursParams
 
struct  MayaFlux::Kinesis::Vision::GaussianBlurParams
 
struct  MayaFlux::Kinesis::Vision::HarrisParams
 
struct  MayaFlux::Kinesis::Vision::MorphParams
 
struct  MayaFlux::Kinesis::Vision::NormalizeRangeParams
 
struct  MayaFlux::Kinesis::Vision::ThresholdAdaptiveParams
 
struct  MayaFlux::Kinesis::Vision::ThresholdParams
 
struct  MayaFlux::Kinesis::Vision::TrackKeypointsParams
 
struct  MayaFlux::Kinesis::Vision::VisionSequence
 Ordered sequence of VisionSteps describing a complete vision pipeline. More...
 
struct  MayaFlux::Kinesis::Vision::VisionStep
 One step in a VisionSequence: an op and its parameters. More...
 

Namespaces

namespace  MayaFlux
 Main namespace for the Maya Flux audio engine.
 
namespace  MayaFlux::Kinesis
 
namespace  MayaFlux::Kinesis::Vision
 

Typedefs

using MayaFlux::Kinesis::Vision::VisionParams = std::variant< std::monostate, ThresholdParams, ThresholdAdaptiveParams, NormalizeRangeParams, GaussianBlurParams, FilterSeparableParams, CannyParams, MorphParams, HarrisParams, ExtractPeaksParams, TrackKeypointsParams, ConnectedComponentsParams, FindContoursParams >
 Parameter variant covering all ops that carry parameters.
 

Enumerations

enum class  MayaFlux::Kinesis::Vision::VisionOp : uint8_t {
  MayaFlux::Kinesis::Vision::RgbaToGray , MayaFlux::Kinesis::Vision::RgbaToHsv , MayaFlux::Kinesis::Vision::GrayToRgba , MayaFlux::Kinesis::Vision::Downsample2x ,
  MayaFlux::Kinesis::Vision::Threshold , MayaFlux::Kinesis::Vision::ThresholdAdaptive , MayaFlux::Kinesis::Vision::ThresholdOtsu , MayaFlux::Kinesis::Vision::NormalizeInplace ,
  MayaFlux::Kinesis::Vision::NormalizeRange , MayaFlux::Kinesis::Vision::GaussianBlur , MayaFlux::Kinesis::Vision::FilterSeparable , MayaFlux::Kinesis::Vision::Sobel ,
  MayaFlux::Kinesis::Vision::Scharr , MayaFlux::Kinesis::Vision::Canny , MayaFlux::Kinesis::Vision::Erode , MayaFlux::Kinesis::Vision::Dilate ,
  MayaFlux::Kinesis::Vision::Open , MayaFlux::Kinesis::Vision::Close , MayaFlux::Kinesis::Vision::MorphGradient , MayaFlux::Kinesis::Vision::ConnectedComponents ,
  MayaFlux::Kinesis::Vision::FindContours , MayaFlux::Kinesis::Vision::HarrisResponse , MayaFlux::Kinesis::Vision::ExtractPeaks , MayaFlux::Kinesis::Vision::TrackKeypoints ,
  MayaFlux::Kinesis::Vision::Snapshot
}
 Named operations available in a VisionSequence. More...
 

Functions

void MayaFlux::Kinesis::Vision::hash_combine (size_t &seed, size_t value)
 Combine a hash into an existing seed, FNV-style.
 
size_t MayaFlux::Kinesis::Vision::hash_vision_step (VisionOp op, const VisionParams &params)
 Hash a VisionStep's op and parameters together.
 

Detailed Description

Declarative description of a Kinesis::Vision processing sequence.

VisionStep names one operation and carries the parameters needed to invoke it. VisionSequence is an ordered list of steps. Both are pure value types with no MayaFlux dependencies.

Processors (VisionDataProcessor, VisionBufferProcessor) accept a VisionSequence at construction and execute it each cycle without knowing which specific algorithms are involved. No per-algorithm processor subclass is needed.

Definition in file VisionOp.hpp.