Specifications of XMP Camera Tags – Pix4D Software
The XMP namespace Camera is defined by Pix4D, URI: http://pix4d.com/camera/1.0
(XMP) Camera
(XMP) Radiometric correction
(XMP) Radiometric calibration target
(XMP) Position and orientation
(XMP) Sun irradiance position and orientation
(XMP) Bit-depth reduction
(XMP) Miscellaneous
(XMP) Camera
Key | Value example | Type | Meaning |
Xmp.Camera.ModelType | "fisheye" | XmpText | Camera model type: one of "perspective" or "fisheye". |
Xmp.Camera.PrincipalPoint | 2.42299,1.850154 | XmpText | c x, c y in millimeters separated by comma. |
Xmp.Camera.PerspectiveFocalLength | 4.569165 | XmpText | For perspective camera: focal length in millimeters. |
Xmp.Camera.PerspectiveDistortion |
0.201690322, -0.358534038, 0.256185599, 0.004208643, 0.000268361 |
XmpText | For perspective camera: R1, R2, R3, T1, T2 separated by a comma: How are the Internal and External Camera Parameters defined?. |
Xmp.Camera.FisheyeAffineMatrix |
1583.319083002,0,0,1583.319083002 |
Ascii | For fisheye camera: Affine matrix C, D, E, F separated by comma: How are the Internal and External Camera Parameters defined?. |
Xmp.Camera.FisheyeAffineSymmetric | 1 | Boolean | For fisheye camera: If symmetric affine matrix should be used (default false). |
Xmp.Camera.FisheyePolynomial |
0, 1, -0.025178575, 0.167834214 |
Ascii | For fisheye camera: Polynomial separated by comma: How are the Internal and External Camera Parameters defined?. |
Xmp.Camera.RigName | Airinov multiSPEC4C 1.1 | XmpText | Name of the rig model this image belongs to. |
Xmp.Camera.RigCameraIndex | 0 | Short | Corresponding camera index within the rig model. |
Xmp.Camera.RigRelatives | 0.3836, -1.27665, -0.1156 | XmpText | Rotation angles with respect to the reference camera. For angle convention in Pix4D: Yaw, Pitch, Roll and Omega, Phi, Kappa angles. |
Xmp.Camera.CaptureUUID | B9A2F3676304A83F92261B5245124F28 | XmpText | Unique identifier for one capture within a flight. This allows us to find that capture across different rig cameras. |
Xmp.Camera.FlightUUID | 7F8DC95FFCADA339805BD53338EC888 E | XmpText | Unique identifier for one flight |
Xmp.Camera.UID | 12606478859240980328 | XmpString |
Globally unique image identifier. Unsigned integer, must be a random number uniformly distributed in the range [0, 264-1]. The same random sequence must not be repeated in different units or for different acquisitions. |
(XMP) Radiometric correction
Key | Value example | Type | Meaning |
Xmp.Camera.BandName | {"Red", "NIR"} | XmpSeq |
Name of each band (sequence). |
Xmp.Camera.CentralWavelength | {660, 800} | XmpSeq | Central wavelength of each band in nm. Similar to band names. If band names are not defined, default band names are generated. |
Xmp.Camera.WavelengthFWHM | {10, 10} | XmpSeq | Full-width half maximum of the wavelength distribution in nm. |
Xmp.Camera.BlackCurrent | {10, 7} | XmpSeq | Dark current for each band/page: Camera radiometric correction specifications. |
Xmp.Camera.BandSensitivity | {0.78, 0.043} | XmpSeq | The sensitivity of each band (pixel intensity value per irradiance). |
Xmp.Camera.SunSensor | {12.87, 9.72} | XmpSeq | Sun irradiance sensor (upwards looking sensor) raw value for each band. |
Xmp.Camera.SunSensorExposureTime | 0.1 | XmpText | Sun irradiance sensor exposure time in seconds. |
Xmp.Camera.SunSensorSensitivity | {16.45, 14.08} | XmpSeq | Sun irradiance sensor sensitivity. |
Xmp.Camera.InvalidPixel | {"40,593,981,291"} | XmpSeq | List of bad pixels as comma-separated x, y coordinate list, one sequence for each band. |
Xmp.Camera.VignettingPolynomial | {"0.00325, 1.983e-6, 5.0983e-9"} | XmpSeq | Vignetting correction by radial polynomial: 1D polynomial coefficients (one string of comma-separated values per page, 1 string for RGB images): Camera radiometric correction specifications. |
Xmp.Camera.VignettingCenter | {"542,912"} | XmpSeq | Vignetting correction by radial polynomial: Center point cx, cy in pixel (one string of comma-separated values per page): Camera radiometric correction specifications. |
Xmp.Camera.VignettingPolynomial2DName | {"0,0,1,0, ..., 2,2,3,1"} | XmpSeq | Vignetting correction by 2D polynomial: name of coefficients: n,m for c_{n,m} separated by commas (one string of comma-separated values per page): Camera radiometric correction specifications. |
Xmp.Camera.VignettingPolynomial2D | {"0.633287676149, 1.47936368033, ..., -1.58329242609, 0.130259802058"} | XmpSeq | Vignetting correction by 2D polynomial: coefficients c_{n,m} for names given by Xmp.Camera.VignettingPolynomial2DName separated by commas (one string of comma-separated values per page): Camera radiometric correction specifications. |
Xmp.Camera.ColorTransform |
{1, -0.114886,-0.0456918, -0.176716, 1, 0, -0.0715561, 0, 1} |
XmpSeq | Sequence of double, color conversion matrix (for RGB: R2R, G2R, B2R, R2G, G2G, B2G, R2B, G2B, B2B). Considering the information as a 3x3 matrix M, (R,G,B) new= M * (R,G,B). |
Xmp.Camera.IsNormalized | 1 | Boolean | Defines whether the radiometric correction is required (value 0) or the data has already been corrected (value 1) and therefore should not be corrected. |
(XMP) Radiometric calibration target
Key | Value example | Type | Meaning |
Xmp.Camera.Albedo | {0.22, 0.19 , 0.37} | XmpSeq | For radiometric calibration target images: Albedo of the disk for each band/page. |
Xmp.Camera.ReflectArea | {"X1,Y1,X2,Y2,X3,Y3,X4,Y4", "X1,Y1,...", ...} | XmpSeq | For radiometric calibration target images: polygon defining the target area for each page. |
Xmp.Camera.CalibrationPicture | 2 | Short |
Specifies if this image is a radiometric calibration target: 0 = no, 1 = yes but invalid, 2 = yes and valid. |
(XMP) Position and orientation
Key | Value example | Type | Meaning |
Xmp.Camera.Yaw | 72.7942 | Rational or Double | Orientation data in degrees. For more information on the definition of yaw, pitch, roll: Yaw, Pitch, Roll and Omega, Phi, Kappa angles. |
Xmp.Camera.Pitch | 1.7943 | Rational or Double | Orientation data in degrees. For more information on the definition of yaw, pitch, roll: Yaw, Pitch, Roll and Omega, Phi, Kappa angles. |
Xmp.Camera.Roll | 2.8909 | Rational or Double | Orientation data in degrees. For more information on the definition of yaw, pitch, roll: Yaw, Pitch, Roll and Omega, Phi, Kappa angles. |
Xmp.Camera.HorizCS |
EPSG:4326 EPSG:6318 |
XmpString | The horizontal coordinate system used by the GPS receiver, i.e. by Exif.GPSInfo.GPSLatitude and Exif.GPSInfo.GPSLongitude, in the form auth:WKID, where auth is an authority (e.g. EPSG or ESRI) and WKID a well-known code. |
Xmp.Camera.VertCS |
EPSG:5773 EPSG:5703 |
XmpString | The vertical coordinate system used by the GPS receiver, i.e. by Exif.GPSInfo.GPSAltitude, in the form auth:WKID, where auth is an authority (e.g. EPSG or ESRI) and WKID a well-known code, or the special value ellipsoidal for ellipsoidal height. |
Xmp.Camera.GPSXYAccuracy | 5 | Rational | Horizontal GPS Accuracy in meters. |
Xmp.Camera.GPSZAccuracy | 10 | Rational | Vertical GPS Accuracy in meters. |
Xmp.Camera.GyroRate | 0.0487 | Rational | Gyro rate during image acquisition, lower = better quality. |
Xmp.Camera.IMUPitchAccuracy | 0.113 | Rational | The value in degrees of 1-sigma of the Gaussian noise of the IMU Pitch measurement. |
Xmp.Camera.IMURollAccuracy | 0.087 | Rational | The value in degrees of 1-sigma of the Gaussian noise of the IMU Roll measurement. |
Xmp.Camera.IMUYawAccuracy | 1.250 | Rational | The value in degrees of 1-sigma of the Gaussian noise of the IMU Yaw measurement. |
Xmp.Camera.NominalCameraDistance | 25.87 | Rational | Nominal GPS distance between calibrated cameras in meters in order to have a decent overlap. Use to dynamically remove the cameras with worst quality as determined by the GyroRate such the target distance is as specified. |
Xmp.Camera.AboveGroundAltitude | 25.3 | Rational or Double | Altitude above ground/take-off location in meters (from the altimeter of the drone). |
Xmp.Camera.Location | [12.3759, -120.44, 12.294] | XmpSeq | Location as a 3-vector in the CRS given by Xmp.Camera.CartesianCRS. |
Xmp.Camera.LocationAccuracy | [0.4395, 0.3442, 0.2938] | XmpSeq | Accuracy (sigma) of the location in the units given by the Xmp.Camera.CartesianCRS. If the CRS tag contains the special value arbitrary, the units are arbitrary but the same as for the location. |
Xmp.Camera.Orientation | [-3.35472, 5.38485, 180.2475] | XmpSeq | Omega-Phi-Kappa angles in degree stating the orientation in the CRS given by Xmp.Camera.CartesianCRS . The convention is described in detail in this support page. |
Xmp.Camera.OrientationAccuracy | [1.2394, 1.203, 1.2943] | XmpSeq | Accuracy (sigma) of the orientation Omega-Phi-Kappa angles in degree. |
Xmp.Camera.CartesianCRS | EPSG:2227+5703 | XmpString |
CRS definition for the geolocation and orientation provided by the tags XMP.Camera.Location and XMP.Camera.Orientation. One of:
|
(XMP) Sun irradiance position and orientation
Key | Value example | Type | Meaning |
Xmp.Camera.SunSensorYaw | 72.7942 | Rational or Double | Sun irradiance sensor orientation data in degrees. For more information on the definition of yaw, pitch, roll: Yaw, Pitch, Roll and Omega, Phi, Kappa angles. |
Xmp.Camera.SunSensorPitch | 1.7943 | Rational or Double | Sun irradiance sensor orientation data in degrees. For more information on the definition of yaw, pitch, roll: Yaw, Pitch, Roll and Omega, Phi, Kappa angles. |
Xmp.Camera.SunSensorRoll | 2.8909 | Rational or Double | Sun irradiance sensor orientation data in degrees. For more information on the definition of yaw, pitch, roll: Yaw, Pitch, Roll and Omega, Phi, Kappa angles. |
Xmp.Camera.SunSensorRelativeRotation | 175, 0, 0 | XmpSeq | Relative angle between camera and sunshine sensor in the omega, phi, kappa system (same as rig relatives). |
(XMP) Bit-depth reduction
Key | Value example | Type | Meaning |
Xmp.Camera.TransformAlpha | {55684.1, 58672.8, 58889.1} | XmpSeq |
Sequence of double, alpha parameter for each band. where pixel_normalized is the pixel value stored in the JPG image scaled to the [0,1] interval. |
Xmp.Camera.TransformBeta | {9850.9, 6862.2, 6645.91} | XmpSeq | Sequence of double, beta parameter for each band. |
Xmp.Camera.TransformGamma | {2.12109, 2.6243, 2.33549} | XmpSeq | Sequence of double, gamma parameter for each band. |
(XMP) Miscellaneous
Key | Value example | Type | Meaning |
Xmp.Camera.SensorBitDepth | 14 | Short | Bit depth of the original sensor |
Xmp.Camera.SensorTemperature | 43.4 | Double |
Temperature of the sensor (degree Celsius) |