[argyllcms] Using per channel spectral data for RGB camera ICC generation?

  • From: Holger Isenberg <web@xxxxxxxxx>
  • To: argyllcms@xxxxxxxxxxxxx
  • Date: Thu, 12 Jul 2012 23:11:25 +0200

Hi,
using the normal approach with a color patch reference table, the generation of 
an ICC file for a RGB camera was easy.

Now, I want to create a more precise ICC file for the same camera using 
spectral response curves which have been recorded for each RGB channel over the 
visible light spectrum at intervals of 10nm. With that approach I failed so far.

How to use such spectral curves for each of the 3 RGB channels to create a icc 
file? Do I need to put each channel curve in a separate .cal file? If yes, how 
to join that with the .ti3 file?

Attached is the output from my test where the colprof process did not find any 
patch except 1 and a simplified input file to show which type of ti3 file I try 
to use.


$ Argyll_V1.4.0/bin/colprof -v -qm -no testcam
No CIE data found, switching to spectral with standard observer & D50
No of test patches = 50
Estimating white point
Picked white patch 1 with XYZ = 0.000000 0.000000 0.000000, Lab = 0.000000 
0.000000 0.000000
Picked black patch 1 with XYZ = 0.000000 0.000000 0.000000, Lab = 0.000000 
0.000000 0.000000
Approximate White point XYZ = 0.000000 0.000000 0.000000, Lab = 0.000000 
0.000000 0.000000
Creating optimised per channel curves
Initial White Point XYZ 0.000000 0.000000 0.000000, Lab 0.000000 0.000000 
0.000000


sample file testcam.ti3:

CTI3

DESCRIPTOR "RGB Camera"
ORIGINATOR "Holger Isenberg, web@xxxxxxxxx"
CREATED "Thu Jul 12 22:27:46 CEST 2012"
KEYWORD "DEVICE_CLASS"
DEVICE_CLASS "INPUT"

KEYWORD "COLOR_REP"
COLOR_REP "XYZ_RGB"

KEYWORD "NUMBER_OF_FIELDS"
NUMBER_OF_FIELDS "10"
KEYWORD "SPECTRAL_BANDS"
SPECTRAL_BANDS "6"
KEYWORD "SPECTRAL_START_NM"
SPECTRAL_START_NM "400"
KEYWORD "SPECTRAL_END_NM"
SPECTRAL_END_NM "900"
KEYWORD "NUMBER_OF_SETS"
NUMBER_OF_SETS "6"

BEGIN_DATA_FORMAT
SAMPLE_ID SPEC_400 SPEC_500 SPEC_600 SPEC_700 SPEC_800 SPEC_900 RGB_R RGB_G 
RGB_B
END_DATA_FORMAT

BEGIN_DATA
1 100 0 0 0 0 0 0.00 5.00 80.0
2 0 100 0 0 0 0 0.00 20.0 50.0
3 0 0 100 0 0 0 0.00 70.0 10.0
4 0 0 0 100 0 0 10.0 60.0 0.00
5 0 0 0 0 100 0 60.0 10.0 0.00
6 0 0 0 0 0 100 90.0 0.00 0.00
END_DATA



Other related posts: