Skip to main content
U.S. flag

An official website of the United States government


August 25, 2020


Evan T. Dailey, U.S. Geological Survey |
Gerald A. Hatcher, U.S. Geological Survey |


Version 1.0.0 was approved for release in March, 2020. IP-117468


This software was developed for and used by the structure-from-motion (SfM) quantitative underwater imaging device with five cameras (SQUID-5) project. The SQUID-5's camera exposure and sensor gain settings are set identically using a program written with the Spinnaker SDK and examples. Another Spinnaker SDK based program was created to collect, format and save image data to long-term-storage with filenames created based on the camera serial number, image count, and timestamp. An instance of this program is launched for each camera during acquisition.

The Python script is run on the acquisition computer during operations and displays images from each camera with a small time delay for real-time quality control. Preliminary post-processing image file/GPS location information reconciliation is accomplished with another Python script to match images from each camera for every event where there should be images, and any camera that didn't collect an image is flagged; this step is crucial for syncing the images during SfM processing.


Real_Time_Image_Acquisition_Monitoring contains two Python scripts: and The former is used to display images during acquisition to monitor equipment function. A graphical user interface allows the user to select which camera is being displayed and alerts the user if a camera is not collecting images. The latter script is used after acquisition to match each image with all the image collection events, and any cameras that are missing an image for an event are flagged.

Spinnaker_SDK_Based_Camera_Control contains project files and C# source code for two programs written using Microsoft Visual Studio Community and linking with the Spinnaker SDK from FLIR imaging systems. SetPtGreyExposure sets the exposure time and sensor gain settings identically on each of the SQUID-5 cameras. AcquisitionFirstAvailableCamera is used collect and store images from the electronically triggered cameras.