<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"> <html> <head> <title>ccxxmake</title> <meta http-equiv="content-type" content="text/html; charset=ISO-8859-1"> <meta name="author" content="Graeme Gill"> </head> <body> <h2><b>spectro/ccxxmake</b></h2> <h3>Summary</h3> For Colorimeters that rely on a calibration matrix, <span style="font-weight: bold;">ccxxmake</span> allows creation of a correction matrix file (<a href="File_Formats.html#.ccmx">ccmx</a>) for a particular <span style="font-weight: bold;">Colorimeter & Display</span> combination, by making use a reference <span style="font-weight: bold;">Spectrometer</span> or Colorimeter instrument. This can then be used to improve the accuracy of subsequent measurements with that Colorimeter on that Display by using it with the <a href="dispcal.html#X">dispcal</a>, <a href="dispread.html#X">dispread</a> and <a href="spotread.html#X">spotread</a> -X option. See <a href="WideGamutColmters.html">Wide Gamut Displays and Colorimeters</a> for more information on why this may be useful. <span style="font-weight: bold;">Note</span> that to make use of a colorimeter as a CCMX reference, you will have to provide two .ti3 files rather than using interactive measurement- see <a href="#f"><span style="font-weight: bold;">-f</span></a>.<br> <br> For Colorimeters that have sensor spectral sensitivity calibration information built into them (ie. the X-Rite <span style="font-weight: bold;">i1d3</span>, and<span style="font-weight: bold;"><span style="font-weight: bold;"></span></span> DataColor <span style="font-weight: bold;">Spyder4</span>), <span style="font-weight: bold;">ccxxmake</span> allows a creation of a calibration spectral sample (<a href="File_Formats.html#.ccss">ccss</a>) for a particular <span style="font-weight: bold;">Display</span>, by making use a reference <span style="font-weight: bold;">Spectrometer</span> instrument. This can then be used to improve the accuracy of subsequent measurements on that Display using such Colorimeters, by using it with the <a href="dispcal.html#X">dispcal</a>, <a href="dispread.html#X">dispread</a> and <a href="spotread.html#X">spotread</a> -X option.<br> <br> There is a <a href="ccmxs.html">list of contributed</a> <span style="font-weight: bold;">ccmx</span> (Colorimeter Correction Matrix) files.<br> <h3>Usage Summary</h3> <small style="font-family: monospace;">ccxxmake [-options] correction.ccmx<br> </small><small style="font-family: monospace;"> <a href="#v">-v</a> Verbose mode</small><br> <a href="#S">-S</a> Create CCSS rather than CCMX<br> <a href="#f">-f file1.ti3[,file2.ti3]</a> Create from one or two .ti3 files rather than measure.<br style="font-family: monospace;"> <span style="font-family: monospace;"> </span><font style="font-family: monospace;" size="-1"><a href="#display">-display displayname</a> [X11 only] Choose X11 display name</font><br style="font-family: monospace;"> <font style="font-family: monospace;" size="-1"></font><font style="font-family: monospace;" size="-1"> <a href="#dnm">-d n[,m]</a> [X11 only] Choose the display from the following list (default 1),</font><br style="font-family: monospace;"> <font style="font-family: monospace;" size="-1"> and optionally choose a different display m for VideoLUT access.</font><br style="font-family: monospace;"> <font style="font-family: monospace;" size="-1"> <a href="#d">-d n</a> Choose the display from the following list (default 1)</font><br> <span style="font-family: monospace;"> <a href="#dweb">-dweb[:port]</a> Display via a web server at port (default 8080)</span><br style="font-family: monospace;"> <font style="font-family: monospace;" size="-1"> </font><font style="font-family: monospace;" size="-1"><a href="#p">-p</a> Use projector mode (if available)</font><br style="font-family: monospace;"> <font size="-1"><span style="font-family: monospace;"><a href="#y">-y X</a> Display type - instrument specific list to choose from.</span></font><font style="font-family: monospace;" size="-1"> (CCMX)</font><br style="font-family: monospace;"> <font style="font-family: monospace;" size="-1"> <a href="#P">-P ho,vo,ss</a> Position test window and scale it</font><br style="font-family: monospace;"> <font style="font-family: monospace;" size="-1"> ho,vi: 0.0 = left/top, 0.5 = center, 1.0 = right/bottom etc.</font><br style="font-family: monospace;"> <font style="font-family: monospace;" size="-1"> ss: 0.5 = half, 1.0 = normal, 2.0 = double etc.</font><br style="font-family: monospace;"> <font style="font-family: monospace;" size="-1"> </font><font style="font-family: monospace;" size="-1"><a href="#F">-F</a> Fill whole screen with black background</font><br style="font-family: monospace;"> <small style="font-family: monospace;"> <span style="text-decoration: underline;"></span><a href="#n">-n</a> [X11 only] Don't set override redirect on test window<br> </small><font style="font-family: monospace;" size="-1"> <a href="#N">-N</a> Disable auto calibration of instrument</font><small style="font-family: monospace;"><br> </small><span style="font-family: monospace;"> </span><font style="font-family: monospace;" size="-1"><a href="#H">-H</a> Use high resolution spectrum mode (if available)<br> </font><font style="font-family: monospace;" size="-1"> <a href="#V">-V</a> Use adaptive measurement mode (if available)</font><br style="font-family: monospace;"> <font style="font-family: monospace;" size="-1"> <a href="#C">-C "command"</a> Invoke shell "command" each time a color is set<br> </font><small style="font-family: monospace;"> <a href="#o">-o <i>observ</i></a> Choose CIE Observer for CCMX spectral data:<br> 1931_2 </small><small style="font-family: monospace;"> (def.)</small><small style="font-family: monospace;">, 1964_10, S&B 1955_2, shaw, J&V 1978_2<br> </small><font style="font-family: monospace;" size="-1"> <a href="#s">-s steps</a> Override default patch sequence combination steps (default 3)</font><br style="font-family: monospace;"> <font style="font-family: monospace;" size="-1"> <a href="#W">-W n|h|x</a> Override serial port flow control: n = none, h = HW, x = Xon/Xoff</font><br style="font-family: monospace;"> <small style="font-family: monospace;"> <a href="#D">-D [level]</a> Print debug diagnostics to stderr<br> </small><small style="font-family: monospace;"> <a href="ccxxmake.html#E">-E "description"</a> Override the default overall escription</small><br> <small style="font-family: monospace;"> <a href="#I">-I "displayname"</a> </small><span style="font-family: monospace;">Set display make and model description</span><small style="font-family: monospace;"><br> </small><small style="font-family: monospace;"><a href="#T">-T "displaytech"</a> </small><span style="font-family: monospace;">Set display technology description</span> (ie. CRT, LCD etc.)<small style="font-family: monospace;"></small><br style="font-family: monospace;"> <span style="font-family: monospace;"> </span><font style="font-family: monospace;" size="-1"><a href="#file1"><span style="font-style: italic;">correction.ccmx</span></a> | <a href="#file2"></a></font><font style="font-family: monospace;" size="-1"><a href="ccxxmake.html#file2">calibration.ccss</a></font><font style="font-family: monospace;" size="-1"><br> File to save result to.</font><br> <h3>Usage Details and Discussion</h3> <a name="v"></a>The <b>-v</b> flag causes extra information to be printed out during chartread operation.<br> <br> <a name="S"></a><span style="font-weight: bold;">-S</span> By default a Colorimeter Correction Matrix (<span style="font-weight: bold;">CCMX</span>) will be created from both <span style="font-weight: bold;">Colorimeter</span> and <span style="font-weight: bold;">Spectrometer</span> readings, which allows correction for errors with a particular Colorimeter and Display combination. If the <span style="font-weight: bold;">-S</span> flag is used, then instead a Colorimeter Calibration Spectral Set (<span style="font-weight: bold;">CCSS</span>) file is created from just the <span style="font-weight: bold;">Spectrometer</span> readings, that allows calibrating any suitable Colorimeter to the Display.<br> <br> <a name="f"></a><span style="font-weight: bold;">-f <span style="font-style: italic;">file1.ti3[,file2.ti3]</span></span> By <span style="text-decoration: underline;">default</span> <span style="font-weight: bold;">ccxxmake</span> creates a <span style="font-weight: bold;">CCMX</span> file by displaying test patches on the screen, and then prompting you to measure them interactively with the two instruments. An alternative is to create a small number of test values using <span style="font-weight: bold;">targen</span> suitable for display profiling (or use the <span style="font-weight: bold;">ref/ccxx.ti1</span> file provided with ArgyllCMS), and then measure them with the two instruments using <span style="font-weight: bold;">dispread</span> to create a reference and target .ti3 files, and then provide the two files as arguments to <span style="font-weight: bold;">ccxxmake -f</span>. Normally the reference file will be created using a spectral instrument and you will want to use the <span style="font-weight: bold;">-s</span> flag with dispread for this. If you want to use a colorimeter as a reference instrument, then make sure that it is the first file provided to the ccxxmake <span style="font-weight: bold;">-f</span> option. The filenames should be concatenated with a <span style="font-weight: bold;">","</span> separator without spaces. You will also have to supply a display name using the <span style="font-weight: bold;">-I</span> option and/or technology description using <span style="font-weight: bold;">-T</span>.<br> When creating a <span style="font-weight: bold;">CCSS</span> file, only spectral readings from the display measured with the reference instrument are needed, and a single <span style="font-weight: bold;">.ti3</span> file should be provided.<br> <br> <a name="display"></a>When running on a UNIX based system that used the X11 Windowing System, <b>ccxxmake</b> will by default use the $DISPLAY environment variable to determine which display and screen to read from. This can be overridden by supplying an X11 display name to the <span style="font-weight: bold;">-display</span> option. Note that if Xinerama is active, you can't select the screen using $DISPLAY or -display, you have to select it using the <span style="font-weight: bold;">-d</span> parameter.<br> <br> <a name="d"></a> By default the main display will be the location of the test window. If the system has more than one display or screen, an alternate display/screen can be selected with the <span style="font-weight: bold;">-d</span> parameter. If you invoke <b>ccxxmake</b> so as to display the usage information (i.e. "dispcal -?" or "dispcal --"), then the discovered displays/screens will be listed. Multiple displays may not be listed, if they appear as a single display to the operating system (ie. the multi-display support is hidden in the video card driver). On UNIX based system that used the X11 Windowing System, the <span style="font-weight: bold;">-d</span> parameter will override the screen specified by the $DISPLAY or parameter.<br> <br> <a name="dnm"></a>Because of the difficulty cause by TwinView and MergedFB in X11 based systems, you can optionally specify a separate display number after the display that is going to be used to present test patches, for accessing the VideoLUT hardware. This must be specified as a single string, e.g. <span style="font-weight: bold;">-d 1,2</span> . Some experimentation may be needed using <a href="dispwin.html">dispwin</a> on such systems, to discover what screen has access to the VideoLUT hardware, and which screens the test patches appear on.<br> <br> <span style="font-weight: bold;"><a name="dweb"></a>-dweb</span> or <span style="font-weight: bold;">-dweb:port</span> starts a standalone web server on your machine, which then allows a local or remote web browser to display the the color test patches. By default port <span style="font-weight: bold;">8080</span> is used, but this can be overridden by appending a <span style="font-weight: bold;">:</span> and the port number i.e. <span style="font-weight: bold;">-dweb:8001</span>. The URL will be <span style="font-weight: bold;">http://</span> then name of the machine or its I.P. address followed by a colon and the port number - e.g something like <span style="font-weight: bold;">http://192.168.0.1:8080</span>. If you use the verbose option (<span style="font-weight: bold;">-v</span>) then a likely URL will be printed once the server is started, or you could run <span style="font-weight: bold;">ipconfig</span> (MSWin) or <span style="font-weight: bold;">/sbin/ifconfig</span> (Linux or OS X) and identify an internet address for your machine that way.<br> <br> <a name="p"></a>The <span style="font-weight: bold;">-p</span> flag allows measuring in projector mode, using instruments that support this.<br> <br> <a name="y"></a> The <span style="font-weight: bold;">-y</span> flag allows setting the Display Type (CCMX creation). Most colorimeters need this parameter set to operate correctly. The selection typically determines two aspects of of the instrument operation: <span style="font-weight: bold;">1)</span> It may set the measuring mode to suite <a href="http://en.wikipedia.org/wiki/Comparison_of_display_technology"><span style="font-weight: bold;">refresh</span> or <span style="font-weight: bold;">non-refresh</span> displays</a>. Typically only LCD (Liquid Crystal) displays have a non-refresh nature. <span style="font-weight: bold;">2)</span> It may select an instrument calibration matrix suitable for a particular display type. The selections available depends on the type and model of instrument, and a list of the options for the discovered instruments will be shown in the <a href="ArgyllDoc.html#CmdLine">usage</a> information. For more details on what particular instruments support and how this works, see <a href="instruments.html">Operation of particular instruments</a>. Any CCMX created will work on top of the Display Type, so to be valid, the same Display Type must be selected whenever the CCMX is used with this instrument.<br> <br> <a name="P"></a> The <span style="font-weight: bold;">-P</span> parameter allows you to position and size the test patch window. By default it is places in the center of the screen, and sized appropriately for the type of instrument. The <span style="font-weight: bold;">ho</span> and <span style="font-weight: bold;">vo</span> values govern the horizontal and vertical offset respectively. A value of 0.0 positions the window to the far left or top of the screen, a value of 0.5 positions it in the center of the screen (the default), and 1.0 positions it to the far right or bottom of the screen. The <span style="font-weight: bold;">ss</span> parameter is a scale factor for the test window size. A value of 0.5 for instance, would produce a half sized window. A value of 2.0 will produce a double size window. Note that the ho,vo,ss numbers must be specified as a single string (no space between the numbers and the comma).<br> For example, to create a double sized test window at the top right of the screen, use <span style="font-weight: bold;">-P 1,0,2</span> .<br> <br> <a name="F"></a> The <span style="font-weight: bold;">-F</span> flag causes the while screen behind the test window to be masked with black. This can aid black accuracy when measuring CRT displays or projectors.<br> <br> <a name="n"></a><span style="font-weight: bold;">-n</span> When running on a UNIX based system that used the X11 Windowing System, <b>dispcal</b> normally selects the override redirect so that the test window will appear above any other windows on the display. On some systems this can interfere with window manager operation, and the <b>-n</b> option turns this behaviour off.<br> <br> <a name="N"></a>The <b>-N</b> option disables the automatic calibration of an instrument if it is possible to do so. Sometimes it is awkward to have to re-calibrate and instrument every time a tool starts, and unnecessary if the instrument has recently been calibration, and this switch prevents it happening.<br> <br> <a name="L"></a> The -<span style="font-weight: bold;">H</span> option on high resolution spectral mode, if the instrument supports it, such as the Eye-One Pro. See <a href="instruments.html">Operation of particular instruments</a> for more details. This may give better accuracy for display measurements.<br> <br> <a name="V"></a> The -<span style="font-weight: bold;">V</span> option uses adaptive emission measurement mode, if the instrument supports it, such as the Eye-One Pro. This may give better accuracy for low level measurements, but may be more inconsistent overall due to the varying integration times. Overall measurement time will probably be longer.<br> <br> <a name="C"></a> The -<span style="font-weight: bold;">C</span> <span style="font-weight: bold;">"command" </span>option allows a method of relaying each test value to some other display than that on the system running dispcal (for instance, a photo frame, PDA screen etc.), by causing the given command to be invoked to the shell, with six arguments. The first three arguments are the RGB test color as integers in the range 0 to 255, the second three parameters are the RGB test color as floating point numbers in the range 0.0 to 1.0. The script or tool should relay the given color to the screen in some manner (e.g. by generating a raster file of the given color and sending it to the display being profiled), before returning. Note that a test window will also be created on the system running dispread.<br> <br> <a name="o"></a> (CCMX creation) The <b>-o</b> flag allows specifying a tristimulus observer, and is used to compute tristimulus values from spectral readings. The following choices are available:<br> <b> 1931_2</b> selects the standard CIE 1931 2 degree observer. The default.<br> <b>1964_10</b> selects the standard CIE 1964 10 degree observer.<br> <b>1955_2</b> selects the Stiles and Birch 1955 2 degree observer<br> <b>1978_2 </b>selects the Judd and Voss 1978 2 degree observer<br> <b>shaw</b> selects the Shaw and Fairchild 1997 2 degree observer<br> <br> <a name="s"></a>The <b>-s steps</b><span style="font-weight: bold;"></span> parameter overrides the default number of test patch combination steps used in measuring a colorimeter & display combination.<span style="font-weight: bold;"></span><span style="font-weight: bold;"></span><span style="font-weight: bold;"></span> The steps are those out of every combination of R,G & B values of the given number of steps that have at least one colorant at 100%. So 2 steps gives 7 test patches, 3 gives 19, 4 gives 37, 5 gives 61, 6 gives 91 etc. Note that typically this won't make much difference to the resulting calibration, since it depends primarily on the underlying spectral characteristics of the display.<br> <br> <a name="W"></a>The <b>-W</b> <span style="font-weight: bold;">n|h|x</span> parameter overrides the default serial communications flow control setting. The value <span style="font-weight: bold;">n</span> turns all flow control off, <span style="font-weight: bold;">h</span> sets hardware handshaking, and <span style="font-weight: bold;">x</span> sets Xon/Xoff handshaking. This commend may be useful in workaround serial communications issues with some systems and cables. <br> <br> <a name="D"></a>The <b>-D</b> flag causes communications and other instrument diagnostics to be printed to stdout. A level can be set between 1 .. 9, that may give progressively more verbose information, depending on the instrument. This can be useful in tracking down why an instrument can't connect.<br> <br> <a name="E"></a>The <b>-E</b> parameter allows overriding the <span style="font-weight: bold;">ccmx/ccss</span> files overall description tag. Normally this is not necessary. With most command line shells, it will be necessary to enclose the parameter with double quotes, so that spaces and other special characters are included in the parameter, and not mistaken for the start of another flag, or as a final command line parameter. <br> <br> <a name="I"></a>The <b>-I</b> parameter allows setting of the display description string in the resulting <span style="font-weight: bold;">ccmx/ccss</span> file. Since the default display description is probably very generic, it is <span style="font-weight: bold;">highly recommended</span> that a description of the make and model of the display be provided here, or set a display technology description using <span style="font-weight: bold;">-T</span> (see below). The default or given display description will be printed before the menu. With most command line shells, it will be necessary to enclose the parameter with double quotes, so that spaces and other special characters are included in the parameter, and not mistaken for the start of another flag, or as a final command line parameters.<br> <br> <a name="I"></a>The <b>-T</b> parameter allows setting of the display technology description string in the resulting <span style="font-weight: bold;">ccmx/ccss</span> file. The applicability of the calibration mainly depends on the technology type of the display, so a description of the technology (ie. "CRT", "LCD", "LCD + backlight type + LCD type", etc.) is <span style="font-weight: bold;">highly recommended</span>, because it can make the calibration more widely usable. With most command line shells, it will be necessary to enclose the parameter with double quotes, so that spaces and other special characters are included in the parameter, and not mistaken for the start of another flag, or as a final command line parameters.<br> <br> <a name="file1"></a>The <span style="font-weight: bold; font-style: italic;">correction.ccmx</span> is the name of the file to save the resulting <a href="File_Formats.html#.ccmx">Colorimeter Correction Matrix</a> to. It is best to give it a short but informative name that includes the Colorimeter model and the display make and model. By convention it should have a <span style="font-weight: bold;">.ccmx</span> file extension.<br> <br> <a name="file2"></a>The <span style="font-weight: bold; font-style: italic;">correction.ccss</span> is the name of the file to save the resulting <a href="File_Formats.html#.ccss">Colorimeter Calibration Spectral Samples</a> to. It is best to give it a short but informative name that includes the display technology or model. By convention it should have a <span style="font-weight: bold;">.ccss</span> file extension.<br> <br> If you are going to use the same CCMX or CCSS file all the time, then you may want to set the <a href="Environment.html">ARGYLL_COLMTER_CAL_SPEC_SET</a> environment variable.<br> <br> <hr style="width: 100%; height: 2px;"> <h3>Instrument Communications:</h3> Unlike the other measurement utilities,<span style="font-weight: bold;"> ccxxmake</span> doesn't connect to the instrument until it is about to make a measurement. This allows for the possibility of using a different instrument for each measurement.<br> <br> It will display a menu:<span style="font-style: italic;"></span><br> <br> Press 1 .. 4:<br> 1) Select an instrument, Currently 1 'usb:/bus4/dev2/ (GretagMacbeth i1 Pro)'<br> 2) Measure test patches with current instrument<br> 3) [ Compute Colorimeter Correction Matrix & save it ]<br> 4) Exit<br> <br> For creating a CCMX there are two measurements to be made, after which the correction matrix can be computed and saved. Before each measurement, the instrument may need calibrating. For creating a CCSS a single measurement is needed.<br> <br> A spectral measurement using a spectral instrument is always needed.<br> <br> A measurement using the Colorimeter that the correction matrix is being created for is needed in the case of creating a CCMX, but <span style="font-weight: bold;">not</span> needed when creating a CCSS.<br> <br> There will be a message before the menu indicating which of the measurements has been completed.<br> <br> <hr style="width: 100%; height: 2px;"> <h4>Display Setup:</h4> Because ccmx/ccss is measuring spectral matching, the exact levels of each channel is not important, so the display settings or calibration state shouldn't make any difference to the result, as long as it is the same for the readings of both instruments. Similarly, the number and variety of test patches shouldn't make a huge difference, as long as there is at least Red, Green, Blue and White test patches.<br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> <br> </body> </html>