[gnome-color-manager] trivial: vectorize the target figure and add good and bad variants
- From: Richard Hughes <rhughes src gnome org>
- To: commits-list gnome org
- Cc:
- Subject: [gnome-color-manager] trivial: vectorize the target figure and add good and bad variants
- Date: Thu, 25 Feb 2010 14:38:42 +0000 (UTC)
commit 37f9b108d24286d9010f52b9f53b85570d511039
Author: Richard Hughes <richard hughsie com>
Date: Thu Feb 25 14:16:54 2010 +0000
trivial: vectorize the target figure and add good and bad variants
contrib/gnome-color-manager.spec.in | 2 +-
data/figures/Makefile.am | 4 +-
data/figures/argyll-target.png | Bin 6246 -> 0 bytes
data/figures/scan-target-bad.svg | 765 +++++++++++++++++++++++++++++++++++
data/figures/scan-target-good.svg | 765 +++++++++++++++++++++++++++++++++++
data/figures/scan-target.svg | 758 ++++++++++++++++++++++++++++++++++
src/gcm-calibrate-argyll.c | 13 +-
7 files changed, 2300 insertions(+), 7 deletions(-)
---
diff --git a/contrib/gnome-color-manager.spec.in b/contrib/gnome-color-manager.spec.in
index 49922d3..8e34422 100644
--- a/contrib/gnome-color-manager.spec.in
+++ b/contrib/gnome-color-manager.spec.in
@@ -125,7 +125,7 @@ update-mime-database %{_datadir}/mime &> /dev/null || :
%dir %{_datadir}/gnome-color-manager/icons
%{_datadir}/gnome-color-manager/targets/*.png
%{_datadir}/gnome-color-manager/icons/*.svg
-%{_datadir}/gnome-color-manager/icons/*.png
+#%{_datadir}/gnome-color-manager/icons/*.png
%{_datadir}/man/man1/*.1.gz
%{_datadir}/gnome/help/gnome-color-manager
%{_datadir}/omf/gnome-color-manager
diff --git a/data/figures/Makefile.am b/data/figures/Makefile.am
index 84cd6be..8f27ff5 100644
--- a/data/figures/Makefile.am
+++ b/data/figures/Makefile.am
@@ -1,7 +1,9 @@
figuresdir = $(datadir)/gnome-color-manager/icons
figures_DATA = \
clock.svg \
- argyll-target.png \
+ scan-target.svg \
+ scan-target-good.svg \
+ scan-target-bad.svg \
huey-attach.svg \
spyder-attach.svg \
munki-ambient.svg \
diff --git a/data/figures/scan-target-bad.svg b/data/figures/scan-target-bad.svg
new file mode 100644
index 0000000..8f3ac1e
--- /dev/null
+++ b/data/figures/scan-target-bad.svg
@@ -0,0 +1,765 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="480"
+ height="260"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="argyll-target.svg">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient5681">
+ <stop
+ style="stop-color:#460546;stop-opacity:1;"
+ offset="0"
+ id="stop5683" />
+ <stop
+ id="stop5689"
+ offset="1"
+ style="stop-color:#462546;stop-opacity:0.49803922;" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2886"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3684"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3706"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3728"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3750"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3783"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3807"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3840"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3868"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3868-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3899"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3921"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3943"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3967"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3991"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4013"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4035"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4075"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2857"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3645"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3667"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3758"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3816"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3917"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3942"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.79469228"
+ inkscape:cx="384.59743"
+ inkscape:cy="-83.914951"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-from-guide="false"
+ inkscape:window-width="1680"
+ inkscape:window-height="975"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2816"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-10,-692.36218)">
+ <rect
+ style="fill:#8a23ff;fill-opacity:1;stroke:none"
+ id="rect2863"
+ width="60"
+ height="60"
+ x="60"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4"
+ width="5"
+ height="60"
+ x="120"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#d10000;fill-opacity:1;stroke:none"
+ id="rect2863-4-4"
+ width="3.7500002"
+ height="60"
+ x="56.25"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ id="rect2863-41"
+ width="60"
+ height="60"
+ x="125"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-5"
+ width="5"
+ height="60"
+ x="185"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#a8a8a8;fill-opacity:1;stroke:none"
+ id="rect2863-49"
+ width="60"
+ height="60"
+ x="190"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-8"
+ width="5"
+ height="60"
+ x="250"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#9beb6f;fill-opacity:1;stroke:none"
+ id="rect2863-8"
+ width="60"
+ height="60"
+ x="255"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-52"
+ width="5"
+ height="60"
+ x="315"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#a7b719;fill-opacity:1;stroke:none"
+ id="rect2863-2"
+ width="60"
+ height="60"
+ x="320"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-7"
+ width="5"
+ height="60"
+ x="380"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#c9c9c9;fill-opacity:1;stroke:none"
+ id="rect2863-3"
+ width="60"
+ height="60"
+ x="385"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-46"
+ width="5"
+ height="60"
+ x="445"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#f47d2c;fill-opacity:1;stroke:none"
+ id="rect2863-492"
+ width="60"
+ height="60"
+ x="95"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-74"
+ width="5"
+ height="60"
+ x="155"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-4-2"
+ width="5"
+ height="60"
+ x="90"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#d6d6d6;fill-opacity:1;stroke:none"
+ id="rect2863-41-5"
+ width="60"
+ height="60"
+ x="160"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-5-2"
+ width="5"
+ height="60"
+ x="220"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#3f9650;fill-opacity:1;stroke:none"
+ id="rect2863-49-4"
+ width="60"
+ height="60"
+ x="225"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-8-4"
+ width="5"
+ height="60"
+ x="285"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:none"
+ id="rect2863-8-3"
+ width="60"
+ height="60"
+ x="290"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-52-8"
+ width="5"
+ height="60"
+ x="350"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#40003e;fill-opacity:1;stroke:none"
+ id="rect2863-2-6"
+ width="60"
+ height="60"
+ x="355"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-7-0"
+ width="5"
+ height="60"
+ x="415"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#f7f7f7;fill-opacity:1;stroke:none"
+ id="rect2863-3-8"
+ width="60"
+ height="60"
+ x="420"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-46-9"
+ width="5"
+ height="60"
+ x="480"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#fcff81;fill-opacity:1;stroke:none"
+ id="rect2863-31"
+ width="60"
+ height="60"
+ x="60"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-83"
+ width="5"
+ height="60"
+ x="120"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-4-4"
+ width="3.7500002"
+ height="60"
+ x="56.25"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#b6ff3a;fill-opacity:1;stroke:none"
+ id="rect2863-41-2"
+ width="60"
+ height="60"
+ x="125"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#d10000;fill-opacity:1;stroke:none"
+ id="rect2863-4-5-24"
+ width="5"
+ height="60"
+ x="185"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#b40faa;fill-opacity:1;stroke:none"
+ id="rect2863-49-5"
+ width="60"
+ height="60"
+ x="190"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-8-1"
+ width="5"
+ height="60"
+ x="250"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#1b021a;fill-opacity:1;stroke:none"
+ id="rect2863-8-7"
+ width="60"
+ height="60"
+ x="255"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-52-5"
+ width="5"
+ height="60"
+ x="315"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#bcbcbc;fill-opacity:1;stroke:none"
+ id="rect2863-2-7"
+ width="60"
+ height="60"
+ x="320"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#d10000;fill-opacity:1;stroke:none"
+ id="rect2863-4-7-1"
+ width="5"
+ height="60"
+ x="380"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#9a41ff;fill-opacity:1;stroke:none"
+ id="rect2863-3-6"
+ width="60"
+ height="60"
+ x="385"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-46-98"
+ width="5"
+ height="60"
+ x="445"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#b9cc8b;fill-opacity:1;stroke:none"
+ id="rect2863-492-1"
+ width="60"
+ height="60"
+ x="95"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#008eff;fill-opacity:1;stroke:none"
+ id="rect2863-4-74-3"
+ width="5"
+ height="60"
+ x="155"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-4-2-3"
+ width="5"
+ height="60"
+ x="90"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#841000;fill-opacity:1;stroke:none"
+ id="rect2863-41-5-3"
+ width="60"
+ height="60"
+ x="160"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-5-2-7"
+ width="5"
+ height="60"
+ x="220"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:none;stroke:none"
+ id="rect2863-49-4-9"
+ width="60"
+ height="60"
+ x="225"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-8-4-8"
+ width="5"
+ height="60"
+ x="285"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#191742;fill-opacity:1;stroke:none"
+ id="rect2863-8-3-6"
+ width="60"
+ height="60"
+ x="290"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-52-8-7"
+ width="5"
+ height="60"
+ x="350"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#50ff03;fill-opacity:1;stroke:none"
+ id="rect2863-2-6-0"
+ width="60"
+ height="60"
+ x="355"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-7-0-4"
+ width="5"
+ height="60"
+ x="415"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:none;stroke:none"
+ id="rect2863-3-8-8"
+ width="60"
+ height="60"
+ x="420"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-46-9-4"
+ width="5"
+ height="60"
+ x="480"
+ y="702.36218"
+ ry="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-887.26385"
+ y="46.217602"
+ id="text3905"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907"
+ x="-887.26385"
+ y="46.217602">A</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-828.47699"
+ y="46.217602"
+ id="text3905-0"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907-5"
+ x="-828.47699"
+ y="46.217602">B</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-770.76044"
+ y="42.34462"
+ id="text3905-6"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907-0"
+ x="-770.76044"
+ y="42.34462">C</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-712.61273"
+ y="42.34462"
+ id="text3905-0-6"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907-5-4"
+ x="-712.61273"
+ y="42.34462">D</tspan></text>
+ <rect
+ style="fill:#ff0303;fill-opacity:1;stroke:#000000;stroke-width:5.03194904;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect3967"
+ width="395"
+ height="60"
+ x="55"
+ y="762.36218" />
+ </g>
+</svg>
diff --git a/data/figures/scan-target-good.svg b/data/figures/scan-target-good.svg
new file mode 100644
index 0000000..7e12007
--- /dev/null
+++ b/data/figures/scan-target-good.svg
@@ -0,0 +1,765 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="480"
+ height="260"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="argyll-target-bad.svg">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient5681">
+ <stop
+ style="stop-color:#460546;stop-opacity:1;"
+ offset="0"
+ id="stop5683" />
+ <stop
+ id="stop5689"
+ offset="1"
+ style="stop-color:#462546;stop-opacity:0.49803922;" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2886"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3684"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3706"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3728"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3750"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3783"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3807"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3840"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3868"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3868-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3899"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3921"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3943"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3967"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3991"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4013"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4035"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4075"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2857"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3645"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3667"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3758"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3816"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3917"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3942"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.79469228"
+ inkscape:cx="384.59743"
+ inkscape:cy="-83.914951"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-from-guide="false"
+ inkscape:window-width="1680"
+ inkscape:window-height="975"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2816"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-10,-692.36218)">
+ <rect
+ style="fill:#8a23ff;fill-opacity:1;stroke:none"
+ id="rect2863"
+ width="60"
+ height="60"
+ x="60"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4"
+ width="5"
+ height="60"
+ x="120"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#d10000;fill-opacity:1;stroke:none"
+ id="rect2863-4-4"
+ width="3.7500002"
+ height="60"
+ x="56.25"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ id="rect2863-41"
+ width="60"
+ height="60"
+ x="125"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-5"
+ width="5"
+ height="60"
+ x="185"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#a8a8a8;fill-opacity:1;stroke:none"
+ id="rect2863-49"
+ width="60"
+ height="60"
+ x="190"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-8"
+ width="5"
+ height="60"
+ x="250"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#9beb6f;fill-opacity:1;stroke:none"
+ id="rect2863-8"
+ width="60"
+ height="60"
+ x="255"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-52"
+ width="5"
+ height="60"
+ x="315"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#a7b719;fill-opacity:1;stroke:none"
+ id="rect2863-2"
+ width="60"
+ height="60"
+ x="320"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-7"
+ width="5"
+ height="60"
+ x="380"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#c9c9c9;fill-opacity:1;stroke:none"
+ id="rect2863-3"
+ width="60"
+ height="60"
+ x="385"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-46"
+ width="5"
+ height="60"
+ x="445"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#f47d2c;fill-opacity:1;stroke:none"
+ id="rect2863-492"
+ width="60"
+ height="60"
+ x="95"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-74"
+ width="5"
+ height="60"
+ x="155"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-4-2"
+ width="5"
+ height="60"
+ x="90"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#d6d6d6;fill-opacity:1;stroke:none"
+ id="rect2863-41-5"
+ width="60"
+ height="60"
+ x="160"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-5-2"
+ width="5"
+ height="60"
+ x="220"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#3f9650;fill-opacity:1;stroke:none"
+ id="rect2863-49-4"
+ width="60"
+ height="60"
+ x="225"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-8-4"
+ width="5"
+ height="60"
+ x="285"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:none"
+ id="rect2863-8-3"
+ width="60"
+ height="60"
+ x="290"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-52-8"
+ width="5"
+ height="60"
+ x="350"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#40003e;fill-opacity:1;stroke:none"
+ id="rect2863-2-6"
+ width="60"
+ height="60"
+ x="355"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-7-0"
+ width="5"
+ height="60"
+ x="415"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#f7f7f7;fill-opacity:1;stroke:none"
+ id="rect2863-3-8"
+ width="60"
+ height="60"
+ x="420"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-46-9"
+ width="5"
+ height="60"
+ x="480"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#fcff81;fill-opacity:1;stroke:none"
+ id="rect2863-31"
+ width="60"
+ height="60"
+ x="60"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-83"
+ width="5"
+ height="60"
+ x="120"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-4-4"
+ width="3.7500002"
+ height="60"
+ x="56.25"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#b6ff3a;fill-opacity:1;stroke:none"
+ id="rect2863-41-2"
+ width="60"
+ height="60"
+ x="125"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#d10000;fill-opacity:1;stroke:none"
+ id="rect2863-4-5-24"
+ width="5"
+ height="60"
+ x="185"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#b40faa;fill-opacity:1;stroke:none"
+ id="rect2863-49-5"
+ width="60"
+ height="60"
+ x="190"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-8-1"
+ width="5"
+ height="60"
+ x="250"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#1b021a;fill-opacity:1;stroke:none"
+ id="rect2863-8-7"
+ width="60"
+ height="60"
+ x="255"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-52-5"
+ width="5"
+ height="60"
+ x="315"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#bcbcbc;fill-opacity:1;stroke:none"
+ id="rect2863-2-7"
+ width="60"
+ height="60"
+ x="320"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#d10000;fill-opacity:1;stroke:none"
+ id="rect2863-4-7-1"
+ width="5"
+ height="60"
+ x="380"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#9a41ff;fill-opacity:1;stroke:none"
+ id="rect2863-3-6"
+ width="60"
+ height="60"
+ x="385"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-46-98"
+ width="5"
+ height="60"
+ x="445"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#b9cc8b;fill-opacity:1;stroke:none"
+ id="rect2863-492-1"
+ width="60"
+ height="60"
+ x="95"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#008eff;fill-opacity:1;stroke:none"
+ id="rect2863-4-74-3"
+ width="5"
+ height="60"
+ x="155"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-4-2-3"
+ width="5"
+ height="60"
+ x="90"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#841000;fill-opacity:1;stroke:none"
+ id="rect2863-41-5-3"
+ width="60"
+ height="60"
+ x="160"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-5-2-7"
+ width="5"
+ height="60"
+ x="220"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:none;stroke:none"
+ id="rect2863-49-4-9"
+ width="60"
+ height="60"
+ x="225"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-8-4-8"
+ width="5"
+ height="60"
+ x="285"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#191742;fill-opacity:1;stroke:none"
+ id="rect2863-8-3-6"
+ width="60"
+ height="60"
+ x="290"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-52-8-7"
+ width="5"
+ height="60"
+ x="350"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#50ff03;fill-opacity:1;stroke:none"
+ id="rect2863-2-6-0"
+ width="60"
+ height="60"
+ x="355"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-7-0-4"
+ width="5"
+ height="60"
+ x="415"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:none;stroke:none"
+ id="rect2863-3-8-8"
+ width="60"
+ height="60"
+ x="420"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-46-9-4"
+ width="5"
+ height="60"
+ x="480"
+ y="702.36218"
+ ry="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-887.26385"
+ y="46.217602"
+ id="text3905"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907"
+ x="-887.26385"
+ y="46.217602">A</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-828.47699"
+ y="46.217602"
+ id="text3905-0"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907-5"
+ x="-828.47699"
+ y="46.217602">B</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-770.76044"
+ y="42.34462"
+ id="text3905-6"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907-0"
+ x="-770.76044"
+ y="42.34462">C</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-712.61273"
+ y="42.34462"
+ id="text3905-0-6"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907-5-4"
+ x="-712.61273"
+ y="42.34462">D</tspan></text>
+ <rect
+ style="fill:#1aff03;fill-opacity:1;stroke:#000000;stroke-width:5.03194903999999976;stroke-linejoin:round;stroke-miterlimit:4;stroke-opacity:1;stroke-dasharray:none"
+ id="rect3967"
+ width="395"
+ height="60"
+ x="55"
+ y="762.36218" />
+ </g>
+</svg>
diff --git a/data/figures/scan-target.svg b/data/figures/scan-target.svg
new file mode 100644
index 0000000..4cf1995
--- /dev/null
+++ b/data/figures/scan-target.svg
@@ -0,0 +1,758 @@
+<?xml version="1.0" encoding="UTF-8" standalone="no"?>
+<!-- Created with Inkscape (http://www.inkscape.org/) -->
+
+<svg
+ xmlns:dc="http://purl.org/dc/elements/1.1/"
+ xmlns:cc="http://creativecommons.org/ns#"
+ xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
+ xmlns:svg="http://www.w3.org/2000/svg"
+ xmlns="http://www.w3.org/2000/svg"
+ xmlns:sodipodi="http://sodipodi.sourceforge.net/DTD/sodipodi-0.dtd"
+ xmlns:inkscape="http://www.inkscape.org/namespaces/inkscape"
+ width="480"
+ height="260"
+ id="svg2"
+ version="1.1"
+ inkscape:version="0.47 r22583"
+ sodipodi:docname="argyll-target-bad.svg">
+ <defs
+ id="defs4">
+ <linearGradient
+ id="linearGradient5681">
+ <stop
+ style="stop-color:#460546;stop-opacity:1;"
+ offset="0"
+ id="stop5683" />
+ <stop
+ id="stop5689"
+ offset="1"
+ style="stop-color:#462546;stop-opacity:0.49803922;" />
+ </linearGradient>
+ <inkscape:perspective
+ sodipodi:type="inkscape:persp3d"
+ inkscape:vp_x="0 : 526.18109 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_z="744.09448 : 526.18109 : 1"
+ inkscape:persp3d-origin="372.04724 : 350.78739 : 1"
+ id="perspective10" />
+ <inkscape:perspective
+ id="perspective2886"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3684"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3706"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3728"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3750"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3783"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3807"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3840"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3868"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3868-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3899"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3921"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3943"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3967"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3991"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4013"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4035"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective4075"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective2857"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3645"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3667"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-5"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-3"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-2"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3689-0"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3758"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3816"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3917"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ <inkscape:perspective
+ id="perspective3942"
+ inkscape:persp3d-origin="0.5 : 0.33333333 : 1"
+ inkscape:vp_z="1 : 0.5 : 1"
+ inkscape:vp_y="0 : 1000 : 0"
+ inkscape:vp_x="0 : 0.5 : 1"
+ sodipodi:type="inkscape:persp3d" />
+ </defs>
+ <sodipodi:namedview
+ id="base"
+ pagecolor="#ffffff"
+ bordercolor="#666666"
+ borderopacity="1.0"
+ inkscape:pageopacity="0.0"
+ inkscape:pageshadow="2"
+ inkscape:zoom="0.79469228"
+ inkscape:cx="384.59743"
+ inkscape:cy="-86.431648"
+ inkscape:document-units="px"
+ inkscape:current-layer="layer1"
+ showgrid="true"
+ inkscape:snap-from-guide="false"
+ inkscape:window-width="1680"
+ inkscape:window-height="975"
+ inkscape:window-x="0"
+ inkscape:window-y="25"
+ inkscape:window-maximized="1">
+ <inkscape:grid
+ type="xygrid"
+ id="grid2816"
+ empspacing="5"
+ visible="true"
+ enabled="true"
+ snapvisiblegridlinesonly="true" />
+ </sodipodi:namedview>
+ <metadata
+ id="metadata7">
+ <rdf:RDF>
+ <cc:Work
+ rdf:about="">
+ <dc:format>image/svg+xml</dc:format>
+ <dc:type
+ rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
+ <dc:title></dc:title>
+ </cc:Work>
+ </rdf:RDF>
+ </metadata>
+ <g
+ inkscape:label="Layer 1"
+ inkscape:groupmode="layer"
+ id="layer1"
+ transform="translate(-10,-692.36218)">
+ <rect
+ style="fill:#8a23ff;fill-opacity:1;stroke:none"
+ id="rect2863"
+ width="60"
+ height="60"
+ x="60"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4"
+ width="5"
+ height="60"
+ x="120"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#d10000;fill-opacity:1;stroke:none"
+ id="rect2863-4-4"
+ width="3.7500002"
+ height="60"
+ x="56.25"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#000000;fill-opacity:1;stroke:none"
+ id="rect2863-41"
+ width="60"
+ height="60"
+ x="125"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-5"
+ width="5"
+ height="60"
+ x="185"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#a8a8a8;fill-opacity:1;stroke:none"
+ id="rect2863-49"
+ width="60"
+ height="60"
+ x="190"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-8"
+ width="5"
+ height="60"
+ x="250"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#9beb6f;fill-opacity:1;stroke:none"
+ id="rect2863-8"
+ width="60"
+ height="60"
+ x="255"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-52"
+ width="5"
+ height="60"
+ x="315"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#a7b719;fill-opacity:1;stroke:none"
+ id="rect2863-2"
+ width="60"
+ height="60"
+ x="320"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-7"
+ width="5"
+ height="60"
+ x="380"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#c9c9c9;fill-opacity:1;stroke:none"
+ id="rect2863-3"
+ width="60"
+ height="60"
+ x="385"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-46"
+ width="5"
+ height="60"
+ x="445"
+ y="882.36218"
+ ry="0" />
+ <rect
+ style="fill:#f47d2c;fill-opacity:1;stroke:none"
+ id="rect2863-492"
+ width="60"
+ height="60"
+ x="95"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-74"
+ width="5"
+ height="60"
+ x="155"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-4-2"
+ width="5"
+ height="60"
+ x="90"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#d6d6d6;fill-opacity:1;stroke:none"
+ id="rect2863-41-5"
+ width="60"
+ height="60"
+ x="160"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-5-2"
+ width="5"
+ height="60"
+ x="220"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#3f9650;fill-opacity:1;stroke:none"
+ id="rect2863-49-4"
+ width="60"
+ height="60"
+ x="225"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-8-4"
+ width="5"
+ height="60"
+ x="285"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffffff;fill-opacity:1;stroke:none"
+ id="rect2863-8-3"
+ width="60"
+ height="60"
+ x="290"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-52-8"
+ width="5"
+ height="60"
+ x="350"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#40003e;fill-opacity:1;stroke:none"
+ id="rect2863-2-6"
+ width="60"
+ height="60"
+ x="355"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-7-0"
+ width="5"
+ height="60"
+ x="415"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#f7f7f7;fill-opacity:1;stroke:none"
+ id="rect2863-3-8"
+ width="60"
+ height="60"
+ x="420"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-46-9"
+ width="5"
+ height="60"
+ x="480"
+ y="822.36218"
+ ry="0" />
+ <rect
+ style="fill:#fcff81;fill-opacity:1;stroke:none"
+ id="rect2863-31"
+ width="60"
+ height="60"
+ x="60"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-83"
+ width="5"
+ height="60"
+ x="120"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-4-4"
+ width="3.7500002"
+ height="60"
+ x="56.25"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#b6ff3a;fill-opacity:1;stroke:none"
+ id="rect2863-41-2"
+ width="60"
+ height="60"
+ x="125"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#d10000;fill-opacity:1;stroke:none"
+ id="rect2863-4-5-24"
+ width="5"
+ height="60"
+ x="185"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#b40faa;fill-opacity:1;stroke:none"
+ id="rect2863-49-5"
+ width="60"
+ height="60"
+ x="190"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-8-1"
+ width="5"
+ height="60"
+ x="250"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#1b021a;fill-opacity:1;stroke:none"
+ id="rect2863-8-7"
+ width="60"
+ height="60"
+ x="255"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-52-5"
+ width="5"
+ height="60"
+ x="315"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#bcbcbc;fill-opacity:1;stroke:none"
+ id="rect2863-2-7"
+ width="60"
+ height="60"
+ x="320"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#d10000;fill-opacity:1;stroke:none"
+ id="rect2863-4-7-1"
+ width="5"
+ height="60"
+ x="380"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#9a41ff;fill-opacity:1;stroke:none"
+ id="rect2863-3-6"
+ width="60"
+ height="60"
+ x="385"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#ffc600;fill-opacity:1;stroke:none"
+ id="rect2863-4-46-98"
+ width="5"
+ height="60"
+ x="445"
+ y="762.36218"
+ ry="0" />
+ <rect
+ style="fill:#b9cc8b;fill-opacity:1;stroke:none"
+ id="rect2863-492-1"
+ width="60"
+ height="60"
+ x="95"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#008eff;fill-opacity:1;stroke:none"
+ id="rect2863-4-74-3"
+ width="5"
+ height="60"
+ x="155"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-4-2-3"
+ width="5"
+ height="60"
+ x="90"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#841000;fill-opacity:1;stroke:none"
+ id="rect2863-41-5-3"
+ width="60"
+ height="60"
+ x="160"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-5-2-7"
+ width="5"
+ height="60"
+ x="220"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:none;stroke:none"
+ id="rect2863-49-4-9"
+ width="60"
+ height="60"
+ x="225"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-8-4-8"
+ width="5"
+ height="60"
+ x="285"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#191742;fill-opacity:1;stroke:none"
+ id="rect2863-8-3-6"
+ width="60"
+ height="60"
+ x="290"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#d100b7;fill-opacity:1;stroke:none"
+ id="rect2863-4-52-8-7"
+ width="5"
+ height="60"
+ x="350"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#50ff03;fill-opacity:1;stroke:none"
+ id="rect2863-2-6-0"
+ width="60"
+ height="60"
+ x="355"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-7-0-4"
+ width="5"
+ height="60"
+ x="415"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:none;stroke:none"
+ id="rect2863-3-8-8"
+ width="60"
+ height="60"
+ x="420"
+ y="702.36218"
+ ry="0" />
+ <rect
+ style="fill:#00009d;fill-opacity:1;stroke:none"
+ id="rect2863-4-46-9-4"
+ width="5"
+ height="60"
+ x="480"
+ y="702.36218"
+ ry="0" />
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-887.26385"
+ y="46.217602"
+ id="text3905"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907"
+ x="-887.26385"
+ y="46.217602">A</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-828.47699"
+ y="46.217602"
+ id="text3905-0"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907-5"
+ x="-828.47699"
+ y="46.217602">B</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-770.76044"
+ y="42.34462"
+ id="text3905-6"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907-0"
+ x="-770.76044"
+ y="42.34462">C</tspan></text>
+ <text
+ xml:space="preserve"
+ style="font-size:30.98386765px;font-style:normal;font-weight:normal;text-align:center;line-height:125%;writing-mode:lr-tb;text-anchor:middle;fill:#000000;fill-opacity:1;stroke:none;font-family:Bitstream Vera Sans"
+ x="-712.61273"
+ y="42.34462"
+ id="text3905-0-6"
+ transform="matrix(0,-1.0327955,0.96824589,0,0,0)"
+ sodipodi:linespacing="125%"><tspan
+ sodipodi:role="line"
+ id="tspan3907-5-4"
+ x="-712.61273"
+ y="42.34462">D</tspan></text>
+ </g>
+</svg>
diff --git a/src/gcm-calibrate-argyll.c b/src/gcm-calibrate-argyll.c
index 2eb7361..a664e66 100644
--- a/src/gcm-calibrate-argyll.c
+++ b/src/gcm-calibrate-argyll.c
@@ -2045,7 +2045,6 @@ gcm_calibrate_argyll_process_output_cmd (GcmCalibrateArgyll *calibrate_argyll, c
const gchar *title;
gchar *title_str = NULL;
const gchar *message;
- const gchar *filename;
GString *string = NULL;
gchar *found;
gboolean ret = TRUE;
@@ -2170,6 +2169,7 @@ gcm_calibrate_argyll_process_output_cmd (GcmCalibrateArgyll *calibrate_argyll, c
/* all done */
found = g_strstr_len (line, -1, "(All rows read)");
if (found != NULL) {
+ gcm_calibrate_dialog_set_image_filename (priv->calibrate_dialog, "scan-target-good.svg");
vte_terminal_feed_child (VTE_TERMINAL(priv->terminal), "d", 1);
goto out;
}
@@ -2186,6 +2186,7 @@ gcm_calibrate_argyll_process_output_cmd (GcmCalibrateArgyll *calibrate_argyll, c
gcm_calibrate_dialog_show (priv->calibrate_dialog, GCM_CALIBRATE_DIALOG_TAB_GENERIC, title, message);
gcm_calibrate_dialog_set_show_button_ok (priv->calibrate_dialog, TRUE);
gcm_calibrate_dialog_set_show_expander (priv->calibrate_dialog, TRUE);
+ gcm_calibrate_dialog_set_image_filename (priv->calibrate_dialog, "scan-target-bad.svg");
/* TRANSLATORS: button text */
gcm_calibrate_dialog_set_button_ok_id (priv->calibrate_dialog, _("Retry"));
@@ -2223,6 +2224,7 @@ gcm_calibrate_argyll_process_output_cmd (GcmCalibrateArgyll *calibrate_argyll, c
gcm_calibrate_dialog_show (priv->calibrate_dialog, GCM_CALIBRATE_DIALOG_TAB_GENERIC, title_str, string->str);
gcm_calibrate_dialog_set_show_button_ok (priv->calibrate_dialog, TRUE);
gcm_calibrate_dialog_set_show_expander (priv->calibrate_dialog, TRUE);
+ gcm_calibrate_dialog_set_image_filename (priv->calibrate_dialog, "scan-target-bad.svg");
/* TRANSLATORS: button */
gcm_calibrate_dialog_set_button_ok_id (priv->calibrate_dialog, _("Use anyway"));
@@ -2249,17 +2251,18 @@ gcm_calibrate_argyll_process_output_cmd (GcmCalibrateArgyll *calibrate_argyll, c
g_string_append (string, _("Slowly scan the target line from left to right and release the switch when you get to the end of the page."));
g_string_append (string, "\n\n");
+ /* TRANSLATORS: dialog message, the sensor has to be above the line */
+ g_string_append (string, _("Ensure the center of the device is properly aligned with the row you are trying to measure."));
+ g_string_append (string, "\n\n");
+
/* TRANSLATORS: dialog message, just follow the hardware instructions */
g_string_append (string, _("If you make a mistake just release the switch and you'll get a chance to try again."));
- /* get the image, if we have one */
- filename = "argyll-target.png";
-
/* push new messages into the UI */
gcm_calibrate_dialog_show (priv->calibrate_dialog, GCM_CALIBRATE_DIALOG_TAB_GENERIC, title_str, string->str);
gcm_calibrate_dialog_set_show_button_ok (priv->calibrate_dialog, FALSE);
gcm_calibrate_dialog_set_show_expander (priv->calibrate_dialog, TRUE);
- gcm_calibrate_dialog_set_image_filename (priv->calibrate_dialog, filename);
+ gcm_calibrate_dialog_set_image_filename (priv->calibrate_dialog, "scan-target.svg");
goto out;
}
[
Date Prev][
Date Next] [
Thread Prev][
Thread Next]
[
Thread Index]
[
Date Index]
[
Author Index]