From 02212b5b5628ff45b9b5bb5e27e5ced505747150 Mon Sep 17 00:00:00 2001
From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue, 23 Aug 2022 14:08:00 +0100
Subject: [PATCH 1/3] Two CTD's
fix a few problems associated with two click train detectors.
---
pom.xml | 2 +-
src/PamView/symbol/PamSymbolManager.java | 9 +++++++++
src/clickTrainDetector/ClickTrainProcess.java | 13 ++++++++++---
src/clickTrainDetector/layout/CTFXGUI.java | 2 +-
.../layout/ClickTrainAlgorithmPaneFX.java | 2 +-
.../layout/dataselector/CTDataSelectPanel.java | 2 +-
src/pamViewFX/fxNodes/utilsFX/PamUtilsFX.java | 11 +++++++++++
7 files changed, 34 insertions(+), 7 deletions(-)
diff --git a/pom.xml b/pom.xml
index e187f178..f6ac7553 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
org.pamguard
Pamguard
- 2.02.04a
+ 2.02.04d
Pamguard Java12+
Pamguard for Java 12+, using Maven to control dependcies
www.pamguard.org
diff --git a/src/PamView/symbol/PamSymbolManager.java b/src/PamView/symbol/PamSymbolManager.java
index 31264eda..96d74f46 100644
--- a/src/PamView/symbol/PamSymbolManager.java
+++ b/src/PamView/symbol/PamSymbolManager.java
@@ -222,6 +222,9 @@ abstract public class PamSymbolManager implements Pa
* @param psc
*/
private void addSuperDetectionModifiers(PamSymbolChooser psc) {
+ /**
+ * This is going in an infinite loop. Need to do something to stop it !
+ */
ArrayList superDetBlocks = OfflineSuperDetFilter.findPossibleSuperDetections(getPamDataBlock());
// Debug.out.println("The number of super det datablock is: " + superDetBlocks + " for the chooser: " + psc);
@@ -233,6 +236,12 @@ abstract public class PamSymbolManager implements Pa
if (superMan == null) {
continue;
}
+ if (superBlock == getPamDataBlock()) {
+ continue;
+ }
+ if (superBlock.getClass() == getPamDataBlock().getClass()) {
+ continue;
+ }
// Debug.out.println("The number of super det datablock superMan: " + superMan + " for the chooser: " + psc);
PamSymbolChooser superSC = superMan.getSymbolChooser("Super det': " + psc.getDisplayName(), psc.getProjector());
diff --git a/src/clickTrainDetector/ClickTrainProcess.java b/src/clickTrainDetector/ClickTrainProcess.java
index 76b4ca6a..54f7b9f6 100644
--- a/src/clickTrainDetector/ClickTrainProcess.java
+++ b/src/clickTrainDetector/ClickTrainProcess.java
@@ -86,13 +86,20 @@ public class ClickTrainProcess extends PamInstantProcess {
//TODO - this is a bit messy. Ideally probably should have the datablock's long name in the settings but
//this would break previous configurations...
- sourceDataBlock = PamController.getInstance().getDataBlock(ClickDetection.class,
- getClickTrainParams().dataSourceName);
+// sourceDataBlock = PamController.getInstance().getDataBlock(ClickDetection.class,
+// getClickTrainParams().dataSourceName);
+ /*
+ * Identify by long name since that is unique, otherwise doesn't work with multiple click detectors.
+ */
+ sourceDataBlock = PamController.getInstance().getDataBlockByLongName(getClickTrainParams().dataSourceName);
+ if (sourceDataBlock == null) {
+ // otherwise find any click detector.
+ sourceDataBlock = PamController.getInstance().getDataBlock(ClickDetection.class, 0);
+ }
if (sourceDataBlock==null) {
sourceDataBlock = PamController.getInstance().getDataBlock(CPODClick.class,
getClickTrainParams().dataSourceName);
-
}
//System.out.println("CPOD sample rate: " + sourceDataBlock.getSampleRate());
diff --git a/src/clickTrainDetector/layout/CTFXGUI.java b/src/clickTrainDetector/layout/CTFXGUI.java
index bdf3098c..e0839fac 100644
--- a/src/clickTrainDetector/layout/CTFXGUI.java
+++ b/src/clickTrainDetector/layout/CTFXGUI.java
@@ -61,7 +61,7 @@ public class CTFXGUI extends PamControlledGUIFX {
//data source may have potentially changed. e.g. by a datamodelfx Need to set in params.
//System.out.println("FFTControl: CHANGED_PROCESS_SETTINGS : " +fftProcess.getParentDataBlock());
if (clickTrainControl.getClickTrainProcess().getParentDataBlock()!=null){
- clickTrainControl.getClickTrainParams().dataSourceName=clickTrainControl.getClickTrainProcess().getParentDataBlock().getDataName();
+ clickTrainControl.getClickTrainParams().dataSourceName=clickTrainControl.getClickTrainProcess().getParentDataBlock().getLongDataName();
}
else clickTrainControl.getClickTrainParams().dataSourceName="";
break;
diff --git a/src/clickTrainDetector/layout/ClickTrainAlgorithmPaneFX.java b/src/clickTrainDetector/layout/ClickTrainAlgorithmPaneFX.java
index 50af611e..17d0054a 100644
--- a/src/clickTrainDetector/layout/ClickTrainAlgorithmPaneFX.java
+++ b/src/clickTrainDetector/layout/ClickTrainAlgorithmPaneFX.java
@@ -408,7 +408,7 @@ public class ClickTrainAlgorithmPaneFX extends SettingsPane {
public ClickTrainParams getParams(ClickTrainParams currParams) {
try {
currParams.dataSourceIndex = sourcePane.getSourceIndex();
- currParams.dataSourceName = sourcePane.getSourceName();
+ currParams.dataSourceName = sourcePane.getSourceLongName();
//use the data selector.
diff --git a/src/clickTrainDetector/layout/dataselector/CTDataSelectPanel.java b/src/clickTrainDetector/layout/dataselector/CTDataSelectPanel.java
index 183f2772..ace692d8 100644
--- a/src/clickTrainDetector/layout/dataselector/CTDataSelectPanel.java
+++ b/src/clickTrainDetector/layout/dataselector/CTDataSelectPanel.java
@@ -366,7 +366,7 @@ public class CTDataSelectPanel implements PamDialogPanel {
return true;
}
catch (Exception e) {
- e.printStackTrace();
+// e.printStackTrace();
return false;
}
}
diff --git a/src/pamViewFX/fxNodes/utilsFX/PamUtilsFX.java b/src/pamViewFX/fxNodes/utilsFX/PamUtilsFX.java
index 19536ab8..a0d976b2 100644
--- a/src/pamViewFX/fxNodes/utilsFX/PamUtilsFX.java
+++ b/src/pamViewFX/fxNodes/utilsFX/PamUtilsFX.java
@@ -14,7 +14,9 @@ import javax.swing.JCheckBoxMenuItem;
import javax.swing.JMenu;
import javax.swing.JMenuItem;
import javax.swing.JPopupMenu;
+import javax.swing.JPopupMenu.Separator;
import javax.swing.JRadioButtonMenuItem;
+import javax.swing.JSeparator;
import javax.swing.SwingUtilities;
import PamView.PamSymbol;
@@ -197,6 +199,12 @@ public class PamUtilsFX {
if (JMenuItem.class.isAssignableFrom(item.getClass())) {
itemList.add(swingMenuItemToFX( (JMenuItem) item));
}
+ else {
+ Component unkItem = item;
+ if (item instanceof Separator) {
+// MenuItem mi = new Separator();
+ }
+ }
}
return itemList;
@@ -300,6 +308,9 @@ public class PamUtilsFX {
radioItem.setSelected(((JRadioButtonMenuItem) swingItem).isSelected());
}
+// else if (swingItem.getClass() == JSeparator.class) {
+//
+// }
if (fxItem == null) {
return null;
}
From c641c58e4f524f0c8beb3967c9fec8b34c412121 Mon Sep 17 00:00:00 2001
From: Jamie Mac
Date: Tue, 23 Aug 2022 14:19:28 +0100
Subject: [PATCH 2/3] Bug fixes to click train detector (#51)
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Screenshots
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* More screenshots
* Add screenshots
* Update click_train_help.md
* Add classifier screenshot
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Update click_train_help.md
* Update POM with latest jdl4pam
* Add screenshots for click train detector help
* Screenshots
* Update click_train_help.md
* Defult option for CPOD and porpoise to click train detector.
Also a minor
* Update pom.xml
* Bug fix for raw spectrogram in TDDisplayFX
* Update KetosClassifier.java
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Screenshots
* Update click_train_help.md
* More screenshots
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots
* Add classifier screenshot
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots for click train detector help
* Screenshots
* Update click_train_help.md
* Defult option for CPOD and porpoise to click train detector.
Also a minor
* Bug fix for raw spectrogram in TDDisplayFX
* Update KetosClassifier.java
* Fix standard classifier JSON logging
* Update click_train_help.md
* Fixed bug in sweep classifier when using SoundTrap click detections
* Added some colour averaging in the TFDisplayFX spectrgoram
* Bug fix for rainbow click bearings
Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup
* Google humpback whale deep learning classifier
Google's humpback whale deep learning classifier can now be imported.
Updated TDisplayFX to make the data selection panes cleaner and clearer.
Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.
* Updated the prediction plots on time display
Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.
* Updates to TDisplayFX
yFIshmael now owrks with TDisplayFX
TDisplayFX UI changes to make simpler.
Some abstraction for drawing lines on TDisplayFX
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Screenshots
* Update click_train_help.md
* More screenshots
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots
* Add classifier screenshot
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots for click train detector help
* Screenshots
* Update click_train_help.md
* Defult option for CPOD and porpoise to click train detector.
Also a minor
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Bug fix for raw spectrogram in TDDisplayFX
* Update KetosClassifier.java
* Fix standard classifier JSON logging
* Fixed bug in sweep classifier when using SoundTrap click detections
* Added some colour averaging in the TFDisplayFX spectrgoram
* Bug fix for rainbow click bearings
Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup
* Google humpback whale deep learning classifier
Google's humpback whale deep learning classifier can now be imported.
Updated TDisplayFX to make the data selection panes cleaner and clearer.
Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.
* Updated the prediction plots on time display
Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.
* Updates to TDisplayFX
yFIshmael now owrks with TDisplayFX
TDisplayFX UI changes to make simpler.
Some abstraction for drawing lines on TDisplayFX
* Merge fixes to click train detector
* Bug fix to UI
* Updates to FX GUI
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Screenshots
* Updates and bug fixes to click train detector and CPOD importer
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Updates and bug fixes to click train detector and CPOD importer
* Fix standard classifier JSON logging
* Merge fixes to click train detector
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Screenshots
* Updates and bug fixes to click train detector and CPOD importer
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Screenshots
* Updates and bug fixes to click train detector and CPOD importer
* Fix standard classifier JSON logging
* Google humpback whale deep learning classifier
Google's humpback whale deep learning classifier can now be imported.
Updated TDisplayFX to make the data selection panes cleaner and clearer.
Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.
* Bug fix to UI
* Bug fixes to FX GUI
* Updates to click train detector
* Squashed commit of the following:
commit 9f998165ee95dbb16acaf420876f3aeab75c2158
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon May 2 19:40:24 2022 +0100
Updates to support ContactCollator plugin (#33)
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* fix problem in SummaryComand
* Update command line options
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* Update command line options
* Update DecimatorParams.java
* couple of updates to support new contact collator plugin
* Sorting out sample rate info in clip display to support Contact Collator
plugin
* FLAC Speed
Improve flac speed
* Update .gitignore
* Update .gitignore
* Updates to support new features in Contact Collator
* Small update to RawDatautils to handle null data
* Updates to click train detector
* Squashed commit of the following:
commit 62b020b3204aa56189b1c2da88bcbb9f49140936
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Sat May 14 06:52:20 2022 +0100
Add a new offlinefileslist function
commit 3a9a5311aa529b66340f6ae322f88905b911947a
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Wed Apr 27 09:43:31 2022 +0100
Update .gitignore
commit 9f998165ee95dbb16acaf420876f3aeab75c2158
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon May 2 19:40:24 2022 +0100
Updates to support ContactCollator plugin (#33)
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* fix problem in SummaryComand
* Update command line options
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* Update command line options
* Update DecimatorParams.java
* couple of updates to support new contact collator plugin
* Sorting out sample rate info in clip display to support Contact Collator
plugin
* FLAC Speed
Improve flac speed
* Update .gitignore
* Update .gitignore
* Updates to support new features in Contact Collator
* Small update to RawDatautils to handle null data
* Updated data selector for click train detector
* Click train detector updates and bug fixes
Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.
Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.
* Bug fix and improvements for Ketos
Ketos models now automatically set the correct sample length when loaded.
Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.
* Updates to deep learning and FX GUI
Added some more example sounds to deep learning UI.
Updated click detector in the FX GUI.
* PAMGuard FX sound output update
* Updates to FX GUI
* Updates to FX GUI
* Update RawDataTransforms.java
* Fixes to FX UI
* Squashed commit of the following:
commit 11ba8bf91e1cd55e4305c4060a379f9ff0c58c4d
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:45:47 2022 +0100
MErge from DG Branch (#47)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
* UDP Control
Added multiport functionality
commit 9a9f542d95b6cbc571d60a2250a2d4accf8dc4b3
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:42:45 2022 +0100
Merge DG to Main (#46)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
* UDP Control
Added multiport functionality
commit 49cd547aee3e4366e1aaa51b8fe7418199c2ad73
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:40:29 2022 +0100
Merge DG branch (#45)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
* UDP Control
Added multiport functionality
commit 016cfd0da54021dcbe787f0a20856604b81bf7af
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:35:06 2022 +0100
Dialog positioning
New functions to better positions dialogs on screen
commit c9f2ab3e97ec289ee8c1bcfe4531c84f77ee7fa8
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon Aug 1 11:13:24 2022 +0100
puch to main (#44)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
commit 55f5a3fcf12c6c8a727318a17f9dece401adc9f3
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon Aug 1 10:59:36 2022 +0100
Group detections menu
Small changes to limit the number of menu items in "Add to existing
group" to a maximum of 25 entries.
commit b3f6c0e6657de91a7e015a48f5f218f60f23c5f5
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Fri Jul 29 10:50:45 2022 +0100
Handle -nogui option in PamWorker
PamWorker used to catalog files at startup (if a file folder input
system is used). This creates a progress dialog. Stop it appearing in
-nogui operations.
commit 8569b6b579659cba8229596e91c35355bc5ed61b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Fri Jul 22 08:30:47 2022 +0100
Click display fixes (#41)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
commit 128a512ff60c26b5acedd76de96c0905c6bf27ae
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue Jul 19 16:37:57 2022 +0100
Another attempt at stopping it crashing on a headless system
Dealing with displays that get created for clickangle vetos and a call
to the gui in the click train detector.
commit 6eaa6e4978b2483e5828ca4a3914c58d7a9cfe2d
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue Jul 19 08:20:07 2022 +0100
nogoi fix for headless systems. (#40)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
commit 9fdd30556bf391428e1d3f2f9e91dbbdf771fa84
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue Jul 12 15:53:07 2022 +0100
Variable sound output level (#39)
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Bug fixes to click train detector
Fixed bug with number of coasts in the MHT Kernel
Added an option for amplitude to have a maximum
Removed print statements.
* Bug fix for click train logging
The size of the string classifers field was dynamically set - this was a bug.
* Bug fixes to the click train detector
Bearing classifier section now updates properly when dialog reopened
Fixed rare bug when garbage bot attempts to find the last data unit in a list of zero units.
* Squashed commit of the following:
commit 5a37bfe915925ea2307dd09928538c7e639ca52c
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Fri Aug 19 08:17:06 2022 +0100
Changes from DG branch (#50)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
* UDP Control
Added multiport functionality
* Java version
Changes unpacker to deal with non numeric characters on Linux
* Fix to getVersion()
So new version of this command should now work on Linux and Windows.
* Multiport test
Quick tester for multiport comms
* Spectrogram display
Stop spectrogram display continually recreating panels since it was
unsubscribing discarded ones and sometimes causing crash in observable
notifications.
* Backup manager bug
Error if no database. Fixed.
commit b08e86e330c5ca2de4b6902eb7ec514f47278a7c
Author: Jamie Mac
Date: Wed Aug 17 09:16:52 2022 +0100
Bug fix for click train detector (#49)
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Screenshots
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* More screenshots
* Add screenshots
* Update click_train_help.md
* Add classifier screenshot
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Update click_train_help.md
* Update POM with latest jdl4pam
* Add screenshots for click train detector help
* Screenshots
* Update click_train_help.md
* Defult option for CPOD and porpoise to click train detector.
Also a minor
* Update pom.xml
* Bug fix for raw spectrogram in TDDisplayFX
* Update KetosClassifier.java
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Screenshots
* Update click_train_help.md
* More screenshots
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots
* Add classifier screenshot
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots for click train detector help
* Screenshots
* Update click_train_help.md
* Defult option for CPOD and porpoise to click train detector.
Also a minor
* Bug fix for raw spectrogram in TDDisplayFX
* Update KetosClassifier.java
* Fix standard classifier JSON logging
* Update click_train_help.md
* Fixed bug in sweep classifier when using SoundTrap click detections
* Added some colour averaging in the TFDisplayFX spectrgoram
* Bug fix for rainbow click bearings
Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup
* Google humpback whale deep learning classifier
Google's humpback whale deep learning classifier can now be imported.
Updated TDisplayFX to make the data selection panes cleaner and clearer.
Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.
* Updated the prediction plots on time display
Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.
* Updates to TDisplayFX
yFIshmael now owrks with TDisplayFX
TDisplayFX UI changes to make simpler.
Some abstraction for drawing lines on TDisplayFX
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Screenshots
* Update click_train_help.md
* More screenshots
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots
* Add classifier screenshot
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots for click train detector help
* Screenshots
* Update click_train_help.md
* Defult option for CPOD and porpoise to click train detector.
Also a minor
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Bug fix for raw spectrogram in TDDisplayFX
* Update KetosClassifier.java
* Fix standard classifier JSON logging
* Fixed bug in sweep classifier when using SoundTrap click detections
* Added some colour averaging in the TFDisplayFX spectrgoram
* Bug fix for rainbow click bearings
Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup
* Google humpback whale deep learning classifier
Google's humpback whale deep learning classifier can now be imported.
Updated TDisplayFX to make the data selection panes cleaner and clearer.
Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.
* Updated the prediction plots on time display
Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.
* Updates to TDisplayFX
yFIshmael now owrks with TDisplayFX
TDisplayFX UI changes to make simpler.
Some abstraction for drawing lines on TDisplayFX
* Merge fixes to click train detector
* Bug fix to UI
* Updates to FX GUI
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Screenshots
* Updates and bug fixes to click train detector and CPOD importer
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Updates and bug fixes to click train detector and CPOD importer
* Fix standard classifier JSON logging
* Merge fixes to click train detector
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Screenshots
* Updates and bug fixes to click train detector and CPOD importer
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Screenshots
* Updates and bug fixes to click train detector and CPOD importer
* Fix standard classifier JSON logging
* Google humpback whale deep learning classifier
Google's humpback whale deep learning classifier can now be imported.
Updated TDisplayFX to make the data selection panes cleaner and clearer.
Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.
* Bug fix to UI
* Bug fixes to FX GUI
* Updates to click train detector
* Squashed commit of the following:
commit 9f998165ee95dbb16acaf420876f3aeab75c2158
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon May 2 19:40:24 2022 +0100
Updates to support ContactCollator plugin (#33)
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* fix problem in SummaryComand
* Update command line options
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* Update command line options
* Update DecimatorParams.java
* couple of updates to support new contact collator plugin
* Sorting out sample rate info in clip display to support Contact Collator
plugin
* FLAC Speed
Improve flac speed
* Update .gitignore
* Update .gitignore
* Updates to support new features in Contact Collator
* Small update to RawDatautils to handle null data
* Updates to click train detector
* Squashed commit of the following:
commit 62b020b3204aa56189b1c2da88bcbb9f49140936
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Sat May 14 06:52:20 2022 +0100
Add a new offlinefileslist function
commit 3a9a5311aa529b66340f6ae322f88905b911947a
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Wed Apr 27 09:43:31 2022 +0100
Update .gitignore
commit 9f998165ee95dbb16acaf420876f3aeab75c2158
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon May 2 19:40:24 2022 +0100
Updates to support ContactCollator plugin (#33)
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* fix problem in SummaryComand
* Update command line options
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* Update command line options
* Update DecimatorParams.java
* couple of updates to support new contact collator plugin
* Sorting out sample rate info in clip display to support Contact Collator
plugin
* FLAC Speed
Improve flac speed
* Update .gitignore
* Update .gitignore
* Updates to support new features in Contact Collator
* Small update to RawDatautils to handle null data
* Updated data selector for click train detector
* Click train detector updates and bug fixes
Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.
Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.
* Bug fix and improvements for Ketos
Ketos models now automatically set the correct sample length when loaded.
Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.
* Updates to deep learning and FX GUI
Added some more example sounds to deep learning UI.
Updated click detector in the FX GUI.
* PAMGuard FX sound output update
* Updates to FX GUI
* Updates to FX GUI
* Update RawDataTransforms.java
* Fixes to FX UI
* Squashed commit of the following:
commit 11ba8bf91e1cd55e4305c4060a379f9ff0c58c4d
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:45:47 2022 +0100
MErge from DG Branch (#47)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
* UDP Control
Added multiport functionality
commit 9a9f542d95b6cbc571d60a2250a2d4accf8dc4b3
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:42:45 2022 +0100
Merge DG to Main (#46)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
* UDP Control
Added multiport functionality
commit 49cd547aee3e4366e1aaa51b8fe7418199c2ad73
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:40:29 2022 +0100
Merge DG branch (#45)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
* UDP Control
Added multiport functionality
commit 016cfd0da54021dcbe787f0a20856604b81bf7af
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:35:06 2022 +0100
Dialog positioning
New functions to better positions dialogs on screen
commit c9f2ab3e97ec289ee8c1bcfe4531c84f77ee7fa8
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon Aug 1 11:13:24 2022 +0100
puch to main (#44)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
commit 55f5a3fcf12c6c8a727318a17f9dece401adc9f3
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon Aug 1 10:59:36 2022 +0100
Group detections menu
Small changes to limit the number of menu items in "Add to existing
group" to a maximum of 25 entries.
commit b3f6c0e6657de91a7e015a48f5f218f60f23c5f5
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Fri Jul 29 10:50:45 2022 +0100
Handle -nogui option in PamWorker
PamWorker used to catalog files at startup (if a file folder input
system is used). This creates a progress dialog. Stop it appearing in
-nogui operations.
commit 8569b6b579659cba8229596e91c35355bc5ed61b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Fri Jul 22 08:30:47 2022 +0100
Click display fixes (#41)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
commit 128a512ff60c26b5acedd76de96c0905c6bf27ae
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue Jul 19 16:37:57 2022 +0100
Another attempt at stopping it crashing on a headless system
Dealing with displays that get created for clickangle vetos and a call
to the gui in the click train detector.
commit 6eaa6e4978b2483e5828ca4a3914c58d7a9cfe2d
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue Jul 19 08:20:07 2022 +0100
nogoi fix for headless systems. (#40)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
commit 9fdd30556bf391428e1d3f2f9e91dbbdf771fa84
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue Jul 12 15:53:07 2022 +0100
Variable sound output level (#39)
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Bug fixes to click train detector
Fixed bug with number of coasts in the MHT Kernel
Added an option for amplitude to have a maximum
Removed print statements.
* Bug fix for click train logging
The size of the string classifers field was dynamically set - this was a bug.
Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
commit ef0330173b5a9683fb79c9cb027b207a768ae30c
Author: Jamie Mac
Date: Mon Aug 8 10:32:19 2022 +0100
Click trian detector fixes (#48)
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Screenshots
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* More screenshots
* Add screenshots
* Update click_train_help.md
* Add classifier screenshot
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Update click_train_help.md
* Update POM with latest jdl4pam
* Add screenshots for click train detector help
* Screenshots
* Update click_train_help.md
* Defult option for CPOD and porpoise to click train detector.
Also a minor
* Update pom.xml
* Bug fix for raw spectrogram in TDDisplayFX
* Update KetosClassifier.java
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Screenshots
* Update click_train_help.md
* More screenshots
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots
* Add classifier screenshot
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots for click train detector help
* Screenshots
* Update click_train_help.md
* Defult option for CPOD and porpoise to click train detector.
Also a minor
* Bug fix for raw spectrogram in TDDisplayFX
* Update KetosClassifier.java
* Fix standard classifier JSON logging
* Update click_train_help.md
* Fixed bug in sweep classifier when using SoundTrap click detections
* Added some colour averaging in the TFDisplayFX spectrgoram
* Bug fix for rainbow click bearings
Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup
* Google humpback whale deep learning classifier
Google's humpback whale deep learning classifier can now be imported.
Updated TDisplayFX to make the data selection panes cleaner and clearer.
Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.
* Updated the prediction plots on time display
Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.
* Updates to TDisplayFX
yFIshmael now owrks with TDisplayFX
TDisplayFX UI changes to make simpler.
Some abstraction for drawing lines on TDisplayFX
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Screenshots
* Update click_train_help.md
* More screenshots
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots
* Add classifier screenshot
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Add screenshots for click train detector help
* Screenshots
* Update click_train_help.md
* Defult option for CPOD and porpoise to click train detector.
Also a minor
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Create click_train_help.md
* Update click_train_help.md
* Update click_train_help.md
* Updates and bug fixes to click train detector and CPOD importer
* Bug fix for raw spectrogram in TDDisplayFX
* Update KetosClassifier.java
* Fix standard classifier JSON logging
* Fixed bug in sweep classifier when using SoundTrap click detections
* Added some colour averaging in the TFDisplayFX spectrgoram
* Bug fix for rainbow click bearings
Bug fix when rainbow clicks are imported mean bearings cannot be calculated - was an array size issue in DelayGroup
* Google humpback whale deep learning classifier
Google's humpback whale deep learning classifier can now be imported.
Updated TDisplayFX to make the data selection panes cleaner and clearer.
Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.
* Updated the prediction plots on time display
Deep learning prediciton plots on the time display have now been updated to have some colour options and also act as a legend.
* Updates to TDisplayFX
yFIshmael now owrks with TDisplayFX
TDisplayFX UI changes to make simpler.
Some abstraction for drawing lines on TDisplayFX
* Merge fixes to click train detector
* Bug fix to UI
* Updates to FX GUI
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Screenshots
* Updates and bug fixes to click train detector and CPOD importer
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Updates and bug fixes to click train detector and CPOD importer
* Fix standard classifier JSON logging
* Merge fixes to click train detector
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Screenshots
* Updates and bug fixes to click train detector and CPOD importer
* Updates to click train detector
New GUI for click train classification - more intuitive and allows users to build more powerful classifiers.
CPOD data can now build average waveforms.
CPOD click trains can be viewed in TDisplayFX pop up menu displays
Fixed Peak Frequency symbol chooser so it saves the colour box settings
* Screenshots
* Updates and bug fixes to click train detector and CPOD importer
* Fix standard classifier JSON logging
* Google humpback whale deep learning classifier
Google's humpback whale deep learning classifier can now be imported.
Updated TDisplayFX to make the data selection panes cleaner and clearer.
Updated the TDisplayFX so that predicitons from deep learning models now have some display options e.g. changing colour.
* Bug fix to UI
* Bug fixes to FX GUI
* Updates to click train detector
* Squashed commit of the following:
commit 9f998165ee95dbb16acaf420876f3aeab75c2158
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon May 2 19:40:24 2022 +0100
Updates to support ContactCollator plugin (#33)
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* fix problem in SummaryComand
* Update command line options
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* Update command line options
* Update DecimatorParams.java
* couple of updates to support new contact collator plugin
* Sorting out sample rate info in clip display to support Contact Collator
plugin
* FLAC Speed
Improve flac speed
* Update .gitignore
* Update .gitignore
* Updates to support new features in Contact Collator
* Small update to RawDatautils to handle null data
* Updates to click train detector
* Squashed commit of the following:
commit 62b020b3204aa56189b1c2da88bcbb9f49140936
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Sat May 14 06:52:20 2022 +0100
Add a new offlinefileslist function
commit 3a9a5311aa529b66340f6ae322f88905b911947a
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Wed Apr 27 09:43:31 2022 +0100
Update .gitignore
commit 9f998165ee95dbb16acaf420876f3aeab75c2158
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon May 2 19:40:24 2022 +0100
Updates to support ContactCollator plugin (#33)
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* fix problem in SummaryComand
* Update command line options
* Change synchronization on RawDataTransforms soit uses the owner data
holder, not itself for synchronization. Otherwise you get thread locks.
* Update command line options
* Update DecimatorParams.java
* couple of updates to support new contact collator plugin
* Sorting out sample rate info in clip display to support Contact Collator
plugin
* FLAC Speed
Improve flac speed
* Update .gitignore
* Update .gitignore
* Updates to support new features in Contact Collator
* Small update to RawDatautils to handle null data
* Updated data selector for click train detector
* Click train detector updates and bug fixes
Fixed very annoying bug which meant templates did not show properly when the dialog was first opened in swing.
Added feature to simple classifier were % of clicks of one click classification (or other data selector paramter) can be used to classify.
* Bug fix and improvements for Ketos
Ketos models now automatically set the correct sample length when loaded.
Bug fix for the TDisplayFX - null pointer exception if no class names loaded and sorted recently introduced bug in drawing predictions.
* Updates to deep learning and FX GUI
Added some more example sounds to deep learning UI.
Updated click detector in the FX GUI.
* PAMGuard FX sound output update
* Updates to FX GUI
* Updates to FX GUI
* Update RawDataTransforms.java
* Fixes to FX UI
* Squashed commit of the following:
commit 11ba8bf91e1cd55e4305c4060a379f9ff0c58c4d
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:45:47 2022 +0100
MErge from DG Branch (#47)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
* UDP Control
Added multiport functionality
commit 9a9f542d95b6cbc571d60a2250a2d4accf8dc4b3
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:42:45 2022 +0100
Merge DG to Main (#46)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
* UDP Control
Added multiport functionality
commit 49cd547aee3e4366e1aaa51b8fe7418199c2ad73
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:40:29 2022 +0100
Merge DG branch (#45)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
* UDP Control
Added multiport functionality
commit 016cfd0da54021dcbe787f0a20856604b81bf7af
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Thu Aug 4 11:35:06 2022 +0100
Dialog positioning
New functions to better positions dialogs on screen
commit c9f2ab3e97ec289ee8c1bcfe4531c84f77ee7fa8
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon Aug 1 11:13:24 2022 +0100
puch to main (#44)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
* Work on batch processing, after testing of options to autostart,
autoexit and set wav file folder, database and binary store.
* Update MHTClickTrainAlgorithm.java
Fix unsynchronised access to a datablock in click train detector which was causing index errors.
* Revamp of offline process messaging and control
Includes some databsae logging of completed tasks
* Offline task logging
Bit more work, including notes and database storage of task
reprocessing. Guess this could all become 'proper' PAMGuard data and be
shown in a table on the display but that not priority enough.
* Dialog packing
Fix a couple of dialogs which don't back well on HDPI monitors
commit 55f5a3fcf12c6c8a727318a17f9dece401adc9f3
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Mon Aug 1 10:59:36 2022 +0100
Group detections menu
Small changes to limit the number of menu items in "Add to existing
group" to a maximum of 25 entries.
commit b3f6c0e6657de91a7e015a48f5f218f60f23c5f5
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Fri Jul 29 10:50:45 2022 +0100
Handle -nogui option in PamWorker
PamWorker used to catalog files at startup (if a file folder input
system is used). This creates a progress dialog. Stop it appearing in
-nogui operations.
commit 8569b6b579659cba8229596e91c35355bc5ed61b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Fri Jul 22 08:30:47 2022 +0100
Click display fixes (#41)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
* Click detector display fixes
1. ICI not displaying correctly
2. Component sizes in display dialog on hres monitors
commit 128a512ff60c26b5acedd76de96c0905c6bf27ae
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue Jul 19 16:37:57 2022 +0100
Another attempt at stopping it crashing on a headless system
Dealing with displays that get created for clickangle vetos and a call
to the gui in the click train detector.
commit 6eaa6e4978b2483e5828ca4a3914c58d7a9cfe2d
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue Jul 19 08:20:07 2022 +0100
nogoi fix for headless systems. (#40)
* Variable sound output level
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Code to support nogui operations when no screens present on headless
system
* Fix problem of nogui headless operation trying to access screen size.
commit 9fdd30556bf391428e1d3f2f9e91dbbdf771fa84
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue Jul 12 15:53:07 2022 +0100
Variable sound output level (#39)
Mods to SoundPlayback module to allow additional parameters. Implemented
system for NI cards to allow changes to selected output voltage range
meaning output can be boosted to level higher than current default.
* Bug fixes to click train detector
Fixed bug with number of coasts in the MHT Kernel
Added an option for amplitude to have a maximum
Removed print statements.
Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
---
src/clickTrainDetector/CTDetectionGroupDataUnit.java | 1 +
.../bearingClassifier/BearingClassifier.java | 1 -
.../standardClassifier/StandardClassifier.java | 3 ++-
.../clickTrainAlgorithms/mht/MHTKernel.java | 1 +
.../layout/classification/CTClassifierPane.java | 7 +++++++
.../layout/classification/CTClassifiersPane.java | 1 +
.../bearingClassifier/BearingClassifierGraphics.java | 2 +-
.../bearingClassifier/BearingClassifierPane.java | 3 ++-
src/detectionPlotFX/plots/SpectrumPlot.java | 7 +++++--
9 files changed, 20 insertions(+), 6 deletions(-)
diff --git a/src/clickTrainDetector/CTDetectionGroupDataUnit.java b/src/clickTrainDetector/CTDetectionGroupDataUnit.java
index c0f4cb55..e7464363 100644
--- a/src/clickTrainDetector/CTDetectionGroupDataUnit.java
+++ b/src/clickTrainDetector/CTDetectionGroupDataUnit.java
@@ -46,6 +46,7 @@ public abstract class CTDetectionGroupDataUnit extends DetectionGroupDataUnit im
public int addSubDetections(List list) {
int h = super.addSubDetections(list);
this.calcMinMaxAng();
+
//make sure there is a non null start sample otherwise
//the click trian detector will crash in real time mode.
// this.calcStartSample();
diff --git a/src/clickTrainDetector/classification/bearingClassifier/BearingClassifier.java b/src/clickTrainDetector/classification/bearingClassifier/BearingClassifier.java
index 0507f367..9ff2a1a6 100644
--- a/src/clickTrainDetector/classification/bearingClassifier/BearingClassifier.java
+++ b/src/clickTrainDetector/classification/bearingClassifier/BearingClassifier.java
@@ -154,7 +154,6 @@ public class BearingClassifier implements CTClassifier {
Debug.out.println("SPECIESID!! " + speciesID);
-
return new BearingClassification(speciesID, meanBearingD, medianBearingD, stdBearingD);
}
diff --git a/src/clickTrainDetector/classification/standardClassifier/StandardClassifier.java b/src/clickTrainDetector/classification/standardClassifier/StandardClassifier.java
index eef29887..285e0acd 100644
--- a/src/clickTrainDetector/classification/standardClassifier/StandardClassifier.java
+++ b/src/clickTrainDetector/classification/standardClassifier/StandardClassifier.java
@@ -116,7 +116,7 @@ public class StandardClassifier implements CTClassifier {
for (int i=0; i {
*/
public T getLastDataUnit() {
if (this.dataUnits==null) return null;
+ if (this.dataUnits.size()<1) return null;
return dataUnits.get(dataUnits.size()-1);
}
diff --git a/src/clickTrainDetector/layout/classification/CTClassifierPane.java b/src/clickTrainDetector/layout/classification/CTClassifierPane.java
index 24fdb7d5..6bbc3e60 100644
--- a/src/clickTrainDetector/layout/classification/CTClassifierPane.java
+++ b/src/clickTrainDetector/layout/classification/CTClassifierPane.java
@@ -170,12 +170,17 @@ public class CTClassifierPane extends PamBorderPane {
// break;
// }
// }
+
classifierListBox.getSelectionModel().select(params.type);
+
+
setClassifierPane(params.type);
//species Id
setBasicParams(params);
+
+
// //when setting parameters have to figure out what pane to create first!
// currentClassifier = clickTrainControl.getClassifierManager().createClassifier(params.type);
// //Classifier pane
@@ -197,7 +202,9 @@ public class CTClassifierPane extends PamBorderPane {
*/
private void setClassifierPane(CTClassifierType ctClassifierType) {
if (ctClassifierType==null) return;
+
currentClassifier = clickTrainControl.getClassifierManager().createClassifier(ctClassifierType);
+
//Classifier pane- this also sets parameters for the classifier specific pane
if (currentClassifier.getCTClassifierGraphics()!=null) {
settingsHolder.setCenter(currentClassifier.getCTClassifierGraphics().getCTClassifierPane());
diff --git a/src/clickTrainDetector/layout/classification/CTClassifiersPane.java b/src/clickTrainDetector/layout/classification/CTClassifiersPane.java
index 31f946af..2fb86573 100644
--- a/src/clickTrainDetector/layout/classification/CTClassifiersPane.java
+++ b/src/clickTrainDetector/layout/classification/CTClassifiersPane.java
@@ -228,6 +228,7 @@ public class CTClassifiersPane extends PamBorderPane {
//set the parameters.
tab = (ClassifierTab) pamTabPane.getTabs().get(i);
+
//set the parameters for the tab.
tab.getCTClassifierPane().setParams(clickTrainParams.ctClassifierParams[i]);
}
diff --git a/src/clickTrainDetector/layout/classification/bearingClassifier/BearingClassifierGraphics.java b/src/clickTrainDetector/layout/classification/bearingClassifier/BearingClassifierGraphics.java
index 8e9ac6fd..049d6e6e 100644
--- a/src/clickTrainDetector/layout/classification/bearingClassifier/BearingClassifierGraphics.java
+++ b/src/clickTrainDetector/layout/classification/bearingClassifier/BearingClassifierGraphics.java
@@ -41,7 +41,7 @@ public class BearingClassifierGraphics implements CTClassifierGraphics {
bearingClassifierPane = new BearingClassifierPane(bearingClassifer);
}
//params are set here.
- bearingClassifierPane.setParams(bearingClassifer.getParams());
+ //bearingClassifierPane.setParams(bearingClassifer.getParams()); <- warning - causes an error in which params are overriden
return (Pane) bearingClassifierPane.getContentNode();
}
diff --git a/src/clickTrainDetector/layout/classification/bearingClassifier/BearingClassifierPane.java b/src/clickTrainDetector/layout/classification/bearingClassifier/BearingClassifierPane.java
index c91465f9..d56a8c8e 100644
--- a/src/clickTrainDetector/layout/classification/bearingClassifier/BearingClassifierPane.java
+++ b/src/clickTrainDetector/layout/classification/bearingClassifier/BearingClassifierPane.java
@@ -105,7 +105,7 @@ public class BearingClassifierPane extends SettingsPane implements Detection
this.sR=sR;
int[] minmax = getAxisMinMaxSamples(plotProjector);
-
- if (minmax[1]>=data.getSampleDuration()) minmax[1]=(int) (data.getSampleDuration()-1);
+
+ if (data.getSampleDuration()!=null) {
+ if (minmax[1]>=data.getSampleDuration()) minmax[1]=(int) (data.getSampleDuration()-1);
+ }
if (minmax[0]<0 || minmax[0]>=minmax[1]) minmax[0]=0;
+
//System.out.println("Min max: " + minmax[0] + " " + minmax[1]);
From 4b3a37636b2081323c39dcbb133c1474ad2a9daa Mon Sep 17 00:00:00 2001
From: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date: Tue, 23 Aug 2022 14:30:46 +0100
Subject: [PATCH 3/3] CTD Fixes
Couple more fixes to menus and datablock selection
---
pom.xml | 2 +-
src/clickTrainDetector/layout/CTSwingGUI.java | 2 +-
src/clickTrainDetector/layout/ClickTrainAlgorithmPaneFX.java | 2 +-
3 files changed, 3 insertions(+), 3 deletions(-)
diff --git a/pom.xml b/pom.xml
index f6ac7553..f68a2585 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
4.0.0
org.pamguard
Pamguard
- 2.02.04d
+ 2.02.04f
Pamguard Java12+
Pamguard for Java 12+, using Maven to control dependcies
www.pamguard.org
diff --git a/src/clickTrainDetector/layout/CTSwingGUI.java b/src/clickTrainDetector/layout/CTSwingGUI.java
index 47d0cd13..73fac248 100644
--- a/src/clickTrainDetector/layout/CTSwingGUI.java
+++ b/src/clickTrainDetector/layout/CTSwingGUI.java
@@ -94,7 +94,7 @@ public class CTSwingGUI extends PamControlledGUISwing {
@Override
public JMenuItem createDetectionMenu(Frame parentFrame) {
- JMenu submenu = new JMenu("Click Train Detector");
+ JMenu submenu = new JMenu(clickTrainControl.getUnitName());
JMenuItem menuItem = new JMenuItem("Detection Settings ...");
diff --git a/src/clickTrainDetector/layout/ClickTrainAlgorithmPaneFX.java b/src/clickTrainDetector/layout/ClickTrainAlgorithmPaneFX.java
index 17d0054a..fffe6516 100644
--- a/src/clickTrainDetector/layout/ClickTrainAlgorithmPaneFX.java
+++ b/src/clickTrainDetector/layout/ClickTrainAlgorithmPaneFX.java
@@ -511,7 +511,7 @@ public class ClickTrainAlgorithmPaneFX extends SettingsPane {
// and fill in the data source list (may have changed - or might in later versions)
ArrayList rd = PamController.getInstance().getDataBlocks(ClickDetection.class, true);
- PamDataBlock datablock = PamController.getInstance().getRawDataBlock(clickTrainParams.dataSourceName);
+ PamDataBlock datablock = PamController.getInstance().getDataBlockByLongName(clickTrainParams.dataSourceName);
//use the data selector.
dataSelectorCheckBox.setSelected(clickTrainParams.useDataSelector);