StereoData Maker
not just for stereo !



Please Note !
If you have any comments or queries regarding SDM, please ask on the Yahoo SDM Group and not via email.
Click on the 'StereoDataMaker' box to the left.
French...
Peter Murphy's Blog
StereoData Maker(SDM) is a 'light-weight' variant of CHDK that aids 2D, stereo and kite-aerial photography (KAP) with certain Canon compact cameras.
. It also has a number of features that support digiscoping and provides log files of the equipment setup and bracketing parameters employed.
It can synchronise multiple cameras up to 1/16,000sec and synch flash at shutter-speeds up to 1/1000 sec
For KAP, scripts can detect the variable pulse durations produced by devices such as the R/C receivers produced by gentLES.




"Fancy Jumps" courtesy of Duke Hunter. Click for larger images..



Enable JavaScript and click on above to see example images taken by Masuji SUTO.


I don't have time to read all of this .. what does it do?

As well as numerous features for 2D photography, SDM allows you take highly synchronised stereo photos using certain Canon compact cameras.
The cost of additional items that you will require for synchronised-shooting is negligible or you can buy a Ricoh CA-1 switch.
You can use the cameras internal flash, both preflashes determine white-balance but only one main flash fires on full-power to avoid double shadows.
You may use external flash and it is likely a commercial device will be available that triggers your existing flash-units.

Is it really suitable for general photography, KAP and digiscoping?

Absolutely, it has all the features that most people require for practical 2D photography.
That includes shutter-speed, ND filter, aperture and focus override, shutter-speed and focus-bracketing, support for the latest motion-detection scripts, RAW file saving, very comprehensive time-lapse feature with optional screen-blanking and start/stop via USB signal,experimental sunrise feature with three non-linear exposure phases followed by a constant exposure phase, manual-focusing,auto-focus lock,image-upload to PC at regular intervals, instant upload to PC without saving in camera at intervals as short as three seconds (using remote-capture software), etc.
The SDM header at the top of the screen (that shows stereo information) may be hidden for general photography or a 'compact' header substituted.
There are versatile uBasic commands for bracketing, time-lapse with bracketing, USB script stop-start,record/playback/movie mode-change,shooting a movie clip,script speed, auto-shutdown and screen blanking.
The uBasic commands are user-friendly plain English and also support numerous bracketing modes with just a few functions.
The script console has configurable size and the text background-colour is simply defined (uBasic 'print' command is not required).
A simple serial protocol allows you to communicate with a microcontroller (such as Picaxe) by flashing the camera's Print LED.
This is of use with robotic panorama rigs or servo-based systems, for example.
For KAP, the uBasic command 'get_usb_power' returns pulse-width (from a R/C receiver, for example) and the constant-exposure ND filter mode allows higher shutter speeds to be set.
Dave Mitchell's uBasic speed-up commands may make detection of receiver pulse-width more reliable.
You can record movies during your KAP flight with the simple command 'shoot_movie_for' (X seconds).
Bracketing scripts can be stop/started by a pulse from a radio receiver and on completion the camera can shutdown and retract the lens to minimise any damage on 'landing'.
On certain cameras, you can also choose whether to extend the lens on power-up.

For digiscoping, you focus the scope at an accurately repeatable camera-focus position, bracket focus each side of best visual position, use USB remote (including Ricoh) to avoid vibration, inhibit screen shutdown and immediately initiate capture-sequence on switch-press (not release).
Sample scripts are provided so that after power-up your digiscoping rig is correctly set-up and waiting for you to press the remote release.

The basic zebra, histogram and video features are supported together with battery voltage, languages, code page and grids.
The number of menu items has been minimised in order to provide a friendly interface to the user.
RAW files have their own naming convention to distinguish left/right cameras.
'WIA-Loader' provides support so that the JPG and RAW images may be uploaded directly to the PC via a card-reader or USB cable,images on the camera optionally deleted, thumbnails displayed (even for RAW files), renamed and an external programme (such as DNG4PS-2) automatically started.

It looks complicated .... how do I install it ?

From the links below, you download the ZIP file for your camera model.
You copy the downloaded files to a blank SD card using a card-reader, insert the card into the camera and turn-on the camera.
The procedure for preparing the cards is more complicated for the newer cameras but is fully described.
The camera can be made to automatically load SDM every time you turn-on the camera and it remembers your old settings.
WIA-Loader has special support for SDM to allow the uploading of images at regular intervals or continuously (from the time-lapse script for example).

