PAMGuard/pom.xml
Jamie Mac 075aceb4aa
Click train detector bug fix (#68)
* 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 9f998165ee
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 62b020b320
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Sat May 14 06:52:20 2022 +0100

    Add a new offlinefileslist function

commit 3a9a5311aa
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Wed Apr 27 09:43:31 2022 +0100

    Update .gitignore

commit 9f998165ee
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 11ba8bf91e
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 9a9f542d95
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 49cd547aee
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 016cfd0da5
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 c9f2ab3e97
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 55f5a3fcf1
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 b3f6c0e665
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 8569b6b579
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 128a512ff6
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 6eaa6e4978
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 9fdd30556b
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 5a37bfe915
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 b08e86e330
Author: Jamie Mac <macster110@gmail.com>
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 9f998165ee
    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 62b020b320
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Sat May 14 06:52:20 2022 +0100

        Add a new offlinefileslist function

    commit 3a9a5311aa
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Wed Apr 27 09:43:31 2022 +0100

        Update .gitignore

    commit 9f998165ee
    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 11ba8bf91e
    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 9a9f542d95
    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 49cd547aee
    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 016cfd0da5
    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 c9f2ab3e97
    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 55f5a3fcf1
    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 b3f6c0e665
    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 8569b6b579
    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 128a512ff6
    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 6eaa6e4978
    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 9fdd30556b
    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 ef0330173b
Author: Jamie Mac <macster110@gmail.com>
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 9f998165ee
    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 62b020b320
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Sat May 14 06:52:20 2022 +0100

        Add a new offlinefileslist function

    commit 3a9a5311aa
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Wed Apr 27 09:43:31 2022 +0100

        Update .gitignore

    commit 9f998165ee
    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 11ba8bf91e
    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 9a9f542d95
    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 49cd547aee
    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 016cfd0da5
    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 c9f2ab3e97
    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 55f5a3fcf1
    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 b3f6c0e665
    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 8569b6b579
    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 128a512ff6
    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 6eaa6e4978
    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 9fdd30556b
    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>

* Update DLModelWorker.java

* Create matched_click_classifer_help.md

* Update help files for matched click classifier

* Update matched_click_classifer_help.md

* Update matched_click_classifer_help.md

* New screenshots got help files

* New screenshot

* Update matched_click_classifer_help.md

New help file for the matched click classified.

* Update matched_click_classifer_help.md

* Squashed commit of the following:

commit 6b15b3d536
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Aug 23 15:21:28 2022 +0100

    Change min java version to 11 which should be ok on some embedded
    systems.

commit 4b3a37636b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Aug 23 14:30:46 2022 +0100

    CTD Fixes

    Couple more fixes to menus and datablock selection

commit c641c58e4f
Author: Jamie Mac <macster110@gmail.com>
Date:   Tue Aug 23 14:19:28 2022 +0100

    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 9f998165ee
    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 62b020b320
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Sat May 14 06:52:20 2022 +0100

        Add a new offlinefileslist function

    commit 3a9a5311aa
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Wed Apr 27 09:43:31 2022 +0100

        Update .gitignore

    commit 9f998165ee
    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 11ba8bf91e
    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 9a9f542d95
    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 49cd547aee
    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 016cfd0da5
    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 c9f2ab3e97
    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 55f5a3fcf1
    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 b3f6c0e665
    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 8569b6b579
    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 128a512ff6
    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 6eaa6e4978
    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 9fdd30556b
    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 5a37bfe915
    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 b08e86e330
    Author: Jamie Mac <macster110@gmail.com>
    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 9f998165ee
        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 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        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 11ba8bf91e
        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 9a9f542d95
        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 49cd547aee
        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 016cfd0da5
        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 c9f2ab3e97
        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 55f5a3fcf1
        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 b3f6c0e665
        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 8569b6b579
        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 128a512ff6
        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 6eaa6e4978
        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 9fdd30556b
        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 ef0330173b
    Author: Jamie Mac <macster110@gmail.com>
    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 9f998165ee
        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 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        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 11ba8bf91e
        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 9a9f542d95
        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 …

* Bug fixes to the matched click classifier

The matched click classifier was not working when an in built click classifier was used. This was caused by an index out of bounds exception in the alarm system.

Added new features;
* The Time base display now exports sample rate to .mat files.
* Bug fix file separator on time base display so it works on mac and Linux
* Matched click classifier imports the first click in a list of click structures as a template.
* Changed default length for restricted bins to 2048.

* Add picture for help file

* Update matched_click_classifer_help.md

* Update matched_click_classifer_help.md

* Squashed commit of the following:

commit b01cb4d100
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Sep 13 11:19:31 2022 +0100

    Fix bug in 3DOffline task

    Problems with making catalogue of offline tasks. not important for now,
    but needs revisiting.

commit ae6e2f947b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Sep 13 09:12:34 2022 +0100

    Merge Dougs fork (#53)

    * 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.

    * Daylight saving problem

    Fix daylight saving problem in generation of timestamps in SQLTypes. See long explanation in SQLTypes.java. Only occurred in the hour after daylight saving starts.

commit cd89c65d7c
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Sep 13 09:07:11 2022 +0100

    Fix synchronization problem in RawDataTransfroms

commit 6b15b3d536
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Aug 23 15:21:28 2022 +0100

    Change min java version to 11 which should be ok on some embedded
    systems.

commit 4b3a37636b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Aug 23 14:30:46 2022 +0100

    CTD Fixes

    Couple more fixes to menus and datablock selection

commit c641c58e4f
Author: Jamie Mac <macster110@gmail.com>
Date:   Tue Aug 23 14:19:28 2022 +0100

    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 9f998165ee
    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 62b020b320
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Sat May 14 06:52:20 2022 +0100

        Add a new offlinefileslist function

    commit 3a9a5311aa
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Wed Apr 27 09:43:31 2022 +0100

        Update .gitignore

    commit 9f998165ee
    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 11ba8bf91e
    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 9a9f542d95
    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 49cd547aee
    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 016cfd0da5
    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 c9f2ab3e97
    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 55f5a3fcf1
    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 b3f6c0e665
    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 8569b6b579
    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 128a512ff6
    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 6eaa6e4978
    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 9fdd30556b
    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 5a37bfe915
    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 b08e86e330
    Author: Jamie Mac <macster110@gmail.com>
    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 9f998165ee
        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 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        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 11ba8bf91e
        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 9a9f542d95
        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 49cd547aee
        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 016cfd0da5
        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 c9f2ab3e97
        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 55f5a3fcf1
        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 b3f6c0e665
        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 8569b6b579
        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 128a512ff6
        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 6eaa6e4978
        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 9fdd30556b
        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 ef0330173b
    Author: Jamie Mac <macster110@gmail.com>
    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 9f998165ee
        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 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        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 11ba8bf91e
        Author: Douglas Gillespie <50671166+…

* Fixes to click train detector and deep learning

* Squashed commit of the following:

commit 313ce0c46f
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Wed Sep 21 15:55:12 2022 +0100

    Help update (#60)

    * Plugin Help

    Small change to Help system so that plugins under development can more
    easily display their help

    * PamModel update

    Notes on how to add a plugin to the model during the plugin development
    phase.

    * Click Train Detector Help

    * Help for backup manager

commit 290f2fbb95
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Wed Sep 21 15:54:01 2022 +0100

    Click Train Detector help (#59)

    * Plugin Help

    Small change to Help system so that plugins under development can more
    easily display their help

    * PamModel update

    Notes on how to add a plugin to the model during the plugin development
    phase.

    * Click Train Detector Help

    * Help for backup manager

commit 6aefbc124b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Sep 20 17:34:30 2022 +0100

    Merge from DG fork (#58)

    * Plugin Help

    Small change to Help system so that plugins under development can more
    easily display their help

    * PamModel update

    Notes on how to add a plugin to the model during the plugin development
    phase.

commit eb176a4568
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Sep 15 17:10:09 2022 +0100

    Merge from dg (#57)

commit dee7e1d52e
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Sep 15 17:08:32 2022 +0100

    Merge pull request #13 from PAMGuard/main (#56)

commit 1ed74bebe3
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Sep 15 17:06:22 2022 +0100

    Merge pull request #13 from PAMGuard/main (#55)

commit fbe39a7416
Merge: 0114c80 425dd21
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Sep 15 17:05:16 2022 +0100

    Merge branch 'main' into main

commit 425dd21d9f
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Sep 15 17:01:45 2022 +0100

    Data selector for whistle classifier

    Added standard data selection options to whistle classifier output, and
    also made it a 'Detector' type for down stream data connections

commit 0114c80d61
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Sep 15 16:59:37 2022 +0100

    Work on click train detector help

commit c8e271734f
Author: Jamie Mac <macster110@gmail.com>
Date:   Thu Sep 15 09:18:48 2022 +0100

    Bug fixes to matched click classifier (#54)

    * 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 9f998165ee
    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 62b020b320
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Sat May 14 06:52:20 2022 +0100

        Add a new offlinefileslist function

    commit 3a9a5311aa
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Wed Apr 27 09:43:31 2022 +0100

        Update .gitignore

    commit 9f998165ee
    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 11ba8bf91e
    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 9a9f542d95
    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 49cd547aee
    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 016cfd0da5
    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 c9f2ab3e97
    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 55f5a3fcf1
    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 b3f6c0e665
    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 8569b6b579
    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 128a512ff6
    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 6eaa6e4978
    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 9fdd30556b
    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 5a37bfe915
    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 b08e86e330
    Author: Jamie Mac <macster110@gmail.com>
    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 9f998165ee
        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 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        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 11ba8bf91e
        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 9a9f542d95
        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 49cd547aee
        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 016cfd0da5
        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 c9f2ab3e97
        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 55f5a3fcf1
        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 b3f6c0e665
        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 8569b6b579
        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 128a512ff6
        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 6eaa6e4978
        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 9fdd30556b
        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 ef0330173b
    Author: Jamie Mac <macster110@gmail.com>
    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 9f998165ee
        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 62b020b320
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Sat May 14 06:52:20 2022 +0100

            Add a new offlinefileslist function

        commit 3a9a5311aa
        Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
        Date:   Wed Apr 27 09:43:31 2022 +0100

            Update .gitignore

        commit 9f998165ee
        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 11ba8bf91e
        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 t…

Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
2022-09-27 16:41:05 +01:00

831 lines
28 KiB
XML

<project xmlns="http://maven.apache.org/POM/4.0.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<groupId>org.pamguard</groupId>
<artifactId>Pamguard</artifactId>
<version>2.02.04ac</version>
<name>Pamguard Java12+</name>
<description>Pamguard for Java 12+, using Maven to control dependcies</description>
<url>www.pamguard.org</url>
<organization>
<name>Sea Mammal Research Unit, University of St. Andrews</name>
<url>http://www.smru.st-andrews.ac.uk</url>
</organization>
<properties>
<javafx.version>16</javafx.version>
<maven.compiler.source>11</maven.compiler.source>
<maven.compiler.target>11</maven.compiler.target>
</properties>
<build>
<sourceDirectory>src</sourceDirectory>
<resources>
<resource>
<directory>src</directory>
<excludes>
<exclude>**/*.java</exclude> <!-- don't include any source files -->
<exclude>jars/*.*</exclude> <!-- don't include files in the jars folder -->
</excludes>
</resource>
</resources>
<plugins>
<plugin>
<!-- original maven compiler definition - uses the JRE's javac compiler, not the one Eclipse uses
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.0</version>
<configuration>
<release>13</release>
</configuration>
-->
<!-- attempt to use the Eclipse JDT compiler, so that the errors match when building
https://stackoverflow.com/questions/38070326/java-generics-compiler-error-not-shown-in-eclipse
https://wiki.eclipse.org/JDT/FAQ#Can_I_use_JDT_outside_Eclipse_to_compile_Java_code.3F
https://wiki.eclipse.org/Tycho/FAQ#Can_I_use_the_Tycho_compiler_support_in_non-OSGi_projects.2C_too.3F
-->
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-compiler-plugin</artifactId>
<version>3.8.1</version>
<configuration>
<!-- set compiler to use Java version 11 API https://docs.oracle.com/javase/9/tools/javac.htm#JSWOR627 -->
<release>11</release>
<compilerId>jdt</compilerId>
<compilerArguments>
<properties>.settings/org.eclipse.jdt.core.prefs</properties> <!-- make sure to use same params as what Eclipse uses -->
</compilerArguments>
</configuration>
<dependencies>
<!-- https://mvnrepository.com/artifact/org.eclipse.tycho/tycho-compiler-jdt -->
<dependency>
<groupId>org.eclipse.tycho</groupId>
<artifactId>tycho-compiler-jdt</artifactId>
<version>1.5.1</version>
</dependency>
</dependencies>
</plugin>
<plugin>
<groupId>org.openjfx</groupId>
<artifactId>javafx-maven-plugin</artifactId>
<version>0.0.6</version>
<configuration>
<source>16</source>
<target>16</target>
<release>16</release>
</configuration>
</plugin>
<!-- Maven Shade plugin - for creating the uberjar / fatjar -->
<!-- see http://maven.apache.org/plugins/maven-shade-plugin/index.html for details -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-shade-plugin</artifactId>
<version>3.2.1</version>
<configuration>
<transformers>
<transformer
implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
</transformers>
</configuration>
<executions>
<execution>
<phase>package</phase>
<goals>
<goal>shade</goal>
</goals>
<configuration>
<transformers>
<transformer implementation="org.apache.maven.plugins.shade.resource.ManifestResourceTransformer">
<manifestEntries>
<Main-Class>pamguard.Pamguard</Main-Class>
<Class-Path>.</Class-Path> <!-- this is from the orig ant build file -->
<SplashScreen-Image>Resources/pgBlankSplash.png</SplashScreen-Image> <!-- this is from the orig ant build file -->
</manifestEntries>
</transformer>
<transformer implementation="org.apache.maven.plugins.shade.resource.ServicesResourceTransformer" />
</transformers>
<filters>
<filter>
<artifact>*:*</artifact>
<excludes>
<exclude>META-INF/*.SF</exclude> <!-- get rid of manifests from library jars - also done in orig ant build file -->
<exclude>META-INF/*.DSA</exclude>
<exclude>META-INF/*.RSA</exclude>
</excludes>
</filter>
</filters>
</configuration>
</execution>
</executions>
</plugin>
<!-- The Maven-JDEPS plugin, to analyze necessary JDK dependencies. See
this site for details: https://maven.apache.org/plugins/maven-jdeps-plugin/index.html -->
<plugin>
<groupId>com.github.marschall</groupId>
<artifactId>jdeps-maven-plugin</artifactId>
<version>0.5.1</version>
</plugin>
<!-- The Maven dependency plugin, which can copy all dependencies into a temp folder for jdeps analysis -->
<plugin>
<groupId>org.apache.maven.plugins</groupId>
<artifactId>maven-dependency-plugin</artifactId>
<version>3.1.1</version>
<executions>
<execution>
<id>copy-dependencies</id>
<phase>package</phase>
<goals>
<goal>copy-dependencies</goal>
</goals>
<configuration>
<outputDirectory>${project.build.directory}/tempDependencies</outputDirectory>
<overWriteReleases>false</overWriteReleases>
<overWriteSnapshots>false</overWriteSnapshots>
<overWriteIfNewer>true</overWriteIfNewer>
</configuration>
</execution>
<!-- this deletes all the dependencies in the local repository and downloads them again.
Run a Maven > Update after doing this in order to properly reset the dependencies. Also, you
will need to add the 3 jar files (x3, JasioHost and jave) back into the local repository after
running this command -->
<!-- I'm not sure why, but every time I try to run the shade:shade build to create a
fatjar it first runs this, which deletes all of the dependencies and completely fails.
I think it has something to do with the lifecycle mapping, but that's beyond my Maven
abilities right now.
I can't even remember why I added this in the first place, so I'm going to comment
it out
<execution>
<id>purge-local-dependencies</id>
<phase>process-sources</phase>
<goals>
<goal>purge-local-repository</goal>
</goals>
<configuration>
</configuration>
</execution>
-->
</executions>
</plugin>
</plugins>
<pluginManagement>
<plugins>
<!--This plugin's configuration is used to store Eclipse m2e settings only. It has no influence on the Maven build itself.-->
<plugin>
<groupId>org.eclipse.m2e</groupId>
<artifactId>lifecycle-mapping</artifactId>
<version>1.0.0</version>
<configuration>
<lifecycleMappingMetadata>
<pluginExecutions>
<pluginExecution>
<pluginExecutionFilter>
<groupId>
org.apache.maven.plugins
</groupId>
<artifactId>
maven-dependency-plugin
</artifactId>
<versionRange>
[3.1.1,)
</versionRange>
<goals>
<goal>
purge-local-repository
</goal>
</goals>
</pluginExecutionFilter>
<action>
<ignore></ignore>
</action>
</pluginExecution>
</pluginExecutions>
</lifecycleMappingMetadata>
</configuration>
</plugin>
</plugins>
</pluginManagement>
</build>
<reporting>
<plugins>
<plugin>
<groupId>com.github.marschall</groupId>
<artifactId>jdeps-maven-plugin</artifactId>
<version>0.5.1</version>
</plugin>
</plugins>
</reporting>
<!-- ************************* Extra Repositories ************************************* -->
<repositories>
<!-- Project repo to hold the custom jar files that are not available in Maven. Do
this so that we don't have to do the extra step of manually installing jar files in the local repo -->
<repository>
<id>repo</id>
<releases>
<enabled>true</enabled>
<checksumPolicy>ignore</checksumPolicy>
</releases>
<snapshots>
<enabled>false</enabled>
</snapshots>
<url>file://${project.basedir}/repo</url>
</repository>
<!-- Repo for Jamie's code -->
<!-- IMPORTANT: SOMEHOW THIS REPO INTERFERES WITH THE
JAVAFX DEPENDENCIES. Don't understand how, but it
does. If Maven is not downloading the JavaFX dependencies
and is instead throwing errors, try commenting out this
repository. Let Maven download the JavaFX files, and
then uncomment this repo again.
Same thing seems to be occurring if I try to update the postgresql library. -->
<!-- <repository> -->
<!-- <snapshots> -->
<!-- <enabled>false</enabled> -->
<!-- </snapshots> -->
<!-- <id>central</id> -->
<!-- <name>a0u0ltozdsehx-artifactory-primary-0-releases</name> -->
<!-- <url>https://jmachund.jfrog.io/artifactory/jpam2</url> -->
<!-- </repository> -->
<!-- Repo for netCDF -->
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>unidata-all</id>
<name>Unidata netCDF</name>
<url>https://artifacts.unidata.ucar.edu/repository/unidata-all/</url>
</repository>
<!--
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>geomajas</id>
<name>geomajas</name>
<url>http://maven.geomajas.org/</url>
</repository>-->
<!-- Repo for Renjin Script Engine -->
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>bedatadriven</id>
<name>bedatadriven_renjin</name>
<url>https://nexus.bedatadriven.com/content/groups/public/</url>
</repository>
<repository>
<snapshots>
<enabled>false</enabled>
</snapshots>
<id>talan</id>
<name>talan</name>
<url>https://nexus.talanlabs.com/content/repositories/releases/</url>
</repository>
<repository>
<id>central</id>
<url>https://repo1.maven.org/maven2</url>
</repository>
</repositories>
<!-- ************************* Dependencies ************************************* -->
<dependencies>
<!--jpam project - utilities -->
<dependency>
<groupId>io.github.macster110</groupId>
<artifactId>jpamutils</artifactId>
<version>0.0.56</version>
</dependency>
<!--jpam project - Deep learning java library
DG has commented this out since there are problems with access to the maven repo
on JDJM's Github. For now a jar file is included in the build and we'll go back to
Maven when we can ... DG 15 Jan 2022.
Repo for jpam code- this used for deep learning [15:17] Jamie MacAulay-->
<dependency>
<groupId>io.github.macster110</groupId>
<artifactId>jdl4pam</artifactId>
<version>0.0.94</version>
</dependency>
<!-- https://mvnrepository.com/artifact/gov.nist.math/jama -->
<dependency>
<groupId>gov.nist.math</groupId>
<artifactId>jama</artifactId>
<version>1.0.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-controls -->
<!-- IMPORTANT - IF MAVEN IS NOT DOWNLOADING THE JAVAFX FILES AND
INSTEAD THROWING AN ERROR, IT MIGHT BE BECAUSE THERE IS AN
INTERFERENCE WITH JAMIE'S REPOSITORY. I'm not sure why this happens,
but it does. To fix, comment out the repository (in
the <repositories> section above, let Maven download the JavaFX
files, and then uncomment the repository again. -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
<version>${javafx.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-swing -->
<!-- IMPORTANT - IF MAVEN IS NOT DOWNLOADING THE JAVAFX FILES AND
INSTEAD THROWING AN ERROR, IT MIGHT BE BECAUSE THERE IS AN
INTERFERENCE WITH JAMIE'S REPOSITORY. I'm not sure why this happens,
but it does. To fix, comment out the repository (in
the <repositories> section above, let Maven download the JavaFX
files, and then uncomment the repository again. -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-swing</artifactId>
<version>${javafx.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-media -->
<!-- IMPORTANT - IF MAVEN IS NOT DOWNLOADING THE JAVAFX FILES AND
INSTEAD THROWING AN ERROR, IT MIGHT BE BECAUSE THERE IS AN
INTERFERENCE WITH JAMIE'S REPOSITORY. I'm not sure why this happens,
but it does. To fix, comment out the repository (in
the <repositories> section above, let Maven download the JavaFX
files, and then uncomment the repository again. -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
<version>${javafx.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.openjfx/javafx-web -->
<!-- IMPORTANT - IF MAVEN IS NOT DOWNLOADING THE JAVAFX FILES AND
INSTEAD THROWING AN ERROR, IT MIGHT BE BECAUSE THERE IS AN
INTERFERENCE WITH JAMIE'S REPOSITORY. I'm not sure why this happens,
but it does. To fix, comment out the repository (in
the <repositories> section above, let Maven download the JavaFX
files, and then uncomment the repository again. -->
<dependency>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
<version>${javafx.version}</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-compress -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-compress</artifactId>
<version>1.19</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-csv -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-csv</artifactId>
<version>1.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-io/commons-io -->
<dependency>
<groupId>commons-io</groupId>
<artifactId>commons-io</artifactId>
<version>2.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-lang3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-lang3</artifactId>
<version>3.9</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math3 -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math3</artifactId>
<version>3.6.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.apache.commons/commons-math -->
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-math</artifactId>
<version>2.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/commons-net/commons-net -->
<dependency>
<groupId>commons-net</groupId>
<artifactId>commons-net</artifactId>
<version>3.6</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.controlsfx/controlsfx -->
<dependency>
<groupId>org.controlsfx</groupId>
<artifactId>controlsfx</artifactId>
<version>11.0.0</version>
<exclusions>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-base</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-controls</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-graphics</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-media</artifactId>
</exclusion>
<exclusion>
<groupId>org.openjfx</groupId>
<artifactId>javafx-web</artifactId>
</exclusion>
</exclusions>
</dependency>
<!-- https://search.maven.org/artifact/org.kordamp.ikonli/ikonli-javafx/12.2.0/jar -->
<!-- Icon symbol pack to replace FontAwesome. This is the core library, and the
actual symbol packs need to be added separately (see below) -->
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-javafx</artifactId>
<version>12.2.0</version>
</dependency>
<!-- Ikonli FontAwesome5 font pack https://kordamp.org/ikonli/cheat-sheet-fontawesome5.html -->
<!--
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-fontawesome5-pack</artifactId>
<version>12.2.0</version>
</dependency>
-->
<!-- Ikonli MaterialDesign2 (Latest) font pack https://kordamp.org/ikonli/cheat-sheet-materialdesign2.html -->
<dependency>
<groupId>org.kordamp.ikonli</groupId>
<artifactId>ikonli-materialdesign2-pack</artifactId>
<version>12.2.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sf.geographiclib/GeographicLib-Java -->
<dependency>
<groupId>net.sf.geographiclib</groupId>
<artifactId>GeographicLib-Java</artifactId>
<version>1.50</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jogamp.gluegen/gluegen -->
<dependency>
<groupId>org.jogamp.gluegen</groupId>
<artifactId>gluegen-rt-main</artifactId>
<version>2.3.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/java3d/j3dutils -->
<!-- https://mvnrepository.com/artifact/java3d/j3dcore -->
<!-- https://mvnrepository.com/artifact/com.healthmarketscience.jackcess/jackcess -->
<dependency>
<groupId>com.healthmarketscience.jackcess</groupId>
<artifactId>jackcess</artifactId>
<version>3.0.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.core/jackson-databind -->
<dependency>
<groupId>com.fasterxml.jackson.core</groupId>
<artifactId>jackson-databind</artifactId>
<version>2.10.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.jogamp.jogl/jogl-all-main -->
<dependency>
<groupId>org.jogamp.jogl</groupId>
<artifactId>jogl-all-main</artifactId>
<version>2.3.2</version>
</dependency>
<!-- NOT SURE IF WE NEED THE JAXB LIBRARIES HERE - NO ERRORS WHEN REMOVED
<dependency>
<groupId>javax.xml.bind</groupId>
<artifactId>jaxb-api</artifactId>
<version>2.3.1</version>
</dependency>
<dependency>
<groupId>org.glassfish.jaxb</groupId>
<artifactId>jaxb-core</artifactId>
<version>2.3.0.1</version>
</dependency>
<dependency>
<groupId>com.sun.xml.bind</groupId>
<artifactId>jaxb-impl</artifactId>
<version>2.3.2</version>
</dependency>
-->
<!-- https://mvnrepository.com/artifact/org.jflac/jflac-codec -->
<dependency>
<groupId>org.jflac</groupId>
<artifactId>jflac-codec</artifactId>
<version>1.5.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.help/javahelp -->
<dependency>
<groupId>javax.help</groupId>
<artifactId>javahelp</artifactId>
<version>2.0.05</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna -->
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna</artifactId>
<version>5.5.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.java.dev.jna/jna-platform -->
<dependency>
<groupId>net.java.dev.jna</groupId>
<artifactId>jna-platform</artifactId>
<version>5.5.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.jcraft/jsch -->
<dependency>
<groupId>com.jcraft</groupId>
<artifactId>jsch</artifactId>
<version>0.1.55</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fazecast/jSerialComm -->
<dependency>
<groupId>com.fazecast</groupId>
<artifactId>jSerialComm</artifactId>
<version>2.5.3</version>
</dependency>
<!-- https://mvnrepository.com/artifact/edu.emory.mathcs/JTransforms -->
<dependency>
<groupId>edu.emory.mathcs</groupId>
<artifactId>JTransforms</artifactId>
<version>2.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.sun.mail/javax.mail -->
<dependency>
<groupId>com.sun.mail</groupId>
<artifactId>javax.mail</artifactId>
<version>1.6.2</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.diffplug.matsim/matfilerw -->
<dependency>
<groupId>com.diffplug.matsim</groupId>
<artifactId>matfilerw</artifactId>
<version>3.1.1</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.drewnoakes/metadata-extractor -->
<dependency>
<groupId>com.drewnoakes</groupId>
<artifactId>metadata-extractor</artifactId>
<version>2.12.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/mysql/mysql-connector-java -->
<dependency>
<groupId>mysql</groupId>
<artifactId>mysql-connector-java</artifactId>
<version>8.0.18</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.google.protobuf/protobuf-java -->
<!-- this is needed so that tensorflow models run properly (used in Deep Learning plugin) -->
<!-- NOTE it is important this is included before edu.ucar.netcdfAll so
that this version is used instead of the internal version - exclusions do
not seem to work otherwise -->
<dependency>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
<version>3.17.0</version>
</dependency>
<!-- https://docs.unidata.ucar.edu/netcdf-java/5.2/userguide/using_netcdf_java_artifacts.html -->
<!-- exclusions have been added here to fix problem with Deep Learning plugin - see above -->
<dependency>
<groupId>edu.ucar</groupId>
<artifactId>netcdfAll</artifactId>
<version>4.6.14</version>
<exclusions>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java</artifactId>
</exclusion>
<exclusion>
<groupId>com.google.protobuf</groupId>
<artifactId>protobuf-java-util</artifactId>
</exclusion>
</exclusions>
<scope>compile</scope>
</dependency>
<!-- https://mvnrepository.com/artifact/com.opencsv/opencsv -->
<dependency>
<groupId>com.opencsv</groupId>
<artifactId>opencsv</artifactId>
<version>5.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.springframework/org.springframework.core -->
<!-- https://mvnrepository.com/artifact/org.postgresql/postgresql -->
<dependency>
<groupId>org.postgresql</groupId>
<artifactId>postgresql</artifactId>
<version>42.2.24</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.renjin/renjin-script-engine -->
<dependency>
<groupId>org.renjin</groupId>
<artifactId>renjin-script-engine</artifactId>
<version>0.9.2725</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-api
this one is only needed to get rid of an annoying warning that shows up during startup -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
<version>1.8.0-beta4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.slf4j/slf4j-nop
this one is only needed to get rid of an annoying warning that shows up during startup -->
<dependency>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-nop</artifactId>
<version>1.8.0-beta4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.docx4j/docx4j-JAXB-ReferenceImpl -->
<!-- note that we are excluding slf4j-api here, because if we don't then one of the
transitive dependencies of docx4j (jcl-over-slf4j) will try to load an older
version of slf4j-api, resulting in a weird warning/error that shows up every time that
PAMGuard start up -->
<!-- DONT BOTHER WITH EXCLUSION, DOESN'T MAKE THE ERROR GO AWAY. Leaving code here
just in case the older version does cause a conflict at some point -->
<dependency>
<groupId>org.docx4j</groupId>
<artifactId>docx4j-JAXB-ReferenceImpl</artifactId>
<version>11.1.3</version>
<!--
<exclusions>
<exclusion>
<groupId>org.slf4j</groupId>
<artifactId>slf4j-api</artifactId>
</exclusion>
</exclusions>
-->
</dependency>
<!-- https://mvnrepository.com/artifact/org.xerial/sqlite-jdbc -->
<dependency>
<groupId>org.xerial</groupId>
<artifactId>sqlite-jdbc</artifactId>
<version>3.28.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/net.sf.ucanaccess/ucanaccess -->
<dependency>
<groupId>net.sf.ucanaccess</groupId>
<artifactId>ucanaccess</artifactId>
<version>4.0.4</version>
</dependency>
<!-- https://mvnrepository.com/artifact/nz.ac.waikato.cms.weka/weka-dev -->
<dependency>
<groupId>nz.ac.waikato.cms.weka</groupId>
<artifactId>weka-dev</artifactId>
<version>3.7.7</version>
</dependency>
<!-- https://mvnrepository.com/artifact/javax.vecmath/vecmath -->
<dependency>
<groupId>javax.vecmath</groupId>
<artifactId>vecmath</artifactId>
<version>1.5.2</version>
</dependency>
<!-- Jave2 (https://github.com/a-schild/jave2) - fork of original jave from sauronsoft. A LOT bigger; the win64 files alone are > 60Mb compared
to 14Mb originally. Since the old one worked fine, let's stick with it for now and save the space
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-core</artifactId>
<version>2.7.1</version>
</dependency>
<dependency>
<groupId>ws.schild</groupId>
<artifactId>jave-nativebin-win64</artifactId>
<version>2.7.1</version>
</dependency>
-->
<!-- https://mvnrepository.com/artifact/it.sauronsoftware/jave
DOESN'T WORK - NOT IN THE ICM REPOSITORY ANYMORE. STICK WITH ORIG JAR FILE
<dependency>
<groupId>it.sauronsoftware</groupId>
<artifactId>jave</artifactId>
<version>1.0.2</version>
</dependency>
-->
<!-- not in Maven repository -->
<dependency>
<groupId>pamguard.org</groupId>
<artifactId>x3</artifactId>
<version>2.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/it.sauronsoftware/jave -->
<dependency>
<groupId>it.sauronsoftware</groupId>
<artifactId>jave</artifactId>
<version>1.0.2</version>
</dependency>
<!-- not in Maven repository -->
<dependency>
<groupId>com.synthbot</groupId>
<artifactId>jasiohost</artifactId>
<version>1.0.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.fasterxml.jackson.dataformat/jackson-dataformat-xml -->
<!--
<dependency>
<groupId>com.fasterxml.jackson.dataformat</groupId>
<artifactId>jackson-dataformat-xml</artifactId>
<version>2.10.1</version>
</dependency>
-->
<!-- https://mvnrepository.com/artifact/org.springframework/spring-core -->
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-core</artifactId>
<version>5.2.3.RELEASE</version>
</dependency>
<!-- https://mvnrepository.com/artifact/com.1stleg/jnativehook -->
<!-- For global hotkeys, especially in Logger -->
<dependency>
<groupId>com.1stleg</groupId>
<artifactId>jnativehook</artifactId>
<version>2.1.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/org.swinglabs.swingx/swingx-all -->
<!-- For new Network Receive Module -->
<dependency>
<groupId>org.swinglabs.swingx</groupId>
<artifactId>swingx-all</artifactId>
<version>1.6.5-1</version>
</dependency>
</dependencies>
</project>