Here we present the software StrayLux, a tool to calculate the diffuse stray-light component of optical instruments. This software uses a semi-analytical approach to approximate stray-light contribution of the optical components of an instrument, resulting in shorter calculation times than Monte-Carlo simulations. The tool is completely written in Python, is provided with a graphical interface, and can interact with Zemax to extract the relevant parameters of an optical design.
The latest version of the software is currently made available to ESA industrial partners as a possible benchmark tool for stray-light estimation, within the instrument pre-development activities for future missions.
Stray-light in an optical instrument can have different sources: un-baffled light from outside the field of view (FOV), diffraction or reflections from the edges of the optical elements or the instrument mechanics, reflections from optical surfaces (ghosts), scattering from imperfections on the surfaces, and others. A careful optical design and spatial/spectral filtering strategies can help reducing stray-light, but a full assessment of the relevancy of each component is possible only with a complete opto-mechanical knowledge of the instrument.
The subject of this work is the in-field diffuse stray-light; this originates from light coming from the observed object which scatters on the imperfection of the optical surfaces. Since the source of this component is within the FOV, it can follow optical paths close to the nominal ones and be more complicated to filter. In Earth Observation (EO) highly contrasted scenes, like clouds next to land or ocean, are common, and in-field stray-light has a direct impact on radiometric performances.
Assessing diffuse stray-light levels can be beneficial already in the pre-development phases of an instrument, when several concepts are developed in parallel and trade-offs in the optical design are necessary. This applies in particular when the requirements for radiometric performances are particularly strict, like in some recent EO missions (e.g. Sentinel-5, FLEX, Carbonsat, …), where stray-light level can be decisive. Commercial software for stray-light simulation (ASAP, FRED, Zemax, …) provide a comprehensive stray-light analysis but require long calculation times typical of Monte-Carlo numerical methods; this can make the time investment for a parametric study of stray-light prohibitive.
In this paper we present StrayLux, a software developed to calculate in-field stray-light using only a simplified set of information from the optical design to be evaluated. The development of StrayLux started few years ago, within the EO future mission studies, as an effort to make a synthesis of the analytical stray-light models available, and to simplify the approach to stray-light simulations in pre-development of optical instrument for EO missions1. The purpose of StrayLux is not to replace the more complete commercial tools, but to offer a simple interface, fast calculations and easily accessible simulation results to allow further analysis by the user.
StrayLux v0.5.1beta was recently made available to ESA industrial partners in some of the ongoing studies for EO future missions as a possible tool for stray-light evaluation, in the hope it could prove useful as a benchmark to compare different instrument concepts using a standardized approach.
In this paper we give a general description of the tool, providing some details on the model implementation in Section 2, and introducing some of the features of the software in Section 3. Finally in Section 4 we show an example of stray-light calculation for a simple optical system. Stray-Lux is ongoing project and additional options are expected to be implemented in the future also as a result of the feedbacks from the users.
In this section we report the relevant aspects of StrayLux for what concerns the model implementation. We provide a comprehensive synthesis for convenience, while a more detailed description can be found in the work of J. Caron1.
Surface BSDF and stray-light kernel
To simulate the stray-light component at the focal plane (FP), StrayLux first calculates the Bidirectional Scattering Distribution Functions (BSDF) for each optical surfaces of the design, then the BSDF functions are propagated to the FP following ray-optics principles, and summed to obtain the stray-light kernel.
The contributions to the total BSDF function considered in StrayLux are two: light scattered by the particle contaminating the optics, and light diffused by the roughness of the optical surfaces.
To model contamination induced scattering it is necessary to define both the particles properties and their size distribution. StrayLux uses the results reviewed by Dittman3. Particulate contaminants are approximated as sphere, generally made of dust (n≈1.53 for λ = 633 nm), and their size probability distribution follows a log-log law as expressed in the MIL-1246B standard5. Two different distributions are considered, with slope values 0.926 (cleaned surface) and 0.313 (uncleaned surface), with a higher incidence of bigger particles for the latter case.
Under these assumptions, it is possible to use Mie analytical model4 to calculate the scattering function for a specific particle size and at a specific wavelength λ. The average scattering function of a group of particles with known size distribution can be obtained as a weighted sum of the Mie scattering functions, and this allows to calculate a contamination BSDF1; this scales linearly with the obscuration factor which expresses the fraction of surface occupied by particles in parts per million (ppm).
Surface roughness is the second source of diffuse stray-light. Several models exist for the BSDF of rough optical surfaces, the most common being ABg6, 2- and 3-parameters Harvey-Shack2-3, Wein3, K-correlation7-8. Most of these models are empirical, and some care must be used in order for their integral to be consistent with the expected Total Integrate Scatter (TIS). The normalization by the expected TIS is not straightforward, as TIS formally depends on several parameters including the angle of incidence/transmission1. A simple form for the TIS value, which is valid in the approximation of near-normal incidence and for small roughness is:
with k = 2π/λ, Δn the refractive index change across the interface (with Δn = 2 in case of mirrors) and σ the rms roughness. In StrayLux it is possible to normalize the BSDF of each optical surface in order to obtain the TIS calculated in Eq. (1), once the roughness value for an interface is specified.
The BSDF functions of all the optical surfaces need to be combined to obtain the stray-light kernel of the instrument. Peterson2 proposes a method, hinging on the optical invariance calculated in paraxial approximation, which only requires to rescale intensities and angles. In Peterson’s formalism the stray-light kernel is given by
where r is the radial coordinate on the focal plane measured from the optical axis, the index i indicates the optical surface, NA is the instrument numerical aperture, and ai is the marginal-ray height at surface i. The value of ai, simple to calculate in rotationally symmetric system, in StrayLux is defined from πai2 = Sicos(θt,i), with Si the footprint of the beam on surface i and θt,i the angle between the surface normal and the optical axis on the exit side, in order to also account for off-axis systems1.
For the BSDFs in Eq. (2) two remarks are necessary. First, BSDFs are calculated in StrayLux as a function of the scattering angle in the external medium (n=1), this allowing to equally treat both reflective and transmissive interfaces. The second remark is on the stray-light fraction reaching the detector: part of the stray-light generated by an optical interface can fall outside the physical limits of one of the optical elements that follow. This can be taken into account by setting to zero the BSDF for angles higher than the vignetting angle θvig, when this is defined as the maximum angle in vacuum (n=1) for which stray-light can still reach the FP (see Fig. 1).
Stray-light simulation for optical instruments
In paraxial approximation the kernel defined in Eq. (2) can be considered constant over the FP, and this simplifies the computation of the stray-light component at the FP. We consider in particular the case of imagers and a spectral-imagers.
In the imager case, in StrayLux the test-scene L(x,y) is defined in units of radiance (W/m2/str) and the stray-light component SL(x,y) is calculated as convolution of the kernel K(r) with LFP(x,y), where LFP(x, y) is the stray-light-free scene at the FP obtained as product of L(x,y) and the vignetting function of the instrument V(x,y), resulting from the effect of the entrance baffle.
For the case of a spectral-imager, with the test-scene defined as a spectral radiance L(x,y,λ) (W/m2/str/nm), the stray-light contribution is calculated separately for the telescope of the instrument (before the slit) and the spectrometer (after the slit). As a spectral-imager we consider a push-broom configuration, with the instrument slit oriented in the across-track (ACT) direction and acting as a perfect field stop, while a uniform slit illumination is assumed in the along-track (ALT) direction.
The simulation for the telescope section of a spectral-imager calculates the stray-light component on the slit plane, as seen at the FP after propagation in a stray-light-free spectrometer section. The calculation includes the following steps:
1. The image at the slit LSLIT(x, y, λ) is calculated considering the entrance baffle vignetting function V(x, y);
2. The stray-light component SL(x,y) at the slit is obtained by spatial convolution of LSLIT(x,y,λ) and the stray-light kernel K(r) calculated for the optical surfaces before the slit;
3. The light at the slit is propagated to the FP and dispersed over the detector, after spectral convolution with the instrument spectral response function (ISRF).
The simulation for the spectrometer part of a spectral imager calculates the stray-light generated by only the components after the slit, assuming a stray-light free telescope. The calculation includes the following steps:
1. The spectral radiance L (x, y, λ) is spectrally convolved with the instrument ISRF (λ) to obtain L′(x, y, λ)
2. L′(x, y, λ) is dispersed to obtain LFP (x, y), the stray-light free scene at the FP
3. LFP (x, y) is convolved with the stray-light kernel K(r) to obtain the stray-light component
We note that the kernel is used to determine equally the spatial and the spectral blurring at the FP; this is the case for the whole spectral band of interest, despite the kernel being calculated for a single wavelength of reference.
The simplicity of the method implemented in StrayLux is possible thanks to some assumptions; these need to be considered in relation to the instrument architecture to be simulated, to evaluate if all the approximations still hold. For convenience, we explicitly resume here the most relevant assumptions:
❐ Approximations on scattering
❐ Paraxial approximation
○ BSDF is calculated for normal incidence (surfaces are like flat diffusers with respect to stray-light)
○ BSDFs can be simply propagated to the FP using an optical-invariant approach2
○ The stray-light kernel is constant over the FP
❐ Wavelength dependence
We note that diffraction effects, as well as distortion and aberrations, are not included in the model as they can be introduced in a subsequent analysis. Validation of StrayLux against ASAP simulations, for some test-cases of both on-axis and off-axis optical designs1, show that results from the two tools are comparable, indicating that the assumptions in StrayLux model are well posed.
FEATURES OF THE SOFTWARE
StrayLux v.0.5.1beta is written in Python 3.x and can run on any computer with a Python scientific distribution (e.g. Anaconda), with minimal requirements. The tool is currently maintained within the Future Missions and Instrument Division of the Earth Observation Future systems Department at ESA-ESTEC. StrayLux features a graphical user interface (GUI), as shown in Fig. 2, to simplify the specification of the simulation parameters. With a minimal set of inputs, StrayLux can perform the simulations described in Sec. 2Błąd! Nie można odnaleźć źródła odwołania., and provide the results in text format for further use in following analysis.
One functionality of StrayLux is the possibility to interact with Zemax to extract the necessary optical parameters of the design, like f-number, effective focal length, refractive indices, and to calculate the marginal ray heights ai and vignetting angles with the use of Zemax sequential ray-tracing function. The parameters defining the optical design are saved in a dedicated text file to be later used also on computers where Zemax is not available.
In StrayLux contamination and roughness properties can be independently defined for each surface; the first is specified by the obscuration level in ppm and one of the two the particle size distributions (cleaned or uncleaned condition), while the roughness BSDF is specified by one analytical model and its parameters (ABg, 2- and 3-parameters Harvey-Shack, Wein, K-correlation). StrayLux also allows to use in-plane (1D) measurements of BSDF curves in place of a model; this is the case of surface n. 7 in the example in Fig. 2.
The test-scenes available in StrayLux extend indefinitely in the ALT direction. They are three: a uniform scene of value L1, a L1/L2 step-scene, and a scene with a L2/L1/L2 strip, where L1 and L2 are radiances or spectral radiances values, depending on the instrument. For the case of a spectral-imager, StrayLux offers the option of using an ISRF with a Gaussian profile, or defined via the slit width, spectrometer magnification and instrument PSF in the ALT direction.
The simulation results are calculated in an array with the same size as the instrument detector, which can defined in StrayLux by the pixel pitch and number of pixel in both ACT and ALT directions. In the case of the spectral-imager, the number of spectral points (ALT direction) is obtained from the width of the wavelength interval of interest and the Spectral Sampling Interval (SSI).
EXAMPLE OF RESULTS OF STRAY-LIGHT SIMULATION
This section reports an example of the results that StrayLux can provide. We use the simulations for the spectrometer part of the instrument reported in the GUI shown in Fig. 2. The data we present were obtained with a calculation time of 4 sec on a ordinary laptop (Intel Core i7-6600U @ 2.6 GHz).
In Fig. 3 we show the results obtained for the stray-light kernel, in particular the kernel cross-section in the ACT direction and the relative contribution of each surface to the overall stray-light signal, with contamination and roughness separately accounted for.
In Fig. 4 we report the results of the simulation for the reconstructed spectral radiances as measured at the FP in the case the instrument is observing a step-scene. The data used for the color-maps are saved in text files, to allow for instance the calculation of the relative value of the stray-light compared to the signal.
This work describes the software StrayLux, a tool developed within ESA to calculate in-field diffuse stray-light of optical instruments like imagers or imaging spectrometers. The software implements a semi-analytical approach, resumed in this paper, and is proposed as a possible tool for the instrument pre-development phases, where multiple iterations in performance and trade-offs are required and commercial stray-light software would be too time consuming. StrayLux is currently in version 0.5.1beta and it is progressively developed and upgraded while being proposed to ESA industrial partners for the optical instrument studies of future mission.