PAMGUARD Core Modules

PAMGUARD contains of an ever growing number of modules, each of which performs some sort of data handling task. Individual modules may do anything from acquiring sound data, to managing a database or searching for a particular sound type. Generally every module will acquire data either from another module, or through some external interface (such as a sound card, GPS or depth sensor readout). The output of a module may be a display, more data or both. A single module may have multiple output data streams. For instance, the sound acquisition module primarily outputs raw audio data to other PAMGUARD modules, but also outputs data providing a record of when sound acquisition was started and stopped which can be stored in the database.

PAMGUARD currently contains 54 plug-in modules which can be selected and configured by the user (See the table below). It is generally possible to create multiple instances of a given module type. For instance, the operator may wish to incorporate two click detectors, each optimised for a different species, or have two sound acquisition modules, one acquiring low frequency data and one high frequency data. For certain module types (e.g. GPS acquisition), the user may be restricted to having a single instance.

We are constantly developing new modules for PAMGuard. The table also includes some information on modules which we're working on at the moment. Due to PAMGuard being open source, there may of course be other modules under development we don't yet know about.

Version 1.15.09 Beta.  Updated 3 February 2017.

Maps and Mapping
Utilities
Sensors
Displays
Sound Processing
Detectors
Classifiers
Localisers
Visual Methods

 

ModuleData InputOutputInstancesFunctionStatus
Maps and Mapping

NMEA data collection

Serial port or server

Strings of NMEA data

Any

Acquire NMEA data for use by other modules.

Core

GPS Processing

NMEA data

GPS locations

0-1

Identified GPS data and unpacks NMEA strings

Core

Map

GPS and all detectors

Map graphics panel
map comments

Any

Displays vessel location and data from other modules.

Core

AIS Processing

NMEA data

Ship locations

0-1

Unpacks AIS data

Core

Airgun display

GPS or AIS Data

Graphic overlay for map

Any

Displays the locations of airguns and mitigation zones referenced to either the PAMGUARD vessel or some other vessel broadcasting Its position over AIS.

Core

Fixed Landmarks

Manual input

Fixed points on map

Any

Place object symbols on the PAMGUARD map.

Beta

Utilities

Database

Multiple modules

Database

0-1

Stores data from multiple modules in a Microsoft Access, MySQL or ODF(Beta) database

Core

Binary Storage

Multiple modules

Binary data files

0-1

Stores data from multiple modules in a proprietary data format

Core

Data Map

Multiple modules

None

0-1

Provides an overview of all data in Viewer Mode

Core

User Input

User comments

 

0-1

Time stamps and stores any comment entered by the user

Core

Aural Listening Form

Things heard by the operator

 

Any

Time stamps and stores lists of things heard by an operator monitoring hydrophones aurally.

Core

Alarms

Any

Multiple possibilities of Actions

Any

Alarms can be used to alert the operator to specific events

Beta

Spectrogram Annotation

User Input

 

Any

Offline marking on the spectrogram display

Beta

Quick Spectrogram Annotation User Input   Any Manual marking on the spectrogram display using user-defined 'quick' annotations Beta
Sensors

Hydrophone Depth Readout

Analogue depth sensors

Depth data

0-1

Depth data are displayed on screen, used in real time to update hydrophone locations and sent to the database.

Core

Array Accelerometer

Analogue acceleration sensors

Orientation data

0-1

Data from accelerometers are used in real time to update hydrophone orientations and sent to the database.

Beta

Angle Measurement

Fluxgate World shaft encoder

Shaft angles

Any

Reads angles from a Fluxgate World shaft angle encode. (Can be used to read angle of binocular stands).

Beta

Sound Trap Tools

Sound Trap data

 

0-1

Tools for the import of Sound Trap detector data.  Only available in Viewer mode.

Beta

Displays

User Display Panel

 

Displays

Any

Provides a container for spectrogram and radar like displays. Data from detectors can be overlaid on top of these displays.

Core

Local Time

   

Any

Adds a small side panel showing the Local Time from the computer (all other PAMGuard times are in UTC)

Beta

Level Meters

Sound Acquisition

Display in Side-bar

Any

Adds a small side panel showing the Level from the Sound Acquisition Module

Beta

Sound Processing

Sound Acquisition

Sound cards, audio files and other acquisition devices.

Packed chunks of raw audio data

Any

Controls a data acquisition device and passes it's data on to other modules

Core

Sound Output

Audio data

Output to the system sound card

Any

Outputs audio data through a sound card so it can be listened to on headphones.

Core

FFT (Spectrogram) Engine

Audio data

FFT Data

Any

Computes spectrograms (Fourier transforms of multiple overlapping chunks of audio data).

Core

Filters (IIR and FIR)

Audio data

Audio data

Any

Filters audio data using either Butterworth of Chebyshev filter.

Core

Decimator

Audio data

Audio data

Any

