Hi,
I went through hoops and it took me several weeks to get the SDK, but it
turned out that even the demo programs from the SDK couldn't unlock my device
(even when I used the unlock codes I found in the ArgyllCMS source code). So I
ended up using ArgyllCMS.
You only need ArgyllCMS's command line tool "spotread" and then use it with the
-O option, so spotread takes just one measurement without interaction (at least normally,
i.e., if the device is set to the correct mode (emissive/ambient) and is calibrated (not
needed for the i1 Display Pro)).
Put spotread in the current directory or add Argyll's bin directory to the
system PATH.
Some simple MATLAB code would look like this
[~,out] = system('spotread -e -x -O');
i = strfind(out, 'Result is XYZ:');
v = sscanf(out(i:end), 'Result is XYZ: %f %f %f, Yxy: %f %f %f');
disp(v(4:6));
For debugging, you can run spotread directly from the MATLAB command window
using the '!':
!spotread -e -x -O
(In case you have to provide keyboard input, it has to be confirmed with
the Enter key).
Sure, you lose time when having to start spotread for each measurement, which
is around 1 second for the i1 Display Pro, but an implementation which keeps
spotread open is obviously more complicated (Matlab or C - I know from having
done this).
Hope this helps,
Marc
baptiste wrote on 21.09.2017 3:48:
Hello.
I am trying to use a x-rite i1 Display pro to calibrate monitors for an
experiment. Color vision is not the topic, but I would like to have roughly
calibrated monitors. Unfortunately I bought a non-OEM version of the i1 Display
and people at x-rite don’t want to give me their SDK, or documentation on how
to communicate with their device. Do you know where I could get this
information? I used to have a Konica colorimeter and in the documentation they
explained explicitly how to request a measurement from a computer and how to
receive the xyY measurement. I’m looking for something like that. I am
genuinely impressed by the quality of Argyll but it’s a bit too complicated for
what I want to do. First I would prefer to use matlab as my C is not great and
second I don’t really have the time to go through all the code trying to
understand how you use the i1 Display.
Thank you very much.
Baptiste