Argyll Changelog

What's new in Argyll 1.9.2

Jan 26, 2017
  • Added CMYKOGB and CMYKRGB 7 channel ink preset, and made targen more flexible in matching pre-conditioning profiles to targen ink selection.
  • Fix oeminst for OS X save location.
  • Fix oeminst for OS X Spyder 4 CD calibration file location.

New in Argyll 1.8.3 (Jun 11, 2016)

  • Added SpyderCheckr24 scaning .cht and .cie files.
  • Fixed USB problem with i1pro (Rev B & D ?), where communications would occasionally break down on fast systems.
  • Added another fixed display intergration time to i1pro non-adaptive emission mode to cope with higher brightness displays.
  • Added workaround for i1d3 Rev. B status code 0x83 on very low light measurement
  • Fixed minor bug in i1d3.c that truncated serial number string. (Thanks to Mikael Sterner).
  • Fixed bug in Klein K10 driver - adaptive measurement wasn't properly using all the extra measurements.
  • Improved Klein K10 driver to be more robust when lights off command returns bogus error codes, or causes a cascade of bogus measurement errors.
  • Added workaround for OS X 10.9+ "App Nap" problem.
  • Added maximum sensor frequency check for Spyder & i1d3 drivers, so that erronious readings due to excessive brightness can't be missed.
  • Changed chartread so that it doesn't warn of a possible wrong strip being read, nor allows bi-directional strip reading, if "printtarg -r" was used. A warning will be issued if "printtarg -r" was used, and "chartread -B" wasn't used.
  • Fixed collink for eeColor Full range RGB to use output curve ("second" 1D curves) to compensate for cLUT being wired for 1.0 output from 1.0 input.
  • Added "lp" gamut mapping intent :- Luminance Preserving Perceptual, for Photographers concerned with maintaining tonal variations.
  • Fixed bugs in image specific gamut mapping that were degrading the accuracy of the result.
  • Re-wrote gamut smoothing code, and re-tuned it to behave similarly to the V1.8.2 release.
  • Changed default viewing condition glare to 5%, to smooth out shadow tone curve.
  • Reduced the level of Helmholtz-Kohlrausch effect in CIECAM02 implementation in the light of visual experiments.

New in Argyll 1.8.2 (Oct 17, 2015)

  • Fixed endless loop bug in alternate calibration selectors code.

New in Argyll 1.8.1 (Oct 17, 2015)

  • Fixed bug in "spec2cie -n" wrong field indexes were being used.
  • Fixed colorimeter calibration selectors to add in alternate selectors if the letters are free

New in Argyll 1.8.0 (Aug 20, 2015)

  • Added support for the Image Engineering EX1 spectroradiometer.
  • Added support for the SwatchMate Cube reflective colorimeter, with improved accuracy.
  • Added Added Television Lighting Consistency Index (EBU TLCI-2012 Qa) to spotread and specplot output.
  • Added R9 value to CRI value in spotread and specplot output.
  • Added workaround for JETI specbos having been calibrated by a 3rd party, and its calibrated range being out of sync with its claimed range.
  • Added support for "EMISINPUT" type .ti3 file.
  • Build using OpenSSL rather than axTLS if it is built on Linux.
  • Fixed stack space problem in OS X UI programs by expanding main thread proxy to have 8MB instead of the default 512K.
  • Updated built in libtiff to V4.0.4beta.
  • Changed CGATS format to not emit unknown keyword declaration ("KEYWORD") by default.
  • Added inst_calc_cond_mask to inst.h to allow for flags in calibration conditions. A consequence of this is that calc needs to be masked with this when comparing against a specific condition, and the inst_calc_optional_flag should be cleared if it is set, before callint inst->calibrate() if the user wants to proceed with a particular calibration.
  • Fixed bug with dispcal -e N
  • Fixed bug in xicclu -fg and -kp
  • Added dispcal -x x option to allow reading a chart and manually entering the XYZ values.
  • Fix spyder4 & 5 bug where some display types were set as refresh when they shouldn't be.
  • Fix collink "Warning :- RGB black hack trigger more than once!" when -b is used with input video encoding (-e).
  • Changed colprof so that the default ICC description is the base filename rather than the whole file path.
  • Fix technology type and display type selector "uniqueification" bug that shows up in "ccxxmake -??".
  • Add OEM field to ccmx and ccss files to mark files that have been installed from OEM disk, so that custom ccmx & ccss files can be given suggested selector letter priority (+ ref/CRT.ccss).
  • Tweak CGATS write format to avoid scientific notation until the numbers are bigger and smaller (i.e until e6 and e-6 are needed).

