From 7d62dfa542deed4fcb830fe31bd463f24eaccd73 Mon Sep 17 00:00:00 2001 From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com> Date: Fri, 28 Oct 2022 14:00:42 +0100 Subject: [PATCH] Final updates for Version 2.02.05 --- README.html | 299 +++++++++--------- pom.xml | 2 +- src/clickDetector/BTDisplayParameters.java | 6 +- src/clickDetector/ClickBTDisplay.java | 24 +- .../docs/ClickTrainDetector.html | 2 +- 5 files changed, 173 insertions(+), 160 deletions(-) diff --git a/README.html b/README.html index 901b0c81..a254bab1 100644 --- a/README.html +++ b/README.html @@ -368,21 +368,21 @@ should be something like:

-Xms384m -Xmx4096m -Djava.library.path=lib64 -jar Pamguard_xxxxxx.jar

The -Xms384m -Xmx4096m specify the initial and maximum heap -size for the JVM being used to run Pamguard i.e. how much memory it gets to use. -The default max size usually being too low.

+size for the JVM being used to run Pamguard i.e. how much memory it gets to +use. The default max size usually being too low.

The -Djava.library.path=lib64 tells the JVM that it should -look in the folder called "lib64" for the required shared libraries -(change to lib -for the 32 bit version).

+look in the folder called "lib64" for the required shared libraries (change +to lib for the +32 bit version).

For "Mixed" and "Viewer" modes just add a "-m" or "-v" to the list of java arguments. On Windows just run the appropriately named executable (e.g. PamguardBeta_MixedMode.exe or PamguardBeta_ViewerMode.exe):

-

java --Xms384m -Xmx4096m -Djava.library.path=lib64 -jar PamguardBeta_xxxxxx.jar -v

+

java -Xms384m +-Xmx4096m -Djava.library.path=lib64 -jar PamguardBeta_xxxxxx.jar -v

 

@@ -453,8 +453,8 @@ lang=EN-US>Latest Version 2.02.05 October 2022

Changes to GUI to make dialog shorter for low DPI screens.

-

Complete rewrite of the classification -system to have nested classifiers which can be enabled or disabled.

+

Complete rewrite of the classification system +to have nested classifiers which can be enabled or disabled.

Changes to classification GUI to accommodate the new classification system.

@@ -499,8 +499,8 @@ audio files.

Bug Fixes

-

