References for Cameras as Computing Systems
Reference materials will be dynamically added here as the course
progresses.
Basic Concepts & Practices Of Photography
-
Introduction to digital photography
-
A brief overview originally prepared for a free short course
offered during Engineer's Day open house at the University of
Kentucky's Department of Electrical & Computer Engineering
-
Cambridge in Colour
-
This is "a learning community for photographers" with some excellent
tutorials including a variety of interactive displays and calculators
-
10 Top Photography Composition Rules
-
A very nice, simple, overview of what makes a good composition
Camera Internals
-
Stuff You Didn't Know About Lenses
-
Slides prepared by H. Dietz for this course as an overview of
camera optics
(Here and here are interesting little discussions about another wave
of optical glass content restrictions in Europe;
this gives a nice overview of what glasses are available and what they do.)
-
In Search Of Sensors
-
Slides prepared by H. Dietz for this course as an overview of
stuff on the way to the camera sensor
-
The Ghost In The Machine
-
Slides prepared by H. Dietz for this course as an overview of
the computing facilities inside a camera
-
Focus
-
Slides prepared by H. Dietz for this course as an overview of
focus issues (slides not yet final!)
-
The Canon PowerShot A4000 IS
-
This is a brief overview prepared by H. Dietz of the A4000 IS --
one of the two PowerShots we'll be using for some of the key
experiments/assignments in this course
-
The Canon PowerShot ELPH 115 IS
-
This is a brief overview prepared by H. Dietz of the ELPH 115 IS --
one of the two PowerShots we'll be using for some of the key
experiments/assignments in this course
-
The Canon PowerShot ELPH 160
-
This is a brief overview prepared by H. Dietz of the ELPH 160 --
another PowerShot that we have available for use with CHDK
-
CHDK -- the Canon Hack Development Kit
-
Software that allows running scripts and even arbitrary C code
inside a Canon PowerShot. Many, but not all, models are supported.
These cameras run an ARM processor in an embedded DOS environment.
-
FlashAir SD cards
-
For Fall 2016, we are trying something new: a programmable wifi SD card
in each camera. You can read about them here.
-
Magic Lantern (ML)
-
Software that does much the same for specific Canon EOS/EOS-M
cameras that CHDK does for PowerShots. Whereas CHDK is largely
about scripting, ML is more about adding specific features with
an emphasis on video capture.
-
Android camera framework
-
Software that provides a consistent programming interface for the
basic camera controls under Android.
-
DCRaw
-
Dave Coffin's tool for decoding just about every raw image file
format. This is the place that most tools get their
raw decode logic from because even when manufacturers provide
an SDK for processing their raw files, it usually is not provided
in a form that can easily be integrated in a tool that handles
raw images from many different camera models (yes, I'm talking
about you, Canon).
-
Ting Chen's Course Project on Interpolation
-
This 1999 paper (via the wayback machine) is a course project titled
A Study of Spatial Color Interpolation Algorithms for
Single-Detector Digital Cameras.
It's a great overview of a variety of methods...
and easier to read than the code in dcraw.
A few similar references:
University of Washington,
ARL,
Yale (stencils),
West Virginia University,
Duke (multi-frame superresolution demosaic),
and a really nice interactive demo
-
Comparison of Demosaicing Algorithms
-
A nice little demo of what dcraw does....
Postprocessing & Analysis Tools
-
MTF Mapper
-
This is a neat little open source program to empirically measure
MTFs without requiring carefully controlled testing
circumstances.
-
ExifTool
-
This is a neat little open source program to read/write EXIF data
from various image file formats, most notably including JFIF --
the format used for JPEG files.
Course Hardware Resources
We have set-up a Linux system with the full environment needed to
rebuild CHDK from source (i.e., the cross compilers) on one of the
systems in 108A Marksbury. Coal can be reached via:
ssh user@super.ece.engr.uky.edu -p 10085
Each student registered for the course will have an account named as
per their email address (some of which include a "."), and there
will be a pre-built ARM cross compiler in build-dir in your
home directory.
Research Materials
-
Home page for Digital Imaging Technologies at
Aggregate.Org
-
Various things that we've been doing with digital imaging
http://aggregate.org/CACS/
Cameras as Computing Systems