TuttleOFX  1
tuttle::plugin::histogramKeyer Namespace Reference

Data Structures

struct  HistogramColor
class  HistogramKeyerOverlay
class  RGBParamOverlayDescriptor
class  HSLParamOverlayDescriptor
class  HistogramKeyerOverlayDescriptor
struct  HistogramKeyerProcessParams
class  HistogramKeyerPlugin
 HistogramKeyer plugin. More...
struct  Compute_alpha_pixel
 HistogramKeyer process. More...
class  HistogramKeyerProcess
class  HSLOverlay
struct  HistogramBufferData
struct  AverageBarData
struct  Pixel_compute_histograms
class  OverlayData
class  RGBOverlay

Typedefs

typedef OfxRGBColourF Color
typedef long Number
typedef std::vector< Number,
OfxAllocator< Number > > 
HistogramVector
typedef boost::multi_array
< unsigned char,
2, OfxAllocator< unsigned char > > 
bool_2d

Enumerations

enum  ESelectedChannelHSL {
  eSelectedChannelMoreHSL, eSelectedChannelH, eSelectedChannelS, eSelectedChannelL,
  eSelectedChannelNoneHSL
}
enum  ESelectedChannelRGB {
  eSelectedChannelMoreRGB, eSelectedChannelR, eSelectedChannelG, eSelectedChannelB,
  eSelectedChannelNoneRGB
}

Functions

void displayASpecificHistogram (const HistogramVector &v, const HistogramVector &selection_v, const double step, const double height, const double width, const HistogramColor color, float selectionMultiplier)
void displayASpecificHistogramBorder (const HistogramVector &v, const double step, const double height, const double width, const HistogramColor color)
void displaySelectionPoints (const HistogramVector &selection_v, const double step, const double width, const HistogramColor color)
void displayRedIndicator (const OfxPointI size)
void displayGreenIndicator (const OfxPointI size)
void displayBlueIndicator (const OfxPointI size)
void displayLightnessIndicator (const OfxPointI size)
void displaySaturationIndicator (const OfxPointI size)
void displayHueIndicator (const OfxPointI size, int precisionHueIndicator)
void displayAverageBar (const int average, HistogramColor color, const int width, const int height, const double step)
 mDeclarePluginFactory (HistogramKeyerPluginFactory,{},{})

Variables

