Tuesday, May 3, 2016

DSLR Thermoelectric Cooling Design Considerations

I have removed the hurriedly composed post about DSLR thermoelectric cooling and heatsink selection. It was long winded and lacked the detail the subject deserves. However, in the interests of safety to both operator and camera gear there are some basic guidelines for design and purchase of 3rd party units.

1. Proper selection of components.

The energy dissipation requirements of a thermoelectric cooling system are straight forward and basic rules of thumb can be applied. Particularly in relation to heatsink selection.

Heatsinks should be capable of dissipating twice the maximum power that will be applied to the TEC device, for safety and efficiency.

Note: for each watt of electrical energy conveyed through the system, a watt of heat energy will be transferred from the heat load to be dissipated by the heatsink.

Power supply, W = I*V

Heatsink power dissipation = W*2

If the selected TEC device has a rating of say 12V and 5A it will operate efficiently and safely with a heatsink capable of dissipating approximately 100 to 120 watts of energy. It will also act as a safety valve should the fan fail and not get too hot.

The thermal resistance value of the heatsink will be in the region of 0.3 to 0.2C/W. Note that many eBay heatsinks advertised for LED cooling quote dissipation values in watts. Heatsink manufacturers usually in degreesC/Watt.

2. Condensation protection - if the system you are designing or intend buying from a 3rd party does not have condensation protection applied internally or you haven’t thought about applying protection in critical places ,the camera will likely suffer damage due to corrosion.

There are many other considerations but for now these are the fundamental safety and performance considerations that will keep you out of trouble.

Friday, June 12, 2015

PixInsight DSLR_RAW PreProcessing Work Flow - Non-Linear Data: long hand

When first using PixInsight, I found that DSLR preprocessing was not easily facilitated. Following several forum discussions scripts became available smoothing the way for DSLR preprocessing tasks. There was however no documented workflow and it was up to the user to work it out, with help from other users in the same boat.

The following is a copy and paste from the PI thread.

This thread is a description of an alternate method of DSLR RAW image reduction/preprocessing. It is partly intended for newcomers to astrophotography, and PI, who are using DSLR cameras, and hopefully it provides a degree of flexibility when using PIs excellent image calibration tools.

The method described here is a simpler option and is not intended to replace the standard PI dark optimization/scaling method of image calibration.

This guide assumes that DSLR RAW data is non-linear compared to dedicated astronomical imaging devices, for the following reasons; DSLR sensor data is modified by camera firmware to produce a photo quality image - this affects the linearity of DSLR RAW data (downloaded from the camera) - it is assumed that the various makes and models differ as to the degree of firmware modification.

“sRGB Colorspace Correction
Saving an image using a sRGB Colorspace is very similar to Gamma correcting an image, but is slightly more complicated so as to better reproduce the actual response of the human eye, specifically with very dark shades of color.” (Magick).

DSLR cameras usually have two colour format options, sRGB and AdobeRGB. sRGB is a standard format used in many applications. AdobeRGB increases the colour gamut to include more cyan and green hues. As a rule, sRGB is used for astrophotography.

DSLR cameras internally process the linear data obtained from the camera’s sensor (CMOS or CCD) to produce an image which is clean and within the response of the human eye. The RAW image from a DSLR camera is a modified version of what the sensor ’saw’. As such the image produced is just a rendition, rather than a faithful representation of the sensor (linear) data - which is to say, DSLR RAW data is not linear.

Despite the non-linearity of DSLR RAW data PI handles it very well, even when linear processing methods are applied.

A data set usually comprises, bias frames, dark frames, flat frames and light frames. However, because DSLR cameras are generally not cooled and because DSLR RAW data is not linear, poor acquisition technique almost always results in data which is not representative of the other data in the set - and invariably leads to preprocessing problems.

The alternate work flow is partly intended to offer an option which may assist producing a reasonable image - though, it is primarily intended to overcome the issues of DSLR RAW data non-linearity, and to some extent poor data acquisition technique.

It is very desirable to match dark and light frames in particular, with the following caveats.

For the alternate work flow described here, it is best to match dark and light frames to ISO, temperature and exposure time. If using the PI standard linear work flow, which involves dark optimization/scaling, then light frames and dark frames are matched to ISO. However, because dark noise is a function of exposure time and temperature, it is possible to match dark noise to light frames by changing one variable or the other. The dark optimization/scaling method is explained here, and is not discussed further.

