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.
Materials:
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.
Tying:
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.
Notes:
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.
Saturday, November 24, 2012
Dew Heater Controller: keeping things warm
Note: Don’t upload code to the Arduino while the heater is operating - it breaks the MOSFET.
With slight modification, the electronics package for the dew heater is that used for DSLR cooling (an earlier blog). The humidity/temperature module is used to calculate dew point and heating increased when the ambient temperature is nominally within, 4C of dew point. Pulse width modulation (PWM) is used to regulate heater temperature.
Feasibly, dewpoint +2 is adequate.
Reviewing the mode of control and temperature parameters, I think it is better to modulate the heating element temperature within +2C of dew point, which should be adequate to prevent dew forming on the objective. This will require a little more experimentation and I will post the results and new code in due course.
However, because I have noticed dew on internal glass elements, I run the heater at a lower rate, proportional to humidity to keep things warm - the heater is never ramped up suddenly from stone cold, unless the maximum heating criteria exists when the unit is switched on.
Referring to the DSLR circuitry, the TEC device is replaced by an appropriate length of Nichrome wire or a heater element made of resistors. Note: if you want to monitor the temperature of your heating element, referring again to the DSLR circuit, the cold finger temperature sensor can be utilised. There is no practical need to monitor the temperature of the heating element.
A spreadsheet for calculating the specs for a heater element made out of resistors can be found in the IIS tutorial section. I bought nichrome wire from a local electronics store. Diameter 0.33mm, resistance = 0.0138R/mm. For my lens that’s a 1333mm length of wire - 5 wraps around the lens, with 4mm spacing, sandwich between and stuck to 300mph (duct) tape.
Note: the pin allocation in the code below may require changing if using the DSLR cooling circuit, as Pin 11 is PWM and Pin 2 the DHT sensor input. Please read the code carefully and make the required changes. Otherwise just solder the parts and connect to the pins indicated in the code.
Automated DSLR Image Capture and Dithering: hands off imaging
This thread is being developed. I will add more to this in the near future. Meanwhile please refer to the relevant blogs mentioned here.
Previous articles have covered DSLR cooling and dithering. This one addresses automated image capture and dithering, specifically designed to add a layer of automation to unautomated equipment.
The hardware resources have been adapted from the TEM Tracker double arm drive design, utilizing an Arduino microprocessor board and electronic components, mounted on a shield, to synchronise image capture and dithering. Cooling is additional to the hardware requirements described here.
Remote operation of the camera is accomplished by substituting the push button of the DSLR remote with the digital pin of the Arduino controller, operated through an optoisolator located on the electronics shield.
Dithering, similarly, replaces the mount hand controller with Arduino digital pins or in my case controlling the rotation of a stepper motor/roller arm device, designed to push the hand controller buttons in a predetermined sequence.
The system is operated by a single switch, while preprogramming imaging parameters is accomplished through the Arduino IDE and uploading to the board. A more convenient approach is to use an LCD and push buttons on the board itself.
Dithering is tedious, as is image capture, therefore, automating and synchronizing both is desirable. The Arduino sketch available for download does just that.
The amount of dithering measured in pixels should be about 10 pixels between images. This is determined experimentally and depends on thr design of the mount hardware. My 1997 built Takahashi 200B requires the hand controller set to high speed and all rate knobs located on the mount control panel set to minimum.
Of course, adding CMOS cooling increases complexity significantly and a second Arduino is preferable to avoid difficulties associated with the numerous delay(); functions used in the image capture/dithering sketch, which tend to mess up the cooling control.
On the Arduino side, digital pins 4 5 6 7 are used to control the four hand controller buttons, whether by motor (as the motor pins) or through transistors to electronically switch the channels controlled by the push buttons.
Pin 8 is used to control the camera shutter, through an optoisolator, by setting the pin HIGH, then LOW. Mirror lock up is also implemented with the camera appropriately configured.
DSLR shutter and dithering code
Please note: the names Ditherbot and Ditherbot Sparehand are copyright.
Wednesday, October 31, 2012
Interfacing an SBIG ST-8300 CCD camera with a Takahashi EM-200B: an Arduino dithering interface
Interfacing an SBIG ST-8300C astronomical CCD camera with a Takahashi EM-200B equatorial mount was an interesting project because it involved external/non intrusive interventions. The idea was to provide commands to the EM hand controller to reposition the Right Ascension and Declination axii between exposures; that is, once the camera has completed an exposure, the operational state of the camera is detected and communicated to the EM hand controller. This is all done through an Arduino microprocessor board.
The first problem was how to operate the hand controller remotely and similarly, read the operation of the camera. Fortunately, I solved the hand controller problem previously, synchronizing it with a DSLR camera, remotely operated by an Arduino. The difference, using a CCD camera, is that image acquisition is controlled from a laptop and camera operation must be detected independently to synchronize with the hand controller.
Note: the original DSLR Arduino code is provided at the end of the article.
The only indicator on the camera is a red LED that changes state with camera operation - off, on and flashing. Consequently, reading or sensing the state of the LED is the sole means of detecting the operational state of the camera. A sensitive light detector (TEMT6000) senses the LED state and schedules commands to a stepper motor fitted with a roller arm that rides over the hand controller buttons pushing them sequentially.
The Arduino senses the light detector output (LED) at an analog pin and schedules operation of a stepper motor driver - an L293NE - while downloading the new image. This offsets subsequent images in a box shaped spiral, improving image quality, while simplifying processing requirements.
The major hardware bits; Arduino board and software writing skills, light sensor, motor shield (connect 5v and GND and separately connect the sensor output to Ax - an analog port), stepper motor, mounted on the hand controller so that it can push buttons. Of course, with the right cable, the hand controller can be emulated electronically. This was a bit of fun.
Arduino Code - change the extension to .pde if running <1.0 Arduino IDE.
For posterity, the original DSLR/dithering Arduino code is provided. This set-up remotely operated the camera and synchronized dithering between images. It also scheduled a calibration frame run, operating an illuminated lens cap for taking flat frames - on for flats and off for bias and dark frames.
The down side to this system is that exposure times and other variables must be set using the Arduino IDE and uploading the amended code to the board. This was done prior to an evenings imaging. Combined with the cold finger modification, imaging was very nearly set and forget. The addition of an LCD display and control buttons is all that is required to allow setting parameters externally.
Tuesday, September 25, 2012
Dithering: a DSLR astrophotographers best friend
Back to astrophotography! Struggling to produce a decent image, it became apparent that the physical and electronic characteristics of DSLR CMOS sensors demand more attention, and, to attain my goal an understanding of the limitations of my camera sensor was essential.
I went to the trouble of replacing the factory IR filter with a special purpose astronomical filter to increase the transmission of Ha wavelengths, and built a sensor cooling system to reduce dark current/thermal noise - this all worked quite well. But, there is more to sensor technology and manufacture than meets the eye.
For instance, the anti-aliasing filter, which forms part of the dust reduction system in Canon DSLR cameras is designed to reduce Moire, an artifact produced by the Bayer (RGB) colour matrix. However, the reduction of moire tends to soften the image, making sharp focus difficult. Even with a focus mask at ‘perfect focus’ - consequently, the AA filter should be removed.
But that’s not the end of the story. Among the millions of pixels that make up the sensor light gathering matrix, a small percentage are dead (don’t work). Some are on all the time (hot) and overall, pixels differ in their ability to convert photons to electrons. For daylight photography this isn’t a problem, as a rule.
There’s more. The pixel matrix and associated electronics produce fixed pattern noise. Heating of the sensor during extended operation also increases noise. Random noise is a function of arriving photons and is different for every frame. The optical properties and cleanliness of the sensor, filters and lens also produce artifacts.
Combined, this all conspires to ruin the image to which you have dedicated copious amounts of time at the wrong end of the day, when perhaps, you should be sleeping.
So what’s the solution? In principle, reducing the effects of the deleterious electronic and physical influences inherent in the optical system is quite simple, in practice however, it involves another layer of complexity; that is, DITHERING!.
Dithering is an authentic solution because it addresses noise suppression and optical and sensor artifacts. Dithering does not replace proper image calibration techniques. It will however, greatly improve results and avoid problems that no amount of calibration or sensible image processing can resolve.
So, what is dithering?
Dithering is the practice of shifting the sensor (camera) between images, so that each new image is slightly offset from the previous image. The image is sampled by different pixels; that is, the image moves, ideally, by 10 - 15 pixels, from the position of the preceding exposure. With careful management the target image remains well within the sensor boundary.
Dithering can be random using a hand controller and estimating the offset by timing the button push in DEC or RA. Better still, an automated system that dithers in a box shaped spiral, or maze pattern. The goal is to avoid a succession of images occupying the same or neighbouring pixels (which produces poor results) and to prevent the target object moving out of the FOV.
Summarizing
Dithering, particularly with DSLR cameras improves signal to noise ratio for very little effort. It can be win win for the astrophtographer.
Executed properly, dithering deals effectively with random noise, hides hot and cold pixels, improves flat fielding and sub-pixel sampling; that is, capturing the image over a range of pixels means that we are not sampling the same and possibly less efficient pixels repeatedly for the same object location.
Calibration is not always as effective as we would like with DSLR images. And even if the images weren’t calibrated, a dithered stack would produce pretty good results.
Here is a comparison of the same area, dithered and not dithered. BTW, the image on the “left” achieved Image of the Day across at astrobin.
![]()
“Click for Lightbox”
An earlier post, incorporated here, provides a hand controller sequence to achieve a dithering pattern. The same sequence can be programmed into a micro controller, such as an Arduino, activating the hand controller push buttons electronically.
Building a microprocessor controlled mechanism to push the hand contoller buttons, sequenced with image acquisition was a single switch, hands off solution, easily achieved with a DSLR, however, you may need to select high speed slew on your hand controller - experiment. The image should only move by 10 - 15 pixels at each actuation, between image captures.
The camera counts down the exposure, then a roller arm attached to the stepper motor shaft swings over a floating plate pushing a hand controller button as it goes, using the same sequence described in the manual dither below.
![]()
“Click for Lightbox”
Summarizing, the benefits of mechanical dithering are worth investigation. How dithering is implemented depends on the equipment.
Building the stepper motor mechanism shown in the animation above is relatively easy. The box that fits over the hand controller should be custom designed to the dimensions of your hand controller and only needs to support and provide clearance for the motor and shaft.
The floating plate, to which the feet that push the buttons are attached, is held in place by the motor shaft and the sides of the box that supports the motor, with sufficient clearance to rock around the motor shaft in DEC and RA; that is, it cant go anywhere and needs no complex restraint.
The roller arm is just a screw (with a plastic sleeve/roller) clamping a brass bush to the motor shaft.
The home position for the roller arm is on the diagonal between the DEC and RA buttons. Stepper motors are great for this type of positioning between operation. The angular rate/speed at which the roller arm sweeps over the push buttons is trial and error, because hand controllers are of different dimensions.
The Takahashi EM-200B (1997 model) hand controller buttons are not symmetric, consequently, using the same motor speed for DEC and RA produces slightly different linear movement in each axis, because of the angular rate at which the roller passes over the button - but it’s minimal. If I wanted to be particular, motor speed for DEC and RA button pushes would be different. The motor speed is set to 5rpm and the steps for each button push to 50 (200 step motor).
Finally, check that the roller shaft is set in the rest position accurately before imaging; that is, pointing to the corner of the motor casing is a good ‘at rest’ reference - you don’t want the roller pushing buttons during image capture.
Manual dither how-to
For low speed slew rates to ensure adequate pixel spacing. Hand controller set to high, or lowest high speed slew.
Starting with either RA button, move clockwise around the keypad, pressing the RA and DEC push buttons for a 1/2 - 1 second between each image, in the following sequence;
First image “i”; then
push R, i (2nd image)- move clockwise to DEC button
D i D i D i - you get the idea… move clockwise to RA button
R i R i R i - move clockwise to DEC button - with intervening images and so on;
D i D i D i D i D i - with intervening images and keep moving clockwise
R i R i R i R i R i
D i D i D i D i D i D i D
R i R i R i R i R i R i R i …and so on… describing a box spiral.
The trick is to remember how many times you pressed the RA or DEC button, in a single line. But who wants to stand beside their telescope for hours doing this when it can be automated. I have spent time with my family while a preprogrammed session ran for several hours.
Alternatively, when using a higher speed slew, to keep the spiral tight; to keep the image within the frame.
i R i
D i
R i R i
DD
RRR
DDD
RRRR
DDDD
RRRRR
DDDDD
RRRRRR
DDDDDD