New in Argyll 1.7.0 (May 1, 2015)

  • Improved gamut mapping to reduce unnecessary changes to less saturated colors such as skin tones.
  • Add support for DataColor Spyder 5.
  • Add support for ColorHug2 colorimeter.
  • Add support for Klein K10-A colorimeter.
  • Added Google ChromeCast as a test patch generator for Video displays.
  • Added ls2ti3 tool to convert LightSpace .bcs files to .ti3.
  • Added IRIDAS .cube 3DLut format support to collink.
  • Add X3D and X3DOM support as an alternative to VRML, and make X3DOM the default.
  • Add better cross compatibility with non-Argyll ICC profiles using ArgyllCMS 'arts' tag to mark 'wtpt' Absolute Colorimetric chromaticity transform, as well as implement proper absolute colorimetric intent for Display profiles use the 'chad' tag. Note that the standard ICC profiles provided by ArgyllCMS in the ref directory (such as sRGB etc.) now include an 'arts' tag.
  • Ignore any patches that have zero values for creating Display profiles, unless they are for device zero.
  • Fix various instrument communications problems for JETI specbos, DTP20, DTP92 & DTP94.
  • Fix gestaltSystemVersion warning on OS X 10.10.
  • Fix very major bug in illumread. It wasn't actually working at all since V1.4.0.
  • Added collink -I[gG][:p.p]:x.x options that allows an output offset gamma curve be targetted instead of BT1886.
  • Added dispcal and collink -b black point hack. This forces the input zero to map to the output zero for well behaved displays, reducing dependence on the instrument accuracy for a very dark black point.
  • Added preset list of display techologies to select from in ccxxmake.
  • Added a -P prune option to profcheck, that creates a .ti3 file pruned of any patches that have a delta E fit error greater than a threshold. This may be of use in eliminating bad reading values from a measurement set.
  • Added histogram plot option -h to both profcheck and verify.
  • Added a dispread & fakeread -Z option to set the number of bits to quantize the test values to.
  • Fixed bug in targen - the -V dark emphasis wasn't being applied to OFPS generated points.
  • Make sure that if an instrument display reading is interrupted by a forced calibration, that the user is asked to place it back on the display before resuming the measurements.

New in Argyll 1.6.3 (Jan 31, 2014)

  • Added ProPhoto.icm and ProPhotoLin.icm to ref profiles.
  • Fix bug in xicclu -py conversion.
  • Added code to minimize ICC rounding error on matrix profile white point accuracy. Re-generated all reference profiles with this change.
  • Changed i1d3 driver to completely ignore any EEPROM checksum errors for non "A-01" rev. instruments.
  • Made transplot handle RGB->RGB device link.
  • Removed colprof -y option. Use "profcheck -v2" instead, as it is more developed.
  • Fixed bug in dispcal - it was not using the final measurement pass to update the calibration curves.
  • Fixed bug in spotread, dispcal & dispread for CCSS capable instruments where refresh display types was being ignored if a custom observer was used, and/or the custom observer as being ignored, and/or a CCMX was being ignored. Changed instlib semantics for inst_opt_set_ccss_obs :- this is now set immediately, and applied also to any subsequent set_disptype() or col_cal_spec_set().
  • Renamed verify to colverify to avoid clash with MSWin program of the same name. Made it print the patch location for -v2 if it is present in the file.
  • Changed targen to ensure that -V and -p options effects are reflected in the resulting expected CIE values of the .ti1 file.
  • Changed targen so that -V parameter also affects single channel, grey wedge, grid & body centered grid point distribution.
  • Changed colprof to deal with variable grid distribution in a more neuanced way, to reduce overshoot artifacts when the -V parameter is used.
  • Changed colprof to used a power_like function for the grid distribution shape from the -V parameter, so as to avoid issues with a power curve infinte slope near zero.
  • Changed colprof to used a scaled down value of the targen -V parameter as the default for its -V parameter. Documentation now recommends more moderate values for -V.
  • Added a special case to collink for RGB video input encoding to (attempt) to fine tune the black point to compensate for it (probably) not falling on a cLUT grid point. & out encoding
  • Tweaked dispcal to try and improve accuracy of black point calibration.
  • Switch dispread to use NoClamp readings, so that average black point value is not biased.
  • Fixed bug introduced into 1.6.2 oeminst that prevents .ccss files being installed.

