GNOME Bugzilla – Bug 605856
Properly support spectrophotometers
Last modified: 2010-04-28 14:37:17 UTC
I recently acquired a ColorMunki which is not a colorimeter but a spectrophotometer. The "problem" with spectrophotometers is that they actually require a self-calibration phase before they are useful for anything at all... For some spectrophotometers a reference tile is supplied along with the device, but the ColorMunki has this built it. It requires the user to actually rotate a dial on the device, which moves the sensor away from the aperture, and towards an internal calibration tile. (Having the tile internal prevents it from getting dirty, or you losing it). The calibration phase has to be done for both dispcal and dispread and chartread: $ dispcal/dispread/chartread -v MyChart Set instrument sensor to calibration position, and then hit any key to continue, or hit Esc or Q to abort: Calibration complete ...the normal procedure as with colorimeters resume... The problem with this is that currently GCM assumes the sensor is ready to go, instead of argyll requiring user interaction. But with a spectrophotometer futher user interaction is required: 1. Switch device dial (or put the spectrophotometer on a special calibration cradle) 2. Press enter (on the keyboard) Argyll now self-calibrates the spectrophotometer 3. Switch device dial back to normal position (or remove spectrophotometer from the cradle) 4. Place spectrophotometer on the screen (or whatever media) 4. Press enter (on the keyboard) Argyll now starts calibrating/profiling your media If any further information is required, place let me know.
(In reply to comment #0) > The "problem" with spectrophotometers is that they actually require a > self-calibration phase before they are useful for anything at all... I didn't know this. > The problem with this is that currently GCM assumes the sensor is ready to go, > instead of argyll requiring user interaction. But with a spectrophotometer > futher user interaction is required: So it looks like we need to screen-scrape that text. Eugh. I wish argyll could just install a shared library which we could use. It's bad enough it's doing unbuffered IO. Richard.
commit ec886ab414418c89eea735e75f15fb84a9ceab82 Author: Richard Hughes <richard@hughsie.com> Date: Thu Jan 21 12:05:40 2010 +0000 trivial: screenscrape the argyll output so we can do some clever things in the future Could you please run g-c-m from git master, and attach all the debugging output? You should get some "VTE: could not screenscrape:" lines.
Created attachment 152024 [details] GCM Screenscape while profiling with the ColorMunki Sorry for the slow response. Here's the log, I hope it helps.
commit dc866132cc4aee7fa9c206a51d37363936f4c1c9 Author: Richard Hughes <richard@hughsie.com> Date: Tue Jan 26 13:20:11 2010 +0000 Screenscrape the Argyll output to better support other hardware devices. Fixes #605558 Can you verify this new functionality works please. Thanks.
Created attachment 152329 [details] Some went wrong The current changes are not complete. After dispcal, the procedure seems to get stuck, unwilling to continue, or present new dialogs. Also at the start of dispcal, I set my device to it's calibration mode, and GCM immediately presents the dialog to put the device on the screen... Ideally GCM would detect how long the calibration took from dispcal/dispread, or just wait for 30 seconds or so, as a quick fix. After returning the Munki to it's measuring mode and placing it (back) on the screen, I still have to open the VTE and press enter for dispcal to continue, GCM does not present an OK button (next to the always present Cancel).
Sorry forgot to reopen the feature request.
Can you explain how exactly you use a spectrophotometer please? Do you stick it to the screen and then set to calibrate, or do you set it, then stick it to the screen? Then, do you have to remove it from the screen to change the calibration mode? Thanks.
I more or less already did at the top of the feature request, but I'll try to clarify... For self-calibration spectrophotometers generally use one of two approaches: 1. A seperately supplied reference tile (often integrated into a cradle of some sort). 2. An internal reference tile. With the first approach, the device has to be set down into the cradle with it's aperture on the reference tile. My ColorMunki uses the second approach, the actual sensor in the device can be rotated, so the sensor can be rotated away from the external aperture, towards an internal self-calibration tile. So the procedure is this (for every argyll command that drives the Munki): 1. Rotate to the self-calibration position 2. Press enter for Argyll to commence self-calibration (which takes several seconds) 3. Rotate to one of the measurement positions (so we have an external aperture) 4. Put the device's aperture on the surface we want to measure. Be it a screen, be it a printed target. 4. Press enter for Argyll to commence measurements. I hope this clears things up a bit.
While it might be slightly inapproriate to post here, this YouTube video might quickly clear some things up: http://www.youtube.com/watch?v=T_dC-3fWoC4
Can you try now please: commit fb676f7b905075e4cc557d53038b330e382778fb Author: Richard Hughes <richard@hughsie.com> Date: Wed Jan 27 16:45:46 2010 +0000 Use a state machine when we are dealing with argyll as we may have more than one different type of request
Created attachment 152438 [details] New GCM Screenscrape, still not entirely right The calibration/profiling procedure doesn't get "stuck" anymore. I can now again successfully generate a profile again. However, I still need to intervene sometimes. Since the "Place the colorimeter on the screen" dialog does not have an OK button, only Cancel, which means I have to open the VTE, and press enter for it to continue. This must be frustrating since you don't have a device to test this with, so I appreciate your patience.
commit 28c1e882315b5591d8491cc3f3eee70cd6070b06 Author: Richard Hughes <richard@hughsie.com> Date: Wed Jan 27 19:16:28 2010 +0000 trivial: push and pop the okay button visibility when calibrating
Seems to work well for dispcal... But not yet for dispread... This self-calibration procedure needs to be done for each and every time the spectrophotometer is used... Not just the first time it's connected to USB... But every time Argyll initializes the device... So dispcal/dispread/chartread all need their own self-calibration procedure...
Created attachment 152518 [details] GCM Screenscape dispread still fails I just tried the new code in git. The dispcal part works just fine... While the dispread part still fails... It seems as if after setting up the photospectrometer for self-calibration (by turning the dial), and click OK, dispread self-calibrates the photospectrometer, and then directly tries to continue reading patches... Without asking the user to place the photospectrometer back on the screen (and turning the dial back, to the measurement position). As usual, I've attached a new screenscrape.
Another small note... Currently during the self-calibration, a standard dialog (I think it was "Drawingpatches") turns up, which is rather incorrect... I'd love to see a new dialog, simply titled "Self calibration", with text along the lines of this: "The device is currently self calibrating, this can take a couple of seconds..."
I just retried with git, and it basically works now. There are some cosmetic issues though: For dispcal, GCM does not ask to return the device to it's screen calibration position. It _does_ for dispread. Also, during the self-calibration the 'drawing patches' dialog is shown which is very misleading since no patches are actually being drawn, this may confuse some users into thinking GCM is malfunctioning. I'd highly advocate a separate "Self-calibration" dialog. Btw, I like the artwork ;)
I think we can close this bug now. The calibration stuff is an argyll bug that Graeme has just fixed this morning. I think the dialogs also show the right thing in most places too. If the wording needs fixing I would appreciate a trivial patch as I think we're good now. Thanks.