Nearly ready for 2.02.14 release
Added CPOD help.
@ -11,9 +11,9 @@ org.eclipse.jdt.core.codeComplete.staticFinalFieldPrefixes=
|
||||
org.eclipse.jdt.core.codeComplete.staticFinalFieldSuffixes=
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=18
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=17
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=18
|
||||
org.eclipse.jdt.core.compiler.compliance=17
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
@ -23,4 +23,4 @@ org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=18
|
||||
org.eclipse.jdt.core.compiler.source=17
|
||||
|
2
pom.xml
@ -4,7 +4,7 @@
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.pamguard</groupId>
|
||||
<artifactId>Pamguard</artifactId>
|
||||
<version>2.02.13c</version>
|
||||
<version>2.02.13d</version>
|
||||
<name>Pamguard</name>
|
||||
<description>Pamguard using Maven to control dependencies</description>
|
||||
<url>www.pamguard.org</url>
|
||||
|
@ -31,12 +31,12 @@ public class PamguardVersionInfo {
|
||||
* Version number, major version.minorversion.sub-release.
|
||||
* Note: can't go higher than sub-release 'f'
|
||||
*/
|
||||
static public final String version = "2.02.13c";
|
||||
static public final String version = "2.02.13d";
|
||||
|
||||
/**
|
||||
* Release date
|
||||
*/
|
||||
static public final String date = "September 2024";
|
||||
static public final String date = "October 2024";
|
||||
|
||||
// /**
|
||||
// * Release type - Beta or Core
|
||||
|
@ -525,6 +525,7 @@ final public class PamModel implements PamSettings {
|
||||
mi.setModulesMenuGroup(sensorsGroup);
|
||||
mi.setToolTipText("Imports CPOD data");
|
||||
//mi.setHidden(SMRUEnable.isEnable() == false);
|
||||
mi.setHidden(!isViewer);
|
||||
mi.addGUICompatabilityFlag(PamGUIManager.FX); //has FX enabled GUI.
|
||||
|
||||
/*
|
||||
|
33
src/bearinglocaliser/tethys/BearingLocalisationCreator.java
Normal file
@ -0,0 +1,33 @@
|
||||
package bearinglocaliser.tethys;
|
||||
|
||||
import PamguardMVC.PamDataBlock;
|
||||
import PamguardMVC.PamDataUnit;
|
||||
import nilus.LocalizationType;
|
||||
import tethys.localization.LocalizationBuilder;
|
||||
import tethys.localization.LocalizationCreator;
|
||||
|
||||
public class BearingLocalisationCreator implements LocalizationCreator {
|
||||
|
||||
public BearingLocalisationCreator() {
|
||||
// TODO Auto-generated constructor stub
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean sortLocalisationCoordinates(LocalizationBuilder localizationBuilder, PamDataBlock dataBlock) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
@Override
|
||||
public LocalizationType createLocalization(LocalizationBuilder localizationBuilder, PamDataUnit dataUnit) {
|
||||
// TODO Auto-generated method stub
|
||||
return null;
|
||||
}
|
||||
|
||||
@Override
|
||||
public boolean checkDocument(LocalizationBuilder localizationBuilder) {
|
||||
// TODO Auto-generated method stub
|
||||
return false;
|
||||
}
|
||||
|
||||
}
|
@ -1,2 +1,2 @@
|
||||
JavaSearch 1.0
|
||||
TMAP bs=2048 rt=1 fl=-1 id1=6961 id2=1
|
||||
TMAP bs=2048 rt=1 fl=-1 id1=6999 id2=1
|
||||
|
@ -654,6 +654,8 @@
|
||||
|
||||
<mapID target="utilities.listening.docs.Listening_Overview" url="utilities/listening/docs/Listening_Overview.html"/>
|
||||
|
||||
<mapID target="sensors.cpod.docs.cpod" url="sensors/cpod/docs/cpod.html"/>
|
||||
|
||||
<mapID target="utilities.SIDEModule.docs.SIDE_Overview_tests" url="utilities/SIDEModule/docs/SIDE_Overview.html#tests"/>
|
||||
|
||||
<mapID target="overview.PamMasterHelp.docs.modules_utilities" url="overview/PamMasterHelp/docs/modules.html#utilities"/>
|
||||
|
@ -241,6 +241,10 @@
|
||||
<tocitem text="Configuration " target="sensors.arrayAccelerometer.docs.accelerometer_configuration" image="topic"/>
|
||||
|
||||
</tocitem>
|
||||
<tocitem text="CPOD ">
|
||||
<tocitem text="CPOD Module " target="sensors.cpod.docs.cpod" image="topic"/>
|
||||
|
||||
</tocitem>
|
||||
</tocitem>
|
||||
<tocitem text="Displays ">
|
||||
<tocitem text="Data Selection ">
|
||||
|
175
src/help/sensors/cpod/docs/cpod.html
Normal file
@ -0,0 +1,175 @@
|
||||
<html>
|
||||
<head>
|
||||
<LINK href="../../../pamHelpStylesheet.css" type="text/css"
|
||||
rel="STYLESHEET">
|
||||
<title>Array Accelerometer</title>
|
||||
</head>
|
||||
|
||||
<body>
|
||||
<h1 id="cpod-module-help">CPOD module help</h1>
|
||||
<h2 id="introduction">Introduction</h2>
|
||||
<p>
|
||||
CPODs and FPODs are click data loggers widely used in research and
|
||||
industry developed by <a href="https://www.chelonia.co.uk">Chelonia
|
||||
Ltd</a>. PAMGuard's CPOD module allows users to import CPOD <em>and</em>
|
||||
FPOD data into PAMGuard so it can be viewed using PAMGuard's
|
||||
visualisation tools. A common use case for this module is to display
|
||||
both CPOD/FPOD data and a lower frequency recording device together -
|
||||
for example a typical PAM setup is to use a CPOD to record high
|
||||
frequency echolocation clicks then a lower frequency recorder (e.g. 96
|
||||
kHz sample rate) to record dolphin whistles, noise, fish sounds etc.
|
||||
</p>
|
||||
<h2 id="quick-overview-of-cpod-fpod-data">Quick overview of
|
||||
CPOD/FPOD data</h2>
|
||||
<p>CPODs and FPODs do not record raw audio - they run a simple on
|
||||
board click detector and then save some basic metrics on each detected
|
||||
click e.g. peak frequency, bandwidth, end frequency etc. FPODs, the
|
||||
successor of CPODs, also record a little extra waveform data on a
|
||||
small subset of detected clicks. Once a CPOD or FPOD has been
|
||||
recovered, it is processed using CPOD.exe or FPOD.exe software
|
||||
respectively which runs a click train classifier. The click train
|
||||
classifier extracts sequences of successive clicks that are likely
|
||||
from the same source, e.g a dolphin, porpoise or echo sounder. It then
|
||||
assigns a likely species to a click train or classes it as unknown.
|
||||
The outputs from the click train detector are saved to a CP3 file
|
||||
which is essentially a file that contains only clicks that have been
|
||||
assigned to click trains.</p>
|
||||
<h2 id="adding-the-cpod-module">Adding the CPOD module</h2>
|
||||
<p>
|
||||
To add the CPOD module go to <strong><em>File->Add
|
||||
Modules->Sensors->CPOD</em></strong>. The module requires the binary storage
|
||||
module in PAMGuard <strong><em>File-> Add
|
||||
modules->Utilities->Binary File</em></strong>. Once both the CPOD and Binary
|
||||
file storage modules have been added open the CPOD settings using <strong><em>Settings->CPOD
|
||||
importer</em></strong>.
|
||||
</p>
|
||||
<h2 id="importing-cpod-fpod-data">Importing CPOD/FPOD data</h2>
|
||||
<p>The module has three possible modes of importing data</p>
|
||||
<ul>
|
||||
<li>Import raw detection data i.e. CP1 or FP1 data. PAMGuard will
|
||||
display the CPOD detection but no click train ID data is available.</li>
|
||||
<li>Import just the click trains data i.e. CP3 or FP3 files -
|
||||
PAMGuard will only import clicks which are part of click trains</li>
|
||||
<li>Import both both raw and click train data (recommended).
|
||||
PAMGuard imports the raw detections then uses the click train data to
|
||||
assign detections to click trains.</li>
|
||||
</ul>
|
||||
<p>
|
||||
Users can use the file button to select a single file (e.g. an FP3
|
||||
file) or the folder button to select a folder of CPOD/FPOD files. If
|
||||
the folder button is used and there are both CP1/FP1 (detections) and
|
||||
CP3/FP3 (click trains) files then PAMGuard will automatically load all
|
||||
files and assign detections to click trains. Once files have imported
|
||||
select <strong><em>Import</em></strong> and the data will be imported
|
||||
into PAMGuard - note this can take some time, especially if importing
|
||||
CP1/FP1 files.
|
||||
</p>
|
||||
<p align="center">
|
||||
<img width="750" height="400"
|
||||
src="resources/cpod_settings_description.png">
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>The CPOD module allow users to import CPOD/FPOD data by
|
||||
selecting either individual files or a folder of files</em>
|
||||
</p>
|
||||
<h2 id="visualising-cpod-fpod-data">Visualising CPOD/FPOD data</h2>
|
||||
<p>A broad overview of CPOD data is shown in PAMGuard's data
|
||||
map which shows a datagram similar to the click detector. The datagram
|
||||
shows the frequency density of CPOD/FPOD clicks constructed from the
|
||||
peak frequency parameter for each click The datagram can be useful for
|
||||
quickly navigating to sections of data that may contain porpoises
|
||||
and/or dolphins.</p>
|
||||
<p>Individual CPOD detections can be viewed in the Time base
|
||||
display in PAMGuard. Add the CPOD module to a plot and then data can
|
||||
be viewed with time using a selection y-axis options such as
|
||||
Amplitude, Amplitude (stem), Frequency, bandwidth etc.</p>
|
||||
<p align="center">
|
||||
<img width="750" height="380"
|
||||
src="resources/cpod_time_display_stem.png">
|
||||
</p>
|
||||
<p align="center">
|
||||
<img width="750" height="380"
|
||||
src="resources/cpod_time_display_amplitude2.png">
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>FPOD data visualised in the time base display as a stem plots
|
||||
like FPOD.exe (top) and as a scatter plot of click amplitudes
|
||||
(bottom)</em>
|
||||
</p>
|
||||
<h2 id="data-selector">Data selector</h2>
|
||||
<p>The CPOD module has a custom data selector which provides a
|
||||
unified interface for users to select subsets of CPOD/FPOD data. The
|
||||
data selector has sliders which set the range of various parameters,
|
||||
such as peak frequency and also allows the selection of CPOD/FPOD
|
||||
which belong to a click and those gave been classified to a particular
|
||||
species. Users can use the data selector to, for example, only export
|
||||
clicks classified as dolphin or perhaps plot only clicks with a peak
|
||||
frequency between 100 and 150 kHz on the time display.</p>
|
||||
|
||||
<table>
|
||||
<thead>
|
||||
<tr>
|
||||
<th style="text-align: center">CPOD data selector</th>
|
||||
<th style="text-align: center">CPOD data selector in time
|
||||
display</th>
|
||||
</tr>
|
||||
</thead>
|
||||
<tbody>
|
||||
<tr>
|
||||
<td style="text-align: center"><img
|
||||
src="resources/cpod_data_selector_swing.png" width="500"></td>
|
||||
<td style="text-align: center"><img
|
||||
src="resources/cpod_data_selector_fx.png" width="500"></td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>
|
||||
<em>Screenshots of the data selector user interface used
|
||||
throughout PAMGuard. Although the style can change, the data selector
|
||||
is the same throughout PAMGuard</em>
|
||||
</p>
|
||||
<h2 id="exporting-cpod-fpod-data">Exporting CPOD/FPOD data</h2>
|
||||
<p>CPOD and FPOD data can be exported to .RData and .mat using
|
||||
PAMGuard's exporter.</p>
|
||||
<p align="center">
|
||||
<img width="450" height="600"
|
||||
src="resources/cpod_exporter_dialog_swing.png">
|
||||
</p>
|
||||
|
||||
<p>
|
||||
<em>PAMGuard's exporter can export CPOD/FPOD clicks to .mat
|
||||
or .RData files. These can be opened in MATLAB, Python, and R
|
||||
respectively</em>
|
||||
</p>
|
||||
<p>
|
||||
The fields saved by the exporter are the same as a standard PAMGuard
|
||||
detection <a href="../../overview/dataexport/docs/dataexport.html">(see
|
||||
exporter help)</a>. The additional fields for CPODs and FPODs are
|
||||
</p>
|
||||
<ul>
|
||||
<li><em>bandwidth</em>: the bandwidth of the click in Hz</li>
|
||||
<li><em>numcycles</em>: the number of cycles fo the click in Hz</li>
|
||||
<li><em>peakfreq</em>: the peak frequency of the click in Hz</li>
|
||||
<li><em>endfreq</em>: the end frequency of the click in Hz</li>
|
||||
<li><em>SPL</em>: the CPOD measure of sound pressure level which
|
||||
is an integer between 0 and 255.</li>
|
||||
<li><em>slope</em>: the slope which is a parameter measured by the
|
||||
CPOD and FPOD.</li>
|
||||
<li><em>wave</em>: this will be empty for most clicks but some
|
||||
clicks from FPODs will have a waveform. Note that this is
|
||||
reconstructed from zero crossings and is NOT a clip from the raw
|
||||
sound data.</li>
|
||||
<li><em>species</em>: if the CPOD is part of a click train then
|
||||
species will be 0 for UNKNOWN, 1 for NBHF, 2 for DOLPHIN and 3 for
|
||||
SONAR. -1 indicates a click is not part of a click train.</li>
|
||||
<li><em>clicktrainID</em>: indicates the click train that the
|
||||
click belongs to. This can be cross referenced with UID column in the
|
||||
PAMGuard database which stores click trains and/or used to as an
|
||||
identifier to associate different clicks together into trains.</li>
|
||||
</ul>
|
||||
|
||||
|
||||
</body>
|
||||
</html>
|
BIN
src/help/sensors/cpod/docs/resources/cpod_data_selector_fx.png
Normal file
After Width: | Height: | Size: 161 KiB |
After Width: | Height: | Size: 260 KiB |
After Width: | Height: | Size: 302 KiB |
After Width: | Height: | Size: 514 KiB |
BIN
src/help/sensors/cpod/docs/resources/cpod_settings_dialog.png
Normal file
After Width: | Height: | Size: 200 KiB |
After Width: | Height: | Size: 661 KiB |
BIN
src/help/sensors/cpod/docs/resources/cpod_time_display_stem.png
Normal file
After Width: | Height: | Size: 742 KiB |