New in Argyll 1.6.2 (Nov 19, 2013)

  • Added "dark region emphasis" -V parameter to targen and colprof, in an attempt to improve the accuracy of display profiles intended for use with video. This should improve the subsequent black point accuracy of the profile.
  • Fixed bug and tweaked dispcal black point optimization to err on the black side. Added -v3 for even more debugging information.
  • Changed i1d3 driver to be more forgiving of EEProm checksum calculation, so that it works with the latest release "A-02" rev. i1 display pro & colormunki display instruments, as well as improving its robustness in the face of errors.
  • Fixed race condition bug in OS X HID driver. This fixes occassional problem with i1d3, and also solves problem with the ColorHug on OS X.
  • Fixed problem with TV encoded output and dispread -E -k/-K.
  • Fixed minor bug in DE94 in icclib.
  • Fixed major bug in illumread - result was being corrupted.
  • Fixed "edges don't match" bug in printarg when -iCM -h -s/-S used.
  • Fix bug in -H flag in ccxxmake, chartread, dispcal, dispread, illumread & spotread so that it works once again.

New in Argyll 1.6.1 (Sep 30, 2013)

  • Fix bug in "average -m"
  • Fix oeminst to work with a wider range of i1d3 install files.
  • Fix ColorMunki reflective measurement accuracy, particularly for reflective readings. This has been poor since V1.5
  • Fix bug in using DTP94 on Apple OS X introduced in V1.5
  • Fix MadVR connect code to look for appropriate 32 bit or 64 bit .dll.
  • Improve MSWin system driver installation by creating valid ArgyllCMS.cat file to match ArgyllCMS.inf. This eliminates the need to "Disable Driver Signature Enforcement", as well as allowing installation on MSWin 8.1.

New in Argyll 1.6.0 (Aug 16, 2013)

  • Added support for JETI specbos 1211 and 1201 (Thanks to JETI for their support!)
  • Added Video profiling & 3dLut creation support for eeColor and MadVR. See video section in tutorial for pointers to relevant changes to tools. This includes support for MadTPG + various Video standard ICC profiles + verification workflow.
  • Linux profile installation will use colord if libcolordcompat.so is present on system.
  • Fix ColorHug driver so that it is backwards compatible with FW 1.1.8
  • Made sure that MSWin test colors are not color managed. This may affect Vista, Win7 and Win8.
  • Changed spectro/dispwin.c so that null transform color matching is used for displaying test patches on OS X >= 10.6. This should fix calibrating/profiling secondary displays on > OS X 10.6. Note that the 32 bit 10.4 binary will still have problems on > OS X 10.6.
  • Changed instlib API ambient XYZ and spectral units to Lux. In previous versions of instlib they were Lux/pi.
  • For those instruments that support it, made ambient readings honor refresh mode measurements, to improve repeatability when measuring regularly flickering light sources. (specbos, i1d3, i1disp).
  • Changed spotread -ew mode to be Bradford chromatic transform rather than XYZ scaling, to better match Argyll ICC abs. vs. rel.
  • Added support to xicclu to lookup colors though CAL files, both forward and backwards. Will also plot CAL file contents using -g.
  • Added -Y R:rate option to spotread, dispcal, dispread & ccxxmake to allow setting a chosen display refresh rate. This can be used with the Colormunki display, as well as situations in which refresh rate measurement is not reliable.
  • By default printtarg will create PS and EPS files with a CUPS job ticket to disable color management. Use the -U flag to disable this.
  • Added display update delay calibration support to i1pro and ColorMunki (just like i1disp3), to improve measurement times.
  • Changed dispcal & dispread so that they wait up to 0.5 seconds when reading dark patches after light ones to allow for display fall time. Added patch order optimization for display patch sets in targen to minimize the extra time.
  • Changed dispwin daemon loader mode option from -E to -X. Added -E option to encode test patch colors in Video 16-235 range.
  • Changed dispcal verify option from -E to -z. Added -E option to encode test patch colors in Video 16-235 range.
  • Added -E option to to dispread to encode test patch colors in Video 16-235 range.
  • Changed CIECAM02 Flare model to distinguish between Flare from the image itself, and Glare from ambient light. This allows scaling Glare with ambient automatically. Changed enumerated viewing conditions for new Flare/Glare settings, changed all to Flareless to improve dark image behavior, while retaining Glare modelling. Tweaked brightness and ambient values.
  • Improved i1pro hi-res mode to improve accuracy.
  • Added Body Centered Cubic grid option to targen.
  • Added -Yn flag to dispcal and dispread, which skips asking the user to place the instrument on the measuring spot.
  • Improve robustness of i1d3 display update measurement code.
  • Added support for applying calibration curves in collink.
  • Changed spotread so that it won't fall back to emissive spot mode if an ambient reading is requested.
  • Turned off B2A table clip map smoothing, as it seems to introduce reversals for some data sets, and provides little benefit.
  • Fixed crash in ucmm/ucmm.c when loading certain profiles using dispwin (thanks to Torok Edwin).
  • Fixed gamut mapping intent "rl" to really use relative L*a*b*
  • Fix bug in cicam02 in V1.5.0 that causes some mapping problems in the red for collink -ir or -ila.
  • Changed cctiff so that it does lossless JPEG copy when there is no color transformation. This makes it more useful for embedding a profile.
  • Fix xicclu so that it works with device links.
  • Fixed bug in shaper/matrix profile curves that caused random bumpy black behaviour (shaper curve optimization local minimum problem).
  • Don't add colorant tag to .tiff files in cctiff unless it is a non-standard space, as Photoshop will barf on such files.
  • Fix bug with Spyder not being able to break out of dispcal adjustment loop.
  • Fix bug in xicc/xicclu, -K flag not being recognised.
  • Fix bug in xicc/xmatrix.c introduced in V1.5 that prevents matrix only profiles from being created.
  • libusb 1.0 is now deprecated in favor of native USB drivers.

