Summary of Argyll CMS Changes since last release
For detailed change list please see the log.txt file.
[V1.2.0 -> V1.3.0]
- 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 emsissive 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]
- 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 scan mode calibration when
instrument is more sensitive than usual.
- Added EV calculation to spotread -a
[V1.1.0 -> V1.1.1]
- 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]
- 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]
- 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]
- 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]
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]
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]
- 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.