Soundtrap DWV import. Will now generate binary -files even if DWV file doesn’t exist (which is correct behavior in quiet +

Soundtrap DWV import. Will now generate +binary files even if DWV file doesn’t exist (which is correct behavior in quiet conditions when no clicks were detected).

Spectrogram. Changes to stop occasional @@ -511,6 +511,10 @@ monitors so that data fields are sized correctly.

Fixed a memory leak in ROCCA

+

Fixed issues with options in Click Detector +bearing time display which (when using planar and 3D arrays) allow you to plot +relative to the array, the vessel, or North.

+

Version 2.02.03 February 2022

@@ -709,16 +713,16 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> &nb new CPOD features

15.        -Better interpolation of data by the Decimator when decimating/upsampling by a -non-integer amount

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Better interpolation of data by the Decimator when +decimating/upsampling by a non-integer amount

16.        Noise Level Outputs - as an aid to performance diagnosis, some detectors -(currently the GPL, Click Detector and Whistle and Moan Detector) are -outputting additional noise metrics to their binary output files. These can be -read with the PAMGuard +(currently the GPL, Click Detector and Whistle and Moan Detector) are outputting +additional noise metrics to their binary output files. These can be read with +the PAMGuard Matlab library and used to diagnose system performance in varying noise conditions. Improved displays within PAMGuard for these noise metrics will be included in a future release.

@@ -726,10 +730,10 @@ included in a future release.

17.        An implementation of the Generalized Power Law Detector, developed by Tyler -Helble ([Helble et al., ‘A generalized power-law detection algorithm for -humpback whale vocalizations’, The Journal of the Acoustical Society of -America, vol. 131, no. 4, pp. 2682–2699, 2012) is now available. For details, -see the online help

+Helble ([Helble et al., ‘A generalized power-law detection algorithm for humpback +whale vocalizations’, The Journal of the Acoustical Society of America, vol. +131, no. 4, pp. 2682–2699, 2012) is now available. For details, see the online +help

18.        @@ -751,10 +755,10 @@ Version 2.00.10 before proceeding with installation and use of this version.

This version of PAMGuard has been bundled with Java 13 -(release 13.0.1). PSFX files generated in previous beta releases (2.xx.xx) should -be compatible with this version, and vice-versa. PSF files generated in core -releases (1.15.xx) can be loaded in this version, but will be converted to PSFX -files when PAMGuard exits.

+(release 13.0.1). PSFX files generated in previous beta releases (2.xx.xx) +should be compatible with this version, and vice-versa. PSF files generated in +core releases (1.15.xx) can be loaded in this version, but will be converted to +PSFX files when PAMGuard exits.

Bug Fixes

@@ -816,8 +820,8 @@ Measurement module.

Upgrades

1.        -Speed up adding subdetections to superdetections.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Speed up adding subdetections to superdetections.

2.        &nb Add functionality for bluetooth headsets.

2.        -Add user-facing option to adjust the startup delay for the time-correction -(Global Time module). This provides a workaround to speed up analysis of -thousands of wav files (i.e. by setting startup delay to 0 instead of default -value of 2000 ms).

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Add user-facing option to adjust the startup delay for the +time-correction (Global Time module). This provides a workaround to speed up +analysis of thousands of wav files (i.e. by setting startup delay to 0 instead +of default value of 2000 ms).

3.        -Add support for RS Aqua time format.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Add support for RS Aqua time format.

4.        @@ -1055,9 +1059,9 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> &nb Bug 433. Custom storage options were being lost when Pamguard restarted.

2.        -Bug 434. Pamguard Viewer mode was having problems importing settings from psfx -file.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Bug 434. Pamguard Viewer mode was having problems importing +settings from psfx file.

3.        @@ -1105,8 +1109,8 @@ files.

13.        -Bug 445. Overlay data in FX spectrogram display gets out of sync with -underlying spectrogram image.

+Bug 445. Overlay data in FX spectrogram display gets out of sync with underlying +spectrogram image.

14.        @@ -1194,10 +1198,10 @@ Detector display.

Upgrades

1.        -This version of PAMGuard has been upgraded to make it compatible with Java 12. -psfx files generated in previous beta releases should be compatible with this -version, and vice-versa.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       This version of PAMGuard has been upgraded to make it +compatible with Java 12. psfx files generated in previous beta releases should +be compatible with this version, and vice-versa.

2.        @@ -1352,8 +1356,8 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> &nb lang=EN-US> Better display of microseconds in dialogs.

4.        -Added adaptive noise filter to Ishmael Detectors.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Added adaptive noise filter to Ishmael Detectors.

5.        -

Beta Version -2.00.14c October 2018

+

Beta Version 2.00.14c +October 2018

PAMGuard Version 2 contains major updates. You should read and understand the notes listed for

9.        -Bug 391. Click Detector not registering change in multi-threading -option.

+Bug 391. Click Detector not registering change in multi-threading option.

10.        @@ -1611,9 +1614,9 @@ position for hydrophone 0.

Upgrades

1.        -Better way of coupling scrollers in User Display panels - see new options in -main menu.

+lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>       Better way of coupling scrollers in User Display panels - +see new options in main menu.

2.        @@ -1702,8 +1705,8 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> &nb

10.        -Bug 376. Error when using a serialised data map which spans a period of time -in which Pamguard modules have changed.

+Bug 376. Error when using a serialised data map which spans a period of +time in which Pamguard modules have changed.

11.        @@ -1743,8 +1746,7 @@ will be converted.

4.        -Many updates to the Video Range module. Will currently only work with -landmarks.

+Many updates to the Video Range module. Will currently only work with landmarks.

@@ -1807,8 +1809,8 @@ Beta versions

11.        -Bug 366. Rocca manual whistle contour extraction throws error when -trying to classify a boxed whistle

+Bug 366. Rocca manual whistle contour extraction throws error when trying +to classify a boxed whistle

Upgrades

@@ -1877,8 +1879,8 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'> &nb

10.       -Bug 354. Whistle Classifier was crashing if user accidentally entered -invalid parameters. Have added diagnostics to prevent this.

+Bug 354. Whistle Classifier was crashing if user accidentally entered invalid +parameters. Have added diagnostics to prevent this.

Upgrades

@@ -2023,11 +2025,11 @@ Note that this display is only available if you are running Java 8 or later. Event Marking and the Detection Group Localiser -

A new system of event marking which can be -used both online and offline has been added to PAMGuard. Details are in the -PAMGuard help file (Displays/Display Marking). Data can be selected on the Map, -the Spectrogram Display and the new Time Display FX in a similar way and sent -to other PAMGuard modules. The new marking and data selection system works with +

A new system of event marking which can be used +both online and offline has been added to PAMGuard. Details are in the PAMGuard +help file (Displays/Display Marking). Data can be selected on the Map, the +Spectrogram Display and the new Time Display FX in a similar way and sent to +other PAMGuard modules. The new marking and data selection system works with the new Detection Group Localiser. The Detection Group Localiser extends the functionality which always existed in the click detector to other types of data (e.g. Whistles) so that they can be grouped and tracked using target motion @@ -2114,14 +2116,14 @@ switches/parameters to be included in *.ini files.

1.       -Bug 308. Map Overlay Control. Storage of data -saying what get's plotted on each map and for how long became corrupted and the -list grew to a ridiculous size. Code has been put in place to a) stop it -happening again and b) to repair any configuration files which are corrupted. -Corrupted files will be slow to load, slow to save and will be > several -megabytes in size. It may be necessary to delete the PamguardSettings table in -any databases since these too may have become oversized which will slow down viewer -mode PAMGuard start-up.

+Bug 308. Map Overlay Control. Storage of data saying +what get's plotted on each map and for how long became corrupted and the list +grew to a ridiculous size. Code has been put in place to a) stop it happening +again and b) to repair any configuration files which are corrupted. Corrupted +files will be slow to load, slow to save and will be > several megabytes in +size. It may be necessary to delete the PamguardSettings table in any databases +since these too may have become oversized which will slow down viewer mode +PAMGuard start-up.

2.       @@ -2152,8 +2154,8 @@ happens when the user selects save as new configuration. This has been fixed.

       Bug 315. code searched for file in working folder, which is the installation folder when starting PAMGuard using a shortcut link. But when -double-clicking on a psf, the working folder is the location of the psf. This -has been fixed.

+double-clicking on a psf, the working folder is the location of the psf. This has +been fixed.

7.      Module code development remains largely unchanged, in most cases simply requiring the addition of an interface class. - Instructions for the development of new modules utilizing the plug-in -scheme can be found here.  Plug-in modules can be downloaded from the PAMGuard website here, but developers are encouraged to host and maintain their own modules.

@@ -2191,8 +2193,8 @@ own modules.

Modules of interest to the general PAM community will remain as part of the core PAMGuard installation. However, specialized modules which are useful to only a small number of users have been -removed and are available as a separate download. The following modules have -been removed:

+removed and are available as a separate download. The following modules have been +removed:

1.            @@ -2374,9 +2376,9 @@ the database.

2.       -The number of data streams associated with the click -detector has been tidied up so that there are a) All Click, b) Tracked Clicks -(those which are part of an event) and c) Events.