There is more than one file for my camera ... which one do I use ?

Just download all of them and start with the highest numbered.
If your camera 'hangs-up' just remove the batteries and try another version .. no harm will be done.

Does USB-remote work on all supported cameras ?

Synchronised shooting is not supported on the s2is and s3is..
The ixus50/SD400 and ixus65/SD630 have not yet been tested. Ask via the Yahoo SDM Group if interested.

Which cameras have been synch-tested?

ixus70/SD1000,ixus800/SD700,ixus860/SD870, ixus960/SD950,A460,A560,A570,A620,A630,A640,A650,A720, TX1 and G7.

Why is my camera not supported ?

First, someone has to do the initial port to CHDK.
Then we have to get USB-remote working.
Ideally, someone then needs to test synch with two cameras.
Check here to see which cameras have been ported.

Do both cameras have to be the same model ?

That is obviously preferred as the zooms, colour-balance, synchronisation, etc will be more closely matched.
However, if you can measure the synch-difference using the CRT test you can 'dial-in' a compensating delay on the faster camera.
Users have reported a resulting synch-error of less than 1msec using this method.

OK what then ... there seem to be a lot of features.

There are and you will have to read the documentation for detailed information on the stereo aids.
To take synchronised photos, you plug your switch unit into the camera's USB sockets, turn-on the cameras and press the switch.
The Ricoh CA-1 focuses on half-press, pauses on full-press and takes highly-synchronised images on releasing the switch.
Ordinary switches are pressed on/off to focus.
You have up to ten seconds to release the button so you would follow action using the viewfinder and release the button at the required moment
.
Are you seriously saying that a switch and battery can replace expensive hardware or labour associated with current synchronisation methods ?

For still cameras ..... yes.

Remember ! You cannot guarantee that the firmware version of a camera you buy is already supported



Based on the 'Canon-hack development kit' (CHDK), the software is only loaded on power-up and does not alter the camera's own firmware in any way.
By selecting a particular menu option and write-protecting the SD card, the software can automatically load on power-up.

For further general information check the WIKI.

Many people have contributed to the development of CHDK.
In particular, we would like to thank VitalyB and GrAnd for the 'solid base' upon which others build.
We also thank Ewavr/Zosim, Fingalo, Rossig, MX3 and others who have contributed via their public CHDK builds and/or by personal communication.
Thanks to all those who tested the camera-synchronisation feature and those who have ported cameras to the basic CHDK.

Ver 1.80 -> 1.81

An updated version of Dave Mitchell's CFG file editor is included with the download and Dave's uBasic Debugger for SDM 1.81 is available on his website.
Dave has also made improvements to the uBasic parser.
Various bug-fixes and support added for the following cameras (main porters to basic CHDK in brackets):-

A470 (Daniel Borland)
IXUS870/SD880 (mweerden,sethv)
IXUS970/SD890 (snc)
IXUS980/SD990 (reyalp)
SX1 (fboesch)
SX10 (ewavr,)
SX110 (chdkj,yarvieh,nomi_68k)

In the zoom-value options, you may now display horizontal field-of-view (in degrees), possibly to aid panorama creation.(Advanced menu\OSD Parameters)
All zoom-value display options may also be used with the 'compact' form of the SDM header.
Edge overlay may be displayed with or without the other on-screen information (Stereo\Edge overlay).
In ALT mode, pressing SET button until you hear a beep toggles edge overlay on/off).
A shorter press of the SET button toggles all displays on/off.
When using an ordinary USB remote switch, after the first, quick-click to set autofocus you may cancel it with a second quick-click or by half-pressing the shutter button.
In playback ALT mode, pressing SET button until you hear a beep toggles 'USB upload' on/off (to enable uploading of images to PC).
'UL' (upload) will be displayed next to 'image' or 'movie' text when upload enabled.
(a shorter press of SET toggles the image/video playback selection).
The time-lapse function now indicates how many remaining images can be taken before filling the card and how long that will take (in days,hours,minutes and seconds).
New plain English uBasic commands for blinking and turning on/off the autofocus LED (useful for KAP), controlling the ND filter and enabling/disabling synch-shooting.
The command 'send_data' allows you to communicate with an external device, such as a Picaxe microcontroller.
The command 'unit_pulse' allows you to adjust the duration of the LED pulses.
You can transmit system values (such as zoom position or focused distance) or user-entered parameter values (such as how many horizontal and vertical images a robotic panorama head should take).
Example Picaxe code and SDM scripts are given in the section Serial Communication with an external device.
These enable you to check the photo-detector signal, tune the pulse-width and display the data bit patterns on an LCD display.
You can see a robotic rig that could benefit from this feature at http://www.instructables.com/id/Camera-Panorama-robot-head-panograph/.