Filters and reduces the sample data of audio data

Core

Sound Recorder

Audio data

Wav of Aif files

Any

Writes audio data to file. Recording may be initiated by the operator or triggered by a detector or make regular recordings according to some set cycle.

Core

Clip Generator

Audio data

Short clips of sound

Any

Stores short clips of sound either in wav files or binary files

Beta

Signal Amplifier

Audio data

Audio data

Any

Amplifies audio data by some scaling factor (can invert data if required)

Core

Patch Panel

Audio data

Audio data

Any

Mixes data between multiple channels, changes channel ordering, etc.

Beta

Spectrogram smoothing kernel

FFT Data

FFT Data

Any

Smoothes a spectrogram by convolving it with a Gaussian smoothing kernel.

Core

Seismic Veto

FFT and raw data

FFT and raw data

Any

Detects very loud sounds using an in band energy detector and replaces these with randomly generated coloured noise based on recent measurements of the local noise field.

Core

Noise Monitor

FFT data

Noise Measurements

Any

Measures noise in predefined frequency bands (e.g. thrid octave).

Beta

Noise Band Monitor

Audio data

Noise Measurements

Any

An alternative method of measuring noise in octave and third octave bands which can work over a wider frequency range than the Noise Monitor module

Dev'

Filtered Noise Measurements

Audio data

Noise Measurements

Any

Measures noise relative to an arbitrarily shaped filter band (e.g. the hearing response of a particular species)

Dev'

Long Term Spectral Average

FFT Data

Averaged FFT Data

Any

Measures and stores averaged FFT data over extended time periods (several minutes). USeful for generating a good overview of a dataaset.

Dev'

Envelope Tracing

Audio data

 

Any

This module allows you to drop the frequency of ultrasonic transient sounds into the audio band.

Dev'

DIFAR Directional Audio

DIFAR Audio data

 

Any

Audio from a DIFAR sonobuoy that has been beamformed at a user-specified single steering angle. This module can be used to reduce directional masking noise.

Beta

Detectors

Click Detector

Audio Data

Detected Clicks

Any

Searches for transient sounds, attempts to assign species, measure bearings to source, group into click trains, etc.

Core

Whistle and Moan Detector

FFT Data

Whistle and Moan Contours

Any

Searches for tonal noises. Measures bearings and locations of source. Replaces older Whistle Detector

Core

Whistle Detector

FFT Data

Detected Whistles

Any

Searches for tonal noises. Measures bearings and locations of source.

Core

Ishmael Energy Sum

FFT Data

Detected sounds

Any

Detects sounds with energy in a specific frequency band

Core

Ishmael Spectrogram Correlation

FFT Data

Detected sounds

Any

Detects sounds matching a user defined 'shape' on a spectrogram

Core

Ishmael Matched Filtering

Audio Data

Detected Sounds

Any

Detects sounds using a user defined matched filter.

Core

Likelihood Detector

Audio Data

Detected Sounds

Any

An implementation of a likelihood ratio test. Suitable for detecting both short duration Odontocete clicks (Sperm, Beaked, etc.) and moderate duration Mysticete calls (Humpback, Bowhead, etc.)

Core

Right Whale Edge Detector

FFT Data

Right whale detections

Any

Searches for right whale upsweep calls using methods described in Gillespie, D. (2004). “Detection and classification of right whale calls using an edge detector operating on a smoothed spectrogram,” Canadian Acoustics 32, 39–47.

Dev'

Classifiers

Whistle Classifier

Detected Whistles

Species probabilities

Any

Analyses multiple whistle contours and uses a discriminant analysis function to assign to species.

Beta

Rocca

FFT Data

Species Classes

Any

The Rocca species classifier is used to assign dolphin whistles selected by an operator to species. To do this it uses a Random Forest classifier trained with known samples from each species.

Beta

Localisers

Ishmael Locator

FFT Data / User input Located sounds Any Locates sounds extracted either from areas marked out on a spectrogram display or using output from a detector Core

Multipath 3D Localiser

Detected Clicks Located sounds Any Locates sounds detected by the click detector using surface echo's to obtain slant angles and generate a 3-D location. Core

Large Aperture 3D Localiser

Detected Clicks Located sounds Any Used to determine the fine scale tracks of harbour porpoises using data from a wide aperture multi-element hydrophone array(~10) Beta

Difar Localiser

Multiplexed Audio from DIFAR Buoy Located sounds 0-1 Calculates bearings to sound sources from DIFAR sonobuoys. Beta
Visual Methods

Video Range

Captured video images

Ranges to Sightings

Any

Calculates ranges based on angles measured from video, observer height and earth radius.

Core

Logger Forms

None

Manually input data

0-1

Replicates the functionality of User Defined Forms in the IFAW Logger software.

Beta

Core = Included in Core and Beta Releases; Beta = Included in Beta release; Dev' = Module under development