+The number of data streams associated with the click detector +has been tidied up so that there are a) All Click, b) Tracked Clicks (those +which are part of an event) and c) Events.

3.       @@ -2392,9 +2394,9 @@ automatic click train identification and tracking.

5.       -The automatic click train identification is now using the -same internal structures as the manual tracking, so it's possible to combine -automatic and manual tracking.

+The automatic click train identification is now using +the same internal structures as the manual tracking, so it's possible to +combine automatic and manual tracking.

6.       @@ -2474,8 +2476,9 @@ today. 

5.        -Bug 277. Text fields in classifier dialog were not large enough to display -times greater than 10ms. We have increased length of text fields in the dialog.

+Bug 277. Text fields in classifier dialog were not large enough to +display times greater than 10ms. We have increased length of text fields in the +dialog.

6.        @@ -2493,8 +2496,8 @@ style='font-size:7.0pt;font-family:"Times New Roman",serif'>   &n Bug 279. GUI Resizing: The whole PAMGuard GUI would suddenly resize to something very small when a dialog is opened. This has been traced to improper use of a common dialog component SourcePanel which tries to repack its parent -Window. Some programmers had inadvertently set it to repack the main PAMGuard GUI -instead. This has been Fixed.

+Window. Some programmers had inadvertently set it to repack the main PAMGuard +GUI instead. This has been Fixed.

