The measurement menu

 

This menu contains options for calibrating and measuring the image or details within it. Several of the options involve defining shapes. The shapes are drawn as an overlay on the image using blue lines and red crosses to mark points. Selecting one of the measurement options sets GRIP into a drawing mode so that more measurements of the same type can be made without having to select the menu option again.

Defining a shape generally results in a message window appearing. It contains numerical measurements and, for certain tyes of shape, graphs. The measurements can be saved in Comma-Separated Value (CSV) and eXtensible Mark-up Language (XML) files for further processing.

 

NB: Coordinates of pixels in an image are always measured from the top left corner of the image. The x axis goes from left to right and the y axis goes from top to bottom. So this is upside-down compared to conventional geometry. This is a widespread convention in computer imaging, and Sun's Java library follows the convention. It derives from the fact that traditional CRT lines are scanned from the top downwards. We could of course convert the y coordinates but rather than risk occasionally forgetting to do that, it is safer if everyone gets used to the convention.

 

Measurements include metadata from the camera, when they are available, such as when the picture was taken and the length of exposure. This enables measurements on a series of images to be graphed against time.

Java programmers: see the GRIP class GlassPane for the overlay and ImPane which handles the mouse events during drawing. Also relevant are the class PointList for shape definitions and the enum DrawingMode.

Next page