-
Notifications
You must be signed in to change notification settings - Fork 59
cp toolbox
This will move to a separate ISET repository, probably isetcomputationalphotography (or something shorter), this summer
Increasingly, advances in consumer imaging are being driven by the composition of a photograph from multiple captures. Loosely, this is called computational photography (which we'll abbreviate CP). While it has always been possible to research CP techniques in ISETCam, it has always required a lot of hand-crafted, usually one-off, code. The CP classes are designed to provide a coherent framework for exploration in this area.
The top-level class for simulated cameras is "cpCamera." It supports a fairly generic set of features, and is primarily used as a base class for more specialized sub-classes. cpBurstCamera is an important one of those. It adds support for bracketing and burst photography, either done "in sensor" (by combining voltages from multiple frames) or in an ISP (using image registration and tone mapping if needed). That portion of the imaging pipeline is handled by a cpIP class, which in turn is sub-classed to cpBurstIP to handle ISP-based processing. cpCameras can have one or more camera modules, mimicking modern smartphone design. Currently, only one module of class cpCModule is supported, which in turn contains a single sensor and lens.
The camera, just like in the rest of ISETCam, can capture images from scenes. However, to support multi-frame scenes (either from pbrt, from ISET scene files, or from existing images) the cpScene class adds additional functionality to the standard ISETCam scene struct.
Most of the cp* classes wrap their peer classes from ISETCam. So cpIP wraps ip, the lens and sensor properties of cpIP objects are optics and ip structs, and the cpScene class is a wrapper on the ISETCam scene struct, with additional functionality.

ISETcam development is led by Brian Wandell's Vistalab group at Stanford University and supported by contributors from other research institutions and industry.