diff options
| author | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2021-06-01 09:16:19 +0300 |
|---|---|---|
| committer | Roy Ben Shabat <Roy.mail.net@gmail.com> | 2021-06-01 09:16:19 +0300 |
| commit | ceb4f5fe57f32ea785b99d943f463caae2f4ee67 (patch) | |
| tree | 38577600ca8b9c78af142ded061860c61112c73b /Software/Visual_Studio | |
| parent | 3afd46b0f6a5d8168c3e09de3f604d49114d9da1 (diff) | |
| download | Tango-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.cpp | 20 |
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 |
