Elphel camera parts 0353-01
0353-01-51 - FPC flexible printed circuit straight for panoramic head:
← Older revision Revision as of 20:05, 7 October 2014 Line 103: Line 103: === 0353-01-50 - FPC flexible printed circuit 90 degree for panoramic head === === 0353-01-50 - FPC flexible printed circuit 90 degree for panoramic head === === 0353-01-51 - FPC flexible printed circuit straight for panoramic head === === 0353-01-51 - FPC flexible printed circuit straight for panoramic head === +---- === 0353-01-551 - Eyesis4Pi power cable for SSD MUX === === 0353-01-551 - Eyesis4Pi power cable for SSD MUX === OlgaFile:0353-01-551.png
uploaded a new version of "[[File:0353-01-551.png]]" SATA MUX cable for Eyesis4Pi26-SSD
OlgaElphel camera parts 0353-01
0353-01-551 - Eyesis4Pi power cable for SSD MUX:
← Older revision Revision as of 20:02, 7 October 2014 (One intermediate revision not shown)Line 107: Line 107: {| border="0" cellpadding="2" {| border="0" cellpadding="2" |- |- -| [[Image:0353-01-42.jpeg|thumb]] +| [[Image:0353-01-551.png|thumb|[[Media:0353-01-551.pdf|2d (pdf)]]]] |- |- |} |} OlgaFile:0353-01-551.pdf
uploaded "[[File:0353-01-551.pdf]]" SATA MUX cable for Eyesis4Pi26-SSD
OlgaElphel camera parts 0353-01
0353-01-551 - Eyesis4Pi power cable for SSD MUX:
← Older revision Revision as of 19:40, 7 October 2014 (2 intermediate revisions not shown)Line 103: Line 103: === 0353-01-50 - FPC flexible printed circuit 90 degree for panoramic head === === 0353-01-50 - FPC flexible printed circuit 90 degree for panoramic head === === 0353-01-51 - FPC flexible printed circuit straight for panoramic head === === 0353-01-51 - FPC flexible printed circuit straight for panoramic head === + +=== 0353-01-551 - Eyesis4Pi power cable for SSD MUX === +{| border="0" cellpadding="2" +|- +| [[Image:0353-01-42.jpeg|thumb]] +|- +|} +1 x CONN RECEPT 2POS 3MM SINGLE ROW (Molex: 0436450200) dk p/m WM1845-ND +1 x CONN RECEPT 4POS 3MM SINGLE ROW (Molex: 0436450400) dk p/m WM1847-ND +4 x CONN SOCKET 20-24AWG GOLD (Molex: 0462350001) dk p/m WM7082CT-ND OlgaRelease notes
Elphel camera parts 0353-19
0353-19-45 - SFE Cradle, Top:
← Older revision Revision as of 01:25, 12 September 2014 Line 190: Line 190: ---- ---- + +=== 0353-19-45B - SFE Cradle, Top Rev "B" === +{{Cad4|0353-19-45B}} + +---- + === 0353-19-46 - SFE Cradle, handle === === 0353-19-46 - SFE Cradle, handle === {{Cad4|0353-19-46}} {{Cad4|0353-19-46}} Andrey.filippovFile:0353-19-45B.stp.tar.gz
uploaded "[[File:0353-19-45B.stp.tar.gz]]"
Andrey.filippovMore lenses tested: Evetar N123B05425W vs. Sunex DSL945D
We just tested two samples of Evetar N123B05425W lens that is very similar to Sunex DSL945D described in the previous post.
Lens Specifications
Sunex DSL945D
Evetar N123B05425W
Focal length
5.5mm
5.4mm
F#
1/2.5
1/2.5
IR cutoff filter
yes
yes
Lens mount
M12
M12
image format
1/2.3
1/2.3
Recommended sensor resolution
10Mpix
10MPix
Both lenses are specified to work with 10 megapixel sensors, so it is possible to compare “apples to apples”. This performance compaison is based only on our testing procedure and does not involve any additional data from the lens manufacturers, the lens samples were randomly selected from the purchased devices. Different applications require different features (or combination of features) of the lens, and both lenses have their advantages with respect to the other.
Sunex lens has very low longitudinal chromatic aberration (~5μm) as indicated on “Astigmatism” (bottom left) graphs, it is well corrected so both red and blue curves are on the same side of the green one. Evetar lens have very small difference between red and green, but blue is more than 15 μm off. My guess is that the factory tried to make the lens that can work in “day/night” applications and optimized design for visible and infrared spectrum simultaneously. Sacrificing infrared (it anyway has no value in high resolution visible light applications) at the design stage could improve performance of this already very good product.
Petzval field curvature of the DSL945D is slightly better than that of the N123B05425W, astigmatism (difference between the sagittal and the tangential focal shift for the same color) is almost the same with maximum of 18 μm at ~2 mm from the image center.
Center resolution (mtf50% is shown) of the DSL945D is higher for each color, but only in the center. It drops for peripheral areas much quicker than the resolution of the N123B05425W does. Evetar lens has only sagittal (radial) resolution for blue component dropping below 100 lp/mm according to our measurements, and that gives this lens higher full-field weighted resolution values (top left plot on each figure).
Lens testing dataThe graphs below and the testing procedure are described in the previous post. Solid lines correspond to the tangential and dashed – to the sagittal components for the radial aberration model, point marks account for the measured parameter variations in the different parts of the lenses at the same distance from the center.
Sunex DSL945DFig.1 Sunex SLR945D sample #1020 test results. Spreadsheet link.
Evetar N123B05425WFig.2 Evetar N123B05425W sample #9071 test results. Spreadsheet link.
Fig.3 Evetar N123B05425W sample #9072 test results. Spreadsheet link.
File:0353-19-481.pdf
uploaded a new version of "[[File:0353-19-481.pdf]]"
Andrey.filippovElphel camera parts 0353-19
0353-19-48 - SFE Adjustment Fixture, Side:
← Older revision Revision as of 18:38, 26 August 2014 Line 208: Line 208: ---- ---- + +=== 0353-19-481 - SFE Adjustment Fixture, Side, double joint === +{{Cad4|0353-19-481}} + +---- + === 0353-19-49 - SFE Adjustment Fixture, Center === === 0353-19-49 - SFE Adjustment Fixture, Center === {{Cad4|0353-19-49}} {{Cad4|0353-19-49}} Andrey.filippovFile:0353-19-481.stp.tar.gz
uploaded "[[File:0353-19-481.stp.tar.gz]]"
Andrey.filippovFile:0353-19-481.igs.tar.gz
File:0353-19-481.jpeg
uploaded "[[File:0353-19-481.jpeg]]"
Andrey.filippovLens testing at Elphel
We were measuring lens performance since we’ve got involved in the optical issues of the camera design. There are several blog posts about it starting with "Elphel Eyesis camera optics and lens focus adjustment". Since then we improved methods of measuring Point Spread Function (PSF) of the lenses over the full field of view using the target pattern modified from the standard checkerboard type have better spatial frequency coverage. Now we use a large (3m x 7m) pattern for the lens testing, sensor front end (SFE) alignment, camera distortion calibration and aberration measurement/correction for Eyesis series cameras.
Fig.1 PSF measured over the sensor FOV – composite image of the individual 32×32 pixel kernels
So far lens testing was performed for just two purposes – select the best quality lenses (we use approximately half of the lenses we receive) and to precisely adjust the sensor position and tilt to achieve the best resolution over the full field of view. It was sufficient for our purposes, but as we are now involved in the custom lens design it became more important to process the raw PSF data and convert it to lens parameters that we can compare against the simulated achieved during the lens design process. Such technology will also help us to fine-tune the new lens design requirements and optimization goals.
The starting point was the set of the PSF arrays calculated using images acquired from the the pattern while scanning over the range of distances from the lens to the sensor in small increments as illustrated on the animated GIF image Fig.1. The sensor surface was not aligned to be perpendicular to the optical axis of the lens before the measurement -each lens and even sensor chip has slight variations of the tilt and it is dealt with during processing of the data (and during the final alignment of the sensor during production, of course). The PSF measurement based on the repetitive pattern gives sub-pixel resolution (1.1μm in our case with 2.2μm Bayer mosaic pixel period – 4:1 up-sampled for red and blue in each direction), but there is a limit on the PSF width that the particular setup can handle. Too far out-of-focus and the pattern can not be reliably detected. That causes some artifacts on the animations made of the raw data, these PSF samples are filtered during further processing. In the end we are interested in lens performance when it is almost in perfect focus, so scanning too far away does not provide much of the practical value anyway.
Acquiring PSF arraysFig. 2 Pattern grid image
Each acquired image of the calibration pattern is split into color channels (Fig.2 shows the pattern raw image – if you open the full version and zoom in you can see that there is 2×2 pixel periodic structure) and each channel is processed separately, colors are combined back on the images only for illustrative purposes. Of the full image the set of 40 samples (per color) is processed, each corresponding to 256×256 pixels of the original image.
Fig. 3 shows these sample areas with windowing functions applied (this reduces artifacts during converting data to frequency domain). Each area is up-sampled to 512×512 pixels. For red and blue channels only one in 4×4=16 pixels is real, for green – two of 16. Such reconstruction is possible as multiple periods of the pattern are acquired (more description is available in the earlier blog post). The size of the samples is determined by a balance of the sub-pixel resolution (the larger the area – the better) and resolution of the PSF measurements over the FOV. It is also difficult to process large areas in the case of higher lens distortions, because the calculated “ideal” grid used for deconvolution had to be curved to precisely match to the acquired image – errors would widen the calculated PSF.
Fig. 3 Pattern image split into 40 regions for PSF sampling
The model pattern is built by first correlating each pattern grid node (twisted corner of the checkerboard pattern) over smaller area that still provides sub-pixel resolution, and then calculating the second degree polynomial transformation of the orthogonal grid to match these grid nodes. The calculated transformation is applied to the ideal pattern and result is used in deconvolution with the measured data producing the PSF kernels as 32×32 pixel (or 35μm x 35μm) arrays. These arrays are stored as 32-bit multi-page TIFF images arranged similarly to the animated GIF on Fig.1 making it easier to handle them manually. The full PSF data can be used to generate MTF graphs (and it is used during camera aberration correction) but for the purpose of the described lens testing each PSF sample is converted to just 3 numbers describing ellipse approximating PSF full width half maximum (FWHM). These 3 numbers are reduced to just two when the lens center is known – sagittal (along the radius) and tangential (perpendicular to the radius) projections. The lens center is determined either from finding the lens radial distortion center using our camera calibration software, or it can be found as a pair of variable parameters during the overall fitting process.
Data we collected in earlier procedureIn our previous lens testing/adjustment procedures we adjusted tilt of the sensor (it is driven by 3 motors providing both focal distance and image plane tilt control) by balancing vertical to horizontal PSF FWHM difference in both X and Y directions and then finding the focal distance providing the best “averaged” resolution. As we need good resolution over the full FOV, not just in the center, we are interested in maximizing the worst resolution over the FOV. As a compromise we currently use a higher (fourth) power of the individual PSF components width (horizontal and vertical) over all FOV samples, average the results and extract the fourth root. Then mix results for individual colors with 0.7:1.0:0.4 weights and consider it as a single quality parameter value of the lens (among the samples of the same lens model). There are different aberration types that widen the PSF of the lens-sensor combination, but they all result in degradation of the result image “sharpness”. For example the lens lateral chromatic aberration combined with the spectral bandwidth of the sensor color filter array reduces lateral resolution of the peripheral areas compared to the monochromatic performance presented on the MTF graphs.
Automatic tilt correction procedure worked good in most cases, but it depended on a particular lens type characteristics and even sometimes failed for the known lenses because of the individual variations between lens samples. Luckily it was not a production problem as this happened only for lenses that differed significantly from the average and they also failed the quality test anyway.
Measuring more lens parametersTo improve the robustness of the automatic lens tilt/distance adjustment of the different lenses, and for comparing lenses – actual ones, not just the theoretical Zemax or OSLO simulation plots we needed more processing of the raw PSF data. While building cameras and evaluating different lenses we noticed that it is not so easy to find the real lens data. Very few of the small format lens manufacturers post calculated (usually Zemax) graphs for their products online, some other provide them by request, but I’ve never seen the measured performance data of such lenses so far. So far we measured small number of lenses – just to make sure the software works (the results are posted below) and we plan to test more of the lenses we have and post the results hoping they can be useful for others too.
The data we planned to extract from the raw PSF measurements includes Petzval curvature of the image surface including astigmatism (difference between sagittal and tangential surfaces) and resolution (also sagittal and tangential) as a function of the image radius for each of the 3 color components, measured at different distances from the lens (to illustrate the optimal sensor position). Resolution is measured as spot size (FWHM), on the final plots it is expressed as MTF50 in lp/mm – the relation is valid for Gaussian spots, so for real ones it is only an approximation: MTF50≈2*ln2π*PSFFWHM. Reported results are not purely lens properties as they depend on the spectral characteristics of the sensor, but on the other hand, most lens users attach them to some color sensor with the same or similar spectral characteristics of the RGB micro-filter array as we used for this testing.
Consolidating PSF measurementsWe planned to express PSF size dependence (individually for 2 directions and 3 color channels) on the distance from the sensor as some functions determined by several parameters, allow these parameters to vary with the radius (distance from the lens axis to the image point) and then use Levenberg-Marquardt algorithm (LMA) to find the values of the parameters. Reasonable model for such function would be a hyperbola:
(1) f(z)=(a*(z-z0))2+r02
where z0 stands for the “best” focal distance for that sample point/component, a defines asymptotes (it is related to the lens numeric aperture) and r0 defines the minimal spot size. To match shift and asymmetry of the measured curves two extra terms were added:
(2) f(z)=(a*(z-z0))2+(r0-s)2 +s+t*a*(z-z0)
New parameter s adjusts the asymptotes crossing point above zero and t “tilts” the function together with the asymptotes. To make the parameters less dependent on each other the whole function was shifted in both directions so varying tilt t does not change position and value of the minimum:
(3) f(z)=(a*(z-z0-zcorr))2+(r0-s)2 +s+t*a*(z-z0-zcorr)-fcorr
where (solved by equating the first derivative to zero:dfdz=0):
(4) zcorr=(r0-s)*ta*1-t2
and
(5) fcorr=(a*zcorr)2+(r0-s)2-t*a*zcorr-(r0-s)
Finally I used logarithms of a, r0, s and arctan(t) to avoid obtaining invalid parameter values from the LMA steps if started far from the optimum, and so to increase the overall stability of the fitting process.
There are five parameters describing each sample location/direction/color spot size function of the axial distance of the image plane. Assuming radial model (parameters should depend only on the distance from the lens axis only) and using polynomial dependence of each of the parameter on the radius that resulted in some 10-20 parameter per each of the direction/color channel. Here is the source code link to the function that calculates the values and partial derivatives for the LMA implementation.
Applying radial model to the measured dataFig.4 PSF sample points naming
Fig.5 Fitting individual spot size functions to radial aberration model. Spreadsheet link
When I implemented the LMA and tried to find the best match (I was simultaneously adjusting the image plane tilt too) for the measured lens data, the residual difference was still large. Top two plots on Fig.5 show sagittal and tangential measured and modeled data for eight location along the center horizontal section of the image plane. Fig.4 explains the sample naming, linked spreadsheet contains full data for all sample locations and color/direction components. Solid lines show measured data, dashed – approximation by a radial model described above.
The residual fitting errors (especially for some lens samples) were significantly larger than if each sample location was fitted with individual parameters (the two bottom graphs on Fig.5). Even the best image plane tilt determined for sagittal and tangential components (if fitted separately) produced different results – one one lens the angle between the two planes reached 0.4°. The radial model graphs (especially for Y2X6 and Y2X7) show that the sagittal and tangential components are “pulling” the result in opposite directions It became obvious that the actual lenses can not be fully characterized in the terms of just the radial model as used for simulation of the designed lenses, the deviations of the symmetrical radial model have to be accounted for too.
Adjustment of the model parameters to accommodate per-location variationsI modified the initial fitting program to allow individual (per sample location) adjustment of the parameter values, adding cost of correction variation from zero and/or from the correction values of the same parameter at the neighbors sites. Sum of the squares of the corrections (with balanced weights) was added to the sum of the squares of the differences between the measured PSF sizes and the modeled ones. This procedure requires that small parameter variations result in small changes of the functions values, that was achieved by the modeling function formula modification as described above.
Lenses testedNew program was tested with 7 lens samples – 5 of them were used to evaluate individual variations of the same lens model, and the two others were different lenses. Each result image includes four graphs:
- Top-left graph shows weighted average resolution for each individual color and the combination of all three. Weighted average here processes the fourth power of the spot size at each of the 40 locations in both (sagittal and tangential) directions so the largest (worst) values have the highest influence on the result. This graph uses individually fitted spot size functions
- Bottom-left graph shows Petzval curvature for each of the 6 (2 directions of 3 colors) components. Dashed lines show sagittal and solid lines – tangential data for the radial model parameters, data point marks – the individually adjusted parameters, so same radius but different direction from the lens center results in the different values
- Top-right graph shows the resolution variation over radius for the plane at the “best” (providing highest composite resolution) distance from the lens, lines showing radial model data and marks – individual samples
- Bottom-right graph shows a family of the resolution functions for -10μm (closest to the lens), -5μm, 0μm, +50μm and +10μm positions of the image plane
Evetar N125B04518W is our “workhorse” lens used in Eyesis cameras. 1/2.5″ format lens, focal length=4.5mm, F#=1.8. It is a popular product, and many distributors sell this lens under their own brand names. One of the reasons we are looking for the custom lens design is that while this lens has “W” in the model name suffix meaning “white” (as opposed to “IR” for infrared) it is designed to be a “one size fits all” product and the only difference is addition of the IR cutoff filter at the lens output. This causes two problems for our application – reduced performance for blue channel (and high longitudinal chromatic aberration for this color) and extra spherical aberration caused by the plane-parallel plate of the IR cutoff filter substrate. To mitigate the second problem we use non-standard very thin – just 0.3mm filters.
Below are the test results for 5 randomly selected samples of the batch of the lenses with different performance.
Fig.6 Evetar N125B04518W sample #0294 test results. Spreadsheet link.
Fig.7 Evetar N125B04518W sample #0274 test results. Spreadsheet link.
Fig.8 Evetar N125B04518W sample #0286 test results. Spreadsheet link.
Fig.9 Evetar N125B04518W sample #0301 test results. Spreadsheet link.
Fig.10Evetar N125B04518W sample #0312 test results. Spreadsheet link.
Evetar N125B04530W High resolution 1/2.5″ f=4.5mm, F#=3.0 lensFig.11 Evetar N125B04530W sample #9101 test results. Spreadsheet link.
Sunex DSL945DSunex DSL945D – compact 1/2.3″ format f=5.5mm F#=2.5 lens. Datasheet says “designed for cameras using 10MP pixel imagers”. The sample we tested has very high center resolution, excellent image plane flatness and low chromatic aberrations. Unfortunately off-center resolution degrades with the radius rather fast.
Fig.12 Sunex SLR945D sample #1020 test results. Spreadsheet link.
Software usedThis project used Elphel plugin for the popular open source image processing program ImageJ with new classes implementing the new processing described here. The results were saved as text data tables and imported in free software LibreOffice Calc spreadsheet program to create visualization graphs. Finally free software Gimp program helped to combine graphs and create the animation of Fig.1.
Optimization Intermediate Results
Running OSLO’s optimization has shown that having a single operand defined is probably not enough. During the optimization run the program computes the derivative matrix for the operands and solves the least squares normal equations. The iterations are repeated with various values of the damping factor in order to determine the optimal value of the damping factor.
So, extra operands were added to split the initial error function – each new operand’s value is a contribution to the spot size (blurring) calculated for each color, aberration and certain image heights. See Fig.1 for formulas.
Fig.1 Extra Operands
FieldCurvature(), LateralColor(), LongSpherical() and Coma() functions are defined in a ccl script found here – they use OSLO’s built in functions to get the data.
FY – fractional (in OSLO) pupil coordinate – 0 in the center, 1.0 – the edge (at the aperture stop)
FBY – fractional (in OSLO) image height (at the image plane)
NA – numeric aperture Field Curvature (1)
3 reference wavelengths, 7 image plane points (including center) and sagittal & tangential components make up 42 operands total affecting field curves shapes and astigmatism. To get the contribution to the spot size one need to multiply the value by Numerical Aperture (NA). NA is taken a constant over the full field.
Lateral Color (2)There are 3 bands the pixels are sensitive to – 510-560, 420-480 and 585-655 nm. The contribution to the spot size is then calculated for each band and 6 image plane points – there’s neither central nor tangential component – 18 operands total.
Longitudinal Spherical (3)The spot size contribution is calculated for the 3 reference wavelengths and 7 points at the aperture stop (including center). The tangential and sagittal components are equal, thus there are 42 operands.
Coma (4)It doesn’t have a huge impact on the optimization but it was still added for some control. The operands are calculated for 3 wavelengths and 6 image plane points – adds up 18 extra operands.
See Fig.2-5. All of the curvatures and thicknesses were set to variables, except for the field flattener and the sensor’s cover glass. The default OSLO’s optimization method was used – Dump Least Squared (DLS).
Parameter
Comments
Field Curvature
decreased from 20um to 5 um over the field
Astigmatism
decreased max(T-S) from ~15um to ~2.5 um
Chromatic Focal Shift
almost no changes
Lateral Color
almost no changes
Longitudinal Spherical
got better in the middle and worse in the edge
Resolution
somewhat insignificantly improved
Tried to vary the glasses but this didn’t lead to anything good – it tends to make the front surface extremely thin.
This might be the best(?) what can be achieved with the current curvatures-thicknesses (and glasses) configuration. Spherical aberration seem to contribute the most at the current f/1.8. What would be the next step?
- It’s always possible to go down to f/2.0-f/2.5. But we would keep the aperture as wide as possible.
- Add extra elements(s)?
- Where? Make changes closer to the surfaces that affect spherical aberration the most?
- Make up extra achromatic doublet(s)?
- Where? Make changes closer to the surfaces that affect spherical aberration the most?
- Introduce aspheric surface(s)?
- Plastic or glass? Some guidlines suggest to place glass close to the aperture stop and plastic – away. At the same time, “a surface close to the aperture stop tend to affect or benefit spherical aberration, surfaces located further from the stop can help minimize some or all of the off-axis aberrations such as coma and astigmatism”:
- Glass
- Where? Make changes to the surfaces that affect spherical aberration the most?
- One of the surfaces of the achromatic doublet?
- Plastic
- Where? Place a plano-aspheric element (flat front, aspheric back) at locations wheres rays are (almost) parallel? The thermal expansion might not affect the performance very much.
- Plano-aspheric element in the front of the lens?
- Aspheric surface on the achromatic doublet?
- As thin as possible? How thin can it be?
- Make the element after the doublet plano-aspheric?
- Glass
Other questions:
- Are there glass-plastic (glass-polymer? hybrid?) aspheric achromatic doublets available?
- Is it possible to glue a thin plastic aspherics on a glass element (like a contact lens)?
Fig.2 Before
Fig.3 After
Fig.4 Before. MTF(green)
Fig.5 After. MTF(green)
Elphel Software Kit for Ubuntu
User software:
← Older revision Revision as of 17:30, 11 July 2014 Line 25: Line 25: Some software need to be patched and recompiled even if they exist in Ubuntu software repositories, some softwares are not yet packaged in Ubuntu, so you have to compile them from sources also. We try to push our software patches to the mainstream applications, but it take time and is not always possible. For Ubuntu users some packages can be downloaded and upgraded using our [https://launchpad.net/~elphel/+archive/ppa ppa on launchpad]. Some software need to be patched and recompiled even if they exist in Ubuntu software repositories, some softwares are not yet packaged in Ubuntu, so you have to compile them from sources also. We try to push our software patches to the mainstream applications, but it take time and is not always possible. For Ubuntu users some packages can be downloaded and upgraded using our [https://launchpad.net/~elphel/+archive/ppa ppa on launchpad]. - sudo add-apt-repository ppa:elphel/ppa+ sudo add-apt-repository "deb http://ppa.launchpad.net/elphel/ppa/ubuntu natty main" sudo apt-get update sudo apt-get update OlegDefining Error Function for Optical Design optimization (in OSLO)
The Error Function calculates the 4th root of the average of the 4th power spot sizes over several angles of the field of view.
Fig.1 Pixel’s quantum efficiency
Fig.2 Example of pixel’s sensitivity range
The function takes into account:
- Pixels’ sensitivity to a band rather than a single wavelength (Fig.1). It negatively affects the sagittal component of the Point Spread Function (PSF).
- One of the goals is the uniform angular resolution and applies the corresponding coefficients to the sagittal component. The angular resolution increases with the field angle increase and degrades with negative distortion amount increase with the field angle increase
Fig.3 Formulas 1-5
- If PSF shape is approximated with a Gauss function (Fig.2) (in OSLO actual PSF shapes’s data can be extracted but anyways) then the sagittal PSF for a range of wavelengths will be a Gauss function as well with its Full Width Half Maximum (FWHM) calculated using (5) (Fig.3). FWHM is the spot size.
- With a known frequency for the Modulation Transfer Function (MTF) at the value of 1/2 level FWHM for a single wavelength is calculated with (1)-(4) (Fig.3)
- The final Error Function is shown in (6) (Fig.4). Its value is set as a user-defined operand for minimization (note: the value does not tend to zero).
- The 4th power is used to be able to improve the worst parameters in the first place
Fig.4 Error Function
Data- Distortion has not been added yet to the script that sets optimization operands
- Half of the FoV is manually picked at the moment and is 38°
- Field angles are picked to split the circular area of the image plane into the rings (circle in the center) of equal area
- N=6
i
αi, rad
cos(αi)
1
0.0000
1.0000
2
0.2513
0.9686
3
0.3554
0.9375
4
0.4353
0.9067
5
0.5027
0.8763
6(N)
0.5620
0.8462
Pixel's filter color
λpeak,nm
range,nm
green
530
510-560
red
600
585-655
blue
450
420-480
- The script to set user-defined custom operands before running optimization in OSLO: set_elphel_operands.ccl
Open Hardware Lens for Eyesis4π camera
Elphel has embarked on a new project, somewhat different from our main field of designing digital cameras, but closely related to the camera applications and aimed to further improve image quality of Eyesis4π camera. Eyesis4π is a high resolution full-sphere panoramic and stereophotogrammetric camera. It is a tiled multi-sensor system with a single sensor’s format of 1/2.5″. The specific requirement of such system is uniform angular resolution, since there is no center in a panoramic image.
Current lensFig.1. Eyesis4π modules layout
Lens selection for the camera was dictated by small form factor among other parameters and after testing a dozen of different lenses we have selected N125B04518IR, by Evetar, to be used in Eyesis4π panoramic camera. It is M12 mount (also called board lens), EFL=4.5mm, F/1.8 lens with the same 1/2.5″ format as camera’s sensor. This sensor is perfected by volume production and wide use in security and machine vision applications, which contributed to it’s high performance at a relatively low price. At the same time the price-quality balance for board lenses has mostly shifted to the lower price, and while these lenses provide good quality in the center of the image the resolution in the corners is lower and aberrations are worse. Each lens of the same model is slightly different from another, it’s overall resolution, resolution in the corners, and aberrations vary, so we have developed a more or less universal method to measure the optical parameters of the sensor-lens module that allows us to select the best lenses from a received batch. This helped us to formulate quantitative parameters to compare lens performance for our application. We have also researched other options. For example, there are compact lenses for smaller formats (used in smartphones) but most, if not all of them are designed to be integrated with the device. On the consumer cameras side better lenses are mostly designed for formats of at least 3/4″. C-mount lenses we use with other Elphel camera models are too large for Eyesis4π panoramic camera sensor-lens module layout.
Lens with high resolution over the Full Field of ViewIn panoramic application and other multi-sensor tiled cameras we are designing the center can be set anywhere and none of the board lenses (and other lenses) we have tested could provide the desirable uniform angular resolution. Thus there is a strong interest to have the lens designed in response to panoramic application requirements. Our first approach was to order custom design from lens manufacturers, but it proved to be rather difficult to specify the lens parameters, based on a standard specifications list we were offered to fill out.
The following table describes basic parameters for the initial lens design:
Parameter
Description
Mount
S-mount (M12x0.5)
Size
compact (fit in the barrel of the current lens)
Format
1/2.5"
Field of View
V: 51°, H: 65°, D: 77°
F#
f/1.8
EFL
4-4.5 mm (maybe 4.8)
Distortion
barrel type
Field Curvature
undercorrected (a field flattener will be used)
Aberrations
as low as possible
The designed lens will be subjected to the tests similar to the ones we use in actual camera calibration before it is manufactured. This way we can simulate the virtual optical design and make corrections based on it’s performance, to ensure that the designed lens satisfies our requirements before we even have the prototype. To be able to do that we realized that we need to be involved in the lens design process much more then just provide the manufacturer our list of specifications. Not having an optical engineer on board (although Andrey had majored in Optics at Moscow Institute for Physics and Technology, but worked only with laser components, and has no actual experience of lens design) we decided to get professional help from Optics For Hire with initial lens design and meanwhile getting familiar with optical design software (OSLO 6.6) – trying to create an error (merit) function that formalizes our requirements. In short, the goal is to minimize the RMS of squared spot sizes (averaging 4th power) over the full field of view taking into account the pixel’s spectral range. Right now we are trying to implement custom operands for minimization using OSLO software.
Fig.2 Online demo snapshot
As always with Elphel developments the lens design will be published under CERN Open Hardware License v1.2 and available on github – some early files are already there. We would like to invite feedback from people who are experienced in optical design to help us to find new solutions and avoid mistakes. To make it easier to participate in our efforts we are working on the online demonstration page that helps to visualize optical designs created in Zemax and OSLO. Once the lens design is finished it will be measured using Elphel set-up and software and measurement results will be also published. Other developers can use this project to create derivative designs , optimized for other applications and lens manufacturers can produce this lens as is, according to the freedoms of CERN OHL.
Links- Eyesis4π
- Lens measurement and correction technique
- Optical Design Viewer: online, github
- Optics For Hire company – Optical Design Consultants for Custom Lens Design
- Initial optical design files
[elphel353-8.0] By dzhimiev: 1. updated to match revision
1. updated to match revision
- Modified target.list rev1.100 - added 2 lines, removed one line
Pages
