C++ Transforms¶
Typically only needed when creating and/or manipulating configurations
- class Transform¶
- extern std::ostream& operator<< (std::ostream&, const Transform&)
- class AllocationTransform¶
Forward direction wraps the ‘expanded’ range into the specified, often compressed, range.
- static AllocationTransformRcPtr AllocationTransform::Create()¶
- TransformRcPtr AllocationTransform::createEditableCopy() const¶
- TransformDirection AllocationTransform::getDirection() const¶
- void AllocationTransform::setDirection(TransformDirection dir)¶
- Allocation AllocationTransform::getAllocation() const¶
- void AllocationTransform::setAllocation(Allocation allocation)¶
- int AllocationTransform::getNumVars() const¶
- void AllocationTransform::getVars(float* vars) const¶
- void AllocationTransform::setVars(int numvars, const float* vars)¶
- extern std::ostream& operator<< (std::ostream&, const AllocationTransform&)
- class CDLTransform¶
An implementation of the ASC CDL Transfer Functions and Interchange - Syntax (Based on the version 1.2 document)
Note
the clamping portion of the CDL is only applied if a non-identity power is specified.
- static CDLTransformRcPtr CDLTransform::Create()¶
- TransformRcPtr CDLTransform::createEditableCopy() const¶
- TransformDirection CDLTransform::getDirection() const¶
- void CDLTransform::setDirection(TransformDirection dir)¶
- bool CDLTransform::equals(const ConstCDLTransformRcPtr& other) const¶
- const char* CDLTransform::getXML() const¶
- void CDLTransform::setXML(const char* xml)¶
ASC_SOP
Slope, offset, power:
out = clamp( (in * slope) + offset ) ^ power
- void CDLTransform::setSlope(const float* rgb)¶
- void CDLTransform::getSlope(float* rgb) const¶
- void CDLTransform::setOffset(const float* rgb)¶
- void CDLTransform::getOffset(float* rgb) const¶
- void CDLTransform::setPower(const float* rgb)¶
- void CDLTransform::getPower(float* rgb) const¶
- void CDLTransform::setSOP(const float* vec9)¶
- void CDLTransform::getSOP(float* vec9) const¶
ASC_SAT
- void CDLTransform::setSat(float sat)¶
- float CDLTransform::getSat() const¶
- void CDLTransform::getSatLumaCoefs(float* rgb) const¶
These are hard-coded, by spec, to r709
Metadata
These do not affect the image processing, but are often useful for pipeline purposes and are included in the serialization.
- void CDLTransform::setID(const char* id)¶
Unique Identifier for this correction
- const char* CDLTransform::getID() const¶
- void CDLTransform::setDescription(const char* desc)¶
Textual description of color correction (stored on the SOP)
- const char* CDLTransform::getDescription() const¶
- extern std::ostream& operator<< (std::ostream&, const CDLTransform&)
- class ColorSpaceTransform¶
- static ColorSpaceTransformRcPtr ColorSpaceTransform::Create()¶
- TransformRcPtr ColorSpaceTransform::createEditableCopy() const¶
- TransformDirection ColorSpaceTransform::getDirection() const¶
- void ColorSpaceTransform::setDirection(TransformDirection dir)¶
- const char* ColorSpaceTransform::getSrc() const¶
- void ColorSpaceTransform::setSrc(const char* src)¶
- const char* ColorSpaceTransform::getDst() const¶
- void ColorSpaceTransform::setDst(const char* dst)¶
- extern std::ostream& operator<< (std::ostream&, const ColorSpaceTransform&)
- class DisplayTransform¶
- static DisplayTransformRcPtr DisplayTransform::Create()¶
- TransformRcPtr DisplayTransform::createEditableCopy() const¶
- TransformDirection DisplayTransform::getDirection() const¶
- void DisplayTransform::setDirection(TransformDirection dir)¶
- void DisplayTransform::setInputColorSpaceName(const char* name)¶
Step 0. Specify the incoming color space
- const char* DisplayTransform::getInputColorSpaceName() const¶
- void DisplayTransform::setLinearCC(const ConstTransformRcPtr& cc)¶
Step 1: Apply a Color Correction, in ROLE_SCENE_LINEAR
- ConstTransformRcPtr DisplayTransform::getLinearCC() const¶
- void DisplayTransform::setColorTimingCC(const ConstTransformRcPtr& cc)¶
Step 2: Apply a color correction, in ROLE_COLOR_TIMING
- ConstTransformRcPtr DisplayTransform::getColorTimingCC() const¶
- void DisplayTransform::setChannelView(const ConstTransformRcPtr& transform)¶
Step 3: Apply the Channel Viewing Swizzle (mtx)
- ConstTransformRcPtr DisplayTransform::getChannelView() const¶
- void DisplayTransform::setDisplayColorSpaceName(const char* name)¶
Step 4: Apply the output display transform
- const char* DisplayTransform::getDisplayColorSpaceName() const¶
- void DisplayTransform::setDisplayCC(const ConstTransformRcPtr& cc)¶
Step 5: Apply a post display transform color correction
- ConstTransformRcPtr DisplayTransform::getDisplayCC() const¶
- extern std::ostream& operator<< (std::ostream&, const DisplayTransform&)
- class ExponentTransform¶
Represents exponent transform: pow( clamp(color), value)
If the exponent is 1.0, this will not clamp. Otherwise, the input color will be clamped between [0.0, inf]
- static ExponentTransformRcPtr ExponentTransform::Create()¶
- TransformRcPtr ExponentTransform::createEditableCopy() const¶
- TransformDirection ExponentTransform::getDirection() const¶
- void ExponentTransform::setDirection(TransformDirection dir)¶
- void ExponentTransform::setValue(const float* vec4)¶
- void ExponentTransform::getValue(float* vec4) const¶
- extern std::ostream& operator<< (std::ostream&, const ExponentTransform&)
- class FileTransform¶
- static FileTransformRcPtr FileTransform::Create()¶
- TransformRcPtr FileTransform::createEditableCopy() const¶
- TransformDirection FileTransform::getDirection() const¶
- void FileTransform::setDirection(TransformDirection dir)¶
- const char* FileTransform::getSrc() const¶
- void FileTransform::setSrc(const char* src)¶
- const char* FileTransform::getCCCId() const¶
- void FileTransform::setCCCId(const char* id)¶
- Interpolation FileTransform::getInterpolation() const¶
- void FileTransform::setInterpolation(Interpolation interp)¶
- static int FileTransform::getNumFormats()¶
get the number of lut readers
- static const char* FileTransform::getFormatNameByIndex(int index)¶
get the lut readers at index, return empty string if an invalid index is specified
- extern std::ostream& operator<< (std::ostream&, const FileTransform&)
- class GroupTransform¶
- static GroupTransformRcPtr GroupTransform::Create()¶
- TransformRcPtr GroupTransform::createEditableCopy() const¶
- TransformDirection GroupTransform::getDirection() const¶
- void GroupTransform::setDirection(TransformDirection dir)¶
- ConstTransformRcPtr GroupTransform::getTransform(int index) const¶
- int GroupTransform::size() const¶
- void GroupTransform::push_back(const ConstTransformRcPtr& transform)¶
- void GroupTransform::clear()¶
- bool GroupTransform::empty() const¶
- extern std::ostream& operator<< (std::ostream&, const GroupTransform&)
- class LogTransform¶
Represents log transform: log(color, base)
- The input will be clamped for negative numbers.
- Default base is 2.0
- Only the rgb channels are affected
- static LogTransformRcPtr LogTransform::Create()¶
- TransformRcPtr LogTransform::createEditableCopy() const¶
- TransformDirection LogTransform::getDirection() const¶
- void LogTransform::setDirection(TransformDirection dir)¶
- void LogTransform::setBase(float val)¶
- float LogTransform::getBase() const¶
- extern std::ostream& operator<< (std::ostream&, const LogTransform&)
- class MatrixTransform¶
Represents an MX+B Matrix transform
- static MatrixTransformRcPtr MatrixTransform::Create()¶
- TransformRcPtr MatrixTransform::createEditableCopy() const¶
- TransformDirection MatrixTransform::getDirection() const¶
- void MatrixTransform::setDirection(TransformDirection dir)¶
- bool MatrixTransform::equals(const MatrixTransform& other) const¶
- void MatrixTransform::setValue(const float* m44, const float* offset4)¶
- void MatrixTransform::getValue(float* m44, float* offset4) const¶
Convenience functions
to get the mtx and offset corresponding to higher-level concepts
Note
These can throw an exception if for any component oldmin == oldmax. (divide by 0)
- static void MatrixTransform::Fit(float* m44, float* offset4, const float* oldmin4, const float* oldmax4, const float* newmin4, const float* newmax4)¶
- static void MatrixTransform::Identity(float* m44, float* offset4)¶
- static void MatrixTransform::Sat(float* m44, float* offset4, float sat, const float* lumaCoef3)¶
- static void MatrixTransform::Scale(float* m44, float* offset4, const float* scale4)¶
- static void MatrixTransform::View(float* m44, float* offset4, int* channelHot4, const float* lumaCoef3)¶
- extern std::ostream& operator<< (std::ostream&, const MatrixTransform&)
- class TruelightTransform¶
Truelight transform using its API
- static TruelightTransformRcPtr TruelightTransform::Create()¶
- TransformRcPtr TruelightTransform::createEditableCopy() const¶
- TransformDirection TruelightTransform::getDirection() const¶
- void TruelightTransform::setDirection(TransformDirection dir)¶
- void TruelightTransform::setConfigRoot(const char* configroot)¶
- const char* TruelightTransform::getConfigRoot() const¶
- void TruelightTransform::setProfile(const char* profile)¶
- const char* TruelightTransform::getProfile() const¶
- void TruelightTransform::setCamera(const char* camera)¶
- const char* TruelightTransform::getCamera() const¶
- void TruelightTransform::setInputDisplay(const char* display)¶
- const char* TruelightTransform::getInputDisplay() const¶
- void TruelightTransform::setRecorder(const char* recorder)¶
- const char* TruelightTransform::getRecorder() const¶
- void TruelightTransform::setPrint(const char* print)¶
- const char* TruelightTransform::getPrint() const¶
- void TruelightTransform::setLamp(const char* lamp)¶
- const char* TruelightTransform::getLamp() const¶
- void TruelightTransform::setOutputCamera(const char* camera)¶
- const char* TruelightTransform::getOutputCamera() const¶
- void TruelightTransform::setDisplay(const char* display)¶
- const char* TruelightTransform::getDisplay() const¶
- void TruelightTransform::setCubeInput(const char* type)¶
- const char* TruelightTransform::getCubeInput() const¶
- extern std::ostream& operator<< (std::ostream&, const TruelightTransform &)