IccMAX 2.1.27
Color Profile Tools
|
#include "IccIO.h"
#include "IccUtil.h"
#include "IccTagFactory.h"
#include "IccStructFactory.h"
#include "IccArrayFactory.h"
#include "IccMpeFactory.h"
#include <stdlib.h>
#include <memory.h>
#include <ctype.h>
#include <math.h>
#include <string.h>
#include <time.h>
Go to the source code of this file.
Macros | |
#define | DUMPBYTESPERLINE 16 |
#define | PI 3.1415926535897932384626433832795 |
Variables | |
ICCPROFLIB_API icFloatNumber | icD50XYZ [3] = { 0.9642f, 1.0000f, 0.8249f } |
ICCPROFLIB_API icFloatNumber | icD50XYZxx [3] = { 96.42f, 100.00f, 82.49f } |
ICCPROFLIB_API const char * | icMsgValidateCriticalError = "Error! - " |
ICCPROFLIB_API const char * | icMsgValidateInformation = "Information - " |
ICCPROFLIB_API const char * | icMsgValidateNonCompliant = "NonCompliant! - " |
ICCPROFLIB_API const char * | icMsgValidateWarning = "Warning! - " |
#define DUMPBYTESPERLINE 16 |
#define PI 3.1415926535897932384626433832795 |
icUInt8Number icABtoU8 | ( | icFloatNumber | num | ) |
void icColorIndexName | ( | icChar * | szName, |
icColorSpaceSignature | csSig, | ||
int | nIndex, | ||
int | nColors, | ||
const icChar * | szUnknown | ||
) |
Referenced by CIccTagNamedColor2::Describe(), CIccMBB::Describe(), and CIccCLUT::DumpLut().
void icColorValue | ( | icChar * | szValue, |
icFloatNumber | nValue, | ||
icColorSpaceSignature | csSig, | ||
int | nIndex, | ||
bool | bUseLegacy | ||
) |
References icSigLabData.
Referenced by CIccTagNamedColor2::Describe(), CIccTagCurve::Describe(), CIccCLUT::DumpLut(), CIccTagCurve::DumpLut(), and CIccCLUT::Iterate().
icFloatNumber icCubeth | ( | icFloatNumber | v | ) |
Referenced by CIccOpDefToLab::Exec(), and icXYZtoLab().
icFloatNumber icDeltaE | ( | const icFloatNumber * | lab1, |
const icFloatNumber * | lab2 | ||
) |
References icSq().
Referenced by CIccMinMaxEval::Compare(), CIccPRMG::EvaluateProfile(), CIccTagNamedColor2::FindCachedPCSColor(), and CIccArrayNamedColor::FindPcsColor().
void icDeNormXyz | ( | icFloatNumber * | XYZ, |
icFloatNumber * | WhiteXYZ | ||
) |
icS15Fixed16Number icDtoF | ( | icFloatNumber | num | ) |
References icRoundOffset().
Referenced by CIccTagLut16::CIccTagLut16(), CIccTagLut8::CIccTagLut8(), CIccDefaultEncProfileConverter::ConvertFromParams(), main(), CIccProfileXml::ParseBasic(), CIccTagXmlXYZ::ParseXml(), CIccTagXmlFixedNum< T, Tsig >::ParseXml(), CIccTagXmlMeasurement::ParseXml(), CIccTagXmlViewingConditions::ParseXml(), CIccTagXmlResponseCurveSet16::ParseXml(), CIccTagLut8::SetColorSpaces(), CIccTagLut16::SetColorSpaces(), CIccTagParametricCurve::Write(), CIccTagLutAtoB::Write(), CIccTagLut8::Write(), and CIccTagLut16::Write().
icU8Fixed8Number icDtoUCF | ( | icFloatNumber | num | ) |
References icRoundOffset().
icU16Fixed16Number icDtoUF | ( | icFloatNumber | num | ) |
References icRoundOffset().
Referenced by CIccTagXmlChromaticity::ParseXml(), CIccTagXmlFixedNum< T, Tsig >::ParseXml(), and CIccTagChromaticity::Validate().
icU1Fixed15Number icDtoUSF | ( | icFloatNumber | num | ) |
References icRoundOffset().
icFloatNumber ICCPROFLIB_API icF16toF | ( | icFloat16Number | num | ) |
Referenced by CIccInfo::CheckData(), CIccMpeSpectralMatrix::Describe(), CIccMpeSpectralObserver::Describe(), CIccTagSpectralDataInfo::Describe(), CIccTagSpectralViewingConditions::Describe(), CIccTagEmbeddedProfile::Describe(), CIccSparseMatrixFloat16::get(), main(), main(), CIccSampledCurveSegmentXml::ParseXml(), CIccSinglSampledeCurveXml::ParseXml(), CIccIO::ReadFloat16Float(), CIccMatrixMath::SetRange(), CIccMpeXmlEmissionMatrix::ToXml(), CIccMpeXmlInvEmissionMatrix::ToXml(), CIccMpeXmlEmissionCLUT::ToXml(), CIccMpeXmlReflectanceCLUT::ToXml(), CIccMpeXmlEmissionObserver::ToXml(), CIccMpeXmlReflectanceObserver::ToXml(), CIccTagXmlSpectralDataInfo::ToXml(), CIccTagXmlSpectralViewingConditions::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
icFloatNumber icFtoD | ( | icS15Fixed16Number | num | ) |
Referenced by CIccTagXYZ::Describe(), CIccTagMeasurement::Describe(), CIccTagViewingConditions::Describe(), CIccResponseCurveStruct::Describe(), CIccTagEmbeddedProfile::Describe(), icIsS15Fixed16NumberNear(), icMatrixDump(), main(), CIccTagParametricCurve::Read(), CIccTagLutAtoB::Read(), CIccTagLut8::SetColorSpaces(), CIccTagLut16::SetColorSpaces(), CIccTagXmlXYZ::ToXml(), CIccTagXmlMeasurement::ToXml(), CIccTagXmlViewingConditions::ToXml(), CIccTagXmlResponseCurveSet16::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
icFloat16Number ICCPROFLIB_API icFtoF16 | ( | icFloat32Number | num | ) |
Referenced by CIccProfileXml::ParseBasic(), CIccMpeXmlEmissionMatrix::ParseXml(), CIccMpeXmlInvEmissionMatrix::ParseXml(), CIccMpeXmlEmissionCLUT::ParseXml(), CIccMpeXmlReflectanceCLUT::ParseXml(), CIccMpeXmlEmissionObserver::ParseXml(), CIccMpeXmlReflectanceObserver::ParseXml(), CIccTagXmlSpectralDataInfo::ParseXml(), CIccTagXmlSpectralViewingConditions::ParseXml(), CIccSparseMatrixFloat16::set(), and CIccIO::WriteFloat16Float().
icUInt16Number icFtoU16 | ( | icFloatNumber | num | ) |
References icRoundOffset().
Referenced by CIccTagXmlColorantTable::ParseXml().
icUInt8Number icFtoU8 | ( | icFloatNumber | num | ) |
References icRoundOffset().
const icChar * icGet16bitSig | ( | icChar * | pBuf, |
icUInt16Number | nSig, | ||
bool | bGetHexVal | ||
) |
const icChar * icGetColorSig | ( | icChar * | pBuf, |
icUInt32Number | nSig, | ||
bool | bGetHexVal | ||
) |
References icSigBiSpectralReflectanceData, icSigNChannelData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigSparseMatrixReflectanceData, and icSigTransmisionSpectralData.
Referenced by CIccCfgColorData::toLegacy().
const icChar * icGetColorSigStr | ( | icChar * | pBuf, |
icUInt32Number | nSig | ||
) |
References icSigBiSpectralReflectanceData, icSigNChannelData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigSparseMatrixReflectanceData, and icSigTransmisionSpectralData.
Referenced by CIccTagSpectralDataInfo::Describe(), CIccCfgDataApply::toJson(), CIccCfgColorData::toJson(), CIccTagXmlSpectralDataInfo::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
icSignature icGetFirstSigPathSig | ( | std::string | sigPath | ) |
References icGetSigVal(), and icSigEmbeddedV5ProfileTag.
Referenced by CIccMBB::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccTagText::Validate(), CIccTagSignature::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagColorantTable::Validate(), CIccTagSpectralDataInfo::Validate(), CIccTagArray::Validate(), CIccTagCurve::Validate(), CIccTagParametricCurve::Validate(), CIccMatrix::Validate(), CIccCLUT::Validate(), and CIccTagMultiProcessElement::Validate().
icSignature icGetLastSigPathSig | ( | std::string | sigPath | ) |
References icGetSigVal().
icUInt32Number icGetMaterialColorSpaceSamples | ( | icMaterialColorSignature | sig | ) |
References icSigSrcMCSChannelData.
Referenced by CIccTagNum< T, Tsig >::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagArray::Validate(), and CIccTagMultiProcessElement::Validate().
icSignature icGetSecondSigPathSig | ( | std::string | sigPath | ) |
References icGetSigVal().
Referenced by CIccTagSparseMatrixArray::Validate().
const icChar * icGetSig | ( | icChar * | pBuf, |
icUInt32Number | nSig, | ||
bool | bGetHexVal | ||
) |
Referenced by SIccCalcOp::Describe(), CIccMpeAcs::Describe(), CIccTagProfileSeqDesc::Describe(), CIccTagEmbeddedProfile::Describe(), CIccMpeUnknown::Describe(), DumpTag(), CIccBasicMpeFactory::GetElementSigName(), CIccInfo::GetUnknownName(), main(), and CIccMpeUnknown::Validate().
std::string icGetSigPath | ( | icUInt32Number | nSig | ) |
References icGetSigStr().
Referenced by CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccArrayUnknown::Validate(), CIccArrayColorantInfo::Validate(), CIccStructUnknown::Validate(), CIccTagColorantOrder::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagStruct::Validate(), CIccTagArray::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagProfileSequenceId::Validate(), CIccSegmentedCurve::Validate(), CIccMpeCurveSet::Validate(), CIccMpeTintArray::Validate(), CIccMpeToneMap::Validate(), CIccMpeMatrix::Validate(), CIccMpeCLUT::Validate(), CIccMpeExtCLUT::Validate(), CIccMpeCalculator::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeInvEmissionMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralObserver::Validate(), and CIccMultiProcessElement::Validate().
const icChar * icGetSigStr | ( | icChar * | pBuf, |
icUInt32Number | nSig | ||
) |
Referenced by SIccCalcOp::Describe(), CIccBasicArrayFactory::GetArraySigName(), CIccBasicStructFactory::GetStructSigName(), icGetSigPath(), icProfDescToXml(), jsonFromEnvMap(), CIccMpeXmlUnknown::ToXml(), CIccMpeXmlTintArray::ToXml(), CIccMpeXmlBAcs::ToXml(), CIccMpeXmlEAcs::ToXml(), CIccTagXmlTextDescription::ToXml(), CIccTagXmlSignature::ToXml(), CIccTagXmlMultiLocalizedUnicode::ToXml(), CIccTagXmlProfileSequenceId::ToXml(), CIccTagXmlDict::ToXml(), CIccTagXmlStruct::ToXml(), CIccTagXmlArray::ToXml(), and CIccProfileXml::ToXmlWithBlanks().
icUInt32Number icGetSigVal | ( | const icChar * | pBuf | ) |
Referenced by CIccCfgProfileSequence::fromArgs(), CIccCfgColorData::fromLegacy(), CIccInfo::GetSigPathName(), icGetFirstSigPathSig(), icGetLastSigPathSig(), icGetSecondSigPathSig(), icXmlGetChildSigVal(), icXmlStrToSig(), jsonToColorSpace(), jsonToValue(), main(), main(), CIccProfileXml::ParseTag(), CIccTagXmlStruct::ParseTag(), CIccMpeXmlTintArray::ParseXml(), CIccTagXmlUnknown::ParseXml(), CIccTagXmlSignature::ParseXml(), CIccTagXmlMultiLocalizedUnicode::ParseXml(), CIccTagXmlSpectralDataInfo::ParseXml(), CIccTagXmlProfileSequenceId::ParseXml(), CIccTagXmlDict::ParseXml(), CIccTagXmlStruct::ParseXml(), and CIccTagXmlArray::ParseXml().
icUInt32Number icGetSpaceSamples | ( | icColorSpaceSignature | sig | ) |
References icHexDigit(), icSig2colorData, icSig3colorData, icSig4colorData, icSigBiSpectralReflectanceData, icSigCmyData, icSigCmykData, icSigGrayData, icSigHlsData, icSigHsvData, icSigLabData, icSigLuvData, icSigNChannelData, icSigRadiantSpectralData, icSigReflectanceSpectralData, icSigRgbData, icSigSparseMatrixReflectanceData, icSigSrcMCSChannelData, icSigTransmisionSpectralData, icSigXYZData, icSigYCbCrData, and icSigYxyData.
Referenced by CIccCfgColorData::addFields(), CCubeWriter::begin(), CDevLinkWriter::begin(), CIccApplyBPC::calcSrcBlackPoint(), CIccEvalCompare::EvaluateProfile(), CIccCfgColorData::fromLegacy(), CIccInfo::GetColorSpaceSigName(), icGetSpectralSpaceSamples(), IsValidBitmapType(), IsValidColorType(), main(), main(), main(), CIccArrayNamedColor::SetColorSpaces(), CIccCfgColorData::spaceName(), CIccMBB::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccTagNamedColor2::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagResponseCurveSet16::Validate(), and CIccTagMultiProcessElement::Validate().
icUInt32Number icGetSpectralSpaceSamples | ( | const icHeader * | pHdr | ) |
References icGetSpaceSamples(), icHeader::pcs, and icHeader::spectralPCS.
Referenced by CIccTagMultiProcessElement::Validate().
icUInt8Number icGetStorageTypeBytes | ( | icUInt16Number | nStorageType | ) |
References icValueTypeFloat16, icValueTypeFloat32, icValueTypeUInt16, and icValueTypeUInt8.
Referenced by CIccMpeExtCLUT::Read(), and CIccMpeSpectralCLUT::Read().
|
static |
Referenced by icGetSpaceSamples(), and icIsSpaceCLR().
icFloatNumber icICubeth | ( | icFloatNumber | v | ) |
Referenced by CIccOpDefFromLab::Exec(), and icLabtoXYZ().
icUInt32Number icIntMax | ( | icUInt32Number | v1, |
icUInt32Number | v2 | ||
) |
Referenced by CIccCalculatorFunc::CheckUnderflowOverflow(), main(), and main().
icUInt32Number icIntMin | ( | icUInt32Number | v1, |
icUInt32Number | v2 | ||
) |
Referenced by CIccCalculatorFunc::CheckUnderflowOverflow(), CIccCalculatorFunc::DescribeSequence(), CIccMpeXmlCalculator::ParseXml(), CIccCalculatorFunc::SequenceNeedTempReset(), and CIccToneMapFunc::SetFunction().
bool icIsIllumD50 | ( | icXYZNumber | xyz | ) |
References icIsS15Fixed16NumberNear(), icXYZNumber::X, icXYZNumber::Y, and icXYZNumber::Z.
bool icIsNear | ( | icFloatNumber | v1, |
icFloatNumber | v2, | ||
icFloatNumber | nearRange | ||
) |
Name: icIsNear
Purpose: Checks if two numbers are close to each other in value
Args: v1 - first value v2 - second value range -
Return: true if v1 is near v2 within range
Referenced by CIccFormulaCurveSegment::Begin(), CCubeWriter::begin(), CDevLinkWriter::begin(), CIccFormulaCurveSegment::Describe(), CubeFile::isCustomInputRange(), and CIccTagSpectralViewingConditions::setIlluminant().
|
static |
References icFtoD().
Referenced by icIsIllumD50().
bool icIsSpaceCLR | ( | icColorSpaceSignature | sig | ) |
References icHexDigit().
Referenced by CDevLinkWriter::begin().
void icLab2Lch | ( | icFloatNumber * | Lch, |
icFloatNumber * | Lab | ||
) |
Referenced by CIccPRMG::InGamut().
void icLabFromPcs | ( | icFloatNumber * | Lab | ) |
Here are some conversion routines to convert to regular Lab encoding.
Floating point encoding of Lab in PCS is in range 0.0 to 1.0
Referenced by CIccTagColorantTable::Describe(), CIccPRMG::EvaluateProfile(), CIccEvalCompare::EvaluateProfile(), CIccTagNamedColor2::FindCachedPCSColor(), CIccTagNamedColor2::InitFindCachedPCSColor(), main(), CIccApplyBPC::pcs2lab(), CIccTagXmlNamedColor2::ToXml(), and CIccTagXmlColorantTable::ToXml().
void icLabToPcs | ( | icFloatNumber * | Lab | ) |
Referenced by CIccApplyBPC::lab2pcs(), main(), CIccTagXmlNamedColor2::ParseXml(), and CIccTagXmlColorantTable::ParseXml().
void icLabtoXYZ | ( | icFloatNumber * | XYZ, |
const icFloatNumber * | Lab, | ||
const icFloatNumber * | WhiteXYZ | ||
) |
References icD50XYZ, and icICubeth().
Referenced by CIccApplyBPC::calcDstBlackPoint(), CIccApplyBPC::calcSrcBlackPoint(), CIccApplyBPC::lab2pcs(), and main().
void icLch2Lab | ( | icFloatNumber * | Lab, |
icFloatNumber * | Lch | ||
) |
void icMatrixDump | ( | std::string & | sDump, |
icS15Fixed16Number * | pMatrix | ||
) |
References icFtoD().
Referenced by CIccTagFixedNum< T, Tsig >::Describe().
bool icMatrixInvert3x3 | ( | icFloatNumber * | M | ) |
Name: icMatrixInvert3x3
Purpose: Inversion of a 3x3 matrix using the Adjoint Cofactor and the determinant of the 3x3 matrix.
Note: Matrix index positions: 0 1 2 3 4 5 6 7 8
Args: M = matrix to invert.
Return: true = matrix is invertible and stored back into M, false = matrix is not invertible.
Referenced by CIccDefaultEncProfileConverter::ConvertFromParams(), CIccMatrixMath::Invert(), CIccSimpleMatrixInverter::Invert(), and CIccSimpleMatrixSolver::Solve().
void icMatrixMultiply3x3 | ( | icFloatNumber * | result, |
const icFloatNumber * | l, | ||
const icFloatNumber * | r | ||
) |
Name: icMatrixMultiply3x3
Purpose: Multiply two 3x3 matricies resulting in a 3x3 matrix.
Note: Matrix index positions: 0 1 2 3 4 5 6 7 8
Args: result = matrix to recieve result. l = left matrix to multiply (matrix multiplication is order dependent) r = right matrix to multiply (matrix multiplicaiton is order dependent)
icFloatNumber icMax | ( | icFloatNumber | v1, |
icFloatNumber | v2 | ||
) |
Referenced by CIccFormulaCurveSegment::Apply(), CIccOpDefMaximum::Exec(), and CIccOpDefVectorMaximum::Exec().
icValidateStatus icMaxStatus | ( | icValidateStatus | s1, |
icValidateStatus | s2 | ||
) |
Name: icMaxStatus
Purpose: return worst status
Args: s1, s2
Return:
Referenced by CIccInfo::CheckData(), CIccInfo::CheckData(), CIccInfo::CheckData(), CIccInfo::CheckData(), main(), CIccToneMapFunc::Validate(), CIccResponseCurveStruct::Validate(), CIccStructNamedColor::Validate(), CIccTagGamutBoundaryDesc::Validate(), CIccMBB::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccArrayUnknown::Validate(), CIccArrayColorantInfo::Validate(), CIccArrayNamedColor::Validate(), CIccStructUnknown::Validate(), CIccStructBRDF::Validate(), CIccStructColorantInfo::Validate(), CIccTagText::Validate(), CIccTagUtf8Text::Validate(), CIccTagZipUtf8Text::Validate(), CIccTagUtf16Text::Validate(), CIccTagTextDescription::Validate(), CIccTagSignature::Validate(), CIccTagNamedColor2::Validate(), CIccTagXYZ::Validate(), CIccTagChromaticity::Validate(), CIccTagCicp::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagMeasurement::Validate(), CIccTagMultiLocalizedUnicode::Validate(), CIccTagData::Validate(), CIccTagDateTime::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagViewingConditions::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagResponseCurveSet16::Validate(), CIccTagSpectralDataInfo::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccTagEmbeddedHeightImage::Validate(), CIccTagEmbeddedNormalImage::Validate(), CIccTagStruct::Validate(), CIccTagArray::Validate(), CIccTagDict::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagCurve::Validate(), CIccTagParametricCurve::Validate(), CIccCLUT::Validate(), CIccTagMultiProcessElement::Validate(), CIccTagProfileSequenceId::Validate(), CIccFormulaCurveSegment::Validate(), CIccSampledCurveSegment::Validate(), CIccSegmentedCurve::Validate(), CIccSingleSampledCurve::Validate(), CIccSampledCalculatorCurve::Validate(), CIccMpeCurveSet::Validate(), CIccMpeToneMap::Validate(), CIccMpeCAM::Validate(), CIccMpeCalculator::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeInvEmissionMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralObserver::Validate(), ValidateIccProfile(), and ValidateIccProfile().
void icMemDump | ( | std::string & | sDump, |
void * | pBuf, | ||
icUInt32Number | nNum | ||
) |
Referenced by MyTagDialog::MyTagDialog(), CIccMpeAcs::Describe(), CIccTagUnknown::Describe(), CIccTagZipUtf8Text::Describe(), CIccTagData::Describe(), and CIccMpeUnknown::Describe().
icFloatNumber icMin | ( | icFloatNumber | v1, |
icFloatNumber | v2 | ||
) |
Referenced by CIccEvalCompare::EvaluateProfile(), CIccOpDefMinimum::Exec(), and CIccOpDefVectorMinimum::Exec().
void icNormXyz | ( | icFloatNumber * | XYZ, |
icFloatNumber * | WhiteXYZ | ||
) |
void * icRealloc | ( | void * | ptr, |
size_t | size | ||
) |
Name: icRealloc
Purpose: realloc memory allocated by malloc or calloc freeing old memory on failure.
Args: ptr - memory block to realloc size - new size of memory block
Return: pointer to reallocated memory block or NULL on failure. Old memory is released on error.
Referenced by CIccTagZipUtf8Text::AllocBuffer(), CIccUTF16String::FromUtf8(), CIccTagText::GetBuffer(), CIccTagUtf8Text::GetBuffer(), CIccTagUtf16Text::GetBuffer(), CIccTagTextDescription::GetBuffer(), CIccTagTextDescription::GetUnicodeBuffer(), CIccUTF16String::operator=(), CIccUTF16String::operator=(), CIccTagDict::Read(), CIccTagText::Release(), CIccTagUtf8Text::Release(), CIccTagUtf16Text::Release(), CIccTagTextDescription::Release(), CIccTagTextDescription::ReleaseUnicode(), CIccTagSparseMatrixArray::Reset(), CIccUTF16String::Resize(), CIccMpeCalculator::SetElem(), CIccTagChromaticity::SetSize(), CIccTagColorantOrder::SetSize(), CIccTagColorantTable::SetSize(), CIccTagArray::SetSize(), CIccTagXYZ::SetSize(), CIccTagData::SetSize(), CIccTagEmbeddedHeightImage::SetSize(), CIccTagEmbeddedNormalImage::SetSize(), CIccTagCurve::SetSize(), and CIccLocalizedUnicode::SetSize().
icFloatNumber icRmsDif | ( | const icFloatNumber * | v1, |
const icFloatNumber * | v2, | ||
icUInt32Number | nSample | ||
) |
References icSq().
Referenced by CIccArrayNamedColor::FindSpectralColor().
double icRoundOffset | ( | double | v | ) |
Name: icRoundOffset
Purpose: Adds offset to floating point value for purposes of rounding by casting to and integer based value
Args: v - value to offset
Return: v with offset added - suitable for casting to some form of integer
Referenced by icDtoF(), icDtoUCF(), icDtoUF(), icDtoUSF(), icFtoU16(), and icFtoU8().
bool icSameSpectralRange | ( | const icSpectralRange & | rng1, |
const icSpectralRange & | rng2 | ||
) |
References icSpectralRange::end, icSpectralRange::start, and icSpectralRange::steps.
|
inlinestatic |
Referenced by icDeltaE(), and icRmsDif().
icFloatNumber icU16toF | ( | icUInt16Number | num | ) |
Referenced by CIccTagColorantTable::Describe(), CIccTagNum< T, Tsig >::GetValues(), CIccTagNum< T, Tsig >::Interpolate(), CIccTagXmlColorantTable::ToXml(), and CIccTagNum< T, Tsig >::ValuePos().
icFloatNumber icU8toAB | ( | icUInt8Number | num | ) |
icFloatNumber icU8toF | ( | icUInt8Number | num | ) |
Referenced by CIccTagNum< T, Tsig >::GetValues(), CIccTagNum< T, Tsig >::Interpolate(), and CIccTagNum< T, Tsig >::ValuePos().
icFloatNumber icUCFtoD | ( | icU8Fixed8Number | num | ) |
icFloatNumber icUFtoD | ( | icU16Fixed16Number | num | ) |
Referenced by CIccTagChromaticity::Describe(), and CIccTagXmlChromaticity::ToXml().
icFloatNumber icUSFtoD | ( | icU1Fixed15Number | num | ) |
bool icValidOverlap | ( | const icPositionNumber & | pos1, |
const icPositionNumber & | pos2, | ||
bool | bAllowSame | ||
) |
Name: icValidOverlap
Purpose: Checks if pos overlap is acceptable
Args: pos1 - first positionNumber pos2 - second positionNumber bAllowSame - allow to positions to cover the same area
Return: true if v1 is near v2 within range
References icPositionNumber::offset, and icPositionNumber::size.
Referenced by CIccMpeToneMap::Read().
bool icValidTagPos | ( | const icPositionNumber & | pos, |
icUInt32Number | nTagHeaderSize, | ||
icUInt32Number | nTagSize, | ||
bool | bAllowEmpty | ||
) |
Name: icValidTagPos
Purpose: Checks if pos is valid for data within a tag
Args: pos - first value nTagHeaderSize - size of tag header nTagSize - total size of tag data
Return: true pos is valid
References icPositionNumber::offset, and icPositionNumber::size.
Referenced by CIccMpeToneMap::Read().
void icVectorApplyMatrix3x3 | ( | icFloatNumber * | result, |
const icFloatNumber * | m, | ||
const icFloatNumber * | v | ||
) |
Name: icVectorApplyMatrix3x3
Purpose: Applies a 3x3 matrix to a 3 element column vector.
Note: Matrix index positions: 0 1 2 3 4 5 6 7 8
Note: result = m x v
Args: result = vector to receive result. m = matrix to multiply v = vector to apply matrix to
Referenced by CIccSimpleMatrixSolver::Solve().
void icXyzFromPcs | ( | icFloatNumber * | XYZ | ) |
Here are some conversion routines to convert to regular XYZ encoding.
Floating point encoding of XYZ in PCS is in range 0.0 to 1.0 (Note: X=1.0 is encoded as about 0.5)
Referenced by CIccTagNamedColor2::FindCachedPCSColor(), CIccTagNamedColor2::InitFindCachedPCSColor(), main(), CIccApplyBPC::pcs2lab(), and CIccTagXmlNamedColor2::ToXml().
void icXYZtoLab | ( | icFloatNumber * | Lab, |
const icFloatNumber * | XYZ, | ||
const icFloatNumber * | WhiteXYZ | ||
) |
References icCubeth(), and icD50XYZ.
Referenced by CIccMpeSpectralObserver::Apply(), CIccMpeEmissionCLUT::Begin(), CIccMpeReflectanceCLUT::Begin(), CIccApplyBPC::calcDstBlackPoint(), CIccTagNamedColor2::FindCachedPCSColor(), CIccArrayNamedColor::FindPcsColor(), CIccTagNamedColor2::InitFindCachedPCSColor(), main(), and CIccApplyBPC::pcs2lab().
void icXyzToPcs | ( | icFloatNumber * | XYZ | ) |
Referenced by CIccApplyBPC::CalcFactors(), CIccApplyBPC::lab2pcs(), main(), and CIccTagXmlNamedColor2::ParseXml().
ICCPROFLIB_API icFloatNumber icD50XYZ[3] = { 0.9642f, 1.0000f, 0.8249f } |
Referenced by CIccCamConverter::CIccCamConverter(), CIccDefaultEncProfileConverter::ConvertFromParams(), icDeNormXyz(), icLabtoXYZ(), icNormXyz(), icXYZtoLab(), and CIccTagSpectralViewingConditions::setIlluminant().
ICCPROFLIB_API icFloatNumber icD50XYZxx[3] = { 96.42f, 100.00f, 82.49f } |
ICCPROFLIB_API const char* icMsgValidateCriticalError = "Error! - " |
Referenced by CIccToneMapFunc::Validate(), CIccCalculatorFunc::Validate(), CIccMBB::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccTagChromaticity::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagNum< T, Tsig >::Validate(), CIccTagFloatNum< T, Tsig >::Validate(), CIccTagSpectralDataInfo::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccTagArray::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagParametricCurve::Validate(), CIccCLUT::Validate(), CIccTagMultiProcessElement::Validate(), CIccFormulaCurveSegment::Validate(), CIccSampledCurveSegment::Validate(), CIccSegmentedCurve::Validate(), CIccSingleSampledCurve::Validate(), CIccSampledCalculatorCurve::Validate(), CIccMpeCurveSet::Validate(), CIccMpeTintArray::Validate(), CIccMpeToneMap::Validate(), CIccMpeMatrix::Validate(), CIccMpeCLUT::Validate(), CIccMpeExtCLUT::Validate(), CIccMpeCAM::Validate(), CIccMpeCalculator::Validate(), CIccMpeSpectralMatrix::Validate(), CIccMpeInvEmissionMatrix::Validate(), CIccMpeSpectralCLUT::Validate(), CIccMpeSpectralObserver::Validate(), CIccMpeUnknown::Validate(), ValidateIccProfile(), ValidateIccProfile(), and ValidateIccProfile().
ICCPROFLIB_API const char* icMsgValidateInformation = "Information - " |
Referenced by CIccMpeToneMap::Validate().
ICCPROFLIB_API const char* icMsgValidateNonCompliant = "NonCompliant! - " |
Referenced by CIccInfo::CheckData(), CIccInfo::CheckData(), CIccInfo::CheckData(), main(), CIccResponseCurveStruct::Validate(), CIccTagLutAtoB::Validate(), CIccTagLutBtoA::Validate(), CIccTag::Validate(), CIccTagText::Validate(), CIccTagTextDescription::Validate(), CIccTagSignature::Validate(), CIccTagNamedColor2::Validate(), CIccTagChromaticity::Validate(), CIccTagCicp::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagMeasurement::Validate(), CIccTagData::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagProfileSeqDesc::Validate(), CIccTagSpectralViewingConditions::Validate(), CIccTagEmbeddedHeightImage::Validate(), CIccTagEmbeddedNormalImage::Validate(), CIccTagParametricCurve::Validate(), CIccMatrix::Validate(), CIccCLUT::Validate(), and CIccMultiProcessElement::Validate().
ICCPROFLIB_API const char* icMsgValidateWarning = "Warning! - " |
Referenced by CIccInfo::CheckData(), CIccInfo::CheckLuminance(), main(), CIccToneMapFunc::Validate(), CIccCalculatorFunc::Validate(), CIccStructNamedColor::Validate(), CIccTagGamutBoundaryDesc::Validate(), CIccMBB::Validate(), CIccTagLutBtoA::Validate(), CIccTagLut8::Validate(), CIccTagLut16::Validate(), CIccStructBRDF::Validate(), CIccStructColorantInfo::Validate(), CIccTagText::Validate(), CIccTagUtf8Text::Validate(), CIccTagZipUtf8Text::Validate(), CIccTagUtf16Text::Validate(), CIccTagNamedColor2::Validate(), CIccTagXYZ::Validate(), CIccTagSparseMatrixArray::Validate(), CIccTagMultiLocalizedUnicode::Validate(), CIccTagData::Validate(), CIccTagColorantOrder::Validate(), CIccTagColorantTable::Validate(), CIccTagResponseCurveSet16::Validate(), CIccTagStruct::Validate(), CIccTagDict::Validate(), CIccTagEmbeddedProfile::Validate(), CIccTagCurve::Validate(), CIccTagParametricCurve::Validate(), CIccTagMultiProcessElement::Validate(), CIccFormulaCurveSegment::Validate(), CIccSampledCurveSegment::Validate(), CIccSegmentedCurve::Validate(), CIccSingleSampledCurve::Validate(), and CIccSampledCalculatorCurve::Validate().