Keywords

1 Introduction

Increasing use is now being made of spectral data in color reproduction workflows. Spectral source data is available through measurement or from multispectral and hyperspectral cameras, and there is also an increasing need for output that is spectral (reflectance, emission or even bi-spectral, in the case of fluorescence). Such data may be required for the final output, or may be used in an intermediate processing step prior to calculation of final output values. With the introduction of ICCMAX in color management it is now possible to connect spectral data, using a spectral Profile Connection Space or transforming to or from colorimetric representations [1]. Spectral data is also closely related to material property. ICCMAX can be used to exploit this relationship and adjust for material properties.

Another application of spectral output is data hiding using spectral reflectance. Bala et al. have encoded watermark by using metameric matches that can be detected using narrow band illumination but goes visually undetected under wide band illumination [2].

Spectral data is extensively used in color science and the color reproduction industries. In a color reproduction workflow, it is common to perform a chromatic adaptation step to ensure the appearance is correct in the intended viewing condition, or in the PCS. Chromatic adaptation transforms are defined for colorimetric data, via a transform in a 3-dimensional cone space, but when this is done there is no spectral representation of the adapted colorimetry.

Another sensor adjustment transform is based on material equivalency. Derhak developed a normalization method that transforms sensor excitation to material equivalent representation described by the Wpt (Waypoint) color space. Such Wpt based material adjustment transform reduces the difference introduced by observer and illuminant [3]. In this paper, we review the use of spectral estimation using PCA for various corresponding color datasets and evaluate its performance.

1.1 Spectral Estimation

The colorimetric value of an object defined as three co-ordinate representation is easily available. But this colorimetric value is not a signature attribute of the object but rather depends on the viewing conditions such as illuminant and observer function. Tristimulus colorimetry is computed from the spectral reflectance of the object, with the illuminant and colorimetric observer as input [4]. For cases where the spectral reflectance is not known, a number of methods have been described for the estimation or reconstruction of spectral reflectance from colorimetry. We will further discuss the reconstruction of spectral reflectance from tristimulus values in the next section.

1.2 Training Datasets

For spectral estimation one of the most important steps is to decide and create a database of spectral reflectances. This database is used to provide spectral reflectance information and nature with respect to its colorimetric response and to obtain a transformation matrix for estimation.

The training data should be selected based on the test data properties and it is important to have a large number of measured spectral reflectances that is spread over a range of colors distinguishable under various lighting conditions and preferably under the test conditions. We will establish this importance of training data selection with respect to test data later in the results section. We are using the following spectral reflectances for training (Table 1).

Table 1. Description of training datasets used.

The FOGRA51 spectral reflectance dataset represents characterization data for printing by offset litho on premium coated paper [5]. It was extrapolated to 780 nm by repeating the spectral reflectance value at 730 nm over the range 735–780 nm. The CC240 dataset are measurements of 240 Macbeth Colour Checker samples obtained using a hyperspectral camera. The above datasets are divided into two sets of training spectral reflectances, the first training dataset comprises 1563 spectral reflectances of FOGRA51 and the remainder of the 54 spectral reflectances are reserved as the ground truth for the testing phase. The second training set comprises of the CC240, Munsell Glossy corrected, Munsell Matt and ISO17321 spectral reflectances for a total of 3135 spectral reflectances. All the spectral reflectances are converted to 380–780 nm range in steps of 10 nm for spectral estimation.

2 Spectral Estimation Methods

