Summary of Argyll CMS Changes since last release
For a complete
and more detailed list of changes, please see the log.txt file.
[V1.3.4 -> V1.3.5] 24th October 2011
- Fix bug (crash) that affects colormunki design/photo display
measurement. This also stops it restoring a calibration (-N flag).
- Add support for the Spectracal OEM version of the i1d3.
- Fix bug that stopped ccxxmake being able to make ccmx's.
- Tweak gamut mapping to improve dark area mapping, non-monotonic
profile inversion, and contrast preservation to small gamut.
- Kill i1ProfileTray.exe process if unable to open i1d3 on MSWin.
- Fix DTP20 chart printing - TID was sometimes incomplete. This
shows up on a 4x6 chart.
[V1.3.3 -> V1.3.4] 31st August 2011
- Added support for the X-Rite i1 Display Pro and ColorMunki
Display
colorimeters. As part of this, added support for CCSS calibration files
for the instruments and added CCSS support to ccxxmake (renamed from
ccmxmake). Provide new tool i1d3ccss to translating and installing CCSS
files as well as the manufacturers calibration files for these
instruments. Added non-default observer support for these instruments
too.
- Fix gamut code to ignore setting primary/secondary cusps that are
unlikely to be true. This avoids buggy gamut mapping behavior for
gamuts that are very small and odd shaped.
- Changed Linux USB code to avoid doing a set_configuration
if possible, since the USB driver does this by default. This then
avoids triggering a bug in the Spyder2, which allows it to work on
Linux version without the reset_ep fix, and may also allow the Spyder
to work better with USB hubs.
- Change printtarg for DTP20 to allow for variable patch size.
- Changed dummy display matrix table to have channels rotated
rather than R & G swapped, to make it more obvious.
- Added option to colprof to allow setting the default profile
rendering intent.
- Enhanced spectro/fakeread so that it will process a .ti3 file
that has been renamed to .ti1.
- Fix bug in matrix input profile white point selection, + add in
slight neutral bias code used in clut profiles.
- New profcheck -I wasn't working - fix option parsing.
[V1.3.2 -> V1.3.3] 13th May 2011
- Fixed compiler dependant bug in Eye-One pro and (possibly) Munki
high res. spectral wavelength calculation.
- Add support for install variables DESTDIR and PREFIX in Jamtop.
These can be set on the command line using "jam -s"
- Added targen -N parameter to allow adjustment of neutral axis
patch density emphasis, as well as increasing the default. This should
improve the result without needing to add explicit grey test patches.
- Added spectro/instlib.ksh script to assemble all the files needed
for a standalone instrument library. Changed licence to GPLv2 for the
files included in the instlib.zip file that is thus created. See
spectro/instlib.txt for more details.
- Fix Jambase so that recent MingW compilers don't need extra .dll's
- Change Linux serial code to test ports using O_NONBLOCK
- Modify xspect & illumread to improve realism of UV spectrum
estimation.
- Fixed profile/txt2ti3 so that a sample name that looks like an
integer is treated as text. (Fixes problem with latest ProfileMaker
file).
- Added LCh option to spotread.
- Fixed numerical issue in scanin/scanrd.c, where large input
rasters would cause fitting to fail.
- Modified colprof input chart white patch detection to slightly
favour patches that are close to D50 neutral.
- Increase the default XYZ PCS A2B profile default smoothness.
- Improved cLUT input -u black & white point
extrapolation.
- Improved black point determination for devices that have
extremely narrow gamuts doe to the use of custom inks.
- Added -Z option to colprof, to allow setting ICC attribute flags.
- Fix CIECAM02 to better match forward and backwards, to fix
perceptual table white point.
- Add code to override X-Rite's new OS X drivers for ColorMunki and
EyeOne. Note new installation instructions
<http://www.argyllcms.com/doc/Installing_OSX.html>.
- Added -R flag to colprof, which restricts the range of the white,
black for better compatibility with other programs.
- Fixed typo bug that prevented flash measurement mode from working.
- Replaced spectro/average with a new version that is more general.
- Fixed bug in printcal not working with spectral only files.
- Added extra verbose output to printcal in which it computes an
ideal power-like value to apply to the test chart values in targen.
- Modify the way that XYZ cLUT B2A tables are indexed, so that the
white point is at the top corner of the grid.This should solve
Photoshop CS4/CS5 complaining that XYZ LUT profiles are 'defective'.
- Added option in xicc/xicclu to plot an arbitrary slice.
- Expand the number of i1 Display OEM devices that can be used.
- Made some changes to help compile on FreeBSD.
- Added another intent, "pa", Perceptual Appearance, which is the
same as perceptual except that the grey axes are not forced into
alignment, allowing the appearance parameters to have full affect,
including altering the chromatic mapping.
- Fixed bug in txt2ti3 - it wasn't creating an iRGB colorspace file
for output device RGB files, causing warnings warnings and failures
when mixed with other iRGB tool sequences.
- Added pathological case fix for target/ofps where the ink limit
== di-2.
- targen was failing to proceed when fixed points happened to be
numerically just over the total ink limit.
- Added more navigation options for chartread patch by patch mode.
- Fixed bug in "chartread -r -H" that caused resume of i1Pro
high res to fail with "The resumed spectral type seems to have changed".
- Modified profcheck so that it prints patch location if it is
present in the .ti3 file.
- Changed dispcal and dispread -K option to -J. Added -K option to
dispcal as an alternate way of profiling a calibrated display, and also
added a -K option to dispcal.
- Increased ColorMunki emissive auto scaling target "over" margin
from 5% to 10% to allow more room for instrument drift during
measurement.
- Fix bug in winusb + i1Display, where dark CRT measurements
timeout.
[V1.3.1 -> V1.3.2] 4th November 2010
- Turn off debugging that was accidentally left on in FWA code. Add
gcc 3.3 PPC optimizer bug workaround to FWA code in xicc/xspect.c
- Change shaper/matrix profile back to using power curve as 0th
order shape. Improve it with input & output offsets and straight
segment at zero. Make cLUT input -u black & white point
extrapolation use pure shaper curves with special tweaks.
- Increase dispcal native white target weighting from 10 to 50 to
encourage white to be device 1.0,1.0,1.0 more strongly.
[V1.3.0 -> V1.3.1] 26th October 2010
- Fixed MSWIN Vista/Win7 problem where having Task Manager running
would stop display test window updating. Also fixed plot library to
avoid the same problem.
- Swapped dispwin -E and -D flags, to make -D debug consistent
throughout tools.
- Changed the ARGYLL_NOT_INTERACTIVE mode so that all return and
line feed characters are ignored, so that they can be used freely to
flush stdin without triggering anything.
- Fixed endless loop problem with chartread -r -p on fully read
chart.
- Added -S option to chartread, that suppresses wrong strip and
unexpected value warnings.
- Fix dispcal and spotread so that color temperature takes into
account any non-standard observer (ie. the color temperature is the
closest point on the spectrum locus as determined by the chosen
observers interpretation of the Plancian or daylight spectrum.)
- Fix bug in libusb1 triggered on systems that support bulk
continuation (Linux)
- Added 1964_10c observer to spectro/dispcal, to better allow
comparison to the default numbers.
- Added recognition for Huey built into Lenovo W series Laptops.
- Fixed chartread/dispsup/spotread etc. so that -N isn't fatal if
the instrument doesn't support it.
- Fixed dispcal to disable black & white drift tracking during
interactive adjustment.
- Added -s option to ccmxmake to allow the number of test patches
to be set.
[V1.2.0 -> V1.3.0] 8th September 2010
- Added option to dispcal
and dispread that attempts to counteract instrument black drift and
display white drift (-I option). This may help with instruments that
haven't properly acclimatised to the measurement location, and LCD
displays that also take some time to stabilise. The is a short
discussion here.
- Added option to dispcal
to allow specifying a non 1931 2 degree observer if a spectrometer is
being used.
- Added new utility spectro/ccmxmake,
which
makes
Colorimeter
Correction
Matrices
for
a
particular
Colorimeter
+
Display
combination, using a Spectrometer as a reference.
The resulting .ccmx file can
then be used with spotread/dispcal/dispread
(-X option) to improve the accuracy of the colorimeter on that
particular display. See a discussion here
and here.
- Fixed bug in spotread's handling of emissive measurements. If
the XYZ was computed from spectral, it was using a D50 white instead of
no white reference.
- Fixed bug in i1pro normal resolution wavelength calibration,
introduced in V1.2.0.
- Changed libusb V1.0 name to libusb-1.0A, so as not to clash with
any official but different libusb V1.0 installation. [This may
necessitate re-installing device drivers on MSWin.]
- Added support for HP DreamColor version of the i1 display.
- Fix problem with ARGYLL_NOT_INTERACTIVE - reading from
instruments was not actually possible, because polling for input was
disabled.
- Adjust ColorMunki dark threshold to reduce misread reports. Add
inconsistent data to debug output. Fix bug in adaptive mode - the
integration time was sometimes too short. Set adaptive emissive
target at 95% to allow a little more margin to saturation.
- Fix problem with ColorMunki reporting erroneous inconsistent
measurement errors. This shows up on display calibration.
- Fix some minor compiler warnings.
- Added direction indicators to xy values in dispcal
interactive monitor adjustments.
- Fix bug in CIECAM02 viewing condition settings :- the enumerated
conditions after "mt" are displaced by 1. (ie. "mt" is really "pc",
"mb" is "mt", "md" is "mb" etc.) Added option -c:sn for auto surround
from the Lv parameter (-c:l).
- Add option to illumread to average several readings. Fixed bug in
the way illumread displays available instruments.
[V1.1.1 -> V1.2.0] 30 July 2010
- Re-worked gamut mapping to improve perceptual intent saturation
levels,
as well as improve highlight and shadow contrast. Added fine tuning to
improve both smoothness and the precision with which the source is
mapped to the destination.
- Added illumread, which allows measuring an illuminant and
estimating its UV content, for better accuracy with FWA compensation.
- Use a modified/forked version of libusb V1.0, that supports Win2K
(libusb0.sys) back end by default. Supports 64 but MSWin using a
combination of WinUSB.sys and ptlibusb0.sys. [ The HCFR does not work
on Win 64 bit though, due to its buggy USB implementation. ] NOTE that
the included version of Libusb V1 has been carefully tested with all
supported instruments on all supported platforms, and includes
many
bug fixes needed for correct functioning. While bug fixes have been fed
upstream, not all have been adopted. In particular there is a nasty
race condition that has not, and may never be fixed upstream, as well
as missing critical functionality (clearep()).
- Modified colprof -p to allow different abstract profiles to be
applied for each intent.
- Added -I option (imitation) to printcal, so that an existing
devices response can be set as a target.
- Increase target/ofps.c vertex intersection retries from 10 to 40
to give it a better chance of working with difficult profiles.
- Fixed bug in plot that shows up on XP+, where the window isn't
dismissed by the first keystroke, but only after it has been moved or
resized.
- Changed CMYK black point to be natural, rather than the darkest
point in the same direction and K only. This may wreck K only to black
point matching, but it will stop printers with funny colored K ink from
messing up the black point.
- Make Lacie Blue Eye colorimeter appear as an i1display.
- Improved i1pro matching to Original Manufacturers Driver (see
doc/i1proDriver.html).
- Improved i1pro/ColorMunki patch recognition for better uniformity.
- Fixed bug in ColorMunki driver acquisition mode calibration when
instrument is more sensitive than usual.
- Added EV calculation to spotread -a
[V1.1.0 -> V1.1.1] 21 February 2010
- Renamed the following tools:
cb2cgats -> cb2ti3
kodak2cgats -> kodak2ti3
logo2cgats -> txt2ti3
splitcgats ->
splitti3
mpprof -> mppprof
- Modified black curve to make sure that smoothed curve meets
target level at boundaries.
- Added -M option to printtarg, for the case where the TIFF file is
to include the margin.
- Fixed several build bugs in imdi code related to 64 bits.
- Fixed profile/colprof -u so that it is applied to matrix profiles
too
- Changed tiffgamut to use one pass gamut hull finding and modified
the smoothing so as to end up with a more closely wrapped volume.
- Fixed bug in input matrix profiles introduced by the XYZ cLUT
display matrix profile change, where the correct white and black point
weren't being written.
- Added matrix only/linear algorithm option to profile/colprof, for
raw camera profiling.
- Modified libusb/55-Argyll.rules for better compatibility with
systems that have ACL installed but no ConsoleKit. Also set ID_VENDOR
and ID_MODEL using. usb-db.
- Modified target/targen to cope better with case where adding
nodes fails to determine vertex positions a lot of the time, causing
extreme slowdown.
- Fixed colprof so that the per channel input curves for XYZ PCS
B2A tables are actually scaled correctly.
- Changed link/collink to apply Y to L* curve if the input or
output space is XYZ. Fixed the Y to L* scaling to make sure it only
apples to XYZ space, and that the L* non-linearisation still applies to
Y like device spaces.
- Modified scanin so that it ignores any alpha channels in the
input .tiff file.
- Changed printcal so that it will create .AMP file with more than
4 channels. Also fixed up plotting to plot up to 10 channels.
- Changed dispcal and dispread so that a request for projector mode
falls back to display mode if the instrument doesn't support a
projector mode.
- Updated ref/CMP_Digital_Target-3.cht as it seems that the
reference chart has columns labelled "2A - 2D" rather than the "AA -
AD" that is actually printed on the chart...
- Altered xpsect FWA code to reduce overshoot artefacts due to
filtering.
[V1.0.4 -> V1.1.0] 17th January 2010
- Spyder3 and ColorMunki Design, Photo and Create instrument
support.
- Added a complete printer calibration system. This can work either
with a print system that supports per channel print calibration curves,
or purely using ICC profiling mechanisms.
- Default targen (OFPS) test point distribution has been re-written
to generate test points on the gamut surface, refine the point
locations when using a guide profile, and use a better error estimate
model to determine the test point locations.
- Changed chartread strip reading mode to allow navigating about
the strips, saving a partially read chart, and resuming a partially
read chart.
- Improved and re-tuned
gamut mapping. This is noticeably smoother and better retains source
image detail.
- Re-tuned the cLUT profile creation smoothness vs.
accuracy.
- Fixed viewgam so that the number of gamuts that can be viewed is
unlimited. Also added error when computing intersecting volume if the
two gamuts are incompatible.
- Improved CMYK black generation control and smoothness near the
black point.
- Improved collink special black and colorant handling so that the
gamut mapping is consistent with the special black and colorant
mapping
- Changed profile/colprof to generate matrix tags for Display XYZ
PCS cLUT profiles, to improve compatibility with other CMMs.
By default (-ax) the matrix tags will be a dummy transform that swaps
red and green, while using -aX will create real matrix tags.
- Added -V option to dispcal and dispread to allow use of i1pro
adaptive mode to give better low level consistency.
- Changed dispcal to default to -f 1.0 (assume black is all output
offset) to make it work in more sympathy to a typical display response.
Also changed default gamma to 2.4 for OS X 10.6 systems.
- Improved X11 XRandR CRTC detection.
- Added spotread option to save spectral reading of an illuminant
to a .sp file.
- Added Color Rendering Index (Ra) to spotread measurement results.
- Added i1pro & ColorMunki flash measurement
support.
- Improve reliability of detecting backwards read i1pro/Munki
strips.
- Fixed bug in i1pro driver that subtly affected accuracy.
- Modified xicc/cam02 to clip the blue to avoid crazy behavior
outside the spectrum locus.
- Simplified the Linux installation instructions, particularly with
regard to USB and serial permissions.
- Added working MSWindows 64 bit libusb drivers, which will work on
Vista 64 and MSWindows 7 64 bit. Because of Microsoft's driver signing
requirements though, they won't be usable unless a driver code signing
workaround is used.
- Changed printtarg so that the TIFF output has the paper margin
subtracted from it. This is so that the resulting TIFF can be placed on
that sized paper without clipping or scaling. Set the margin to zero to
get a TIFF that exactly fits into the specified paper size
[V1.0.3 -> V1.0.4] 30th June 2009
- Modify icc/icclib to protect against integer overflow exploits,
and fixes to minor bugs. Bump icclib version to 2.11 to reflect this.
- Fix bug in spectro/hidio.c that can cause a crash (bus error) on
OS X for any program that accesses the instruments.
- Fix bug in xicc/xfit.c where too little memory was being
allocated.
[V1.0.2 -> V1.0.3] 3rd September 2008
- Added multi-TIFF and popularity filtering to tiffgamut.
- Modified gamut mapping in colprof
and collink to be consistent,
and have higher perceptual intent saturation.
- Fixed timeout problem with the Eye-One Display colorimeter.
- Fix segmentation fault in dispread.
- Fix out of memory error in colprof
for systems with > 3Gig Ram.
- Add support for the Eye-One Monitor spectrometer.
- Added -L option to printtarg
to suppress the i1pro target holder clip margin.
- Fixed bug in dispcal
when using -a with -t
[V1.0.1 -> V1.0.2] 19th August 2008
Various bug fixes, the main ones being:
- Fixed some colprof performance
and
memory
usage
issues.
- Fixed issues with Eye-One Pro Rev B timeouts.
- Added new option to collink -fk, that forces 000K input to K only
output.
- Added device target value quantization option to printtarg, as well as making it
default for
TIFF output files.put files.
- Fixed leak that was affecting printtarg.
[V0.70 Beta 8 -> V1.0.0] 1st July 2008
Apart from numerous bug fixes and many minor feature additions and
improvements, the main changes to this version compared to the previous
one are:
- Speedup in profile and device link generation (inversion code),
and better memory usage.
- Support for embedded profiles in TIFF files.
- Support for installing and uninstalling and loading of display
profiles for all operating systems, and a micro CMM system for X11/Linux
- Improved display calibration and profiling, including ambient
light adjustment.
- X11 XRandR 1.2 support added.
- Raster test charts now supported, as well as PS and EPS.
- Guidance for installing on a wider range of systems.
- Fixed luminance and ambient calibration issues with various
instruments.
- Renamed "profile" to "colprof", and "icclink" to "collink" to
avoid clashes that have arisen with other executable names.
- Streamlined source code build system, for much easier building.
- Installation archives now include a top directory, and gzip/tar
format for OS X and Linux.
- Added B2A table to input device LUT profiles by default.
As usual, a more detailed description of all changes is in the log.txt
file that accompanies the
source
code.
[V0.60 -> V0.70 Beta 8]15th January 2008
- Added quick display ICC profile creation as part of calibration.
- Added support for the Huey, Spyder 2, DTP20, Eye-One Pro,
DTP22/Digital Swatchbook, Eye-One Display 1 and 2 instruments.
- Changed to GPL Version 3 license.
- Countless other bug fixes and feature enhancements.