The 'sleep_until' or 'start_time' commands blank the LCD display until the set time and then restores the display and continues with the script.
The 'finish_time' or 'end_time' commands terminate a time-lapse script at the set time.
Increment values in menus and script parameters can be set with zoom lever (existing CHDK feature).
The increment value is displayed at top-left of the screen.
Up to ten sets of parameter values may be saved or loaded for each script (existing CHDK feature).
A new OSD indicates the number of horizontal and vertical images (with overlap) to make a 360 x 180 degree panorama.

In the folder CHDK\TEXTS, there is a file 'shortcut.txt' that lists the SDM shortcuts.
You should copy that file and folder to your card and use 'Advanced Menu\Text file reader' to read the file.

Download:

Tom Martin's 'SDM Basic Shooting Guide'

Download the firmware version below for your camera and also 'common_files.zip'
Unzip both into the same folder.
Tom Martin's 'SDM Basic Shooting Guide' is included in the 'common_files.zip'.

common_files.zip

A450/100d
A460/100d
A470/100e
A470/101a and 101b
A470/102c
A530/100a
A540/100b
A550/100c
A560/100a
A570/100e
A570/101a
A590/100e
A590/101b
A610/100d and A610/100e
A610/100f
A620/100f
A630/100c
A640/100b
A650/100d
A700/100b
A710/100a
A720/100c
G7/100e
G7/100g
G7/100i
G7/100j
G9/100d
G9/100f and G9/100g
G9/100h and G9/100i
IXUS50/SD400/101a
IXUS50/SD400/101b
IXUS55/SD450/IXY60/100b
IXUS55/SD450/IXY60/100c
IXUS55/SD450/IXY60/100d
IXUS60/SD600/100a
IXUS60/SD600/100d
IXUS65/SD630/IXY80/100a
IXUS70/SD1000/IXY10/100c
IXUS70/SD1000/IXY10/101a and 101b
IXUS70/SD1000/IXY10/102a
IXUS75/SD750/100b
IXUS75/SD750/101a and 101b
IXUS75/SD750/102a
IXUS80/SD1100/100c
IXUS80/SD1100/101a and 101b
IXUS800/SD700/IXY800IS/100b
IXUS800/SD700/IXY800IS/101a and 101b
IXUS850/SD800/IXY900IS/100d and 100e
IXUS860/SD870/IXY910IS/100c
IXUS870/SD880/100e
IXUS870/SD880/101a
IXUS870/SD880/102b
IXUS950/SD850/IXY810IS/100c
IXUS960/SD950/IXY2000/100d
IXUS970/SD890/100b
IXUS970/SD890/100c
IXUS980/SD990/100e
s2is/100e
s2is/100f
s2is/100g and s2is/100i
s3is/100a
s5is/101a
s5is/101b
sx1is/200h
sx10is/100c
sx10is/101a
sx10is/101b
sx10is/102b
sx10is/103a
sx100is/100b
sx100is/100c
sx110is/100b
tx1/100g
tx1/101b


Source



Quick Links

Getting started.
Overview.
SDM Menus.
Setting working parameters
Understanding Direct\Fast and Synch modes
Using the bracketing time-lapse (intervalometer) function
Experimental gradual exposure-change time-lapse
High-speed capture of a fixed number of images
Image and Video Capture
Digiscoping
Image/Movie playback.
Image/Movie uploading to the PC.
Uploading to the PC at regular intervals.
Continuous immediate uploading to the PC.
Serial Communication with an external device
SDM and Kite Aerial Photography (KAP).
Aids for Stereo images with a single camera
Aids for Stereo images with twin cameras
'StereoData Maker' Grids, Masks and Deviation Indicators
Displaying XML file Data
Dave Mitchell's Configuration Editor
Measuring Synchronisation with a CRT display
Results of Synchronisation Testing
Continuous-shooting synchronised-flash PCB
Damir's Links for USB right-angle connectors, cables and adapters.
Ricoh CA-1 Cable Switch
SDM uBasic Commands
Motion-detection feature by 'MX3'
Canon-hack development kit (CHDK)

Camera models supported