New in Argyll 1.5.1 (Mar 8, 2013)

  • Fix spectro/instlib.ksh and standalone instlib build.
  • Turned off debug plot on using FWA.
  • Changed link $(LINKFLAGS) location in link command line Jambase to get latest gcc working.
  • Fixed new bug in matrix display profile creation that causes an inaccurate relative white point. This causes Photoshop to barf on the profiles.
  • Added -m option to printcal.
  • Fix bug in webwin that causes crash.

New in Argyll 1.5.0 (Mar 2, 2013)

  • Increased ease of selecting ISO 13655:2009 M0, M1 and M2 measurements using FWA comensation using any spectrometer that can take non-UV filtered measurements. M0, M1 or M2 can now be selected directly using the -f flag. [ArgyllCMS has been supporting ISO 13655 M0, M1 & M2 well before the standard was created, thanks to its FWA compensation feature.]
  • Increased stability of i1d3 refresh display measurements by increasing integration time, and tweaking crossover from frequency to period measurement.
  • Added i1pro Rev E (i1pro2) feature support. Uses RevE measurement mode, and does wavelength calibration. Uses RevE (internal) stray light reduction, and black level temperature compensation. The only Rev E feature not currently supported is U.V. measurement, which would improve the accuracy of FWA compensation. Rev E driver can be disabled and the legacy driver mode used by setting the ARGYLL_DISABLE_I1PRO2_DRIVER environment variable.
  • Changed i1pro adaptive mode to avoid high gain mode, so as to give more consistent and longer integration times for low light levels.
  • Changed ColorMunki adaptive mode to avoid high gain mode, so as to give more consistent and longer integration times for low levels. Added black level temperature compensation.
  • Added spotread interactive function 'f' to read out the calibrate display refresh rate for instruments that have a refresh display mode, as well as an 'F' function that measures the refresh rate for instruments that support a refresh rate measurement function (colorimeters & spectrometers).
  • The Display Type selection option -y in dispcal, dispread, chartread, spotread & ccxxmake now lists installed CCSS and CCMX files as a selection, rather than using the -X parameter. CCMX and CCSS files now have extra fields to indicate the refresh mode, an optional list of default UI selection characters, and (for CCMX files) the base display type they apply over (CB-n).
  • Tweaked CIECAM02 to improve behavior for extreme blue colors, so that the hue doesn't swing too far towards the cyan. This helps in the clipping behavior from colorspaces such as ProPhotoRGB.
  • Made the input profile cLUT extra neutral axis extrapolation points the default for colprof -u and non -u profiles. Changed -u algorithm to work similarly to -U scale :- it sets the scale automatically. Relative colorimetric is therefore hue matched to the white reference patch, Removed colprof -un, as it seems unnecessary. Added colprof -uc, which clips cLUT colors over Y = 1 to white.
  • The spyd2en, spyd4en and i1d3ccss tools have been combined into, and replaced by a single oeminst tool.
  • Fix problem with dispwin/dispcal/dispread -dweb and the latest Safari browser.
  • Changed to a single ArgyllCMS.inf file for MSWin USB driver installation. This eases installation of more than a single type of instrument. Tested on MS Windows 8 and updated installation instructions.
  • Dropped libusb for USB access, using native USB access instead. MSWin uses the libusb-win32 kernel driver. Moved the usb setup files from libusb1 to a new directory, usb.
  • Added scanin support for ColorCheckerPassort.
  • Updated OS X code to compile on 10.6 and 10.7 and (presumably) 10.8 (64 bit compatible API used when compiling on those platforms, including Cocoa for the test patch window).
  • Changed udev file usb/55-Argyll.rules to eliminate the test for /lib/udev/udev-acl as a condition of using ACL_MANAGE, since I'm informed that it is deprecated in recent distribution releases (but who can tell, given the churn in the udev API).
  • Deprecated -V flag (adaptive mode) in dispcal, dispread and ccxxmake, since this is now the default. Flag will be ignored with a warning. Added -ZA flag instead, to select non-adaptive integration time mode.
  • spotread -d flag is deprecated, and is now a synonym for the -e flag, since it defaults to adaptive mode. Added -ZA flag instead, to select non-adaptive integration time mode. Also added -Zr and -ZR flags to allow testing of the refresh mode overrides.
  • Migrated ArgyllCMS specific application runtime files (such as instrument blobs, calibration state & calibration files) to an "ArgyllCMS" sub-directory rather than the generic "color" directory. On OS X also moved data files to below the "Application Support" sub directory. The old locations will be used as a fallback.
  • Added support for Quato Silver Haze 3 OEM i1d3
  • Added support for X-Rite ColorMunki Smile colorimeter.
  • Enable the ColorHug by default, although it isn't advertised as supported, since it doesn't yet work reliably on OS X. Updated ColorHug PCI VID & PID
  • For Spyder, emit a warning rather than error if the feature bits are missing for calibration tables.
  • Added automatic adjustment of patch reading delay for i1d3, so that a more conservative (longer) default value (200 msec) can be used without impacting i1d3 speed. Also added environment variable ARGYLL_MIN_DISPLAY_UPDATE_DELAY_MS that can set a different minimum update delay.
  • Fixed a bug introduced in V1.3.6 that stops the dtp41 from being initialized properly.
  • Improved black level readings derived from spectral values by allowing them to be -ve.
  • The instlib API has been modified quite extensively to make it more self contained and flexible, although the basic architecture remains the same.

