About ROV Frame Grabbed Images

History

Installation Details


History of the video frame grab system

In the beginning there was no facility for routine digital image frame capture on ROV expeditions. With the 1996-1997 VIMS/Vicki project came the purchase of SGI workstations capable of real-time digital image capture and processing. At first we simply plugged the camera feed into the system and used the system tool CosmoCapture to grab images and save them to disk. A script was written to transfer these images to another SGI system in the digital video lab where they could then be viewed from internal web pages. The script converted the original SGI RGB images (about 1 MB each) to 100% quality JPEG images (about 300 KB each) and removed the originals. The 100% JPEG images could be viewed in Netscape, yet preserved most of the detail within the image. This system was in place from about October 1996 to the summer of 1997.

We learned much from using this system, and the ease of retrieving the images was appreciated. There were several deficiencies with this system, namely:

  1. There is no confirmation that images are actually being saved to disk
  2. No ancillary information is saved with the images
  3. Naming of files is error-prone
  4. Image files are not organized in much of any fashion making their administration difficult
  5. Difficult to capture other video sources, such as from the sonar or sit cam

Starting around July 1997 (at year day 216) we integrated the digital image frame capture system with the VIMS/Vicki software and the image file names changed to that of the frame code of when they were captured.  The advantages of this are as follows:

  1. The above inadequacies in the initial system are addressed
  2. The fact that an image has be snapped can  be entered into the VIMS database
  3. Smaller (about 50 KB) 75% quality JPEG preview images with overlain text are created
  4. The original SGI RGB images are compressed and saved, these can be easily converted to other formats for import to other programs with no loss of detail.
  5. Annotation text appears on the image, which may encourage real-time use of the system for annotating video
  6. Tape timecode is now saved with each image to aid in finding events on the tapes
  7. The web interface to the images was improved

In December 1998, beginning with year day 363, we started saving the original images in PNG format rather than compressing the original RGB files. This change was made after making sure that there would be no loss of detail in the conversion from RGB to PNG. The advantages of this are as follows:

  1. A savings of disk space. Each gzipped RGB file consumed about 750 KB, an equivalent PNG consumes about 500 KB.
  2. No server-side conversion script is required to convert PNG files so that they can be viewed inside a web browser.
  3. Integration with the VIMS query facility is easier with the PNG format.

In February 1999, beginning with year day 035, unneeded engineering-type information was removed from the text overlay put on to the jpeg preview image. With this, a new file (ending in '.overlay') is created with the 4 lines of overlay text. The original '.comment' file, with its 9 lines of information, is still kept in case there is any processing depending on the name/value pairs contained therein.

In the Summer of 1999 we begin to run out of disk space on our 9 GB drive on lepas for  shore-side image storage. We are now in the process of moving the older image directories to CDROM. These will be network accessible and the URLs for each image will stay the same as we'll be able to NFS automount the CDROM into the web directory hierarchy.

What follows are details on the installation of the system on both vessels and links to the source code (Note: Much of this is out of date as the installation of the nav processor on the Point Lobos has changed things a bit.). This web page is not meant to be an instruction manual for how to use the VIMS/Vicki system, for more details on how one should use it, please see the Sample Collection web page or the Video Lab pages.

In January 2001 the format of the image file names was changed to allow for easier file management on Windows computers. Starting on 1/24/2001 (year/year-day 2001/024) the .png and .jpg images are stored with underscores (_) rather than colons(:) as the file names. This change helps with viewing the files on Windows platforms. Some other changes were made in the directory structure for the frame grabs on the shipboard SGI systems (ariel & beroe). Instead of saving the images in a YYYYDDD directory (e.g. 2001032) the files are saved in a YYYY/DDD directory (e.g. 2001/032). This mirrors the directory structure we have for our shore-side archive and permits easier checks of successful file transfers.

If you access frame grabs with a web browser through the expedition database there should be no change except that when you save an image to your Windows PC it will no longer mangle the file name.

Also, images saved since year/year-day 2001/024 can be browsed directly through network neighborhood without their filenames being mangled, e.g.: \\Tornado\framegrabs\Ventana\stills\2001\032

