read RGB color curves setup temporary table with columns red/green/blue foreach event red = linearInterpolate(redcurve,energy) green = linearInterpolate(greencurve,energy) blue = linearInterpolate(bluecurve,energy) foreach {red, green, blue} construct component image with evselect combine partial images if (log) foreach pixel r,g,b = max ( log(r,g,b) - log(maxValue) + decades, 0) normalize to 255 if (withcolorset) write image to data set else write image in PPM format