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):
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.
+ +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.
+ +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
16.
18. 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
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.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.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/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 f210c765..203357fe 100644 --- a/src/soundtrap/STClickControl.java +++ b/src/soundtrap/STClickControl.java @@ -39,11 +39,14 @@ import org.pamguard.x3.sud.SUDClickDetectorInfo; import Acquisition.AcquisitionControl; 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; @@ -76,6 +79,8 @@ public class STClickControl extends ClickControl { sudFileDWVHandler = new SudFileDWVHandler(this); sudFileDWVHandler.subscribeSUD(); + + PamSettingManager.getInstance().registerSettings(new SUDSettings()); } @Override @@ -181,23 +186,30 @@ public class STClickControl extends ClickControl { } } - @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; } @@ -218,5 +230,44 @@ public class STClickControl extends ClickControl { this.sudClickDetectorInfo = sudClickDetectorInfo; } + /** + * 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; + } + + } }