aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio
diff options
context:
space:
mode:
authorRoy Ben Shabat <Roy.mail.net@gmail.com>2021-06-01 09:16:19 +0300
committerRoy Ben Shabat <Roy.mail.net@gmail.com>2021-06-01 09:16:19 +0300
commitceb4f5fe57f32ea785b99d943f463caae2f4ee67 (patch)
tree38577600ca8b9c78af142ded061860c61112c73b /Software/Visual_Studio
parent3afd46b0f6a5d8168c3e09de3f604d49114d9da1 (diff)
downloadTango-ceb4f5fe57f32ea785b99d943f463caae2f4ee67.tar.gz
Tango-ceb4f5fe57f32ea785b99d943f463caae2f4ee67.zip
Mirta: Color conversion Fix.
Diffstat (limited to 'Software/Visual_Studio')
-rw-r--r--Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorConverter.cpp20
1 files changed, 15 insertions, 5 deletions
diff --git a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorConverter.cpp b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorConverter.cpp
index 4aa691c78..ff71443fe 100644
--- a/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorConverter.cpp
+++ b/Software/Visual_Studio/ColorLib/Tango.ColorLib_v4/ColorConverter.cpp
@@ -4655,7 +4655,7 @@ void Tango::ColorLib::ColorConverter::SplitVolume(VectorXd Volume, VectorXd &Vol
{
if ((VolumeNoLI(i) >= low) & (VolumeNoLI(i) <= high))
{
- VolumeLI(i + m_nInks) = DilutionFactor * VolumeNoLI(i);
+ VolumeLI(i + m_nInks) = DilutionFactor * VolumeNoLI(i);
VolumeLI(i) = 0.0;
}
else
@@ -4877,6 +4877,7 @@ size_t Tango::ColorLib::ColorConverter::GetRecommendedProcessParameters(uint8_t
VectorXd LabOut(3);
VectorXd NLInkOut(m_nInks);
VectorXd Volume(m_nInks);
+ VectorXd Volume_nlcm(m_nInks);
VectorXd VolumeLi(m_TotalNumberofInks);
VectorXd VolumeOut(m_nInks);
//set maxNlPerCM
@@ -4932,7 +4933,7 @@ size_t Tango::ColorLib::ColorConverter::GetRecommendedProcessParameters(uint8_t
colorspace = Input->stops[istops]->colorspace;
if (Input->stops[istops]->colorspace == COLOR_SPACE__Volume)
{
- //Assumption: Input is given without light iks
+ //Assumption: Input is given without light inks
//The volumes are given in Thread units in %
m_currentMaxNLPerCM = m_maxNlPerCM;
for (int iP = 0; iP < m_nProcessRanges; ++iP)
@@ -4941,15 +4942,19 @@ size_t Tango::ColorLib::ColorConverter::GetRecommendedProcessParameters(uint8_t
m_CurrentProcessRangesMin[iP] = m_ProcessRangesMinP[iP];
}
for (int jV = 0; jV < m_nInks; ++jV)
+ {
Volume(jV) = inputcoordinates[istops]->inputliquids[jV]->volume; //volumes are in [%]
-
+ Volume_nlcm(jV) = m_maxNlPerCM(jV)*Volume(jV) / 100.0; //Volume_nlcm is in [nl/cm]
+ }
if (Input->uselightinks)
{ //Convert to light inks
+ GamutRegion[istops] = GetGamutRegion(Volume_nlcm, m_CurrentProcessRangesMax);//Volume is in [nl/cm]
SplitVolume(Volume, VolumeLi, GamutRegion[istops]); //VolumeLi is in [%]
}
else
{
- GamutRegion[istops] = GetGamutRegion(Volume, m_CurrentProcessRangesMax);//Volume is in [%]
+
+ GamutRegion[istops] = GetGamutRegion(Volume_nlcm, m_CurrentProcessRangesMax);//Volume is in [nl/cm]
}
}
else if (Input->stops[istops]->colorspace == COLOR_SPACE__Catalog)
@@ -4977,7 +4982,11 @@ size_t Tango::ColorLib::ColorConverter::GetRecommendedProcessParameters(uint8_t
IC->inputliquids[3]->has_volume = IC->has_key;
for (int jV = 0; jV < m_nInks; ++jV)
+ {
Volume(jV) =IC->inputliquids[jV]->volume;
+ Volume_nlcm(jV) = m_maxNlPerCM(jV)*Volume(jV) / 100.0; //Volume_nlcm is in [nl/cm]
+ }
+
m_currentMaxNLPerCM = m_CTmaxNlPerCM;
for (int iP = 0; iP < m_nProcessRanges; ++iP)
{
@@ -4986,11 +4995,12 @@ size_t Tango::ColorLib::ColorConverter::GetRecommendedProcessParameters(uint8_t
}
if (Input->uselightinks)
{ //Convert to light inks
+ GamutRegion[istops] = GetGamutRegion(Volume_nlcm, m_CurrentProcessRangesMax);//Volume_nlcm is in [nl/cm]
SplitVolume(Volume, VolumeLi, GamutRegion[istops]); //VolumeLi is in [%]
}
else
{
- GamutRegion[istops] = GetGamutRegion(Volume, m_GamutRegionMaxLim); //Volume is in [%]
+ GamutRegion[istops] = GetGamutRegion(Volume_nlcm, m_GamutRegionMaxLim); //Volume_nlcm is in [nl/cm]
}
}
else