In June 2002 ImageMagick was finally upgraded on the SGI systems where the vfcbydive script runs.  This resulted in a change in appearance of the thumbnail indices. The border around each image is gone and the GMT time of the frame grab capture is indicated under the file name which is still the tape timecode. Also at this time vfcbydive was ported to run on the Western Flyer. Changes were also made to vfc2web on the Western Flyer to work with the new ImageMagick.  If vfcbydive is run for any dive after June 2002 the image indices will have the new look.

 In January 2003 The vfcbydive code was re-written to handle Coolpix image organization and archiving. With this change several improvements were made to the web presentation of the images. The previous and next links appear above and below the thumbnail image and remain in the corners for any width of the browser window. The jpg thumbnail link links to an html page with image information shown underneath the image wich is now linked to the original image that has no text overlay. For all jpg images, IPTC information has been imbedded in the file. This includes all of the information that is in the text overlay including the VIMS annotation information which is stored as keywords in the jpg image.


Installation Details

Ventana image grabbing system

Please see this document  pdficonsmall.gif (153 bytes) Installation of Vicki and image capture on the Pt. Lobos (caution: documentation is out of date as pl-navproc now provides the vtcd service to vfcd.)

There are subdirectories for the years and year-days for each expedition. This directory is mapped to the CanyonHead web server as http://mww.mbari.org/ARCHIVE/frameGrabs/Ventana/stills

Tiburon image grabbing system

Please see this document  pdficonsmall.gif (153 bytes)  Installation of Vicki and image capture on the Western Flyer

There are subdirectories for the years and year-days for each expedition. This directory is mapped to the CanyonHead web server as http://mww.mbari.org/ARCHIVE/frameGrabs/Tiburon/stills.

Shore-based image processing system for vfcbydive

The SGI Indigo2 system algae in the digital video lab has a cron job that starts at 2100 each evening that does the following:

  • Checks for any new dives entered into the Expedition database that do not have corresponding image indices by dive number
  • Organizes all the frame grabs into <rov><divenumber> directories in the year directory the dive occured
  • Matches information from video annotation database, rov navigation,  rovctd data, HDTV timecode (if available) and adds this information with the dive number to the overlay text on the jpeg preview images and to the IPTC fields of interest
  • Adds another link to the ExpeditionData table so that the dive number indices appear before the year-day indices in the Expedition database query returns

Shore-based Coolpix image organization and archiving (dsibydive)

The SGI Indigo2 system algae in the digital video lab has a cron job that starts at 0900 each morning that does the following:

  • Goes though all the images in the directories that have been rsynced from beroe to /hosts/tornado/vol/vol0/digitalimages, checks the image capture time and copies the images into year-day directories
  • Checks for any new dives entered into the Expedition database that do not have corresponding Coolpix image indices by dive number
  • Organizes all theCoolpix images into <rov><divenumber> directories in the year directory the dive occured
  • Matches information from video annotation database, rov navigation,  rovctd data, HDTV timecode (if available) and adds this information with the dive number to the overlay text on the jpeg preview images and to the IPTC fields of interest
  • Adds another link to the ExpeditionData table so that the dive number indices appear before the year-day indices in the Expedition database query returns

 


The software

For ease of implementation existing packages were used to the greatest extent feasible. The major tools used include SmallTalk for the Vicki program, Perl for the vfcd daemons and the vfc2web and vfcbydive scripts, ImageMagick for the image processing, cgi-bin scripts and web pages for the user access. Here are the development locations of the source code for the major components (please refer to the above documents for details on how these fit together).

  • vfcd: The Video Frame Capture daemon (development) is located on ariel & beroe in /usr/people/vicki/bin/.
  • vfc2web: Video Frame Captures to Web (production) is located on ariel & beroe in /usr/people/vicki/bin/.
  • vfcbydive: Video Frame Captures by dive (production) is located on algae in /usr/people/vicki/bin/vfcbydive/ (now a symbolic link to dsibydive).
  • dsibydive: Digital Still Image by dive (production) is located on algae in /usr/people/vicki/bin/vfcbydive/.
  • Vicki: The SmallTalk vicki code is developed on a Windows 95 PC, but a copy of the source (files ending in .st) is available on lobos and shelf in /users/vicki.
  • fmd, vtcc, vcrd, vtcd, libvicki.sl, libvicki.dll, etc.: These are supporting programs for vicki that Gene Gulielmo wrote. There are copies of the source in calypso:/users/gene, I have my own for development a porting purposes on unix in /u/mccann/vims/vicki.

Last updated: 08 January 2003 , Mike McCann