All extrinsic calibration ground control point images were given additional information required by the USGS to the exchangeable image file format (EXIF) and other imagery headers using PyExifTool Python library (
https://pypi.org/project/PyExifTool/, version: 0.5.6). All extrinsic photos were given EXIF header information in the directory with all the photos by assigning all the tags in a Python dictionary object to each photo using PyExifTool. The following describes the Python dictionary object with each entry in the dictionary being a tag-value pair: tags = { 'Copyright': 'Public Domain', 'CopyrightNotice': 'Public Domain - please credit U.S. Geological Survey', 'Artist': 'USGS SPCMSC', 'Make': 'FLIR','Model': 'BFLY-PGE-50S5C-C','UserComment': UserComment, 'GPSLatitude': '27.9391', 'GPSLongitude': '-82.8393', 'GPSMapDatum': 'EPSG:6318 (NAD83_National_Spatial_Reference_System_2011)', 'GPSLatitudeRef': 'N', 'GPSLongitudeRef': 'W', 'Credit': 'U.S. Geological Survey', 'Contact': 'gs-g-spcmsc_data_inquiries@usgs.gov', 'UsageTerms': "Unless otherwise stated, all data, metadata and related materials are considered to satisfy the quality standards relative to the purpose for which the data were collected. Although these data and associated metadata have been reviewed for accuracy and completeness and approved for release by the U.S. Geological Survey (USGS), no warranty expressed or implied is made regarding the display or utility of the data for other purposes, nor on all computer systems, nor shall the act of distribution constitute any such warranty", 'AttributionURL': '
https://doi.org/10.5066/P146YVZF ', 'Contributor': 'Jenna A. Brown, Justin J. Birchler, Margaret L. Palmsten, Eric Swanson, Emily L. Johnson, Mark Buckley', 'XMP-photoshop:Credit': 'U.S. Geological Survey', 'iptcCore:CreatorWorkEmail': 'gs-g-spcmsc_data_inquiries@usgs.gov','Rights': 'Public Domain', 'Keywords' : "Sand Key, Florida, CoastCam, USGS, extrinsic calibration, remote sensing, ground control point", 'ImageDescription': 'This image was captured from a stationary mounted camera at Sand Key, Florida. Field Activity Number: 2018-302-DD (
https://cmgds.marine.usgs.gov/fan_info.php?fan=2018-302-DD) Other FANs referenced in calibration metadata:
https://cmgds.marine.usgs.gov/fan_info.php?fan=2018-328-FA, 'Description': 'This image was captured from a stationary mounted camera at Sand Key, Florida. Field Activity Number: 2018-302-DD (
https://cmgds.marine.usgs.gov/fan_info.php?fan=2018-302-DD) Other FANs referenced in calibration metadata:
https://cmgds.marine.usgs.gov/fan_info.php?fan=2018-328-FA}. The only tag which can have a different value from image to image is GPSDateStamp. Depending on the date the photo was captured, the value in the GPSDatestamp tag changes. The UserComment EXIF metadata field was used to store the camera intrinsics and extrinsics in the image metadata. The UserComment has a nested dictionary structure. The highest-level dictionary contains two nested dictionaries as well as a note explaining the structure of the UserComment field. One nested dictionary contains the actual intrinsic and extrinsic data variables. The other nested dictionary contains text descriptions for each of the variables in the dictionary of data variables.
To read out the imagery header information to a CSV file the command is: 'exiftool -csv *.jpg > allheaders.csv'. Specific tags may be specified with this command, if preferred.