KCMS CMM Developer's Guide

Evaluating Data With Optimization

When a profile sequence is optimized for speed, a set of tables is generated that does not require the color data to be passed through the PCS. As a result, the connected profile contains a composed KcsXform object that moves data directly from input space to output space. (Composition reduces multiple transforms into a single transform.) The KCMS "C" API code excerpt shown in Example 3-6 evaluates data with optimization for speed.


Example 3-6 Evaluating Data With Optimization for Speed

status = KcsOptimizeProfile(completeProfile, KcsOptSpeed,
              KcsLoadAllNow); 
if (status != KCS_SUCCESS) {
      fprintf(stderr, "OptimizeProfile failed\n");
      KcsFreeProfile(monitorProfile);     
      KcsFreeProfile(scannerProfile);
      return(-1); 
}  

/* set up the pixel layout and color correct the image */ 
setupPixelLayout24(&pixelLayoutIn, image_in);  

status = KcsEvaluate(completeProfile, op, &pixelLayoutIn, 
            &pixelLayoutIn);  

if (status != KCS_SUCCESS) {
     fprintf(stderr, "EvaluateProfile failed\n");
     KcsFreeProfile(monitorProfile);
     KcsFreeProfile(scannerProfile);
     KcsFreeProfile(completeProfile);
     return(-1); 
}