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.5 -> V1.3.6] 19th March 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.
[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.