LIGHT TRANSFER CURVE

"photon transfer curve"

Using the method outlined in some handwritten notes from a JPL course on CCDs (given to me by Paul Lucey - Mike do you know the original author of these notes?) I have plotted the Light Transfer curve for the MSI data as outlined below.

Signal Coordinate (x-axis)

"The light transfer curve is a plot of r.m.s. noise (DN) and signal (DN). Each data point is typically derived from 4 frames of data. Each data point is derived from a different exposure. The following procedure is used to produce one data point:

Take four dark frames and average on a pixel to pixel basis to generate an average dark frame.

	(D1 + D2 + D3 + D4) / 4 = D

Take four exposed frames and average on a pixel to pixel basis to generate an average exposed frame.

	(E1 + E2 + E3 + E4) / 4 = E

Subtract the two above resultant frames to obtain a "true" signal frame on a pixel by pixel basis.

	E - D = S

From the signal frame (S) select a partial area (n x n). From the n x n area calculate the mean value of the n x n pixels. This value gives the signal coordinate (x-axis).

Noise Coordinate

Take each exposed frame (En) and subtract the averaged exposed frame (E) on a pixel by pixel basis to obtain four noise frames.

	E1 - E = N1

E2 - E = N2

E3 - E = N3

E4 - E = N4

Select the same n x n area and calculate the standard deviation of the n x n pixels.

	Std1 = Standard deviation(N1)
	Std2 = Standard deviation(N2)
	Std3 = Standard deviation(N3)
	Std4 = Standard deviation(N4)

Next calculate the mean value of these standard deviations.

	(Std1 + Std2 + Std3 + Std4) / 4 = avg_std

Finally correct for the increase in noise due to frame subtractions (using the square root of 1.25).

	noise = avg_std/SQRT(1.25) 

Notes

The same process is done for a number of exposures. It is IMPORTANT to have exposures go beyond "full well" in order to show the saturation point (I have not found full images in the calb dataset so far - lets make sure we get this for the full blown MSI calibration). The data is plotted on a log-log in units of DN. Once the system gain constant K(e/DN) is found the light transfer curve can be graphed in units of electrons."

Below are some LTC plots that I have been working on (with some very good advice from Mike and Jimbo - Thanks!). Please NOTE that for some reason I cannot get IDL to stop putting a 10 as the top label on the y-axis of log plots, the tick-marks are all incremented by 1 log step in the y axis!!! Sorry if this causes any confusion (anybody know how to fix this?).

ltc_medT_700f3.gif (filename of plot; plot made with ltc3.pro)

This is my first LTC plot (above) using the medT data from CCD2 with a filter 700, ND = 1 ( list of images used in plot). There are no "full well" images nor any very low exposure frames (exposures used 200, 350, 500, 650, 800, 917). This range is useful for inspecting the Signal Shot Noise (see also Mikes earlier description of this). I do not know why the 650 exposure does not fall on an otherwise straight line? Calculating a best fit line (excluding the "funny" 650 msec exposure list of images used in fit) I find;

	logN(dn) = -0.8639 + 0.4593 logS(dn)
Which is sort of close to the rule of 1/2 (see discussion below).

ltc_medT_500f3.gif (filename of plot; plot made with ltc3.pro)

This LTC plot (above) includes short exposure frames as well as long exposure frames (1, 3, 5, 10, 25, 50, 100, 200, 350, 500, 650, 800, 917 msec) all acquired at medium temperature (-31.5 to -33.2), ND = open, filter = 500FS40 ( list of images used in plot). For dark current I used three frames from the "CCD Dark Current Series" taken with an exposure of 500 msec (20580059.FIT, 20580069.FIT, 20580079.FIT). Ok, here we can clearly see the read noise at short exposures that was missing from the previous plot - they kind of bounce around a little, but note the expanded y-scale. However this may be because we have dropped below the readout rate (which I believe is 5 msec), I simply don't know what this would do (help!)? I calculated best fit line to the exposures 200 through 917 msec (Signal Shot Noise portion of the plot) and get this equation (list of images used in equation fit):

	logN(dn) = -0.6905 + 0.4011 logS(dn)
Apparently this disagrees with mother nature (hope I don't get struck by lightning!)? --------> see discussion below for more details on this. I should mention that I noticed that the temperature was not stable during the measurements.

exposure:temperature

1:-32.0, 3:-31.6, 5:-31.5, 10:-31.5, 25:-31.6,
50:-31.7, 100:-31.8, 200:-32.4, 350:-32.6,
500:-32.9, 650:-33, 800:-33.1, 917:-33.2
Note how the temperature starts at -32.0 then rises to -31.5 and then drops to -33.2 from shortest to longest exposure. Also note the slight swayback nature of the Signal Shot Noise portion of the curve... hmmmmm I wonder if these are related? If I had finished an examination of temperature effects I could probably answer this right off. I guess I better find a test sequence that is more stable, temperature-wise that is! ltc_medT_1000f3.gif (filename of plot; plot made with ltc.pro)

OK, I have plotted another LTC sequence ( above) from the medium temperature sequence with filter = 1000, ND = OPEN ( list of images used in plot). The range of exposure times is the same as the previous plot. Again there is a disagreement (though very close) with the 1/2 slope rule (see discussion below). I calculated the equation below from the data ranging 200 to 800 msec (I excluded the 917 msec beacuse it is "funny" - see plot above). Possibilites: 1) there is something wrong with the sensor, 2) the calb data is labeled improperly, 3) 0.4854 is equivalent to 0.5, I do not the plus/minus of the expected conformance though I suspect it is about +-0.01 (help?), or 4) I screwed up somewhere (I will redo all this and check my code as well as check some other sequences).

	logN(dn) = -0.9367 + 0.4854 logS(dn)