In practice an alternate method of preprocessing DSLR RAW data in Pixinsight does not leave the user without options where one or the other is not producing the desired results. There are of course no silver bullets. Good acquisition techniques and learning the art of preprocessing PI style can produce excellent results with DSLR RAW data, despite its vagaries.

It cannot be overemphasized, that if the following workflow is not successful there is most likely a problem with acquisition of the frames. Acquisition is an aspect that doesn’t get enough attention - time spent getting acquisition right is time well spent and will avoid complications down stream.

Conventions - Menu toolbar selections; e.g., > View > Explorer Windows > Format Explorer > DSLR_RAW - this is first settings dialogue.

What follows is my method (long hand for illustration) of preprocessing DSLR_RAW data in PixInsight. It should be no problem to plug the same values into the BatchPreprocessing script, with the caveat that the master bias, dark and flat frames are created long hand. We can then load our master dark, master flat and light frames, tick the master dark and master flat boxes and press [ Run ]

Note: If this method doesn’t produce good results in the final image, first check the quality of darks and / or flats. This method has been tested over and again.

1. > View > Explorer Windows > Format Explorer > DSLR_RAW
As with all the windows set the parameters as shown

2. > Scripts > Batch Processing > BatchFormatConversion
Convert all files to 16 bit integer tiff

3. > Process > ImageIntegration
Integrate Bias and Dark frames to create Master Bias and Master Dark frames

4. > Process > ImageCalibration
Calibrate Flat frames with Master Bias

5. > Process > Image Integration
Integrate calibrated flat frames to create Master Flat

6. Calibrate Light Frames with Master Dark and Master Flat and deBayer calibrated lights.
This shows light raw frames loaded for calibration - that’s OK, but it’s just as well to convert to tiff first.
Note: the optimize dark box is now NOT TICKED - this is NOT default. It is recommended to clear this box. However, try it both ways if you have time and compare the results.

Note: Cosmetic Correction may be applied at this point.

7. > Process > StarAlignment
Register debayered images

8. Integrate light registered/aligned images
Here pixel rejection is set according to the size of the image set

The result is a PixInsight .xisf file. The output format can be changed in the BatchPreProcessing script.

In summary, the DSLR RAW calibration has been simplified by subtracting the bias from the flats only - note: the bias is not subtracted from the dark or light frames. Next the master dark is subtracted from the lights and the result divided by the master flat. The calibrated/reduced light frames are debayered, registered and integrated to produce an integrated image for post processing.

A good set of frames properly acquired is essential. Dodgy frames will mess very badly with DSLR RAW data.

Here is the BatchPreProcessing script set up once bias, dark and flat master frames have been created long hand.

Master Dark

Master Flat

LIght Frames debayer selections - again this shows RAW files - or convert to tiff beforehand

Light Frames registration selections

Light Frames integration selections

Light frames can be loaded RAW as shown. Alternatively, convert all files to 16bit .tiff

Thursday, May 1, 2014

Astrophotography DSLR RAW Data Calibration: preprocessing

This post has been rewritten substantially, and has its origins in an article by Craig Stark on DSLR RAW data non-linearity.

V2.10 and CL_1.5 (command line version) are the current rawprepro scripts, using ImageMagick -auto-level during flat creation, which adjusts the luminosity of the flat frames and produces the desired result in the light frames.

One image set didn’t play ball, and I suspect the image set is at fault. However, if flat division is not what it should be the earlier versions for which there are links may be a better choice. Once again, the quality of image acquisition is where it’s all at…

Watch this space!

Corrections applied to DSLR RAW data, before it leaves the camera, in particular, long exposures such as dark and light frames (irrespective of user selectable camera options), affects the linearity of the RAW files. As a result DSLR RAW data does not approach that of dedicated CCD/scientific cameras.

Differences show up during preprocessing, where the results obtained from DSLR RAW data, to which linear processing tecniques have been applied, may not be consistent. This often amounts to data loss, and consequently, dissapointment, frustratingly poor results and hours spent unecessarily looking for solutions.

There are useful strategies to avoid data loss when working with DSLR RAW data, as there are one or two complications. As a rule DSLR RAW data reduction benefits from consistent temperature across the data set. In particular light and dark frames.