static const std::size_t nbCurves = 6
static const std::size_t nbCurvesRGB = 3
static const std::size_t nbCurvesHSL = 3
static const std::size_t curveFromSelection = 40
static const std::string kParamRGBColorSelection = "colorRGBSelection"
static const std::string kParamHSLColorSelection = "colorHSLSelection"
static const std::string kParamColorSelectionRed = "red"
static const std::string kParamColorSelectionGreen = "green"
static const std::string kParamColorSelectionBlue = "blue"
static const std::string kParamColorSelectionHue = "hue"
static const std::string kParamColorSelectionSaturation = "saturation"
static const std::string kParamColorSelectionLightness = "lightness"
static const std::string kGroupRGB = "RGB channels"
static const std::string kGroupRGBLabel = "Red Green Blue"
static const std::string kGroupHSL = "HSL channels"
static const std::string kGroupHSLLabel = "Hue Saturation Lightness"
static const std::string kGroupAdvanced = "Adv"
static const std::string kGroupAdvancedLabel = "Advanced"
static const std::string kGroupSelection = "Selec"
static const std::string kGroupSelectionLabel = "Selection settings"
static const std::string kGroupHistogramOverlay = "HOverlay"
static const std::string kGroupHistogramOverlayLabel = "Histogram overlay"
static const std::string kHistoDisplayListParamLabel = "Histogram adjustment "
static const std::string kHistoDisplayListParamOpt1 = "by channel"
static const std::string kHistoDisplayListParamOpt2 = "global"
static const std::string kBoolRed = "Red"
static const std::string kBoolGreen = "Green"
static const std::string kBoolBlue = "Blue"
static const std::string kBoolHue = "Hue"
static const std::string kBoolSaturation = "Saturation"
static const std::string kBoolLightness = "Lightness"
static const std::string kBoolSelection = "Display selection"
static const std::string kBoolClampValues = "Clamp curves values"
static const std::string kBoolReverseMask = "Reverse mask"
static const std::string kButtonResetSelection = "Reset Selection"
static const std::string kButtonResetSelectionLabel = "Reset selection"
static const std::string kButtonResetRGB = "Reset RGB"
static const std::string kButtonResetHSL = "Reset HSL"
static const std::string kButtonResetAll = "Reset All"
static const std::string kButtonResetRGBLabel = "Reset"
static const std::string kButtonResetHSLLabel = "Reset"
static const std::string kButtonResetAllLabel = "Reset all curves"
static const std::string kButtonSelectionToCurveRGB = "SelectionToCurveRGB"
static const std::string kButtonSelectionToCurveHSL = "SelectionToCurveHSL"
static const std::string kButtonSelectionToCurveRGBLabel = "From selection"
static const std::string kButtonSelectionToCurveHSLLabel = "From selection"
static const std::string kButtonAppendSelectionToCurveRGB = "AppendSelectionToCurveRGB"
static const std::string kButtonAppendSelectionToCurveHSL = "AppendSelectionToCurveHSL"
static const std::string kButtonAppendSelectionToCurveRGBLabel = "Append from selection"
static const std::string kButtonAppendSelectionToCurveHSLLabel = "Append from selection"
static const std::string kButtonRefreshOverlay = "RefreshOverlay"
static const std::string kButtonRefreshOverlayLabel = "Refresh overlay"
static const std::string knbStepRange = "numberOfStep"
static const std::string knbStepRangeLabel = "Number of steps "
static const std::string kprecisionCurveFromSelection = "PrecisionCurvesFromSelection"
static const std::string kprecisionCurveFromSelectionLabel = "Curves from selection precision"
static const std::string kselectionMultiplier = "SelectionMultiplier"
static const std::string kselectionMultiplierLabel = "Selection multiplier "
static const int kPrecisionHueIndicator = 360
static const std::string kOutputListParamLabel = "Output settings "
static const std::string kOutputListParamOpt1 = "alpha channel"
static const std::string kOutputListParamOpt2 = "black & white"
static const std::string kSelectionModeListParamLabel = "Selection mode"
static const std::string kSelectionModeListParamOpt1 = "unique"
static const std::string kSelectionModeListParamOpt2 = "additive"
static const std::string kSelectionModeListParamOpt3 = "subtractive"
static const std::string kGlobalDisplay = "global display"
static const OfxRGBColourF redFilling = {1.0f,0.2f,0.2f}
static const OfxRGBColourF greenFilling = {0.2f,1.0f,0.2f}
static const OfxRGBColourF blueFilling = {0.2f,0.2f,1.0f}
static const OfxRGBColourF redBorder = {0.8f,0.0f,0.0f}
static const OfxRGBColourF greenBorder = {0.0f,0.8f,0.0f}
static const OfxRGBColourF blueBorder = {0.0f,0.0f,0.8f}
static const HistogramColor redHisto = {redBorder,redFilling}
static const HistogramColor greenHisto = {greenBorder,greenFilling}
static const HistogramColor blueHisto = {blueBorder,blueFilling}
static const OfxRGBColourF averageFilling = {0.2f,0.2f,1.0f}
static const OfxRGBColourF averageBorder = {1.0f,0.84f,0.0f}
static const HistogramColor averageHisto = {averageBorder,averageFilling}
static const std::string kMultiplierLabel = "Multiplier"
static const std::string kMultiplierRed = "Red multiplier"
static const std::string kMultiplierGreen = "Green multiplier"
static const std::string kMultiplierBlue = "Blue multiplier"
static const std::string kMultiplierHue = "Hue multiplier"
static const std::string kMultiplierSaturation = "Saturation multiplier"
static const std::string kMultiplierLightness = "Lightness multiplier"
static const float kTranslationHSL = 200.0f
static const float kTranslationRGB = 200.0f
static const bool kSupportTiles = true

