The evaluation path of data is different for unoptimized and optimized sequences. Figure 3-7 shows both paths.
In the unoptimized case, when evaluate()() is called, the color data is moved from input space to PCS and from PCS to output space. This is achieved by passing the data through the appropriate KcsXform object in the KcsXform object array. The KCMS "C" API code excerpt shown in Example 3-5 evaluates data without optimization.
/* set up the pixel layout and color correct the image */ if (depth == 24) setupPixelLayout24(&pixelLayoutIn, image_in); else setupPixelLayout8(&pixelLayoutIn, red, green, blue, maplength); status = KcsEvaluate(completeProfile, op, &pixelLayoutIn, &pixelLayoutIn); if (status != KCS_SUCCESS) { fprintf(stderr, "EvaluateProfile failed\n"); KcsFreeProfile(monitorProfile); KcsFreeProfile(scannerProfile); KcsFreeProfile(completeProfile); return(-1); }