CCDPosted by Hans Gleisner Wed, October 16, 2013 22:22:38
search on Internet gives many references to DSLR
photometry. Amateur astronomers use DSLRs to observe stellar light curves
(see the AAVSO web
site) and to search for exoplanet transits, sometimes in the form of
amateur/professional collaborations (PANOPTES). There are also examples of the
use of DSLRs in the scientific literature: Velidovsky et al., used a Canon EOS 300D for absolute
photometry of the Moon.
Since I own
an old Canon EOS 300D I thought I’d try to measure a few fundamental
parameters: readout noise, dark current, and gain factors. The EOS 300D model
is now 10 years old and must be regarded as obsolete. I’ve seen them sold at
Ebay for less than 50 USD. It has a 12-bit 3088x2056 CMOS sensor, ISO settings
from 100 to 1600, exposure times from 0.25 milliseconds to 30 seconds, bulb
exposure of infinite length, but unfortunately no mirror lockup. I used IRIS to
convert files from RAW to FITS (note: without debayering the images), and IDL
for the actual analysis.
factors were determined by taking pairs of exposures from 0.25 to 100 milliseconds,
selecting a 600x400 pixel sub-frame, and plotting the variance of the
difference frame versus the mean level. Image
sequences were generated for ISO 400 and ISO 800, and the R-, G-, and
B-channels (of the Bayer matrix) were treated as independent data points. The
exposures were taken without lens, and with the camera pointed at a white,
uniformly lit wall. At first, the data points spread out across the graph but
when I discarded all exposures shorter than 10 milliseconds, the remaining data
points fell nicely along a straight line. For shorter exposure times, there is apparently
a large spread in the shutter performance (assuming that the light source is
constant between exposures). The uncertainty fell below 1% for exposure times
longer than around 50 milliseconds. This shutter performance may be a property
of the camera model, but it may also be a consequence of my camera being old
Figure 1. Percentage difference between pairs of exposures at different nominal exposure times.
gain curves are shown in Figure 2. The resulting gain factors are g=2.58 electrons/ADU at ISO 400 and g=1.17 electrons/ADU at ISO 800,
which comply well with figures that I found at various web sites (here,
here). Above a signal level of around 3700
to 3800, the gain curves rapidly levels off to smaller noise values, indicating
an abrupt transition from linearity.
Figure 2. Variance of noise versus signal for ISO 400 and ISO 800.
noise and dark current was determined by repeating the above experiment, but now
with the camera body capped and going to exposure times longer than 20 minutes.
Figure 3 shows a surprising result: the dark current decreases with time, to levels below the CMOS bias level (128 for
the EOS 300D) which means negative values!
Clearly unphysical, but it could be explained as a consequence of
onboard dark-current subtraction before the CMOS frame hits the RAW file.
Apparently, the camera over-estimates the dark current. Or could it be IRIS
that does these subtractions in the RAW-to-FITS conversion?
Figure 3. Dark current as a function of exposure time.
This behavior can only be
explained by onboard dark current subtraction before storage in the RAW file.
Even if the
dark current signal have been
subtracted in the RAW frame, the dark current noise is still there and this may tell us something about the dark
current signal. Figure 4 shows the dark
current variance as a function of exposure time. Up to 7 or 8 minutes it is a
roughly linear relation, but then the curve bends upwards – more strongly for
the ISO 800 sequence. The camera warms up during long exposures (one can
actually feel the temperature difference) and this is a likely explanation for
the nonlinear behavior in Figure 4. This is actually one of the major
limitations of DSLR cameras: the lack of temperature control causes a time
dependent behavior of the dark current, which is difficult to predict or to
Figure 4. Dark current noise (here, the variance) as a
function of exposure time.
The readout noise can simply be obtained as the dark current for zero exposure
time. In Figure 5, we expand Figure 4 by plotting the logarithm of the observed
noise (but now the standard deviation) as a function of the logarithm of the
exposure time. Assuming that the observed noise is a combination of readout
noise and dark noise, and that the dark noise is proportional to the square
root of the exposure time (which it should be for exposures shorter than 5 to
10 minutes), we can fit both the readout noise and the dark current to the
observed data. Using the gain factors obtained above, we get a readout noise of
13.7 or 12.2 electrons, for ISO 400 and ISO 800, respectively, and a dark
current of about 3.6 electrons/pixel/second. This latter figure is highly uncertain,
but it suggests that for exposure times shorter than about 30 seconds the
readout noise dominates.
Figure 5. Dark current noise (here, the standard
deviation) versus exposure time on logarithmic scales.
factors and readout noise obtained are relatively consistent with those found
by others. The dark current is a bit on the high side, but cannot be determined
camera shutter does not allow exposures shorter than 50 msec with any precision.
lack of temperature control makes the dark current unpredictable. This is less
of a problem for exposures shorter than 30-60 seconds, since they are dominated
by readout noise.
is some processing going on before the RAW file, at least a dark current
Even the least processed images – those in RAW formats – do not consist of the
raw, unprocessed data in the way we are used to from astronomical CCD cameras.
The details of this onboard processing are not described by the camera manufacturers. A
simple subtraction of a mean dark current level should not pose a problem for
the ability do photometry. However, if the processing includes scaling,
filtering, bad-pixel removal, “noise reduction”, etc., it may introduce
unpredictable errors in photometric measurements. How can we test this?
SoftwarePosted by Peter Thejll Wed, October 02, 2013 20:07:50
Here is a code in python that operates the EMCCD camera from Andor: http://code.google.com/p/pyandor/
You will also need a crucial .so file from the Andor SDK for Linux ...
PointingPosted by Daddy-o Mon, September 30, 2013 16:13:44
For a very light, DSLR-based system, this is a thought:http://iankingimaging.com/search.php?q=skytracker
How would the mount swing back for start of observations?
It is controllable from various planetarium software packages.How would it point fine enough?
With a large enough field it would not matter - provided the necessary detail on the DS was observable - perhaps worth a study of the tradeoffs between field size, pixel size and SNR?
CCDPosted by Peter Thejll Thu, September 26, 2013 18:54:13
entry we found some puzzling results. Ignore them! The variance had been screwed up by incorrect procedures on my part. As Hans pointed out, you have
to use the method where two images with same exposure (and they must be of an evenly lit surface) are subtracted - the difference has twice the variance of each of the images. This method cancels various common features in the images - blemishes in the flat target as well as uneven response in the chip, and dust on the chip.
Taking a series of twin exposures from very dark to very bright of a white sheet of paper, and extracting a nice square from this, calculating its mean and variance as per above, we get the following result:
In each panel statistics for R G or B are shown. The readout noise RN is basically the intercept. The Gain is 1./(the slope) of the regression. Two sets of images had to be taken and it would seem the illumination was not even, hence the scatter. Nonlinearities set in for R G and B at various levels - the extent of the x-axis shows the data that are not obviously past the linearity point. So, despite the camera being advertised as 12-bit it has almost 13 bits. Sticking to the 12 seems a good idea - it is all that B can handle, for instance.
We used x3f_extract from proxel.se to extract the R G and B fields from the compressed format X3F files.
This paper by Hytti gets nearly the same as we have above - at least for the G band:
CCDPosted by Peter Thejll Tue, September 24, 2013 08:44:46
The X3F format images thatthe SIGMA SD10 camera produces are some form of compressed RAW format. It can be dumped out as decoded TIFF files using the
x3f_extract software from the toolkit available at
I have taken a set of test images of a test card with the internal IR filter removed from the camera, and a Wratten 25A red filter on the lens (and a standard UV-blocking filter). I exposed from a normal setting and with longer and longer exposure times until the images were evidently saturated in all colours, judging from the little histogram on the back of the camera.
After conversion to 16-bit TIFF and reformatting to FITS the mages were inspected and the histograms plotted. As exposure times increased the high edge of the histogram wandered up until it hit some sort of barrier near 10000 counts. This must be the actual saturation level of the camera. It is advertised as 12-bit but that would imply a ḿaximum count near 4096. So it seems we have maybe one bit more than 12 -> 13.
This is a plot of mean value vs standard deviation of a selected square on the test card. There is a linear relationship between S.D: and the mean value ... I thought it was mean value and variance ... but it breaks down at high mean values.Added later:
Ignore the plot. Look here instead: link
CCDPosted by Daddy-o Mon, September 16, 2013 11:28:14
Papers from astrophotography articles that mention the Foven sensor in the SD10 camera:
This paper reminds us of a few things, namely that the camera (like all? CMOS and consumer-grade CCDs) has internal mechanisms for performing dark-subtraction - you do not get to do this by yourself. Exposure time is limited to 2min.
Note also these abstracts found in the ADS:
This paper may be of general interest:http://arxiv.org/pdf/1306.3273v1.pdf
CCDPosted by Peter Thejll Sun, September 15, 2013 16:51:53
I have performed some tests of color-separation on the Sigma SD10. The internal IR-blocking filter was present.
I imaged a red, green and blue surface with the camera as is; with the camera and a Wratten25A red filter; and with the camera and a 720nm long-pass IR filter.
Plotting a line across the three coloured surfaces (red at left, green in middle and blue at right), and separating the R G and B fields in the image file, we get:
Top panel. No external filters, only internal IR-blocking filter. As
expected, the Red target is bright in the R-band of the image, Green in
the G band, and Blue in the B band.
Middle panel. Now the red Wratten 25A filter is on - i.e. it passes mainly
red light, up to about 560nm, or so. The R band is brightest on the Red target (good); the Green target is supressed strongly everywhere; the Blue band is brightest on the red surface.
Bottom panel. The ratios of panel 1 and 2. Note that exposure times were
not necessarily the same. In the R-band Red and Blue targets seem to have
fared similarly, but the Green target was suppressed by the W25A filter.
In the B-band the Red target was least suppressed by the W25A filter.
In the G band we see strong suppression by the W25A filter for all targets.
Summary: W25A really kills the Greens, but Blues seem to make it through
a bit. Strange that.
The long-pass 720nm filter performs similarly.
The tendency for the G band to 'drop out' is seen especially in images of point sources - streaks occur as if the presence of a point source is especially bad for the system. bad news for stellar photometry? We shall see.
CCDPosted by Daddy-o Wed, August 28, 2013 15:50:27
A Canon DSLR camera has an IR-blocking filter that has to be removed before the camera allows us to obtain data similar to the B,V, VE1, VE2 we wish to have. It is evidently complex to remove the IR filter form a Canon body - lots of small screws, unbending of glued bits and fragile parts everywhere.
An alternative is the Sigma SD10 camera with the Foveon sensor
. The removal of the IR filter from a Sigma SD10 is trivial - one finger can pop the filter out in a second. The SD10 costs about 180 UKP (body only) while the SD15 costs 590 UKP.