In this section, we discuss the methods used for spectral estimation of corresponding color data i.e. reconstruction of spectral reflectance from tristimulus values. Tristimulus values are defined as the product of surface spectral reflectance, spectral distribution of illuminant and observer color matching functions. One of the simplest methods is the pseudo inverse method that uses minimization of least square errors to obtain the estimated spectral reflectance [9]. This method uses a set of training spectral reflectances multiplied to the Moore-Penrose pseudo inverse of their tristimulus values under a given viewing condition to generate the transformation matrix [10]. This matrix can then reconstruct spectral reflectance given a tristimulus value. Another widely used method is principal component analysis (PCA), described by Fairman and Brill [11]. “The K eigenvectors having the highest associated eigenvalues will be the first K principal components of the spectral reflectances.”, as stated by Fairman and Brill suggest to choose a number of eigenvectors as principal components that store the highest variance of mean centered training spectral reflectances. To find the suitable number of principal components, the percentage of variance can be calculated. In our case, the percentage of variance for three principal components for the 3135 spectral reflectance i.e. the second training dataset in the range of 380 nm-780 nm at an interval of 10 nm is 96.74% and for six principal components it is 99.44%. While for 1563 spectral reflectances of the FOGRA51 dataset in the same wavelength range a 99.53% of variance information is obtained with just three principal components. Therefore, if the training dataset is large and comprises spectral reflectance of varied type of measured samples then it is recommended to increase the number of components to allow more variance information. The percentage of variance obtained by Fairman and Brill using 3534 spectral reflectances in the wavelength range of 400 nm to 700 nm at 10 nm interval for the first three principal components is 98.9% and for the first six principal components is 99.8%. This suggest that apart from the amount of training spectral reflectances, the range of wavelength also affects the percentage of variance stored in the principal components. From a mathematical point of view, we know that the principal components of a certain data set let us obtain the least number of dimensions by which to effectively describe the data and its internal variability. Therefore, it would indeed be prudent to perform more analysis and experiment on this type of data where variance information is lower than expected within the first three principal components. We are discussing the number of principal components in multiples of three because the PCA method described by Fairman and Brill can be used with only in multiples of three as discussed later. In this paper we will consider PCA based methods. We refer to the simple PCA method proposed by Fairman and Brill as classical PCA, and a variant of this method proposed by Agahian et al. known as weighted PCA. They are described below.

2.1 Spectral Estimation Using Classical PCA

Let E be a 41 × 3 matrix that contains the first three principal components column-wise of the training spectral reflectance set Q (41 × n) where n is the number of spectral reflectances in the training set. For the second training dataset n is 3135. Eo is a 41 × 1 matrix that contains the mean spectral reflectance of matrix Q given by:

$$ {\text{Eo}} = {{\left( {\sum\nolimits_{\text{r}} {\text{Q}} } \right)} \mathord{\left/ {\vphantom {{\left( {\sum\nolimits_{\text{r}} {\text{Q}} } \right)} {\text{n}}}} \right. \kern-0pt} {\text{n}}} $$

where \( \sum_{\text{r}} \) is row-wise summation applied on matrix Q.

For a spectral reflectance R with dimensions 41 × 1, the co-ordinates C (3 × 1) of the principal components will have the following desired relationship according to Fairman and Brill:

$$ {\text{EC}} = {\text{R}} - {\text{Eo}} . $$
(1)
$$ {\text{or}}\,\,{\text{R}} = {\text{Eo}} + {\text{EC}} $$
(2)

Let, A (41 × 3) be the weight set for tristimulus integration, R is the spectrum which is being integrated. Therefore, the relationship between the tristimulus value T (3 × 1) and spectral reflectance R (41 × 1) is:

$$ {\text{T}} = {\text{A}}^{\text{T}} {\text{R}} $$
(3)

Matrix A is of the form \( {\text{A}}_{{{\text{i}}\uplambda}} \) where i changes from 1 to 3 and λ changes from 380 nm to 780 nm at an interval of 10 nm and it is given by:

$$ {\text{A}}_{{ 1\uplambda}} = {\text{k}}\left( {\sum {{\text{S}}_{\uplambda} {\bar{\text{x}}}}_{\uplambda} } \right),{\text{A}}_{{2\uplambda}} = {\text{k}}\left( {\sum {{\text{S}}_{\uplambda} {\bar{\text{y}}}}_{\uplambda} } \right)\,\,{\text{and}}\,\,{\text{A}}_{{ 3\uplambda}} = {\text{k}}\left( {\sum {{\text{S}}_{\uplambda} {\bar{\text{z}}}}_{\uplambda} } \right) $$

Where S is the spectral power distribution of the illuminant and x̄, ȳ and z̄ are the colour matching functions stored column-wise in the same wavelength range 380 nm to 780 nm at an interval of 10 nm. Scalar k is used for normalization and is given by:

$$ {\text{k}} = {1 \mathord{\left/ {\vphantom {1 {\left( {\sum {{\text{S}}_{\uplambda} {\bar{\text{y}}}}_{\uplambda} } \right)}}} \right. \kern-0pt} {\left( {\sum {{\text{S}}_{\uplambda} {\bar{\text{y}}}}_{\uplambda} } \right)}} $$

Using Eqs. (2) and (3) a relationship between the co-ordinates and the tristimulus values can be drawn as below:

$$ {\text{T}} = {\text{A}}^{\text{T}} {\text{Eo}} + \left( {\text{A}} \right)^{\text{T}} {\text{EC}} $$
$$ {\text{or}}\,\,{\text{C}} = \left( {{\text{A}}^{\text{T}} {\text{E}}} \right)^{ - 1} \left( {{\text{T}} - {\text{A}}^{\text{T}} {\text{Eo}}} \right) $$
(4)

Equation 4 is now a relationship between the principal components co-ordinates and the tristimulus values, hence, they are called the tristimulus-constrained principal component co-ordinates. These co-ordinates can be used with the PCA method to estimate spectral reflectance as in Eq. 2. Therefore, we can rewrite the Eq. 2 using the tristimulus constrained principal component co-ordinates as below:

$${\rm{R = Eo + E}}\left( {{{\left( {{{\rm{A}}^{\rm{T}}}\,{\rm{E}}} \right)}^{ - 1}}\left( {{\rm{T - }}{{\rm{A}}^{\rm{T}}}{\rm{Eo}}} \right)} \right)$$
(5)

As can be seen the term ATEo is the tristimulus value of the mean spectral reflectance of the training data. This equation can be modified to use more principal components in multiples of three and for each increase in the set of principal components, we will also need to include a new illuminant with observer function and a corresponding tristimulus value computed under the new illuminant, more information can be found in [11]. This limitation arises because the principal component co-ordinates are constrained by the tristimulus values which are three dimensional. Moreover, to obtain the corresponding tristimulus values with the new illuminant we have to use a regression method. Therefore, for simplicity, we will use this method with three components considering the trade-off in variance percentage is reasonable. By improving the selection of the training spectral reflectances, the variance percentage for three principal components can be increased.

2.2 Spectral Estimation Using Weighted PCA

Agahian et al. proposed a weighted PCA where the training spectral reflectances are assigned weights computed as the inverse of colorimetric difference d between the tristimulus values computed using the training spectral reflectances and the test tristimulus value. The smaller the difference, higher will be the weight. These weights form an nxn diagonal matrix which are multiplied by the training spectral reflectance matrix Q, and then PCA is applied as above. To avoid division by zero, Agahian et al. adds a small value s = 0.01 to the colorimetric difference d. This method allows the mean reflectance to have a shape according to the test tristimulus value’s closeness to the training spectral reflectance when tristimulus is computed from them using the test illuminant and observer function. Therefore, the reconstructed spectral reflectance should be closer to the original spectral reflectance compared to the reconstructed spectra obtained by classical PCA [12].

We used both classical PCA and weighted PCA to estimate spectral reflectance and compare the results.

3 Uses of Spectral Estimation on Corresponding Colors

A corresponding color transform allows an observer adapted to an illuminant to change a stimulus under it to match visually to the original stimulus viewed under a reference illuminant. This change in the stimulus is usually applied to the colorimetric data, but the implication is that there is no corresponding spectral reflectance. Here we show how spectral estimation can be used to estimate a spectral reflectance from a corresponding color. The two spectral estimation methods discussed above are applied on various datasets and scenarios.

3.1 Testing the Method on Known Spectral Reflectances

First, we apply the methods to tristimulus values for which we know the measured spectral reflectances in order to test their accuracy. We used spectral reflectances from a characterization data set provided by Fogra [5]. It should be noted that this data was obtained not from single measurements, but from many measurements of a test chart printed according to a specific printing condition. After averaging, further manipulation was performed to ensure the data set had certain desired properties including smoothness and consistency in single-channel tone steps. Such steps are believed to improve the model accuracy in color management [13] (Table 2).

Table 2. Description of corresponding color datasets used.

3.2 Spectral Estimation of Corresponding Color Datasets

Both classical PCA and weighted PCA were applied on the reference tristimulus values and visually matched corresponding tristimulus values of each corresponding color dataset using training set 2. The standard two-degree observer color matching function was used for all the cases while the illuminant for spectral estimation is the illuminant under which the XYZ value is calculated. The estimated spectral reflectances would help in analyzing how well PCA based spectral estimation can convert tristimulus values to their respective spectral reflectance. They would also help in finding the similarity between the estimated spectra of the reference XYZ and its corresponding XYZ and if these spectra can be used for chromatic adaptation in the spectral domain. Since we don’t have the measured spectral reflectances for the corresponding datasets we can only make approximations based on reasonable assumptions.

3.3 Spectral Estimation of Chromatically Adapted Data

