Skip to content

Madeira Beach, FL camera station

Jenna Brown edited this page Jan 24, 2017 · 18 revisions

Background

This coastal video monitoring station was installed by the U.S. Geological Survey (USGS) to collect observations that will improve our understanding of coastal change.

  • the camera station began operating continuously in January 2017
  • video/images are collected for 17-minutes at the beginning of every daylight hour
  • standard Argus image products are produced:
    • snapshot
    • time-exposure image
    • time-variance image
    • brightest image
    • darkest image
    • runup timestacks

Hardware

The video camera is mounted on the roof of a local 6-story hotel, and the computer is located in a temperature-controlled elevator-control room on the ground floor of the hotel. On the roof, there is an electrical outlet to power the camera and an ethernet port that connects to a port in the elevator-control room, and in the elevator-control room there is also a LAN connection.

Camera mounted on the roof of a hotel in Madeira Beach, FL. Camera mounted on the roof of a hotel in Madeira Beach, FL.


Software

Computer and Camera Control:

Image Collection:

Image Processing:

  • batch script
  • Matlab executable
  • Windows Task Manager (for automation)

Data Transfer and File Cleanup:

  • batch script
  • R script
  • Windows Task Manager (for automation)

Image Post-Processing:

  • Matlab executable
  • Windows Task Manager (for automation)

Workflow

1. Computer Set-up

  • log-in as Administrator
  • adjust computer settings:
    • do NOT allow to go to sleep
    • disable Auto Install of Windows Updates so computer does not automatically restart
    • enable auto-restart after system failure/power outage
  • set computer time:
    • set time to GMT
    • set-up time synchronization with internet time server (run Tardis with Windows Task Manager)
  • configure ethernet settings
    • enable Jumbo Packets on camera LAN connection
  • set-up GoToMyPC for remote desktop control

2. Camera Set-up

  • install Vimba SDK for Allied Vision cameras
  • install and configure JAI GigE camera driver
    • in the Local Area Connection Properties, check JAI GigE Vision Filter Driver, and uncheck AVT GigE Vision Filter Driver
  • install Wavelet compression filter for Bayered images
  • connect camera to computer
  • open Vimba Viewer and configure camera settings:
    • set Acquisition
      • set AcquisitionFrameRateAbs = 2.0 (Hz)
      • set Trigger = FixedRate
    • set Controls
      • set Exposure, Gain, White Balance = Continuous (until desired lighting is achieved), then = Off
    • set Image Format
      • set image width and height
      • set PixelFormat = RGB8Packed

3. Camera Calibration

  • determine intrinsic parameters - lens distortion
  • determine extrinsic parameters - rotation and translation
    • deploy, survey, and image-capture multiple Ground Control Points (GCPs)
    • survey camera position
    • use code to solve for camera geometry parameters (azimuth, tilt, roll)
    • use parameters to geo-rectify images

4. Image Collection

  • install IO Industries Streams7
  • run Streams7 as Administrator
    • increase memory in Streams Administrator to 3000MB
  • create new Video Library
  • add New Device
    • set Compression, Driver, etc. following user manual
    • save Device Configuration to file
  • set Export settings
    • File Filter = JPEG
    • edit Timestamp Options
      • Overlay timestamp on image
      • Use full date
      • Invert timestamp text (change color to standout)
  • run Python script to automatically collect images every daylight hour (based on defined time frame)

Example of Streams7 program automatically controlling the camera image collection. Example of Streams7 program automatically controlling the camera image collection.

5. Image Processing

  • run batch file to:
    • check that image collection/export is complete
    • run Matlab .exe to create image products
    • write metadata to image products

6. Data Transfer and File Cleanup

  • on the local computer, use Windows Task Manager to run a batch file (for every hourly collect) to:
    • push/upload image products to eFTP
    • create manifest of copy/transfer listing new image products, including filename, filesize, and md5 checksum
  • on the server computer, use Windows Task Manager to run R script (for every hourly collect) to:
    • pull/download image products from eFTP to server
    • run checksum on recently downloaded image products
    • create "cleanup" .txt files with commands to delete successfully transferred files
    • push/uplooad "cleanup" .txt files to local computer
  • on local computer, use Windows Task Manager to run a batch file (once each evening) to:
    • run "cleanup" .txt files to delete data/files from local computer
    • delete corresponding Video Log files
    • note: raw images are not stored forever because of data storage limits on the local computer and file transfer limits for pushing to the server

7. Image Post-Processing

  • post hourly snapshot and time-exposure on website
  • use Matlab .exe to create rectified image products
    • use intrinsic and extrinsic calibration parameters
    • save image products as netCDF
Clone this wiki locally