CaptureMoment 0.1.0
Free and open-source non-destructive photo editor
Loading...
Searching...
No Matches
CaptureMoment::Core::Operations Namespace Reference

Classes

interface  IOperation
 Abstract base class for all image processing algorithms. More...
 
interface  IOperationFusionLogic
 Interface for providing the Halide fusion logic of an operation. More...
 
interface  ISingleOperation
 Abstract base class for all single image processing algorithms. More...
 
class  OperationBlacks
 Adjusts the black point of an image region. More...
 
class  OperationBrightness
 Adjusts the brightness of an image region. More...
 
class  OperationContrast
 Adjusts the contrast of an image region. More...
 
struct  OperationDescriptor
 A universal container for operation settings with unique identifier. More...
 
class  OperationFactory
 Factory Pattern - creates operations from OperationDescriptor. More...
 
class  OperationHighlights
 Adjusts the highlight tones of an image region. More...
 
struct  OperationRanges
 Centralized definition of value ranges and default values for different operations using consteval. This struct provides consteval functions for the valid input ranges (minimum and maximum) and the default value for various image operations, ensuring consistency and compile-time evaluation. These values represent the logical constraints of the operations within the core engine. More...
 
class  OperationRegistry
 Manages registration of all available operations. More...
 
class  OperationShadows
 Adjusts the shadow tones of an image region. More...
 
class  OperationWhites
 Adjusts the white point of an image region. More...
 

Typedefs

using OperationValue = std::variant<float, int, bool, std::string>
 Supported types for operation parameters. Using variant instead of std::any for compile-time type safety and performance.
 

Enumerations

enum class  OperationType : uint8_t {
  Exposure , Brightness , Contrast , Highlights ,
  Shadows , Whites , Blacks , Saturation
}
 Identifies the type of an image processing operation. More...
 

Functions

template<typename InputType >
Halide::Func applyBlacksAdjustment (const InputType &input, const Halide::Param< float > &param_blacks, const Halide::Var &x, const Halide::Var &y, const Halide::Var &c)
 
template<typename InputType >
Halide::Func applyBrightnessAdjustment (const InputType &input, const Halide::Param< float > &param_brightness, const Halide::Var &x, const Halide::Var &y, const Halide::Var &c)
 
template<typename InputType >
Halide::Func applyContrastAdjustment (const InputType &input, const Halide::Param< float > &param_contrast, const Halide::Var &x, const Halide::Var &y, const Halide::Var &c)
 
template<typename InputType >
Halide::Func applyHighlightsAdjustment (const InputType &input, const Halide::Param< float > &param_highlights, const Halide::Var &x, const Halide::Var &y, const Halide::Var &c)
 
template<typename InputType >
Halide::Func applyShadowsAdjustment (const InputType &input, const Halide::Param< float > &param_shadows, const Halide::Var &x, const Halide::Var &y, const Halide::Var &c)
 
template<typename InputType >
Halide::Func applyWhitesAdjustment (const InputType &input, const Halide::Param< float > &param_whites, const Halide::Var &x, const Halide::Var &y, const Halide::Var &c)
 

Typedef Documentation

◆ OperationValue

using CaptureMoment::Core::Operations::OperationValue = std::variant<float, int, bool, std::string>

Supported types for operation parameters. Using variant instead of std::any for compile-time type safety and performance.

Definition at line 28 of file operation_descriptor.h.

Enumeration Type Documentation

◆ OperationType

Identifies the type of an image processing operation.

  • This enum acts as a registry for all available operations in the system. It is used by the UI to list available tools and by the processing engine to instantiate the correct IOperation implementation.
Enumerator
Exposure 

Exposure adjustment (EV based). Simulates changing the exposure time or aperture.

Brightness 

Brightness adjustment (Additive). Adds a constant value to all pixels. Use sparingly as it can wash out blacks.

Contrast 

Contrast adjustment (Multiplicative around a midpoint). Expands or compresses the dynamic range around gray.

Highlights 

Highlights adjustment. Adjusts the luminosity of the brightest areas of the image. Increasing highlights brightens the bright tones. Decreasing highlights darkens the bright tones.

Shadows 

Shadows adjustment. Adjusts the luminosity of the darkest areas of the image. Increasing shadows brightens the dark tones. Decreasing shadows darkens the dark tones.

Whites 

Whites adjustment. Adjusts the luminosity of the white point of the image. Increasing whites makes the brightest areas brighter. Decreasing whites makes the brightest areas darker.

Blacks 

Blacks adjustment. Adjusts the luminosity of the black point of the image. Increasing blacks makes the darkest areas brighter. Decreasing blacks makes the darkest areas darker.

Saturation 

Saturation adjustment (Color intensity). Modifies the vividness of colors without affecting luminance.

Definition at line 21 of file operation_type.h.

Function Documentation

◆ applyBlacksAdjustment()

template<typename InputType >
Halide::Func CaptureMoment::Core::Operations::applyBlacksAdjustment ( const InputType & input,
const Halide::Param< float > & param_blacks,
const Halide::Var & x,
const Halide::Var & y,
const Halide::Var & c )

◆ applyBrightnessAdjustment()

template<typename InputType >
Halide::Func CaptureMoment::Core::Operations::applyBrightnessAdjustment ( const InputType & input,
const Halide::Param< float > & param_brightness,
const Halide::Var & x,
const Halide::Var & y,
const Halide::Var & c )

◆ applyContrastAdjustment()

template<typename InputType >
Halide::Func CaptureMoment::Core::Operations::applyContrastAdjustment ( const InputType & input,
const Halide::Param< float > & param_contrast,
const Halide::Var & x,
const Halide::Var & y,
const Halide::Var & c )

◆ applyHighlightsAdjustment()

template<typename InputType >
Halide::Func CaptureMoment::Core::Operations::applyHighlightsAdjustment ( const InputType & input,
const Halide::Param< float > & param_highlights,
const Halide::Var & x,
const Halide::Var & y,
const Halide::Var & c )

◆ applyShadowsAdjustment()

template<typename InputType >
Halide::Func CaptureMoment::Core::Operations::applyShadowsAdjustment ( const InputType & input,
const Halide::Param< float > & param_shadows,
const Halide::Var & x,
const Halide::Var & y,
const Halide::Var & c )

◆ applyWhitesAdjustment()

template<typename InputType >
Halide::Func CaptureMoment::Core::Operations::applyWhitesAdjustment ( const InputType & input,
const Halide::Param< float > & param_whites,
const Halide::Var & x,
const Halide::Var & y,
const Halide::Var & c )
CaptureMoment — footer