Contents

Latest news 9/17/03

This latest release is mostly a bug fix. Minor annoyances are
fixed as well as improved timing for USB exposures >= 1
second. Tested on latest 2.4.x kernel using Debian
unstable. Both gccd and the kernel drivers are at verion 1.8.

What is it

In order to image with Linux, two thing are required: camera driver
support and a control application. Both are available here. The camera
drivers are implemented as kernel device drivers. These must be built
and installed for your specific kernel. The control application uses
features of the camera drivers and other accessories such as filter
wheels and telescope guiding interfaces. Two other applications are
useful as well. A celestial charting program and an image processing
program will improve the ability to acquire and enhance good images. XEphem and The GIMP are recommended.

What is involved

As mentioned above, camera drivers and a control application are
required to image. The kernel driver installs as a class level driver.
The class driver is ccd. It does all the high level control of
the camera and OS interfacing. Each camera will have a mini-class
driver that handles all the low-level interfacing to the camera. The
control application is gccd . It is a Gnome base application
that can control cameras, telescopes, and filter wheels. There
are also alternantive applications and perl scripts in the samples
sub-directory of the kernel drivers.

What do you need

Of course Linux is needed. Currently the 2.2.x and 2.4.x kernels are
supported by the camera drivers. There are drivers for the Connectix
parallel port Quickcam and the Starlight Xpress MX5/16, MX5/12, MX5C,
MX7, MX7C, MX9, HX5 (untested), HX9, and new SXV series of cameras.
There is also a contributed Audine driver. Adding new drivers is
fairly easy, so if you want to add support foryour camera, look at the
current source and send me some email. The control application, gccd
, requires a Gnome installation. Gccd also uses the GDK-PIXBUF
library, so make sure it is installed from your distribution. It seems
that most make this library an installation option. You do not need a
big or fast computer. I developed this software to run on an anemic 75
Mhz Pentium laptop with 16 MB RAM and 640x480 LCD. It is equivalent to
a circa 1991/1992 desktop. However, the faster your computer, the
better your experience. Faster downloads, more screen real-estate, more
images in memory are the benefits of a newer computer.

Camera driver features

The kernel drivers allow applications to access the camera hardware
without having special priveledges. Also, as kernel drivers, timing is
more accurate for better image exposures and downloads. Using the
standard system I/O calls, the camera can be controlled and
interrogated. Each camera can be accessed using two methods. Both a
binary and a textual interface are available. The binary interface
provides a high performance, low bandwidth interface preferable to
interactive applications. The textual interface is more applicable to
scripted applications that want an easier interface to the cameras. The
textual interface is based on an XML style for easy parsing. Sample
Perl scriptsare included to show the simplicity of programming. A
complete image capture script that saves the image ina displayable
format can be written in only a few lines. More advances camera
features are available for those cameras that support them. In
particular, the Starlight Xpress MX series of
cameras can integrate its two fields independently. This can be used in
a self-guiding application. The camera can be arbitrarily binned and
windowed for fast focusing, higher sensitivity, and other uses. The
source code for the drivers is released under an X Consortium style
license.

The Starlight Xpress USB driver has some interesting additional
features. By way of the embeded 8051 controller in the USB
interface chip
used by Starlight Xpress, there are one or two serial ports accessible
for use. The original USB controller can be modified to break out
the serial port and control devices like filter wheels and serial
interfaces
to telescope mounts. The SXV series of cameras has a break-out
box
that provides the serial port connectors. The kernel driver hooks
into the tty driver layer to provide primitive serial port access from
/dev/ttysx*. There is no hardware flow control and the baud rate
is fixed at 9600. Click here to see
how
to modify the original SX USB interface to provide a serial port.
The
SXV also includes a built-in STAR2000 autoguider port. This is
exposed
as a write-only serial port that takes data in the same format as the
original
STAR2000.

Camera control
application features

The application, gccd, takes advantage of the camera driver
to provide
simple and full-featured access to the cameras abilities. Track-n-stack
operations
are provided with multiple image combining operations. A focus mode
helps
in achieving better focus. Guiding can be used with a second camera or,
if
the camera supports it, integrating seperate fields on the same camera
for
guiding and imaging simultaneously. The supported telescope interfaces
include
the Starlight Xpress STAR 2000 autoguiding module and the LX200 serial
inteface.
The TrueTech Custom Filter Wheel is supported for color imaging with
monochrome
cameras. Filter sequences can be automated and combined with guiding
for
hands-off deep-sky color imaging. One-shot color cameras are fully
supported.
For track-n-stack operations with a one-shot camera, gccd will first
split
each frame into its color components before registration. Raw images
can
be viewed through the color matrix of the camera to see the unprocessed
color
image. The image can be split into each individual color frame. The
source
code for the application is released under the GNU license.

There are additional applications and perl scripts in the samples
sub-directory of the kernel drives. One of the more interesting
apps is the drift-scan app, tdi. All of the SX cameras
support
TDI mode. Others have written sophisticated perl scripts for sky
surveys.