The main processing class is the abstract class Process, shown with its children in Figure 4.2.4. This class defines what it is to be a processing module, and all processing modules will have Process as an ancestor. It defines a single abstract method, ProcessImage(), which is called with a StereoImage object as sole parameter. The process will be performed on the passed StereoImage and returned. If a fatal error is encountered, an exception of some kind should be raised, however non-fatal errors should simply cause the passed StereoImage to be returned unmodified.
The CompressProcess and UncompressProcess classes show a possible implementation for the compression and decompression of images. They also should define a child class of StereoImage, called CompressedStereoImage, to store a compressed stereo image, and subsequently deal with objects of this class where appropriate.10
The RotateProcess class will rotate the given stereo image's left component clockwise (if it exists) and the right component counterclockwise (if it exists)11. This will be used for Stereocams fashioned out of two Indycams strapped together as in Section 2.2.
The NopProcess class is the canonical identity operation, which simply does nothing to the input image12.