The same "CCD Dark Current" 500 msec images were subtracted.

ltc_loT_1000f3.gif (filename of plot; plot made with ltc3.pro)

Here I have plotted another LTC sequence ( above) from the low temperature sequence with filter = 1000, ND = OPEN ( list of images used in plot). These data span the exposure range of 0 - 917 msec, note the spurious data point at the 200 msec exposure (mislabeled???). I calculated a best fit line from 350 - 917 msec and got(list of images used in equation fit):;

	logN(dn) = -1.0130 + 0.5079 logS(dn).
Again we have a pretty close match to the 1/2 slope rule. As in previous datasets the exposure times fall short of inspecting the full dynamic range of the instrument (dark images used - 20590059.FIT, 20590069.FIT, 20590079.FIT). From this equation I calculate a value for K of 98.7.

ltc_hiT_1000f3.gif (filename of plot; plot made with ltc3.pro)

Here I have plotted ( above) from the high temperature sequence with filter = 1000, ND = OPEN ( list of images used in plot). The 917 msec point looks "funny" to me (the last point to the right). I have calculated the best fit line twice, once from 200 msec - 917 msec;

	logN(dn) = -1.0906 + 0.5380 logS(dn).
and again excluding that 917 point;
	logN(dn) = -0.9897 + 0.5039 logS(dn).
Lets assume the 917 point is bogus and thus we have pretty darn good compliance with the 1/2 rule, from the this equation (the second) I get a value of 92.1 for K (units e-/dn).


Background on Interpretation of Light Transfer Curve

from the "notes"

The light transfer curve can be described by the following quation:

	N(e) = SQRT(S(e) + R(e)^2)	[EQ 1]

Where

	N(e) = Total rms noise in terms of electrons
	S(e) = Signal in terms of electrons
	R(e) = Read noise in terms of electrons

The lower portion of the curve is dominated by the read noise of the CCD and camera combination and the upper part by the shot noise of the signal. A number of properties of the CCD (and camera) can be found from the transfer curve:

The lower portion of the curve measures the readout noise floor. The noise floor is dominated by three sources:

	TNF = Total Noise Floor
	SDC = Shot Dark Current
	CRN = CCD Read Noise

TNF = SQRT(CRN^2 + SDC^2 + CRN^2)

Normally the last two sources are negligible (respectively 0 & 4.5e-) for the case of Space telescope. The total noise floor is typically 15e- or less.

The middle portion of the curve characterizes the signal shot noise. On a log-log plot the slope of the light transfer curve is 1/2. This can be shown by using EQ 1 letting R(e) = 0 and taking the log of each side.

	N(e) = SQRT(S(e))

Therefore,

	LogN(e) = 1/2 LogS(e)

This characteristic is very valuable when checking out a CCD or camera for the first time. A slope different than 1/2 indicates that you are not agreeing with "Mother Nature".

The upper portion of the curve is a measurement of the "full well" capacity of the CCD. Note the signal continues to increase while the noise drops rather suddenly. This would indicate that the pixels within the n x n area are spilling and filling into one another while in the integration mode or during transfer. As shown this typically occurs at 75,000e- for this device.

When a linear fit is done to the portion of the curve which is signal shot noise limited, the intercept on the signal axis yields the important constant K(e-/DN). This can be shown mathematically from EQ 1.

	LET R(e)^2 = 0

therefore

	N(e) = SQRT(S(e))	 	[EQ. 2]

Converting EQ 2 to DN

	N(DN)K = SQRT(S(DN) K)		[EQ. 3]

Where K is a constant with the units of e-/DN. Squaring both sides of EQ 3.

	N(DN)^2 K^2 = S(DN) K

Taking the log of both sides

	LogN + LogK = 1/2 Log K + 1/2 Log S

Let LogN = 0 or N = 1

We find

	LogS = LogK	or 

K = S which is a remarkable result!

Once K is found the entire light transfer curve can be described in units of electrons. electron.gif (filename of plot; plot sketched with microsft paintbrush)

Also, if the gain of the signal chain and the conversion constant of the A/DC (V/DN) are known, the sensitivity of the (V/e) of the sense node of the capacitance of the CCD can be found.

	Si(v/e)=[K(e-/DN) A(v/V) M(DN/V]^-1
The notes I have are sort of messy here - I'll have to check that equation.

For example assume that we find K to be 6 e-/DN for a signal chain gain of 84.7 and a A/DC conversion factor of 2^?/2ov=3276DN/V (again messiness needs checking) we find the CCD sensitivity to be .6microvolts/e-.

From the transfer curve the dynamic range for the CCD camera can be easily calculated.

Dynamic Range = (Full Well Signal) / (Readout Noise)
Note that I have not run across any full well images yet.


			A figure goes here
For the above transfer curve we find dynamic range to be:
	Dynamic Range = 75,000e-/13e-
		      = 5769
It is possible to find the system constant K by calculating for it as opposed to finding it graphically. Returning to EQ 1.


	N(e) = SQRT[S(e) + R(e)^2]

Squaring both sides.
	N^2(e) = S(e) + R(e)^2
Converting to DN.
	K^2N^2 = KS + K^2R^2
	N^2 = (1/K)S + R^2		[EQ. 4]
Way Cool!

Recall

	N = Total Noise (DN)
	R = Read Noise (DN)
	S = Signal (DN)