An omnidirectional video camera captures images of the environment while moving
along several intersecting paths forming an irregular grid. These paths define
the boundaries of a set of image loops within the environment. For arbitrary viewpoints
within each image loop, a 4D plenoptic function may be reconstructed from the group
of images captured at the loop boundary. For an observer viewpoint, a strip of
pixels is extracted from an image in the loop in front of the observer and paired
with a strip of pixels extracted from another image on the opposite side of the
image loop. A new image is generated for an observer viewpoint by warping pairs
of such strips of pixels according to the 4D plenoptic function, blending each
pair, and then stitching the resulting strips of pixels together.