New in Argyll 1.3.6 (Mar 20, 2012)

  • Added Spyder4 support. Note the need for spyd4en for access to a full range of Manufacturers calibrations. The Spyder4 can use .ccss calibration files too. Speeded up all Spyder instrument readings on brighter colors.
  • Experimental ColorHug support is compiled in, but is disabled unless the environment variable "ENABLE_COLORHUG" is set. The ColorHug currently doesn't seem to work reliably across all platforms ArgyllCMS supports.
  • Changed and expanded display selection (-y flag) to be instrument specific. This is to support the Spyder4 and ColorHug, and adds a refresh display selection to the i1d3.
  • Tweaked i1d3 integration times and added accurate refresh period calibration to the refresh display mode. Refresh display measurement times are double non-refresh displays. Improved i1d3 period measurement logic to improve measurement speed and accuracy for dark colors.
  • Changed i1disp measurement logic to try and make it more robust against light to dark changes during a reading. This may make it slightly less precise for LCD displays on bright colors (equivalent now to Refresh display precision).
  • Added a -V option to spotread to allow tracking reading consistency.
  • Changed ccxxmake to create default .ccss with just RGBW, and not to weight W. This may give better matching. Made corresponding change to CCMX, giving the white patch 1/4 weighting of sum of all other patches.
  • Fixed applycal so that it applies calibration to both A2B and B2A tables, to preserve softproofing.
  • Fixed timeout in SpectroScanT reference transmission measurement. (Someone kindly donated me a SpectroScanT to test with!)
  • Made DTP94 driver ignore with a warning any NEEDS_OFFSET_DRIFT_CAL_ERR after a full reset. It seems that occasionally a few instruments do this, and X-Rite don't appear to be prepared to treat this as an instrument fault.
  • Added support for Datacolor SpyderCheckr (Thanks to Jos Pereira).
  • Improved the ability of spyd2en to cope with slightly different setup.exe formats.
  • Add support for NEC SpectraSensor Pro version of the i1d3.