Integral Field Spectroscopy (IFS) provides a spectrum simultaneously for each spatial sample of an extended, two-dimensional field. Basically, an IFS is located in the focal plane of a telescope and is composed by an Integral Field Unit (IFU or image slicer) and a spectrograph. The IFU acts as a coupler between the telescope and the spectrograph by reformatting optically a rectangular field into a quasi-continuous pseudo-slit located at the entrance focal plane of the spectrograph. Therefore, the light from each pseudo-slit is dispersed to form spectra on the detector and a spectrum can be obtained simultaneously for each spatial sample within the IFU field. The principle of an image slicer is presented in Fig.1.

Figure 1 - The principle of an image slicer. The slicer mirror array, located at the image plane of the telescope, divides the entrance field of view (FOV) and re-mages the telescope exit pupils along a line on the pupil mirrors. Each pupil mirror then re-images its corresponding slice of the entrance FOV on its corresponding slit mirror located at the spectrograph's focal plane (slit plane). The reformatted FOV acts as the entrance slit in the spectrograph where all the slices are aligned as a pseudo long slit.
An image slicer system is usually composed of a slicer mirror array associated with rows of pupil mirrors and slit mirrors. These components are formed by a segmented assembly of several tilted, and spherical or flat mirrors. Making use of ZEMAX, the classical modelling method consists in using the multi-configuration mode. However, the use of such a mode implies that each mirror is independently computed compared with each other. Furthermore, such classical modelling is time-consuming because ZEMAX has to compute a large number of parameters (i.e. curvatures, tilts, decenters for each sub-mirror) and configurations (one by sub-mirror) to consider the whole instrument.
By using the User Defined Surface (UDS)-DLL ZEMAX capability, I present an easier method to simulate segmented surfaces (slicer mirror array and rows of mirrors). For details of how to compile a user-defined surface, please see this article.
The file slicer.dll is included in the zip archive that may be downloaded from the last page of this article.
All the properties of a UD-Surface are defined in a separate C or C++ program, compiled and linked into Zemax using a Windows® DLL file (Dynamic Link Library). The DLL file contains functions which compute and return to Zemax all the data required to draw the surface, trace rays, compute refraction angles, etc.
The slicer.dll file allows to model a slicer mirror array where each individual mirror has a rectangular clear aperture and could be spherical or flat in shape. One may specify the number of slices and their dimensions as well as curvatures and tilts for each slice. Their X- and Y-positions (Fig.2) are directly controlled by the slicer.dll while their Z-position along the current optical axis may be specified for each slice individually. Surface sag and rays propagation are computed, and basically a close loop with Zemax is established in order to determine which segment of the slicer mirror array is struck by rays on the one hand, and on the other, to use the local curvature and tilts to compute the properties of each reflected ray.

Figure 2 - Slicer mirror array optical specifications and notations.
In such a way, a slicer mirror array is correctly described by two sets of data parameters specified in the Lens Data Editor (LDE) or in the Extra-Data Editor (EDE) as described next.
Making use of Lens Data Editor, the user may specify parameters defining the whole component such as the number of slices and their dimensions in both X- and Y-directions (Fig.2). Furthermore, three additional parameters are introduced as following (Fig.3):

Figure 3 – Lens Data Editor. The slicer.dll appears line 3 and 6.
From the Extra-Data Editor (Fig.4), the user may specify parameters defining each slice individually such as curvature, tilts in both directions (Tilt-X and Tilt-Y) and decenter along the optical axis (Z-Dec). Note that the parameter Z-Dec does not affect the whole surface but only shifts each slice's vertex along the current optical axis.

Figure 4 – Extra-Data Editor. The slicer.dll appears line 3 and 6.
The slicer.dll uses four parameters to describe each slice that leads to 60 slices maximum since the Extra-Data Editor only has 242 allocations available. Furthermore, bear in mind that the curvature is defined in the Extra-Data Editor and that only flat and spherical surfaces are considered. Thus allocations initially used by Zemax to specify the curvature and the conic constant in the Lens Data Editor are not used.
The slicer.dll acts like the commonly used "standard surface", thus optimization and analysis features of Zemax apply as well. The slicer.dll is capable to consider all operands defined in the Merit Function making optical optimizations faster by a factor 2 to 5 for the same design using Multi-Configuration Editor. Analysis and tolerancing can be performed with the same results as the multiple-configuration approach, but some analyses are much easier: in particular those which need to consider all slices simultaneously, such as the cross-talk due to the size of the Point Spread Function (PSF).
An optical layout composed by a simulated telescope, a slicer and a pupil mirror arrays (both modelled by the slicer.dll) was designed as an example of use (Fig.5). The same optical layout using the classical Multi-Configuration Editor was designed as well. Both files are included in the zip archive.


Figure 5 – Basic optical layout of an IFU (3 slices only). The slicer mirror array and the row of pupil mirrors are modelled by the slicer.dll.
The wavelength is chosen to widen the PSF at the slicer mirror array in order to emphasize cross-talk due the diffraction in the zmx file using the slicer.dll. We used the Physical Optical Propagation (POP) tool of Zemax. The simulated telescope (paraxial lens) forms an image of a point source located to infinity onto the slicer mirrors array (Fig.6a). This image is optically divided into three small images that are re-formed by the pupil mirrors along a slit (Fig.6c). Fig.6b also shows the image of the telescope pupil formed by the slicer onto the row of pupil mirrors. Note that both results (Fig.6b and 6c) suggest some cross-talk analysis of the system.

Figure 6 - Cross-talk analysis (diffraction). The two-dimensional point spread function (PSF) formed onto the slicer mirror array (a) is optically divided into three small images that are re-imaged along a slit (c). The slicer mirror array has some power in order to re-image the telescope stop on the row of pupil mirrors (b).
A slicer mirror is a complex surface composed by many tilted and decentered mirrors sub-surfaces. The major difficulty to model such a complex surface is the large number of parameters used to define it (tilts, curvatures, decenters for each sub-surface). Making use of the User-Defined Surface (UDS-DLL) Zemax capability, we are able to easily consider the set of sub-surfaces as a whole surface. Please when using this DLL, thank author and refer to the article: http://fr.arxiv.org/abs/physics/0510174