Although there has been much interest in computational photography
within the research and photography communities, progress
has been hampered by the lack of a portable, programmable camera
with sufcient image quality and computing power. To address
this problem, we have designed and implemented an open architecture
and API for such cameras: the Frankencamera. It consists of a
base hardware specication, a software stack based on Linux, and
an API for C++. Our architecture permits control and synchronization
of the sensor and image processing pipeline at the microsecond
time scale, as well as the ability to incorporate and synchronize external
hardware like lenses and ashes. This paper species our
architecture and API, and it describes two reference implementations
we have built. Using these implementations we demonstrate
six computational photography applications: HDR viewnding and
capture, low-light viewnding and capture, automated acquisition
of extended dynamic ...