A CAT is optimized to predict corresponding color data [14]. By estimating spectra of chromatically adapted tristimulus values it is possible to observe the changes in the stimulus in the spectral domain. To calculate chromatically adapted tristimulus values from the reference corresponding color in XYZ color space, we used three CATs, namely, Bradford, CAT02 and CAT16.

The reference XYZ values of a corresponding color dataset are taken and different CATs are applied to obtain the chromatically adapted XYZ values under the test illuminant of that corresponding color dataset. CAT02 and CAT16 have been implemented using the two-step transform with equi-energy illuminant transform as an intermediate step proposed by Li et al. [15]. We then apply classical PCA and weighted PCA on these various chromatically adapted XYZ values using second training dataset. Second training dataset has been used because it consists of a large number of spectral reflectances for a variety of natural and synthetic objects to predict a match for corresponding datasets. The characteristics of the estimated spectra for these adapted tristimulus values are discussed in the results section.

3.4 Spectral Estimation of Inverse of Chromatically Adapted Data

In color management it is important to be able to invert a transform, for example in order to obtain a preview of a color on a different medium from the intended target. To understand how well this inverse can be accomplished, the inverse transform was implemented on the chromatically adapted tristimulus values and spectral reflectance was estimated for these back transformed tristimulus values. When the inverse CAT is applied, we only obtain the original reference color value if a linear CAT such as linear Bradford is used. For the inverse CAT estimation, we have used Bradford CAT and CAT16. The spectral estimation of these inverse CAT tristimulus values for each corresponding color dataset were performed using the two PCA methods.

4 Results and Discussion of Spectral Estimation

In order to visualize the performance of the spectral estimation on the data set, we select the spectra which correspond to the 5th, 50th and 95th percentile RMS errors. The results are discussed in the following sections.

4.1 Spectral Estimation of FOGRA51 Data

Spectral estimation of fifty-four FOGRA51 samples whose XYZ values were computed using D65 illuminant and D50 illuminant respectively were performed using two sets of training data. The first training set comprises of 1563 FOGRA51 spectral reflectances and the second training set comprises of 3135 spectral reflectances. The results using the first and the second training sets with classical PCA method applied on tristimulus values of FOGRA51 dataset are shown in Figs. 1 and 2 respectively.

Fig. 1.
figure 1

Estimated reflectances of FOGRA51 using classical PCA and FOGRA51 training set: 5th, 50th and 95th percentile RMS errors.

Fig. 2.
figure 2

Estimated reflectances of FOGRA51 using classical PCA and 3135 training set: 5th, 50th and 95th percentile RMS errors

In Fig. 1, the estimated spectra are very similar to their respective measured spectra while the estimated spectra in Fig. 2 are not as accurate. This demonstrates the degree to which the training set used influences the outcome. The same effect can be seen in Figs. 3 and 4 where the FOGRA 51 samples were estimated using weighted PCA for the two training sets 1563 FOGRA51and 3135 spectral reflectances respectively. To improve accuracy, we need to choose training data whose surface properties are as similar to the test data as possible.

Fig. 3.
figure 3

Estimated reflectances of FOGRA51 using weighted PCA and 1563 FOGRA51 training set: 5th, 50th and 95th percentile RMS errors.

Fig. 4.
figure 4

Estimated reflectances of FOGRA51 using weighted PCA and 3135 training set: 5th, 50th and 95th percentile RMS errors.

If we compare Figs. 1 and 3 where the training set is the same but the spectral estimation method differs, we see that weighted PCA results are closest to the measured spectra. In this, the mean RMSE between measured spectra and estimated spectra of D65 XYZ values is 0.0153 and the mean RMSE between measured spectra and estimated spectra of D50 XYZ values is 0.0104, which are the lowest. Now, if we compare the two estimated spectra obtained from D65 XYZ and D50 XYZ values, an opposite behaviour can be seen where the two estimated spectra using classical PCA are similar while the dissimilarity between them increases when weighted PCA is used. This is because in classical PCA every training spectral reflectance equally influences the test tristimulus value and the Vo matrix is global, while in weighted PCA the influence of every spectral reflectance increases as its colorimetric similarity under an illuminant increases with the test tristimulus value, and in this case the Vo matrix is locally calculated. Although small the mean RMSE is higher for weighted PCA than classical PCA.

The metamerism index suggests that the spectra estimated are acceptable for D50, C and A illuminant according to mean ∆E00 difference. However, for cases using D65 as source illuminant with PCA, the color difference is high for some spectra with test illuminant A.

