958{
960 wxString report;
962
963 if (bUseMPE)
965 else
967
968 std::string path = profilePath.ToStdString(wxConvUTF8);
969
970 clock_t start = clock();
972
974 report += wxString::Format(" Unable to perform round trip on '%s'\n", profilePath.c_str());
975 report += "\n";
976 report += "CMM Status: ";
977 report += CIccCmm::GetStatusText(stat);
978 report += "\n\n";
979
980 return report;
981 }
982
984
986 clock_t elapsed = clock() - start;
987
989 report += wxString::Format(" Unable to perform PRMG analysis on '%s'\n", profilePath.c_str());
990 report += "\n";
991
992 return report;
993 }
994
996 report += wxString::Format(
"Specified Rendering Intent Gamut: %s\n", prmg.
m_bPrmgImplied ?
"Perceptual Reference Medium Gamut" :
"Not Specified");
997
998 report += wxString::Format("\n Round Trip 1\n");
999 report += wxString::Format( " ------------\n");
1000 report += wxString::Format(
" Min DeltaE: %8.2" ICFLOATSFX "\n", eval.
minDE1);
1002 report += wxString::Format(
" Max DeltaE: %8.2" ICFLOATSFX "\n\n", eval.
maxDE1);
1003
1005
1006 report += wxString::Format("\n Round Trip 2\n");
1007 report += wxString::Format( " ------------\n");
1008 report += wxString::Format(
" Min DeltaE: %8.2" ICFLOATSFX "\n", eval.
minDE2);
1010 report += wxString::Format(
" Max DeltaE: %8.2" ICFLOATSFX "\n", eval.
maxDE2);
1011 report += wxString::Format(
" DE <= 1.0 (%8u): %5.1f%%\n\n", eval.
num3, (
float)eval.
num3 / (
float)eval.
m_nTotal*100.0);
1012
1014
1016 report += wxString::Format("\n PRMG Interoperability - Round Trip Results\n");
1017 report += wxString::Format( " ------------------------------------------------------\n");
1018
1019 report += wxString::Format(
" DE <= 1.0 (%8u): %5.1f%%\n", prmg.
m_nDE1, (
float)prmg.
m_nDE1/(
float)prmg.
m_nTotal*100.0);
1020 report += wxString::Format(
" DE <= 2.0 (%8u): %5.1f%%\n", prmg.
m_nDE2, (
float)prmg.
m_nDE2/(
float)prmg.
m_nTotal*100.0);
1021 report += wxString::Format(
" DE <= 3.0 (%8u): %5.1f%%\n", prmg.
m_nDE3, (
float)prmg.
m_nDE3/(
float)prmg.
m_nTotal*100.0);
1022 report += wxString::Format(
" DE <= 5.0 (%8u): %5.1f%%\n", prmg.
m_nDE5, (
float)prmg.
m_nDE5/(
float)prmg.
m_nTotal*100.0);
1023 report += wxString::Format(
" DE <=10.0 (%8u): %5.1f%%\n", prmg.
m_nDE10, (
float)prmg.
m_nDE10/(
float)prmg.
m_nTotal*100.0);
1024 report += wxString::Format(
" Total (%8u)\n", prmg.
m_nTotal);
1025 }
1026
1027 report += "\n";
1028
1029 report += wxString::Format("Evaluation took %f seconds\n\n", (double)elapsed / (double)CLOCKS_PER_SEC);
1030
1031 return report;
1032}
@ icRelativeColorimetric
Definition icProfileHeader.h:1144
@ icInterpTetrahedral
Definition IccCmm.h:115
icStatusCMM
CMM return status values.
Definition IccCmm.h:90
@ icCmmStatOk
Definition IccCmm.h:92
#define ICFLOATFMT
Definition IccDefs.h:107
char icChar
Definition IccDefs.h:110
#define ICFLOATSFX
Definition IccDefs.h:106
const icChar * GetRenderingIntentName(icRenderingIntent val, bool bIsV5=false)
Definition IccUtil.cpp:2091
icStatusCMM ICCPROFLIB_API EvaluateProfile(CIccProfile *pProfile, icUInt8Number nGran=0, icRenderingIntent nIntent=icUnknownIntent, icXformInterp nInterp=icInterpLinear, bool buseMpeTags=true)
Definition IccEval.cpp:82
icUInt32Number m_nTotal
Definition IccPrmg.h:96
icUInt32Number m_nDE2
Definition IccPrmg.h:96
icUInt32Number m_nDE1
Definition IccPrmg.h:96
icUInt32Number m_nDE3
Definition IccPrmg.h:96
icUInt32Number m_nDE5
Definition IccPrmg.h:96
bool m_bPrmgImplied
Definition IccPrmg.h:98
icUInt32Number m_nDE10
Definition IccPrmg.h:96
icStatusCMM EvaluateProfile(CIccProfile *pProfile, icRenderingIntent nIntent=icUnknownIntent, icXformInterp nInterp=icInterpLinear, bool buseMpeTags=true)
Definition IccPrmg.cpp:203
Definition iccRoundTrip.cpp:80
icFloatNumber maxLab2[3]
Definition iccRoundTrip.cpp:93
icFloatNumber minDE2
Definition iccRoundTrip.cpp:89
icFloatNumber maxLab1[3]
Definition iccRoundTrip.cpp:93
icUInt32Number num3
Definition iccRoundTrip.cpp:91
icFloatNumber minDE1
Definition iccRoundTrip.cpp:89
icUInt32Number m_nTotal
Definition iccRoundTrip.cpp:91
icFloatNumber maxDE2
Definition iccRoundTrip.cpp:90
icFloatNumber GetMean1()
Definition iccRoundTrip.cpp:86
icFloatNumber GetMean2()
Definition iccRoundTrip.cpp:87
icFloatNumber maxDE1
Definition iccRoundTrip.cpp:90