diff --git a/.classpath b/.classpath
index 8f3f9191..3ee317a8 100644
--- a/.classpath
+++ b/.classpath
@@ -8,7 +8,6 @@
-
diff --git a/README.html b/README.html
index 80869b8a..a8b1ad86 100644
--- a/README.html
+++ b/README.html
@@ -388,7 +388,10 @@ PamguardBeta_ViewerMode.exe):
+href="#_Latest_Version_2.02.08">LATEST VERSION 2.02.08 May 2023
+
+
@@ -450,14 +453,35 @@ Version 2.00.10 June 2017
Latest Version 2.02.07 January 2023
+name="_Latest_Version_2.02.06">Latest Version 2.02.08 May
+2023
Bug Fixes
-Use of localization sensor and orientation data
-for static hydrophones had a bug whereby it would continually ‘forget’ angle
-offsets applied to static hydrophones in viewer mode. This is now fixed.
+ROCCA Memory Leak: A memory leak in ROCCA,
+which mostly occurred when processing large datasets of many offline files, has
+been fixed.
+
+New Features
+
+Restart Options: When you restart
+processing of offline files, if output data already exist (binary data of
+within database tables) you will be asked if you want to overwrite the data, cancel,
+or try to continue from where to left off.
+
+Updated SoundTrap sud file interface so
+that PAMGuard now extracts and stores the Click Detector settings from the sud
+files and stores them within the PAMGuard configuration. This does not affect
+processing, but is important for record keeping.
+
+Version 2.02.07 January 2023
+
+Bug Fixes
+
+Use of localization sensor and orientation
+data for static hydrophones had a bug whereby it would continually ‘forget’
+angle offsets applied to static hydrophones in viewer mode. This is now fixed.
Click tool bar: Correctly shows event
selection options even if no species classification options are in place.
@@ -467,8 +491,8 @@ selection options even if no species classification options are in place.
ROCCA: Fixed (another) memory leak which
-caused PAMGuard to crash when processing large data sets with the ROCCA
-classifier.
+caused PAMGuard to crash when processing large data sets with the ROCCA classifier.
+
Ishmael Modules: Fixed bug which
occasionally caused crashes when processing many files offline.
@@ -1169,8 +1193,8 @@ Bug 441. Plot coordinate calculations incorrect in PamAxis.
10. Bug 442. BT Display does not change click symbol color when Colour
-By Superdetection is selected.
+lang=EN-US> Bug 442. BT Display does not change click symbol color when
+Colour By Superdetection is selected.
11.
15.
-Bug 447. Viewer mode throws exception when trying to load beamformer localisations
+Bug 447. Viewer mode throws exception when trying to load beamformer
+localisations
16.
18. Bug 450. Ishmael Detectors subscribing to FFTDataBlock twice,
-meaning they process each data unit 2x doubling the output.
+lang=EN-US> Bug 450. Ishmael Detectors subscribing to FFTDataBlock
+twice, meaning they process each data unit 2x doubling the output.
Upgrades
@@ -1596,9 +1621,9 @@ lang=EN-US> Added decimal degrees option to latitude/longitude dialog.2. Added option in the Click Delay parameters to restrict the number
-of initial samples used in the calculation. This can be useful for cleaning up
-delays in the presence of echoes and small time delays.
+lang=EN-US> Added option in the Click Delay parameters to restrict the
+number of initial samples used in the calculation. This can be useful for
+cleaning up delays in the presence of echoes and small time delays.
3.
@@ -1971,8 +1996,8 @@ User is now able to specify Soundtrap date/time format
Beta Version
2.00.11 October 2017
-PAMGuard Version 2 contains major updates. You
-should read and understand the notes listed for PAMGuard Version 2 contains major updates.
+You should read and understand the notes listed for Beta Version 2.00.10 before proceeding
with installation and use of this version.
@@ -2126,8 +2151,8 @@ to colour them by the colour assigned to the group.
Using Old PAMGuard Configurations
-Old PAMGuard configurations will work with the
-new version. However please note the following:
+Old PAMGuard configurations will work with
+the new version. However please note the following:
1.
@@ -3147,8 +3172,8 @@ correctly calculated in real world coordinates.
Wild ArcGIS Interface (Maps and Mapping group)
This module, developed by Michael Oswald / SWFSC, allows
-PAMGuard to output data in a format suitable for display in the WILD ArcGIS
-marine mammal survey package. See online help for details.
+PAMGuard to output data in a format suitable for display in the WILD ArcGIS marine
+mammal survey package. See online help for details.
Alarms (Utilities Group)
@@ -3288,8 +3313,8 @@ whistle.
forms which did not display correctly in 'night' mode.
Bug fix in simulator. No longer
stops or fails to start generating sounds.
- Bug in calculated spectrum levels
- if data were decimated (Bug in calculated spectrum
+ levels if data were decimated (http://sourceforge.net/p/pamguard/bugs/187/)
. Did not affect band level calculations.
Bug in noise band monitor.
@@ -3373,9 +3398,9 @@ databases.
National Instruments cards: Added
code in support of the new x-series devices.
-ASIO sound cards: Added support for
-a new open source ASIO driver system (jasiohost). The old system has been left
-in place for now while we assess users response to the newer system.
+ASIO sound cards: Added support
+for a new open source ASIO driver system (jasiohost). The old system has been
+left in place for now while we assess users response to the newer system.
AIS
@@ -3450,14 +3475,14 @@ have implemented database storage for output of these modules.
'
-Radar Display: A bug which stopped the radar display from correctly
-displaying bearings to whistles from arrays containing more than two hydrophone
-elements has been fixed.
+Radar Display: A bug which stopped the radar display from correctly displaying
+bearings to whistles from arrays containing more than two hydrophone elements
+has been fixed.
'
-Database Speed: A substantial rewriting of some of the indexing methods in
-the database module has led to a significant increase in the speed at which
+Database Speed: A substantial rewriting of some of the indexing methods
+in the database module has led to a significant increase in the speed at which
data are written to the database (orders of magnitude for large databases).
This is having a significant impact on the overall reliability of the software.
Other changes have increased the speed (again by orders of magnitude) at which
@@ -3564,8 +3589,8 @@ Symbol'>''
-Bearings can be calculated using the envelope of the waveform rather
-than the full waveform. The waveform or envelope can also be filtered prior to
+Bearings can be calculated using the envelope of the waveform rather than
+the full waveform. The waveform or envelope can also be filtered prior to
bearing calculation.
''
-Wigner time-frequency plot for the click detector. Clicks are NOT
-automatically displayed in the Winger window as they are for the waveform and
-spectrum windows since the Wigner transformation is very time consuming. Clicks
-will be displayed if you select them with the mouse.
+Wigner time-frequency plot for the click detector. Clicks are NOT automatically
+displayed in the Winger window as they are for the waveform and spectrum
+windows since the Wigner transformation is very time consuming. Clicks will be
+displayed if you select them with the mouse.
'
@@ -4392,9 +4417,9 @@ a serial port
New Likelihood detector.
-The likelihood detector module is an implementation of a likelihood
-ratio test with flexible algorithms and configuration to estimate likelihood.
-It is
+The likelihood detector module is an implementation of a
+likelihood ratio test with flexible algorithms and configuration to estimate
+likelihood. It is
suitable for detecting both short duration Odontocete clicks
(Sperm, Beaked, etc.) as well as moderate duration Mysticete calls (Humpback,
@@ -4676,8 +4701,7 @@ Symbol'>''1.0Beta 22 Jan 2008 -
-Pamguard starts two releases, core and beta release,
+class=Heading2Char>1.0Beta 22 Jan 2008 - Pamguard
+starts two releases, core and beta release,
this is the beta release
@@ -4739,8 +4763,8 @@ Symbol'>''
-Multi animal click tracking with least squares fit calculation of
-position on map
+Multi animal click tracking with least squares fit calculation of position
+on map
'
diff --git a/dependency-reduced-pom.xml b/dependency-reduced-pom.xml
index 9b36655e..c62a41fe 100644
--- a/dependency-reduced-pom.xml
+++ b/dependency-reduced-pom.xml
@@ -4,7 +4,7 @@
org.pamguard
Pamguard
Pamguard Java12+
- 2.02.07f
+ 2.02.07ab
Pamguard for Java 12+, using Maven to control dependcies
www.pamguard.org
diff --git a/pom.xml b/pom.xml
index 67cc3e93..e670ec9e 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
org.pamguard
Pamguard
- 2.02.07f
+ 2.02.07ab
Pamguard Java12+
Pamguard for Java 12+, using Maven to control dependcies
www.pamguard.org
@@ -801,7 +801,10 @@
-->
-
+
pamguard.org
x3
diff --git a/repo/pamguard/org/x3/2.2.2/_remote.repositories b/repo/pamguard/org/x3/2.2.2/_remote.repositories
new file mode 100644
index 00000000..34e5eed9
--- /dev/null
+++ b/repo/pamguard/org/x3/2.2.2/_remote.repositories
@@ -0,0 +1,4 @@
+#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
+#Mon May 08 15:05:07 BST 2023
+x3-2.2.2.jar>=
+x3-2.2.2.pom>=
diff --git a/repo/pamguard/org/x3/2.2.2/m2e-lastUpdated.properties b/repo/pamguard/org/x3/2.2.2/m2e-lastUpdated.properties
new file mode 100644
index 00000000..1a03a905
--- /dev/null
+++ b/repo/pamguard/org/x3/2.2.2/m2e-lastUpdated.properties
@@ -0,0 +1,15 @@
+#Sat May 06 19:10:45 BST 2023
+bedatadriven|https\://nexus.bedatadriven.com/content/groups/public/|javadoc=1683396645122
+repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo|javadoc=1683137958887
+repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo|javadoc=1683137015763
+talan|https\://nexus.talanlabs.com/content/repositories/releases/|sources=1683368185314
+bedatadriven|https\://nexus.bedatadriven.com/content/groups/public/|sources=1683368185314
+unidata-all|https\://artifacts.unidata.ucar.edu/repository/unidata-all/|sources=1683368185314
+repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardTethys/repo|sources=1683368185314
+repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo|sources=1683136978098
+repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo|sources=1683137602295
+talan|https\://nexus.talanlabs.com/content/repositories/releases/|javadoc=1683396645122
+central|https\://repo1.maven.org/maven2|sources=1683368185314
+unidata-all|https\://artifacts.unidata.ucar.edu/repository/unidata-all/|javadoc=1683396645122
+repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardTethys/repo|javadoc=1683396645122
+central|https\://repo1.maven.org/maven2|javadoc=1683396645122
diff --git a/repo/pamguard/org/x3/2.2.2/x3-2.2.2-javadoc.jar.lastUpdated b/repo/pamguard/org/x3/2.2.2/x3-2.2.2-javadoc.jar.lastUpdated
new file mode 100644
index 00000000..77a68e30
--- /dev/null
+++ b/repo/pamguard/org/x3/2.2.2/x3-2.2.2-javadoc.jar.lastUpdated
@@ -0,0 +1,16 @@
+#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
+#Sat May 06 19:10:45 BST 2023
+@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1683137015553
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo/.error=
+https\://repo1.maven.org/maven2/.error=
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.lastUpdated=1683137958884
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardTethys/repo/.lastUpdated=1683396645119
+https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
+https\://nexus.bedatadriven.com/content/groups/public/.error=
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardTethys/repo/.error=
+https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1683137015146
+https\://repo1.maven.org/maven2/.lastUpdated=1683137015762
+https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:javadoc\:2.2.2 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: Access denied to https\://nexus.talanlabs.com/content/repositories/releases/pamguard/org/x3/2.2.2/x3-2.2.2-javadoc.jar. Error code 401, Unauthorized
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo/.lastUpdated=1683137014154
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.error=
+https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1683137015343
diff --git a/repo/pamguard/org/x3/2.2.2/x3-2.2.2-sources.jar.lastUpdated b/repo/pamguard/org/x3/2.2.2/x3-2.2.2-sources.jar.lastUpdated
new file mode 100644
index 00000000..df14958c
--- /dev/null
+++ b/repo/pamguard/org/x3/2.2.2/x3-2.2.2-sources.jar.lastUpdated
@@ -0,0 +1,16 @@
+#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
+#Sat May 06 11:16:25 BST 2023
+@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1683136977699
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo/.error=
+https\://repo1.maven.org/maven2/.error=
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.lastUpdated=1683137602291
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardTethys/repo/.lastUpdated=1683368185312
+https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
+https\://nexus.bedatadriven.com/content/groups/public/.error=
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardTethys/repo/.error=
+https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1683136976818
+https\://repo1.maven.org/maven2/.lastUpdated=1683136978096
+https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:sources\:2.2.2 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: Access denied to https\://nexus.talanlabs.com/content/repositories/releases/pamguard/org/x3/2.2.2/x3-2.2.2-sources.jar. Error code 401, Unauthorized
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo/.lastUpdated=1683136975590
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.error=
+https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1683136977227
diff --git a/repo/pamguard/org/x3/2.2.2/x3-2.2.2.jar b/repo/pamguard/org/x3/2.2.2/x3-2.2.2.jar
new file mode 100644
index 00000000..63f5ecb2
Binary files /dev/null and b/repo/pamguard/org/x3/2.2.2/x3-2.2.2.jar differ
diff --git a/repo/pamguard/org/x3/2.2.2/x3-2.2.2.pom b/repo/pamguard/org/x3/2.2.2/x3-2.2.2.pom
new file mode 100644
index 00000000..88abe06b
--- /dev/null
+++ b/repo/pamguard/org/x3/2.2.2/x3-2.2.2.pom
@@ -0,0 +1,9 @@
+
+
+ 4.0.0
+ pamguard.org
+ x3
+ 2.2.2
+ POM was created from install:install-file
+
diff --git a/repo/pamguard/org/x3/2.2.2/x3-2.2.2.pom.lastUpdated b/repo/pamguard/org/x3/2.2.2/x3-2.2.2.pom.lastUpdated
new file mode 100644
index 00000000..41403db8
--- /dev/null
+++ b/repo/pamguard/org/x3/2.2.2/x3-2.2.2.pom.lastUpdated
@@ -0,0 +1,12 @@
+#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
+#Thu May 04 11:43:09 BST 2023
+@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1683196988926
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo/.error=
+https\://repo1.maven.org/maven2/.error=
+file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo/.lastUpdated=1683196987083
+https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
+https\://nexus.bedatadriven.com/content/groups/public/.error=
+https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1683196988663
+https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1683196988452
+https\://repo1.maven.org/maven2/.lastUpdated=1683196989198
+https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:pom\:2.2.2 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: Access denied to https\://nexus.talanlabs.com/content/repositories/releases/pamguard/org/x3/2.2.2/x3-2.2.2.pom. Error code 401, Unauthorized
diff --git a/src/binaryFileStorage/BinaryStoreStatus.java b/src/binaryFileStorage/BinaryStoreStatus.java
index 53c00717..11f20d3a 100644
--- a/src/binaryFileStorage/BinaryStoreStatus.java
+++ b/src/binaryFileStorage/BinaryStoreStatus.java
@@ -110,6 +110,9 @@ public class BinaryStoreStatus extends StoreStatus {
* @param blockStatus
*/
public void considerBlockStatus(BinaryStoreStatus blockStatus) {
+ if (blockStatus == null) {
+ return;
+ }
considerFirstHeader(blockStatus.firstHeader);
considerLastFooter(blockStatus.lastFooter);
considerLastData(blockStatus.lastData);
diff --git a/src/binaryFileStorage/BinaryStoreStatusFuncs.java b/src/binaryFileStorage/BinaryStoreStatusFuncs.java
index 0454655a..c19447b2 100644
--- a/src/binaryFileStorage/BinaryStoreStatusFuncs.java
+++ b/src/binaryFileStorage/BinaryStoreStatusFuncs.java
@@ -49,6 +49,9 @@ public class BinaryStoreStatusFuncs {
continue;
}
BinaryStoreStatus blockStatus = getStreamStartEnd(dataSource);
+ if (blockStatus == null) {
+ continue;
+ }
binStoreStatus.considerBlockStatus(blockStatus);
}
diff --git a/src/soundtrap/STClickControl.java b/src/soundtrap/STClickControl.java
index 4457f4e7..8e7ca7b0 100644
--- a/src/soundtrap/STClickControl.java
+++ b/src/soundtrap/STClickControl.java
@@ -40,11 +40,14 @@ import Acquisition.AcquisitionControl;
import PamController.PamSensor;
import PamController.PamControlledUnitSettings;
import PamController.PamController;
+import PamController.PamSettingManager;
+import PamController.PamSettings;
import PamguardMVC.PamRawDataBlock;
import clickDetector.ClickBTDisplay;
import clickDetector.ClickControl;
import clickDetector.ClickDisplay;
import clickDetector.ClickDisplayManager;
+import clickDetector.ClickParameters;
import soundtrap.sud.SUDParamsDialog;
import soundtrap.sud.SudFileDWVHandler;
@@ -77,6 +80,8 @@ public class STClickControl extends ClickControl implements PamSensor {
sudFileDWVHandler = new SudFileDWVHandler(this);
sudFileDWVHandler.subscribeSUD();
+
+ PamSettingManager.getInstance().registerSettings(new SUDSettings());
}
@Override
@@ -182,23 +187,30 @@ public class STClickControl extends ClickControl implements PamSensor {
}
}
- @Override
- public long getSettingsVersion() {
- return SUDClickDetectorInfo.serialVersionUID;
- }
-
- @Override
- public Serializable getSettingsReference() {
- return getSudClickDetectorInfo();
- }
+ // this was a bad idea since we need to keep hold of settings for the
+ // classifier, which are in with the main set ...
+// @Override
+// public long getSettingsVersion() {
+// return SUDClickDetectorInfo.serialVersionUID;
+// }
+//
+// @Override
+// public Serializable getSettingsReference() {
+// return getSudClickDetectorInfo();
+// }
@Override
public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings) {
+ // have to leave this in since I've now run data with it using the ST settings,
+ // so some configs may return these !
Object o = pamControlledUnitSettings.getSettings();
if (o instanceof SUDClickDetectorInfo) {
sudClickDetectorInfo = (SUDClickDetectorInfo) o;
return true;
}
+ if (o instanceof ClickParameters) {
+ return super.restoreSettings(pamControlledUnitSettings);
+ }
return false;
}
@@ -230,5 +242,44 @@ public class STClickControl extends ClickControl implements PamSensor {
return null;
}
+ /**
+ * Class to handle SoundTrap click detector settings without messing up
+ * the standard click detector ones which are needed for the classifier.
+ * @author dg50
+ *
+ */
+ private class SUDSettings implements PamSettings {
+
+ @Override
+ public String getUnitName() {
+ return STClickControl.this.getUnitName();
+ }
+
+ @Override
+ public String getUnitType() {
+ return STUNITTYPE;
+ }
+
+ @Override
+ public Serializable getSettingsReference() {
+ return sudClickDetectorInfo;
+ }
+
+ @Override
+ public long getSettingsVersion() {
+ return SUDClickDetectorInfo.serialVersionUID;
+ }
+
+ @Override
+ public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings) {
+ Object o = pamControlledUnitSettings.getSettings();
+ if (o instanceof SUDClickDetectorInfo) {
+ sudClickDetectorInfo = (SUDClickDetectorInfo) o;
+ return true;
+ }
+ return false;
+ }
+
+ }
}