LINCAL currently implements the "quadratic method" described in the above data report. This fits the non-linear DN as a function of exposure time, i.e.
S=A t + B t^2
The inversion is detailed in the above report, but is essentially the inversion of the above quadratic equation.
I. Channel 2 (InSb)
Channel 2 was processed and is expected to be representative of the InSb arrays. Fits
were made using pixels between 1000 DN and the saturation level determined
by LINCAL. Figure 1 shows the relative error for all input pixels. The
array saturates at around 44,000 DN. The fits are obviously quite good up
to at least 90% saturation. Figure 2 shows the relative error averaged over
each input image. Since each image has non-uniform illumination, the
effective DN(obs) are lower than they appear in the above figure. It is
apparent that the use of the quadratic function meets the 1% requirement
over the entire data range of the InSb ch.2 flight array.
| Fig. 1 - Relative error for all pixels in chan. 2 input data. | ![]() |
| Fig. 2 - Relative error binned by input image. Filled circles are the mean fit error, and the open circles are the standard deviation around the mean. Deviations from the model are 0.5% peak-to-peak, up to about 90% full-well. The data itself is table to ust a couple tenths of a percent. | ![]() |
| Fig. 3 - LINCAL derived "linear" term (left), vs. a long lamp image (right). As expected, the two are nearly identical. | ![]() | ![]() |
II.A. Channel 4 (Si:As)
Unfortunately, the same cannot be said of the Si:As arays. Up until this
time we have not had data capable of differentiating between these models.
As seen in Figure 3, the input data is stable to better than 1%. However,
it is also apparent that the curve being used is incorrect.
![]() |
Fig. 4 - On the left, a typical channel 4 pixel showing the sizable non-linearity. Open circles are data, the line is the linear component derived via quadratic method. At right is a typical image of the lamps in channel 4. | ![]() |
| Fig. 5 - Relative error for all pixels in chan. 4 input data as derived by LINCAL using the quadratic method. | ![]() |
| Fig. 5b - Relative error for binned Ch.4 input based on quadratic method. Filled circles are the mean fit error, and the open circles are the standard deviation around the mean. | ![]() |
II.B.1 Alternate Approaches for Channel 4 (Si:As) - cubic fit in t
Something new is needed for the Si:As arrays. On this page you can see several alternatives. The exponential curve is a poor fit. Here we examine two extensions to the current methods proposed for IRAC linearity. They both add an extra term to the current equations. For the quadratic method which fits observed DN as a function of t, we get:
S = At + Bt^2 + Ct^3
which is most easily fit by converting to rate and fitting a quadratic polynomial,
S/t = A + Bt + Ct^2
So, to get S' we invert for t and multiply by A. However, solving for t is a nasty cubic equation inversion. It can be done analytically, but the equations are very complex. I have implemented this by fitting each pixel independently and then using a numerical root finder. There are several disadvantages to this approach, though. First, the cubic inversion can be ill-behaved. Second, if a numerical inversion is used it may make the application of FOWLINEARIZE time-consuming. The over-riding problem, however, is that it is highly desirable to have an analytic function for the correction to linearity for fowler number. I think this can be derived for this case, but it's a mess.
| Fig. 6 - relative error in all pixels as fit by the 3rd order fit in time method. | ![]() |
![]() |
| Fig. 6b - From left to right, the linear term A, the higher order terms B and C, and the saturation point used by the software, for the Quadratic Method extended to one higher term. The lamp illumination pattern is visible because not all pixels were driven to saturation during this test, and so the highest level actually reached influences the solution. |
II.B.2 Alternate Approaches for Channel 4 (Si:As) - Quadratic "Rate" Method
The other alternative is an extension of the rochester rate method to one extra term, i.e.
S/t=A + B S + C S^2
which has the inversion for S'
S'= (A S)/(A + B S + C S^2)
This is an easy function to fit, and has the above simple expression for S'. Furthermore, the analytic form for t is
t = (S)/(A + B S + C S^2)
and S as a function of t is
1 - B t - Sqrt[-4 A C t + (-1 + B t) ] S = ------------------------------------------ 2 C twhich can then be used to rederive the fowlinearize constant. I haven't done this yet.
The two approaches appear to give virtually identical results.
Peak-to-peak variation from the model is about 1%. The data itself is
stable to about 0.3%.
![]() | ![]() |
| Fig. 7 - Rate Method. On left are all pixels, and on right are binned results. The filled circles are the mean error, and the open circles are the standard deviation about the mean. | |
![]() |
| Fig. 7b - From left to right, the linear term A, the higher order terms B and C, and the saturation point used by the software, for the Rate Method extended to one higher term. |