| worldToNDC | M44f | For images generated by 3D computer graphics rendering, a matrix that transforms 3D points from the world to the Normalized Device Coordinate (NDC) space of the renderer. NDC is a 2D coordinate space that corresponds to the image plane, with positive x and pointing to the right and y positive pointing down. The coordinates (0, 0) and (1, 1) correspond to the upper left and lower right corners of the OpenEXR display window. To transform a 3D point in word space into a 2D point in NDC space, multiply the 3D point by the worldToNDC matrix and discard the z coordinate. NDC space in OpenEXR is the same as in Pixar's Renderman. |
| sensorCenterOffset | V2f | Horizontal and vertical distances, in microns, of the center of the light-sensitive area of the camera's sensor from a point on that sensor where a sensor surface normal would intersect the center of the lens mount. When compared to an image captured with a perfectly centered sensor, an image where both horizontal and vertical distances were positive would contain more content holding what was at the right and what was at the bottom of the scene being captured. |
| sensorAcquisitionRectangle | Box2i | The rectangular area of the sensor containing photosites the contents of which are in one-to-one correspondence with the captured sensels, for a monochrome sensor, or with the reconstructed RGB pixels, for a sensor covered with color filter array material in a Bayer or a similar pattern. Because understanding the above formal definition is critical for many applications, including camera solvers, some short definitions: - aphotosite is that optoelectronic component on the sensor which, when light hits it, accumulates or otherwise registers electric charge
- asensel is the read-out contents of a single photosite
- color filter array material is material deposited on top of an array of photosites such that each photosite is discretely covered with a material that passes photons of certain wavelengths and that blocks photons of other wavelengths
- anRGB pixel contains red, green and blue components indicating relative exposure values
- RGB pixel reconstruction is the process of taking sensel data from a neighborhood of a particular photosite, including that photosite itself, in a photosite covered by either red, green or blue CFA material, and combining the read-out sensel data from a particular photosite with that of surrounding photosites, said surrounding photosites being covered by a variety of red, green or blue CFA materials, to produce an RGB pixel.
The Wikipedia article on demosaicing covers the basics of these ideas quite well. In the case of sensels read from a monochrome sensor, the idea of a one-to-one relationship between sensels read from the photosite array and pixels in the data window can be straightforward. Often there is a conversion of the sensel data read from the photosites to a different representation (e.g. integer to float) along with scaling of the individual values. A common spatial scaling is from a 2880 x 1620 acquisition format to a 1920 x 1080 HD format. In this case, a camera solver will want to know the original set of photosites that contributed sensel values to the downscaler: their number, and their position. Through a combination ofsensorAcquisitionRectangle,sensorPhotositePitch,sensorOverallDimensions andsensorCenterOffset, the application can know exactly the area on the sensor on which the light fell to create the sensel values that produced a monochrome image. RGB images are more complicated. RGB pixel reconstruction is a form of filtering, and kernels are square, with relatively small span, e.g. 5x5 or 7x7. Edge handling for the kernel is important; the Wikipedia article describing an image processing kernel covers it well. Elements of the reconstruction kernel that are never at the center of the kernel arenot counted as part of the sensorAcquisitionRectangle. Recalling the simple case above of a non-spatially-scaled 2880 x 1620 monochrome image being in 1:1 correspondence with an array of photosites on the sensor, if we are instead reading from a CFA-covered sensor to reconstruct a 2880 x 1620 RGB image, the actual array of all photosites whose sensel values were fed into a 5x5 reconstruction kernel would not be 2880 x 1620, but 2884 x 1624. Nevertheless, the size of thesensorAcquisitionRectangle would be 2880 x 1620. Camera systems differ on how to handle the case where the position of the RGB reconstruction kernel is such that one or more elements of the kernel do not correspond to physical photosites; these are edge cases in every sense of the phrase. |
| longitude | float | For images of real objects, the location where the image was recorded. Longitude and latitude are in degrees east of Greenwich and north of the equator. Altitude is in meters above sea level. For example, Kathmandu, Nepal is at longitude 85.317, latitude 27.717, altitude 1305. |