8.        @@ -2568,8 +2571,8 @@ and datagram creation.

Version 1.15.00 February 2016

-

Beta Version 1.15.00 64 bit and Core version -1.15.00 32 bit. Both using identical Java core software but linking to +

Beta Version 1.15.00 64 bit and Core +version 1.15.00 32 bit. Both using identical Java core software but linking to different libraries for control of sound input devices.

This is the first release of a 64 bit @@ -2637,12 +2640,12 @@ boundaries when file durations are set to a maximum fixed value.

5.       -Bug 262. Access to SQLite database conversion. This would fail when -tables were present which were not created by PAMGuard.  Fixes have been -put in place for spaces in the table name or for not having an 'Id' column. -Fixes have not been implemented for spaces in a column name or use of a -reserved word as a column name, however if either of these problems do exist it -will no longer crash but issue a clear warning and carry onto the next table.

+Bug 262. Access to SQLite database conversion. This would fail when tables +were present which were not created by PAMGuard.  Fixes have been put in +place for spaces in the table name or for not having an 'Id' column. Fixes have +not been implemented for spaces in a column name or use of a reserved word as a +column name, however if either of these problems do exist it will no longer +crash but issue a clear warning and carry onto the next table.

 

@@ -2815,9 +2818,9 @@ lang=EN-US>1. +tab of the spectrogram configuration dialog, and also right click on the spectrogram +and select to display the annotations. Annotations are saved to the database so +you will also need a database module in your configuration.  

2.              @@ -2877,8 +2880,8 @@ minutes and seconds. Now correctly displays the number of remaining days.

4.              -Bug 226. Spectrogram Mark Observer list doesn't refresh when modules added -or removed.

+
Bug 226. Spectrogram Mark Observer list doesn't refresh when modules +added or removed.

5.              @@ -3071,12 +3074,12 @@ marine mammal survey package. See online help for details.

Alarms (Utilities Group)

-

This is a general system of visual and audio alarms -developed by Doug Gillespie for use on a variety of projects. The alarms can be -coupled to any module or detector in PAMGuard. Where appropriate, modules can -control which of their data will cause an alarm action (e.g. in the Click -detector you can set which types of classified click will fire the alarm). See -online help for details.  

+

This is a general system of visual and audio alarms developed +by Doug Gillespie for use on a variety of projects. The alarms can be coupled +to any module or detector in PAMGuard. Where appropriate, modules can control +which of their data will cause an alarm action (e.g. in the Click detector you +can set which types of classified click will fire the alarm). See online help +for details.  

Noise Band Monitor (Sound Processing Group)

@@ -3140,8 +3143,8 @@ Millisecond time is also now included in the output file names.

