PAMGUARD Core Plug-in Modules
PAMGUARD contains of an ever growing number of plug-in 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
Module | Data Input | Output | Instances | Function | Status |
---|---|---|---|---|---|
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 |
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