Typedef Documentation

typedef boost::multi_array<unsigned char,2, OfxAllocator<unsigned char> > tuttle::plugin::histogramKeyer::bool_2d

Definition at line 57 of file OverlayData.hpp.

Definition at line 18 of file OverlayData.hpp.

Definition at line 17 of file OverlayData.hpp.


Enumeration Type Documentation

Enumerator:
eSelectedChannelMoreHSL 
eSelectedChannelH 
eSelectedChannelS 
eSelectedChannelL 
eSelectedChannelNoneHSL 

Definition at line 21 of file HSLOverlay.hpp.

Enumerator:
eSelectedChannelMoreRGB 
eSelectedChannelR 
eSelectedChannelG 
eSelectedChannelB 
eSelectedChannelNoneRGB 

Definition at line 21 of file RGBOverlay.hpp.


Function Documentation

void tuttle::plugin::histogramKeyer::displayASpecificHistogram ( const HistogramVector &  v,
const HistogramVector &  selection_v,
const double  step,
const double  height,
const double  width,
const HistogramColor  color,
float  selectionMultiplier 
)

Display the given vector on screen

Parameters:
vspecific vector to display on overlay
stepstep of the display
heightmaximal height
widthmaximal width
colorcolor used to display

Definition at line 18 of file HistogramKeyerHistogramDisplay.cpp.

References tuttle::plugin::histogramKeyer::HistogramColor::_colorFill, OfxRGBColourF::b, OfxRGBColourF::g, terry::max_value(), and OfxRGBColourF::r.

Referenced by tuttle::plugin::histogramKeyer::HSLOverlay::draw(), and tuttle::plugin::histogramKeyer::RGBOverlay::draw().

Here is the call graph for this function:

void tuttle::plugin::histogramKeyer::displayASpecificHistogramBorder ( const HistogramVector &  v,
const double  step,
const double  height,
const double  width,
const HistogramColor  color 
)

Display the given vector on screen (only border)

Parameters:
vspecific vector to display on overlay
stepstep of the display
heightmaximal height
widthmaximal width
colorcolor used to display

Definition at line 57 of file HistogramKeyerHistogramDisplay.cpp.

References tuttle::plugin::histogramKeyer::HistogramColor::_colorBorder, OfxRGBColourF::b, OfxRGBColourF::g, terry::max_value(), and OfxRGBColourF::r.

Referenced by tuttle::plugin::histogramKeyer::HSLOverlay::draw(), and tuttle::plugin::histogramKeyer::RGBOverlay::draw().

Here is the call graph for this function:

void tuttle::plugin::histogramKeyer::displayAverageBar ( const int  average,
HistogramColor  color,
const int  width,
const int  height,
const double  step 
)

Display an average bar on screen

Parameters:
averageaverage of the current channel
colorcolor chosed to display
widthwidth of the image (1 into Nuke overlay)
heightheight of the image
step(image width/nbstep in histograms buffers)

Definition at line 283 of file HistogramKeyerHistogramDisplay.cpp.

References tuttle::plugin::histogramKeyer::HistogramColor::_colorBorder, OfxRGBColourF::b, OfxRGBColourF::g, and OfxRGBColourF::r.

Referenced by tuttle::plugin::histogramKeyer::HSLOverlay::draw(), and tuttle::plugin::histogramKeyer::RGBOverlay::draw().

void tuttle::plugin::histogramKeyer::displayBlueIndicator ( const OfxPointI  size)

display the green indicator (openGL)

Parameters:
sizesize of the source clip

Definition at line 160 of file HistogramKeyerHistogramDisplay.cpp.

References width, OfxPointI::x, and OfxPointI::y.

Referenced by tuttle::plugin::histogramKeyer::RGBOverlay::draw().