Temperature reduction overnight can be significant, and 5C is touted as an acceptable variation. Obviously, larger temperature variations require modification to image acquisition strategies. Dark scaling is not discussed here.

Jim Solomon provides a recipe for DLSR RAW data acquisition, and without going into a lot of unnecessary detail, providing lights and darks are taken at a reasonably consistent temperature the following strategy is safe and effective.

I have tested this procedure in AstroArt, Nebulosity, Pixinsight, Regim, and a bash script that uses DCRAW and ImageMagick to perform the data reduction process. In every case the results were nearly identical. The script is available for download for Linux and Mac users, further down the page.

I recommend reading the blog on dithering… which is DSLR salvation, in my view.

Please note, the term flat dark is interchangeable with bias, where flats are taken at shutter speeds of less than a second or two, as opposed to longer flat exposures where dark current may be a consideration.

The formula that relates these physical phenomenon, and the actual frames we’ll collect over a night of imaging, are as follows:

(1) Light = (Signal * Flat Signal) + Dark + Offset

where Signal is the image of the target object we wish we could collect under ideal circumstances, and Light is the image we actually captured. Rearranging the terms, we have:

(2) Signal = Light - (Dark + Offset)/Flat Signal

But realize that the Flats we capture with the camera will, in turn, be “polluted” by Darks and Offsets in their own right, and so we must subtract Flat Darks and Flat Offsets from the Flat Lights as follows:

(3) Flat Signal = Flat Light - (Flat Dark + Flat Offset)

So, plugging equation (3) into equation (2), yields this general formula:

(4) Signal = Light - (Dark + Offset)/Flat Light - (Flat Dark + Flat Offset)

Here, “Dark” refers to the thermal noise signal of the imaging camera; i.e., the noise signal that varies in proportion to temperature, ISO, and exposure length. Note, however, that any exposure we take with a digital camera contains the Offset, and “Darks” are no exception. So, if we define Dark’ to be an exposure of some length with the body cap in place, then Dark’ = Dark + Offset, and, similarly, Flat Dark’ = Flat Dark + Offset. Plugging these values into Equation 4 yields the following simplified form:

(5) Signal = Light - Dark’/Flat Light - Flat Dark’

And just to make things even simpler, let’s drop the prime indicators (the apostrophes) that we stuck on “Dark” and “Flat Dark”, and just remember that by “Dark” and “Flat Dark” we mean frames captured with the body cap in place but with the same ISO and exposure length as the Lights and Flat Lights, respectively. That gives us our final form:

(6) Signal = Light - Dark/Flat Light - Flat Dark (bias) - editor’s comment

Equation 6 gives us our marching orders for astrophotography, providing us with a set of Frames that must be captured for each imaging session. The actual order in which I choose to capture these frames is as follows, the reasons for which will be made clear in the acquisition section below:

Flat Darks (bias) editor’s comment
Flat Lights

RAWPREPRO - DSLR RAW file conversion and data reduction/calibration script

Video - no sound

RAWPREPRO is a Linux based DSLR RAW image conversion and data reduction/calibration script. It was originally intended to be nothing more than a means of converting DSLR RAW images to 16bit integer tiff (CFA monochrome, no flip/rotation) files for use in programs such as DSS.

RAWPREPRO has grown into a GUI based conversion and image calibration utility and uses DCRAW for conversion and ImageMagick to perform the image calibration/reduction/preprocessing steps - DCRAW and ImageMagick must be installed to take advantage of all preprocessing options.

Besides data conversion and calibration, RAWPREPRO orders the image preprocessing task through a folder structure, placing files in predictable places for easy access. It keeps things in one place, under a project name, renaming files accordingly. All DSLR RAW data files are preserved. Files can be added or removed, and the project run over and again, as required. Temporary files are deleted at the end of the script saving disk space.

The 3 main functions are as follows;

1. RAWPREPRO uses dcraw to convert DSLR RAW files to 16bit integer CFA monochrome tiff files (no flip) for calibration in RAWPREPRO, itself, or an external preprocessing program - Regim, DSS and others.

2. RAWPREPRO uses ImageMagick to perform the mathematical functions for the creation of master frames, which may be imported into an external preprocessing program.

