- Home
- Non Sequential Ray Tracing
- How to Measure and Optimize Color Data
How to Measure and Optimize Color Data
- By Sanjay Gangadhara
- Published 1 May 2009
- Non Sequential Ray Tracing
-
Rating:




NSDE: more details
As seen in the previous section, the NSDE operand can be used to extract both Tristimulus and power data into the merit function. These data can be in either position space or angle space, and can be values from a single pixel or averaged over all pixels on the Detector Color object. Average values for the Chromaticity xy and u’v’ parameters are obtained by averaging only over those pixels that have a finite amount of power on them. More details are provided in the chapter of the ZEMAX manual entitled “Optimization”.
When power or Tristimulus XYZ values are reported from a single pixel, these values correspond to the power (in Watts) or XYZ values (in Lumens) per unit area (if the data are in position space) or per unit steradian (if the data are in angle space). XYZ values are calculated for a given pixel by summing the intensities on each pixel weighted by the human eye response:
More details are provided in the article entitled “How to Model Colored and Tristimulus Sources”. The XYZ values on a given pixel – or even averaged over all pixels on the Detector – may not always agree with the Tristimulus XYZ values for the source, as a result of two conditions:
• If the number of rays traced is small, there can be statistical variation between the XYZ values on the detector and those of the source
• If there are optics between the source and the detector whose behavior varies with wavelength (e.g. optics with wavelength-dependent transmission), the XYZ values on the detector will vary from those of the source
Once the XYZ values are calculated, these values are divided by the pixel area (position space) or solid angle (angle space) to determine the actual value returned by the NSDE operand for the given pixel.
The ZPL function NSDE() is available for extracting both Tristimulus and power data into a macro. The NSDE() function takes the same inputs as the NSDE merit function operand. This function requires that a ray trace is first run in the macro using the NSTR keyword. More details may be found in the chapter of the ZEMAX manual entitled "ZEMAX Programming Language".