My detailed, technical, and long bug report is on ColorThink's forum here:
http://www.colorforums.com/viewtopic.php?p=5565#5565The summary is that ColorThink uses a shortcut method so it doesn't run horribly slow, and the shortcut method is programmed incorrectly so it creates pixel values that aren't in the original image.ColorThink would be very slow with even moderately sized images such as 1212x1418 pixels - if it didn't use the shortcut method that we don't even see it using - or, if it didn't have a more efficient algorithm to deal with them. Like, it would run for 30 minutes and crashes slow.
So, if you give ColorThink Color Worksheet or 3D grapher an image with its longest dimension over 500 pixels, it internally resizes it so the long dimension is 500 pixels, and continues on.
This is reasonably to me. We want ColorThink to be relatively fast.
The problem is that the internal resizing it uses is a resampling method that creates colors that aren't in the image given to ColorThink. Only nearest neighbor (or similar algorithms that choose actual pixels from the source image) keeps the original colors in an image when downsizing. Bilinear, bicubic, and others like that aim to making the downsized image look unpixelated, and the only way to do that is to blend the pixels.
At the link above, I show a process to verify this. It involves creating a TIFF of alternating pure black and white pixels row by row. ColorThink should see RGB 0/0/0 (LAB 0/0/0) and RGB 255/255/255 (LAB 100/0/0), however it sees neither of these. It sees a bunch of values inbetween.
This doesn't just happen on the special case of alternating black/white pixels. It happens on any image, whether it's a photograph, a scanned image, or a digitally created image, if its longest dimension is over 500 pixels.
It's showing you erroneous data, if you're doing something like seeing which media fits your file's gamut the best, or watching how pixel values change during profile conversions.
I found this because I had scanner images that don't have pixels within a few values of L* 100, but noticed ColorThink had pixels graphed way up there. Took a few days to nail this one down.
WORKAROUND: Before giving ColorThink an image, resize it in your image editor so the longest dimension is 500 pixels -- USING nearest neighbor as your resampling method.I always downsized an image before giving it to ColorThink, but I typically went with 1000 pixels on the longest dimension, figuring that was small enough.