This site is deprecated. See the front page for more information.
Child pages
  • Ship Detection Algorithms for Opticks
Skip to end of metadata
Go to start of metadata

Plug-ins for working with RAW camera files.


Vijay Ramakrishnan


Latest Version1.0
Updated On2011-08-20


Ship position, heading and velocity detection of Synthetic Aperture Radar (SAR) images in Opticks.

Supported Opticks Releases: 


Supported Operating Systems: 

Windows 32-bit
Windows 64-bit
Solaris SPARC 64-bit
Linux 64-bit

Support Requests: Ask Trevor Clarke for assistance on Mailing Lists or Opticks chat

What are the algorithms involved?

This extension detects the location, orientation and velocity of target ships in SAR images using only the intensity of the image pixels. It uses the follow algorithms to do this:

  1. K-Distribution based CFAR filter to detect ships
  2. Morphological processing for better ship detection
  3. Radon transform to detect ship wakes.
  4. Elliptical regression to detect the orientation of the ship
  5. Clustering algorithm to cluster each ship

The details of each algorithm and how it performs is documented in the PDF file here: Google Summer of Code 2011.pdf

How do the algorithms solve the problem of amplitude-only ship surveillance?

The extension automatically implements all these algorithms in the following way:

  1. The K-Distribution algorithm + Morphological algorithm detects each ship.
  2. The clustering algorithm classifies each ship into its own domain.
  3. For each domain, a square window of a user-specified size is chosen with the ship centroid as the center of the square.
  4. For this window, the orientation of the ship is found.
  5. The radon transform then detects any wakes in the vicinity of the ship.
  6. If a wake is detected, the velocity of the ship is found through the azimuth shift between the detected wake and the ship's location.

Screenshots and Videos

Image 1: Final Output of extension; the ship heading, position and velocity

Image 2: An intermediate raster that shows the radon transform of a particular ship's wake.

Image 3: The clustering algorithm categorizing each ship for further computation


Why is the .aeb file not working?

If the file is not working, access the .aeb folder. Go to \Ship_Detection1.0.aeb\platform\win32-x86-msvc8.1-release\PlugIns. Copy the .dll file and paste it in here: \Opticks\4.6.0\PlugIns. Then open Opticks. The plug-in should be accessible through the plug-in menu bar.

I have not tested the dll file in other versions of Opticks but since I did not use any particular extension or dependency of Opticks 4.6, I am confident it should work in other versions of Opticks. Please notify me if it does not.