python-colormath 2.1.0 released

python-colormath 2.1.0 haslanded, bringing with it some excellent new features and bug fixes. See the release notes for a more detailed look at the changes.

The headlining feature is the replacement of our hardcoded conversion tables with NetworkX-based resolution of color conversions (courtesy, Michael Mauderer). Color Appearance Models and IPT round out the rest of the new features.

Installation

The easiest way to get python-colormath is through pip/easy_install:

pip install colormath

Alternatively, grab it from PyPi.

Halp!

If you get stuck, create an issue in the issue tracker and we can figure it out.

python-colormath 2.0 released!

python-colormath was startedback in 2008, when I was an undergraduate at Clemson University (Go Tigers!). While there are a good number of people out there making use of the module effectively, there were a lot of things I wanted to do differently in an eventual 2.0 release. There were some usability issues that arose from my being relatively new to Python at the time.

But all has been made well now. I am happy to announce the immediate release of python-colormath 2.0! A few hilights:

  • Better documentation
  • Python 3.3+ support added. Python 2.6 and lower no longer supported.
  • A complete re-working of RGB and RGB conversions. I’m biased, but I think we’ve now got more correct RGB handling than the vast majority of color math libraries out there, regardless of language.
  • While the color space conversion math remains largely untouched, there is now a dedicated color_conversions submodule that is devoted to the cause. I think this is a good clarity/usability win.
  • Our unit test suite saw a lot of improvement. They are now easier to write, more complete, and more helpful when failures occur.
  • Numpy matrix-driven Delta E functions were incorporated for a nice speed win. In addition to the standard Delta E calls, you can use a vectorized equivalent that is much faster.

See the 2.0 release notes for a more detailed look at the differences.

NOTE: There are backwards incompatible changes in this release. In order to set things right, there were quite a few breakages, but I’ve done the best I can to document these.

Installation

The easiest way to get python-colormath is through pip/easy_install:

pip install colormath

Halp!

If you get stuck, create an issue in the issue tracker and we can figure it out.

python-colormath 1.0.6 Released

Thanks to liushie, a math domain error was caught in the CIE1994 and CMCcolor difference methods. This only manifested itself for certain CIELab values, and went unnoticed as a result of this. The problems have been corrected and released as 1.0.6.

Please see the project page for more details on what python-colormath, how to install it, and how to use it. This is unlikely to interest you if you are not looking to do some kind of color math.

Lack of an open X-Rite i1 (Eye-One) SDK

After doing a lot of work with the X-Rite (formerly Gretagmacbeth) i1(Eye-One) Pro SDK, I’ve started running into strange little quirks with their close-sourced libraries. The documentation is decent, but severely lacking in crucial areas such as code examples. Several of the functions are vaguely defined with no examples whatsoever. To make matters worse, there is absolutely no developer community since the SDK isn’t publicly available.

So if you’re running on a platform other than Windows or Mac OSX, you’re generally out of luck. There is a rudimentary set of drivers that an open source color profiling library has implemented, but it does not handle many of the features and not nearly as well as the X-Rite SDK. Fortunately, I’ve been able to at least abstract some of the quirks away by writing a Python wrapper around their C library, but there are still some things that would be high on the list for improvement if the Eye-One SDK were publicly available.

It is a pity this stuff is kept under such tight wraps. I’m not sure if they realize, but X-Rite could be promoting a flourishing community of developers rather than squashing any code examples on the net and not even hosting a rudimentary communication device such as a mailing list for people to share their work and ask questions. Perhaps they fear the software people would create if the tools were better documented and help was available. Maybe it’d challenge their monopoly and it’d be a bad thing.

Who knows, I guess.

Color Error Threshold Calculator (pt. 2)

As promised, I’ve got an update about the Color Error ThresholdCalculator. The utility is now in good enough shape to be posted along with the article about it that I recently finished for our TAGA chapter at Clemson.

For those that have no earthly idea what this is about, the calculator helps educators and industry members determine how much color variance is acceptable for a given color. When trying to reproduce a color over hundreds (or thousands) of impressions on a press, there will be some periodic change. The calculator tries to estimate a Delta E value that is acceptable.

See the Color Error Threshold Calculator and read the article.