eoyilmaz / displaycal-py3

DisplayCAL Modernization Project
https://eoyilmaz.github.io/displaycal-py3/
GNU General Public License v3.0
867 stars 60 forks source link

DisplayCAL 3.9.14 measurement report for Windows does not use selected colorimeter correction. #441

Open VgerTest opened 1 month ago

VgerTest commented 1 month ago

Describe the bug Windows version for DisplayCAL "Measurement report" does not use colorimeter correction at all. Also it fails to autoopen HTML report because file is not written yet.

To Reproduce Steps to reproduce the behavior:

  1. First of all correct your Windows DisplayCAL installation, otherwise you cannot measure: https://github.com/eoyilmaz/displaycal-py3/issues/424#issuecomment-2424897404 https://github.com/eoyilmaz/displaycal-py3/issues/424#issuecomment-2424886257 (copying or installing python)
  2. Run measurement report and set as HTML file name a path without whitespaces.
  3. Let run verification

Expected behavior HTML measured values must match the ones obtained by ArgyllCMS spotread with the same CCSS correction, or by older python2.7 DisplayCAL measurement report using the same CCSS on same display & colorimeter.

Screenshots

wexpect logs shows no CCSS and resulting HTML have "wrong" whitepoint & primaries location

measured color coordinates
2024-10-20 14:21:19,312 Spawning C:\bin\calibracion\ArgyllCMS\current\bin\dispread.exe -v -k Measurement_Report_3.9.14_2024-10-20_14-20.cal Measurement_Report_3.9.14_2024-10-20_14-20
2024-10-20 14:21:19,313 Code page: 1252
2024-10-20 14:21:19,314 hasattr(sys, 'frozen'): True
2024-10-20 14:21:19,315 "C:\bin\calibracion\DisplayCAL\DisplayCAL-3.9.14\lib\python.exe" -S -c "import sys;setattr(sys, 'frozen', 'windows_exe'); sys.path = ['C:\\bin\\calibracion\\DisplayCAL\\DisplayCAL-3.9.14', 'C:\\bin\\calibracion\\DisplayCAL\\DisplayCAL-3.9.14\\library.zip', 'C:\\bin\\calibracion\\DisplayCAL\\DisplayCAL-3.9.14\\library.zip\\DisplayCAL', 'C:\\bin\\calibracion\\DisplayCAL\\DisplayCAL-3.9.14\\lib\\library.zip', 'C:\\bin\\calibracion\\DisplayCAL\\DisplayCAL-3.9.14\\lib\\library.zip\\DisplayCAL'] + sys.path;args = ['C:\\bin\\calibracion\\ArgyllCMS\\current\\bin\\dispread.exe', '-v', '-k', 'Measurement_Report_3.9.14_2024-10-20_14-20.cal', 'Measurement_Report_3.9.14_2024-10-20_14-20']; from DisplayCAL import wexpect;wexpect.ConsoleReader(wexpect.join_args(args), 10700, 3752, cp=1252, c=160, r=None, logdir='DisplayCAL')"

While a "calibrated screen report" from DIsplayCAL menu does use it and measures properly:

2024-10-20 14:19:53,720 Spawning C:\bin\calibracion\ArgyllCMS\current\bin\dispcal.exe -v2 -d1 -c1 -yn -P0.5,0.5,1.0 -X RG_Phosphor_Family_25Jul12_CN7_MOD.ccss -r
2024-10-20 14:19:53,721 Code page: 1252
2024-10-20 14:19:53,722 hasattr(sys, 'frozen'): True
2024-10-20 14:19:53,723 "C:\bin\calibracion\DisplayCAL\DisplayCAL-3.9.14\lib\python.exe" -S -c "import sys;setattr(sys, 'frozen', 'windows_exe'); sys.path = ['C:\\bin\\calibracion\\DisplayCAL\\DisplayCAL-3.9.14', 'C:\\bin\\calibracion\\DisplayCAL\\DisplayCAL-3.9.14\\library.zip', 'C:\\bin\\calibracion\\DisplayCAL\\DisplayCAL-3.9.14\\library.zip\\DisplayCAL', 'C:\\bin\\calibracion\\DisplayCAL\\DisplayCAL-3.9.14\\lib\\library.zip', 'C:\\bin\\calibracion\\DisplayCAL\\DisplayCAL-3.9.14\\lib\\library.zip\\DisplayCAL'] + sys.path;args = ['C:\\bin\\calibracion\\ArgyllCMS\\current\\bin\\dispcal.exe', '-v2', '-d1', '-c1', '-yn', '-P0.5,0.5,1.0', '-X', 'RG_Phosphor_Family_25Jul12_CN7_MOD.ccss', '-r']; from DisplayCAL import wexpect;wexpect.ConsoleReader(wexpect.join_args(args), 10700, 10396, cp=1252, c=160, r=None, logdir='DisplayCAL')"

Measured coordinates from HTML report match with spotread without colorimeter correction for white, primaries and so on.

Versions (please complete the following information):

Additional context To run this test with DisplayCAL 3.9.14 you need to patch it with a full Python3.10.11 installation folder, otherwise you cannot measure.