It can be seen from the result above that if we wish to estimate spectra that are closer to the original spectra then weighted PCA with carefully chosen training data will perform best. But if we require the estimated spectra of XYZ values measured under different illuminants to be closer to each other while being a good approximation of the original spectra then classical PCA will perform better. When XYZ is recalculated using the estimated spectral reflectance, the CIELAB difference is close to zero, differing only at the fourteenth decimal place when calculated against the actual XYZ. As our aim in this paper is to estimate the spectral reflectance of corresponding color datasets which are measured under different illuminants and compare them with other CAT estimates, getting estimated spectral reflectances of reference XYZ values that are similar to the estimated spectral reflectances of corresponding color XYZ values will be more useful. Therefore, in the rest of the paper we will only discuss results obtained with classical PCA.

4.2 Spectral Estimation of Corresponding Color Dataset

For the Helson, Lam & Rigg, Kuo & Luo (A), Lutchi (A) and Lutchi (D50) corresponding color datasets, spectral reflectances were estimated using classical PCA for both reference and test XYZ values using the second training dataset with 3135 spectral reflectances. The results of three samples chosen with 5th, 50th and 95th RMS difference for Lutchi (A) and Lutchi (D50) are shown in Figs. 5 and 6. We need to note here that in the corresponding color datasets the reference and test white points do not exactly match the white points of standard illuminants, but as we need to use the illuminant spectral power distribution in calculating the matrix [S.O], we use the standard illuminant for this purpose which introduces a small error. For this reason, estimated spectral reflectances will not be as accurate an estimate of the original spectral reflectance as in the case of calculated XYZ values of FOGRA51 dataset. Moreover, as the corresponding color XYZ data are chromatically adapted data, they differ slightly from the calculated corresponding XYZ values under respective illuminants. Hence, we can see that the difference between the two estimated spectra are higher than in the case of FOGRA 51 data under the two illuminants. Nonetheless, the estimated spectral reflectances have similar shape. The mean RMS difference is given in Table 3.

Fig. 5.
figure 5

Estimated reflectances of Lutchi (A) using classical PCA:5th, 50th and 95th percentile RMS difference.

Fig. 6.
figure 6

Estimated reflectances of Lutchi (D50) using classical PCA: 5th, 50th and 95th percentile RMS difference

Table 3. Metamerism Iindex for estimated reference and test spectra using classical PCA and weighted PCA methods with reference illuminant D65 and three test illuminants D50, A and C.

Due to this the obtained estimated spectral reflectances will not be as accurate an interpretation of the original spectral reflectance as in the case of calculated colorimetric values of FOGRA51 dataset. Hence, we can see that the difference between the two estimated spectra are higher than in the case of FOGRA51 data under the two illuminants. But nonetheless, the estimated spectral reflectances have similar shape. The mean RMS difference is given in Table 3. The Lutchi D50 data has the smallest mean RMS difference and max RMS difference (Table 4).

Table 4. Weighted mean RMS difference and weighted max RMS difference between the estimated reference reflectance and estimated test reflectance.

The above Table 5 shows the metamerism index for the estimated spectra. Illuminant D65 has been considered as reference light and illuminant D50, A and C as the test lights. The mean ∆E00 difference was below 1.0 for every dataset under different test illuminants and only the Lutchi D50 with test illuminant A has a mean ∆E00 difference greater than 0.5. For all datasets test illuminant, A has the highest mean ∆E00 difference. This is expected because the difference between D65 which is bluish light and illuminant A which is reddish light is high. Also, when the reference spectra are estimated using D65 or C it adds an error i.e. biased towards bluish light, similarly, for the test spectra the test illuminant adds an error.

Table 5. Color accuracy for the estimated reference and test spectra using reference illuminant D65 and three test illuminants D50, A and C

As expected, when making a corresponding color match under a test illuminant that is less blue than the reference illuminant, both the corresponding color colorimetry and estimated spectral reflectance are also less blue.

4.3 Spectral Estimation of Chromatically Adapted Data

Below are the plots for estimated spectral reflectance for each of the reference XYZ values of the corresponding color dataset and estimated spectral reflectance of its respective chromatically adapted XYZ values using the four transforms namely Bradford CAT, CAT02 and CAT16. From the visual plots we can see that the estimated spectral reflectances of the chromatically adapted XYZ values are quite similar in shape to the estimated spectral reflectance of the reference XYZ values. The CAT02 (blue) and CAT16 (green) estimated spectral reflectance have similar characteristics. Bradford CAT spectra had the lowest mean RMS difference for every dataset except Lutchi D50 where CAT02 slightly performs better. CAT16 spectra have the highest mean RMS difference for every dataset. The larger RMS differences indicate a larger change in colorimetry (and therefore in the spectral reflectance estimated) in the transform (Fig. 7).