void tuttle::plugin::histogramKeyer::displayGreenIndicator ( const OfxPointI  size)

display the green indicator (openGL)

Parameters:
sizesize of the source clip

Definition at line 131 of file HistogramKeyerHistogramDisplay.cpp.

References width, OfxPointI::x, and OfxPointI::y.

Referenced by tuttle::plugin::histogramKeyer::RGBOverlay::draw().

void tuttle::plugin::histogramKeyer::displayHueIndicator ( const OfxPointI  size,
int  precisionHueIndicator 
)

display the hue indicator (openGL)

Parameters:
sizesize of the source clip
precisionHueIndicatornumber of step of the indicator

Definition at line 246 of file HistogramKeyerHistogramDisplay.cpp.

References boost::gil::color_convert(), kPrecisionHueIndicator, width, OfxPointI::x, and OfxPointI::y.

Referenced by tuttle::plugin::histogramKeyer::HSLOverlay::draw().

Here is the call graph for this function:

void tuttle::plugin::histogramKeyer::displayLightnessIndicator ( const OfxPointI  size)

display the lightness indicator (openGL)

Parameters:
sizesize of the source clip

Definition at line 189 of file HistogramKeyerHistogramDisplay.cpp.

References width, OfxPointI::x, and OfxPointI::y.

Referenced by tuttle::plugin::histogramKeyer::HSLOverlay::draw().

void tuttle::plugin::histogramKeyer::displayRedIndicator ( const OfxPointI  size)

display the red indicator (openGL)

Parameters:
sizesize of the source clip

Definition at line 102 of file HistogramKeyerHistogramDisplay.cpp.

References width, OfxPointI::x, and OfxPointI::y.

Referenced by tuttle::plugin::histogramKeyer::RGBOverlay::draw().

void tuttle::plugin::histogramKeyer::displaySaturationIndicator ( const OfxPointI  size)

display the saturation indicator (openGL)

Parameters:
sizesize of the source clip

Definition at line 217 of file HistogramKeyerHistogramDisplay.cpp.

References width, OfxPointI::x, and OfxPointI::y.

Referenced by tuttle::plugin::histogramKeyer::HSLOverlay::draw().

void tuttle::plugin::histogramKeyer::displaySelectionPoints ( const HistogramVector &  selection_v,
const double  step,
const double  width,
const HistogramColor  color 
)

display selection points under the histograms

Parameters:
selection_vbuffer which contains all of the selection points
stepstep for display
widthwidth of the source clip
colorcolor using for display

Definition at line 82 of file HistogramKeyerHistogramDisplay.cpp.

References tuttle::plugin::histogramKeyer::HistogramColor::_colorBorder, OfxRGBColourF::b, OfxRGBColourF::g, and OfxRGBColourF::r.

Referenced by tuttle::plugin::histogramKeyer::HSLOverlay::draw(), and tuttle::plugin::histogramKeyer::RGBOverlay::draw().

tuttle::plugin::histogramKeyer::mDeclarePluginFactory ( HistogramKeyerPluginFactory  )

Variable Documentation

Definition at line 146 of file HistogramKeyerDefinitions.hpp.

Definition at line 145 of file HistogramKeyerDefinitions.hpp.

const OfxRGBColourF tuttle::plugin::histogramKeyer::blueBorder = {0.0f,0.0f,0.8f} [static]

Definition at line 138 of file HistogramKeyerDefinitions.hpp.

Definition at line 134 of file HistogramKeyerDefinitions.hpp.

const std::size_t tuttle::plugin::histogramKeyer::curveFromSelection = 40 [static]

Definition at line 17 of file HistogramKeyerDefinitions.hpp.

Definition at line 137 of file HistogramKeyerDefinitions.hpp.

Definition at line 133 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kButtonAppendSelectionToCurveHSLLabel = "Append from selection" [static]

Definition at line 88 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kButtonAppendSelectionToCurveRGBLabel = "Append from selection" [static]

Definition at line 87 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kButtonRefreshOverlayLabel = "Refresh overlay" [static]

Definition at line 92 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kButtonResetAllLabel = "Reset all curves" [static]

Definition at line 74 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kButtonResetHSLLabel = "Reset" [static]

Definition at line 73 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kButtonResetRGBLabel = "Reset" [static]

Definition at line 72 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kButtonResetSelectionLabel = "Reset selection" [static]

Definition at line 65 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kButtonSelectionToCurveHSLLabel = "From selection" [static]

Definition at line 81 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kButtonSelectionToCurveRGBLabel = "From selection" [static]

Definition at line 80 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kGroupAdvanced = "Adv" [static]

Definition at line 34 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kGroupAdvancedLabel = "Advanced" [static]

Definition at line 35 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kGroupHistogramOverlay = "HOverlay" [static]

Definition at line 38 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kGroupHistogramOverlayLabel = "Histogram overlay" [static]

Definition at line 39 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kGroupHSL = "HSL channels" [static]

Definition at line 32 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kGroupHSLLabel = "Hue Saturation Lightness" [static]

Definition at line 33 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kGroupRGB = "RGB channels" [static]

Definition at line 30 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kGroupRGBLabel = "Red Green Blue" [static]

Definition at line 31 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kGroupSelection = "Selec" [static]

Definition at line 36 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kGroupSelectionLabel = "Selection settings" [static]

Definition at line 37 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kHistoDisplayListParamOpt1 = "by channel" [static]

Definition at line 43 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kHistoDisplayListParamOpt2 = "global" [static]

Definition at line 44 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kMultiplierLabel = "Multiplier" [static]

Definition at line 151 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::knbStepRangeLabel = "Number of steps " [static]

Definition at line 96 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kOutputListParamOpt1 = "alpha channel" [static]

Definition at line 110 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kOutputListParamOpt2 = "black & white" [static]

Definition at line 111 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kParamColorSelectionBlue = "blue" [static]

Definition at line 24 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kParamColorSelectionGreen = "green" [static]

Definition at line 23 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kParamColorSelectionHue = "hue" [static]

Definition at line 25 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kParamColorSelectionLightness = "lightness" [static]

Definition at line 27 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kParamColorSelectionRed = "red" [static]

Definition at line 22 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kParamColorSelectionSaturation = "saturation" [static]

Definition at line 26 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kprecisionCurveFromSelectionLabel = "Curves from selection precision" [static]

Definition at line 100 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kSelectionModeListParamOpt1 = "unique" [static]

Definition at line 115 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kSelectionModeListParamOpt2 = "additive" [static]

Definition at line 116 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kSelectionModeListParamOpt3 = "subtractive" [static]

Definition at line 117 of file HistogramKeyerDefinitions.hpp.

const std::string tuttle::plugin::histogramKeyer::kselectionMultiplierLabel = "Selection multiplier " [static]

Definition at line 103 of file HistogramKeyerDefinitions.hpp.

Definition at line 12 of file HistogramKeyerPluginFactory.cpp.

const float tuttle::plugin::histogramKeyer::kTranslationHSL = 200.0f [static]
Todo:
: remove when Nuke overlay option works

Definition at line 164 of file HistogramKeyerDefinitions.hpp.

Referenced by tuttle::plugin::histogramKeyer::HistogramKeyerOverlay::draw().

const std::size_t tuttle::plugin::histogramKeyer::nbCurves = 6 [static]

Definition at line 14 of file HistogramKeyerDefinitions.hpp.

const OfxRGBColourF tuttle::plugin::histogramKeyer::redBorder = {0.8f,0.0f,0.0f} [static]

Definition at line 136 of file HistogramKeyerDefinitions.hpp.

const OfxRGBColourF tuttle::plugin::histogramKeyer::redFilling = {1.0f,0.2f,0.2f} [static]

Definition at line 132 of file HistogramKeyerDefinitions.hpp.