3.RAWPREPRO uses ImageMagick for the calibration/reduction of light frames, using the safe and effective, bias-in-the-dark method of data reduction.

Note: RAWPREPRO does not perform cosmetic correction or pixel rejection.

Installation and Operation - very quick start:
Following extraction of the zip files, rawprepro may be installed by clicking the INSTALL.sh script - this will also create a desktop link if desired - if not run rawprepro from command line by typing rawprepro at the prompt.

Alternatively, rawprepro may be run, without installation, within the extracted folder by clicking the rawprepro file or by command line, typing ./rawprepro at the prompt.

The older command line has been updated, as of rawprepro_cl_0.9 for MacOS and Linux users. Presently, it is not as flexible as the Linux GUI version, but is reported to work. It performs the same main functions as the GUI version, but requires the user to load files into the respective folders manually. A cocoadialog version would be nice - anyone?

rawprepro_2.10 -auto-level

rawprepro_2.9 - no -auto-level

Command Line Version

rawprepro_cl_1.5 - auto-level

rawprepro_cl_1.4 - command line version - no -auto-level

RAWPREPRO Quick Start Guide - smaller download
RAWPREPRO Quick Start Guide - slightly bigger download - refresh PDF if displayed in browser.

Acquisition notes:

I borrowed this crop from here. Thought it was worth including. While it may be amp glow, first check that the view finder is not the culprit. This artifact looks suspiciously like light leaking through the viewfinder. Tape up the view finder before imaging.


Thursday, October 31, 2013

Welcome to FlatPress!

This is a sample entry, posted to show you some of the features of FlatPress.

The more tag allows you to create a “jump” between an excerpt and the complete article.

[Read More…]

Saturday, December 29, 2012

The Black Generic: a Trout fly

For something completely different. “The Black Generic” (say that with a thick Scottish accent). Presented here for posterity. See further down, for a small snail pattern that was very effective in small dams, too.

“The Generic” (which never had a name, until yesterday) was an attempt to accentuate the form of nymphs - and it worked. The hook shank bent upwards, giving the body a curved posture, the long flared tail, tight skinny abdomen and bulbous bushy thorax were intentional. I noticed that variations were less successful. A thinly tied or short fiber thorax being the main flaws. It needs to look, curvy, leggy, cheeky and thoroughly provocative - hey! look at me, I’m here, come and get me!

My rough sketch doesn’t do it justice and I no longer have my fly tying gear.


Fished, in shallow runs, deep, sinking and on the rise, this fly caught plenty of fish in streams North of Melbourne, some 25 years ago, when I had the time to fish - Deep Creek and Jacksons Creek in particular, when they were healthy, before the drought devastated them. I understand that recent rains have regenerated the area and that fish are more plentiful.

The appearance is a long bulging thorax with a very bushy hackle to 2/3 of the body length. The abdomen is thinly wound single layer of silk with tightly wound silver wire segments and a long flared tail.


Hook size: 14-16 longshank - slightly bent upward ~2/3 from the eye.
Body : Black silk.
Tail: Soft black hen 6-9 curved fibres
Segment: Silver wire - anterior only.
Carapace: Black crow wing.
Hackle: 3 dark brown - black Ostrich herl with long fibres.
Head: Tie off crow wing with 3 half hitches and clip to cover eyelet - a flared finish.


Starting near the hook bend (not the 2/3 bend), tie in the tail, flaring with turns of silk. Tie in the wire and wind the body tightly (a single layer) to the bend (2/3 bend). Wind in narrow segments with the wire and tie off and clip at the 2/3 bend.

At and continuing from the 2/3 bend, tie in a good bunch of crow wing and several Ostrich herl. Wind silk to eye and half hitch. Wind Ostrich herl to within ~1/2mm of the eye and secure with half hitches. Bring crow wing over and tie off with half hitches immediately behind the eye and trim to cover the eye.


It may be necessary to tease out the hackle under the crow wing with a dubbing needle.

You may wax the thread, but I don’t. I prefer the fly waterlogged and sinking fast in moving or deep water.

Tying the crow wing shiny side up is an alternative presentation.

Small Snail pattern:

A second and very effective little fly, was a very small snail pattern. Hook size 16. Olive thread. A few winds of olive chenille with an olive carapace and a few turns of yellow chenille. About half and half.

Fished above weed beds in particular. Very easy fly to make.