Datagram options in Viewer have been improved so that the user has to verify the time binning for datagrams the first time the viewer is -run and can also change the time bins from the File menu (See the -File/BinaryStore/Datagram options menu.

+run and can also change the time bins from the File menu (See the File/BinaryStore/Datagram +options menu.

Viewer Configuration

@@ -3274,9 +3277,9 @@ other data sources for the PAMGuard viewer.

Database

-

Can now copy data from binary storage -to the database offline for any module having both binary and database storage. -

+

Can now copy data from binary +storage to the database offline for any module having both binary and database +storage.

Can create a blank MS Access database (2007 and later *.accdb formats only).

@@ -3468,9 +3471,9 @@ Symbol'>''         Offline event marking. Offline event marking similar to functionality in -RainbowClick is now available in the PAMGUARD viewer. Event summary data is stored -in the database and can also be exported to text files (e.g. for importing into -the Distance software). 

+RainbowClick is now available in the PAMGUARD viewer. Event summary data is +stored in the database and can also be exported to text files (e.g. for +importing into the Distance software). 

'         @@ -3577,8 +3580,8 @@ the correct data stream. This has been fixed.

'         Whistle classifier has some new features in the classifier training -panel. It is also now possible to export training data files directly from -binary data files.

+panel. It is also now possible to export training data files directly from binary +data files.

'         @@ -3617,11 +3620,11 @@ Symbol'>'Version 1.8.01 Beta February 2010 @@ -3929,17 +3932,17 @@ classifier is still available).

'         -Bearing ambiguity resolution for planar and volumetric arrays. New features -in array dialog for estimations of errors on array location. These feed into to -a maximum likelihood estimate of angles from small 2D or 3D sub arrays to give -two polar angle coordinates. this can be used to resolve left right ambiguity -and is implemented for both the click and the whistle/moan detectors. As a -result, the click detector bearing time display can now be set to go from -180 -to 180 degrees rather than 0 - 180 degrees. In this case, clicks in the upper -half of the bearing display will be to port and clicks in the right half will -be to starboard. As you pass a whale which is to port, the clicks will move UP -the display. In the long term, I hope to turn this display around so that time -is up the screen rather than across. 

+
Bearing ambiguity resolution for planar and volumetric arrays. New +features in array dialog for estimations of errors on array location. These +feed into to a maximum likelihood estimate of angles from small 2D or 3D sub arrays +to give two polar angle coordinates. this can be used to resolve left right +ambiguity and is implemented for both the click and the whistle/moan detectors. +As a result, the click detector bearing time display can now be set to go from +-180 to 180 degrees rather than 0 - 180 degrees. In this case, clicks in the +upper half of the bearing display will be to port and clicks in the right half +will be to starboard. As you pass a whale which is to port, the clicks will +move UP the display. In the long term, I hope to turn this display around so +that time is up the screen rather than across. 

Small features and bug fixes

@@ -4134,10 +4137,10 @@ help pages

Bug Fixes

-

Memory leak caused by Night / Day colour manager now fixed. This -would cause memory leaks when multiple files were being analysed off-line and -would eventually crash PAMGUARD. The way that colours are managed in PAMGUARD -has been rewritten. 

+

Memory leak caused by Night / Day colour manager now fixed. +This would cause memory leaks when multiple files were being analysed off-line +and would eventually crash PAMGUARD. The way that colours are managed in +PAMGUARD has been rewritten. 

Some issues with Swing fixed that might have been causing hang ups on startup especially on Macs/Linux machines

@@ -4208,8 +4211,8 @@ file)

Changes

-

The User Input module (for text entry of information by the user) -has been moved from the Displays sub menu of the Add Modules menu, to +

The User Input module (for text entry of information by the +user) has been moved from the Displays sub menu of the Add Modules menu, to Utilities. This will not affect how existing settings files are loaded.

Multi-screen environments.

@@ -4228,8 +4231,8 @@ acquisition. 

Bug fixes

-

Speed up of graphics, particularly regarding large -quantities of gps track  data

+

Speed up of graphics, particularly regarding large quantities +of gps track  data

National Instruments cards with names > 20 characters long are now correctly  recognised.

@@ -4380,8 +4383,8 @@ channels or textual content change.

'         -Model viewer. Have stopped it from jumping on top of the main PAMGUARD  display -when dialogs are closed.

+Model viewer. Have stopped it from jumping on top of the main PAMGUARD + display when dialogs are closed.

'         diff --git a/pom.xml b/pom.xml index 50cfd095..e7899aa6 100644 --- a/pom.xml +++ b/pom.xml @@ -4,7 +4,7 @@ 4.0.0 org.pamguard Pamguard - 2.02.04ac + 2.02.05 Pamguard Java12+ Pamguard for Java 12+, using Maven to control dependcies www.pamguard.org diff --git a/src/clickDetector/BTDisplayParameters.java b/src/clickDetector/BTDisplayParameters.java index ff1cf50b..143b3eab 100644 --- a/src/clickDetector/BTDisplayParameters.java +++ b/src/clickDetector/BTDisplayParameters.java @@ -28,11 +28,11 @@ public class BTDisplayParameters implements Serializable, Cloneable, ManagedPara public static final String[] angleTypeNames = {"Relative to array", "Relative to vessel", "Relative to north"}; /** - * Rotation options for angles. + * Rotation options for angles. These should match the above angleTypeNames. */ static public final int ROTATE_TOARRAY = 0; // no rotation, raw angles relative to the array - static public final int ROTATE_PITCHROLL = 1; // fix pitch and roll, but leave the heading relative to the array - static public final int ROTATE_HEADPITCHROLL = 2; // rotate by heading pitch and roll. + static public final int ROTATE_TOVESSEL = 1; // fix pitch and roll, but leave the heading relative to the array + static public final int ROTATE_TONORTH = 2; // rotate by heading pitch and roll. // main BT display diff --git a/src/clickDetector/ClickBTDisplay.java b/src/clickDetector/ClickBTDisplay.java index 9d12e744..b56104e2 100644 --- a/src/clickDetector/ClickBTDisplay.java +++ b/src/clickDetector/ClickBTDisplay.java @@ -1642,16 +1642,26 @@ public class ClickBTDisplay extends ClickDisplay implements PamObserver, PamSett double[] rotAngles = new double[3]; rotAngles[1] = Math.toRadians(oll.getPitch()); rotAngles[2] = Math.toRadians(oll.getRoll()); - if (rType == BTDisplayParameters.ROTATE_HEADPITCHROLL) { + if (rType == BTDisplayParameters.ROTATE_TOVESSEL) { // use head as well as pitch and roll. - rotAngles[0] = Math.toRadians(oll.getHeading()); + PamVector[] vr = loc.getWorldVectors(); + if (vr != null && vr.length > 0) { + return vr[0]; + } +// rotAngles[0] = Math.toRadians(oll.getHeading()); } - if (rotAngles[0] == 0 && rotAngles[1] == 0 && rotAngles[2] == 0) { - return v; + else if (rType == BTDisplayParameters.ROTATE_TONORTH) { + PamVector[] vr = loc.getRealWorldVectors(); + if (vr != null && vr.length > 0) { + return vr[0]; + } } - PamQuaternion pq = new PamQuaternion(rotAngles[0], rotAngles[1], rotAngles[2]); - PamVector v2 = PamVector.rotateVector(v, pq); - return v2; +// if (rotAngles[0] == 0 && rotAngles[1] == 0 && rotAngles[2] == 0) { +// return v; +// } +// PamQuaternion pq = new PamQuaternion(rotAngles[0], rotAngles[1], rotAngles[2]); +// PamVector v2 = PamVector.rotateVector(v, pq); + return v; } private double angleFromYPos(int yPos) { diff --git a/src/help/detectors/ClickTrainDetector/docs/ClickTrainDetector.html b/src/help/detectors/ClickTrainDetector/docs/ClickTrainDetector.html index 6c080887..9be1f7ec 100644 --- a/src/help/detectors/ClickTrainDetector/docs/ClickTrainDetector.html +++ b/src/help/detectors/ClickTrainDetector/docs/ClickTrainDetector.html @@ -498,7 +498,7 @@ plotted on the time-based display by adding Click detections to the display and then using the right

- +