TI1, TI2, CSV and printtarg target files for SpyderPrint Targets

knowing

Printing Apprentice
Joined
Oct 24, 2025
Messages
15
Reaction score
3
Points
10
Printer Model
HP CLJ5550, Brother MFC-9460
Just to let everyone know,
If you or anyone are interested in the color data for SpyderPrint targets, then I a script "read_image_patch_colors" that extracts color values from a rectangular grid of color patches in an image, computes colorimetric values (RGB percentages, XYZ, Lab), applies row/column labeling rules, and writes three output files:
  • ArgyllCMS .ti1 file
  • ArgyllCMS .ti2 file
  • CSV file (space-separated)
You can find the script here:
https://soul-traveller.github.io/read_image_patch_colors/

There is a folder "Example Targets Read" which contain most of the SpyderPrint targets, as well as the generated files. I have used it on the following targets:
  • Expert Target (3-pages, 729-patches)
  • Expert Target (large) (1-page, 729-patches)
  • Expert Target Plus Grays (4-pages, 967-patches)
  • EZ 729 Colors Plus Grays (9-pages, 996-patches)
  • High Quality Target (1-page, 225-patches)
  • High Quality Target Plus Grays (2-pages, 463-patches)
  • LaserSoft Advanced Target (864 patches)
I have also updated the release in the link with many printtarg targets based on .ti1 files made for SpyderPrint and LaserSoft Advanced Targets.

Hope this is useful for you or anyone in the forum.

I made this as one step in a plan to try using SpyderPrint measurements, and then use the output for ArgyllCMS to create profiles. I am not there yet an not sure I will ever finish that work.

Let me know if any bugs or problems are found.

Cheers,
K
 

knowing

Printing Apprentice
Joined
Oct 24, 2025
Messages
15
Reaction score
3
Points
10
Printer Model
HP CLJ5550, Brother MFC-9460
Just to let everyone know,
If you or anyone are interested in the color data for SpyderPrint targets, then I a script "read_image_patch_colors" that extracts color values from a rectangular grid of color patches in an image, computes colorimetric values (RGB percentages, XYZ, Lab), applies row/column labeling rules, and writes three output files:
  • ArgyllCMS .ti1 file
  • ArgyllCMS .ti2 file
  • CSV file (space-separated)
You can find the script here:
https://soul-traveller.github.io/read_image_patch_colors/

There is a folder "Example Targets Read" which contain most of the SpyderPrint targets, as well as the generated files. I have used it on the following targets:
  • Expert Target (3-pages, 729-patches)
  • Expert Target (large) (1-page, 729-patches)
  • Expert Target Plus Grays (4-pages, 967-patches)
  • EZ 729 Colors Plus Grays (9-pages, 996-patches)
  • High Quality Target (1-page, 225-patches)
  • High Quality Target Plus Grays (2-pages, 463-patches)
  • LaserSoft Advanced Target (864 patches)
I have also updated the release in the link with many printtarg targets based on .ti1 files made for SpyderPrint and LaserSoft Advanced Targets.

Hope this is useful for you or anyone in the forum.

I made this as one step in a plan to try using SpyderPrint measurements, and then use the output for ArgyllCMS to create profiles. I am not there yet an not sure I will ever finish that work.

Let me know if any bugs or problems are found.

Cheers,
K


Unfortunately, I found a big error in the code. I suspected something was up when I saw the dull colors from the LaserSoft Advanced printtarg targets.

Datacolor SpyderPrint documentation specifically instructs to print images with "Generic RGB Profile.icc" profile when intending to read back with the hand spectral scanner. This implies that the images have been created with "Generic RGB Profile.icc", which uses gamma 1.801 and a linear matrix
Xpcs | 1,047882. 0,022919. -0,050201 | Xsrc
Ypcs = | 0,029572. 0,990494 -0,017059 | Ysrc
Zpcs | -0,009232 0,015076 0,751648 | Zsrc

I have to reverse engineer the original RGB by inverse applying the matrix and removing the gamma. Currenty, the code assumed the output image was D65 sRGB with 2.2 gamma, which would also be very wrong for normal target images, such as those printtarg generate.


* Step 1: Inverse matrix (PCS adaptation), encoded RGB (approx. D65) → D50
* Step 2: Invert gamma (Encoded RGB (D50) → original (linear) RGB patch)
* Step 3: linear RGB (0..100) → XYZ (D50) output scaled Y=100
* Step 4: XYZ (D50) scaled Y=100 → L*A*B* (D50), L in ~[0..100], a,b roughly [-128..128].

Then use these three sets RGB, XYZ and LAB for generating ti1, ti2 and csv files.

So, I am working to fix this issue. I will notify when I have an update.

Please do comment on this, if I am wrong or need to do this differently, to get the correct reverse engineered RGB values from the SpyderPrint images.

Cheers,
K
 
Top