Fig. 7.
figure 7

Estimated reflectances of reference Lutchi(A) and reference data chromatically adapted to ill. A using Bradford CAT, CAT02 and CAT16 respectively: 5th, 50th and 95th percentile RMS difference. (Color figure online)

Spectra estimation was also done for Wpt MAT adapted XYZ values and were closest to the spectral estimation of reference corresponding color XYZ values. As Wpt MAT has been developed to maintain sameness of material property and since spectral reflectance is an intrinsic property of a material, therefore, we should recover a very similar spectral reflectance. This topic will be further investigated in the future (Fig. 8 and Table 6).

Fig. 8.
figure 8

Estimated reflectances of reference Lutchi (D50) and reference data chromatically adapted to ill. D50 using Bradford CAT, CAT02 and CAT16 respectively: 5th, 50th and 95th percentile RMS difference.

Table 6. Weighted mean RMS difference and weighted max RMS difference between the estimated reflectance of reference corresponding color data vs estimated reflectance of chromatically adapted data.

Additionally, we have also calculated the weighted mean of CIELAB difference for 11 corresponding color datasets and their respective chromatically adapted data using Bradford, CAT02 and CAT16 as shown in Table 7. This is to check the CAT performance with respect to other known experimental data.

Table 7. Weighted mean of CIELAB difference of each of the corresponding color datasets to its chromatically adapted data.

4.4 Spectral Estimation of Inverse of Chromatically Adapted Data

Selected results of spectral estimates for the inverse of chromatically adapted reference XYZ of every corresponding color dataset are plotted against its respective estimated spectral reflectance of reference XYZ values. The inverse transform has been performed only for Bradford CAT and CAT16. Again, spectra obtained for the back transformed XYZ values are very similar in shape to the spectral reflectance obtained for the reference XYZ values (Table 8). The mean RMS difference and mean ∆E00 are low overall and lowest for the Bradford CAT. This demonstrates that the inverse transform can successfully be used in a color management workflow (Figs. 9 and 10).

Table 8. Weighted mean RMS difference and weighted max RMS difference of estimated spectra inverse of chromatically adapted XYZ and its respective reference XYZ reflectance.
Fig. 9.
figure 9

Estimated reflectances of reference Lutchi (A) and inverse of chromatically adapted reference XYZ to ill. A using Bradford CAT, CAT02 and CAT16 respectively: 5th, 50th and 95th percentile RMS difference.

Fig. 10.
figure 10

Estimated reflectances of reference Lutchi (D50), inverse of chromatically adapted reference XYZ to ill. D50 using Bradford CAT, CAT02 and CAT16 respectively: 5th, 50th and 95th percentile RMS difference.

5 Conclusion

Spectral estimation of corresponding color data has been performed to find the intrinsic relationship between original stimuli and chromatically adapted colorimetric data. We showed that for a recovery to be performed well we have to select training data which has similar characteristics to the test data.

Classical PCA has successfully estimated spectra for the reference XYZ and corresponding XYZ of corresponding color datasets and have shown to have a similar spectral shape. The estimated spectral reflectances of the chromatically adapted XYZ values show that spectra estimated from Bradford CAT adapted XYZ values are closest to the reference XYZ values of corresponding color dataset. This can also be seen in the inverse transform, where the Bradford CAT had a lower mean RMS difference compared to CAT16. If the source white point in the forward transform is same as the destination white point in the inverse transform, then the inverse transform will be complete and we should recover same spectra as the spectra obtained from the reference XYZ values. The low values of RMS difference suggest that the classical PCA on the respective chromatically adapted XYZ values has been consistent in estimating spectral reflectance.

The results demonstrate that, by using appropriate methods such as classical PCA, it is possible to obtain good spectral estimates of corresponding colors, and therefore that spectral estimation can be used in conjunction with chromatic adaptation in a color managed workflow.

Spectral estimation of corresponding colors can readily be implemented within the ICCMAX color management architecture, where the transform can be encoded either in matrix form (preferably), or as a multidimensional look-up table with PCS XYZ input and adapted spectral reflectances as output.