Squashed commit of the following:

commit 30cd72e2e5
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Jan 20 11:59:49 2023 +0000

    Update dependency-reduced-pom.xml

commit b5cf955cba
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Jan 20 11:57:57 2023 +0000

    Fix bug in Click Detector target motion analysis

    Was crashing if not all click in event were loaded.

commit 269398890e
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Jan 19 17:53:59 2023 +0000

    2.02.07b

    Fix ICI display bug in click detector

commit a89279ef81
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Wed Jan 18 11:06:03 2023 +0000

    V2.02.07a dB levels bug fix

    Fixed bug in some level calculations where a channel map instead of a
    single channel was being passed to the function performing the calcs.
    Was OK if hydrophones had same gain, but got it wrong if they were
    different.

commit e169ccb1a7
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Jan 10 11:17:44 2023 +0000

    Version 2.02.07

    Final readme, POM and version numbering for release 2.02.07

commit 44da3ffb57
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Jan 10 10:45:33 2023 +0000

    Fix alarm module so it correctly uses Data Selectors

commit 8642834c1e
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Jan 6 17:07:34 2023 +0000

    Embryonic data units

    Data units flagged as embryonic don't get saved when first added to a
    data block. will get saved when embryonic flag set false and an update
    sent to the datablock. Useful when developing tracks which may continue
    to grow as more data become available.

commit b1016c0cc8
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Wed Dec 21 19:08:55 2022 +0000

    Hide tool tips

    Use Esc key to hide all Swing tooltips for 6 seconds. Works across
    PAMGuard.

commit 4322b2d42b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Dec 19 13:55:27 2022 +0000

    Hide tooltips

    Added option to help menu to hide all tooltips in the GUI.

commit 407e9d9d08
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Dec 19 13:54:40 2022 +0000

    Random Mystecete

    Added a random Mystecete type call (random tonals < 1kHz) to the
    simulator, which are vaguely humpback like sounds.

commit 0d48118487
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Dec 19 13:53:44 2022 +0000

    Fix streamer problem

    Was not remembering the types (Fixed, Sensor, Default) of data being
    used for sensor orientation of streamers.

commit bd0bed350c
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Dec 12 17:02:49 2022 +0000

    Update version info to 2.02.06b

commit 4e0eab5d75
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Dec 12 17:02:26 2022 +0000

    Grid movement

    Fix bug that threw null pointer if grid movement used on a simulated
    object without a set name.

commit d27e4fb19f
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Dec 12 17:01:47 2022 +0000

    click Offline toolbar

    Make it show option to show only event clicks even if there are no click
    classifications

commit fc9c70ad78
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Dec 12 17:01:06 2022 +0000

    Fix Gebco grid data overlay offset

commit 1be8a5ee83
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Dec 12 17:00:19 2022 +0000

    Fixed Landmarks

    Debug so they don't disappear whenever viewer data are reloaded.

commit e7a67d33cf
Merge: 6995bee c32d172
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Sun Nov 27 14:44:48 2022 +0000

    Merge branch 'main' of https://github.com/PAMGuard/PAMGuard.git into main

commit 6995bee65b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Sun Nov 27 14:44:19 2022 +0000

    Logger LatLong

    Fix a couple of issues which threw and error in the event of a bad NMEA
    string.

commit c32d172000
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Nov 21 09:13:59 2022 +0000

    ROCCA Fix (#90)

    * Version 2.02.06

    (hopefully)

    * ROCCA Memory leak

    Another attempt at healing ROCCA memory leak

commit 3203a0a50f
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Nov 18 10:52:50 2022 +0000

    Remove a few terminal outputs

    Mostly with file analysis, to reduce junk on terminal

commit 6f6f7407ca
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Nov 18 09:55:17 2022 +0000

    Ishmael bugs

    couple of places where PamDatablock.getLastUnit() was being used without
    synchronization and the unit was being deleted between the line checking
    there was a unit there and a line attempting to use the unit. Now
    correctly synched so will get a unit you can use, or null.

commit 35ee1e3dfc
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Nov 17 19:00:45 2022 +0000

    Slipped in a last fix

    after release to correctly size components in PamModel viewer which
    weren't showing on hiDef correctly.

commit 5b1cc760d8
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Wed Nov 16 09:12:55 2022 +0000

    Quick fix of calibration data for ST Click detector.

    Was getting a 5V input from it's bespoke acquisition, whereas needs 2.

commit 3f5e4e4a79
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Nov 15 21:08:40 2022 +0000

    Final final 2.02.06

    Don't believe it until you see that tag

commit 890230a6ff
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Nov 15 17:49:06 2022 +0000

    Final final readme 2.02.06

commit 05268d810d
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Nov 15 17:40:44 2022 +0000

    Version 2.02.06 (#87)

    (hopefully)

commit 7d7ecb9545
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Nov 15 17:39:37 2022 +0000

    Version 2.02.06 (#86)

    (hopefully)

commit 76e8467201
Merge: d2f74f6 ac280e1
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Nov 15 17:37:14 2022 +0000

    Merge branch 'main' of https://github.com/PAMGuard/PAMGuard.git into main

commit d2f74f606e
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Nov 15 17:36:49 2022 +0000

    readme for 2.02.06

commit ac280e1b6f
Author: m2oswald <45486636+m2oswald@users.noreply.github.com>
Date:   Tue Nov 15 15:41:43 2022 +0000

    updates to Rocca module (#85)

    * allow Rocca to run without classifiers

    Fixed bug that threw an error if no classifier files were specified in Rocca Params dialog

    * add rocca switch to enable dev mode

    currently only shows/hides extra buttons in the Params dialog, but will
    extend to more options in the future

    * Fix memory issue with RoccaContourDataBlocks not being released for
    garbage collection

    Set RoccaContourDataBlock objects to null and stop PamObserver Timer to
    force release

commit 655a546764
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Nov 14 15:56:00 2022 +0000

    Update X3 Jar

commit 96cd32034f
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Nov 14 15:55:37 2022 +0000

    Delete x3-2.2.0.pom

commit bf90443b1b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Nov 14 15:55:28 2022 +0000

    Delete x3-2.2.0.jar

commit 22d32b4682
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Nov 14 15:54:15 2022 +0000

    Update x3 jar file

commit 14c5cf5afe
Merge: ccd0fc7 376a9f0
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Nov 14 15:49:36 2022 +0000

    Merge branch 'main' into main

commit 376a9f0f0e
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Nov 14 14:30:04 2022 +0000

    Reinstate x3 jar

commit 93193638b1
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Nov 14 14:29:37 2022 +0000

    Last changes to x3

commit ccd0fc7965
Author: m2oswald <45486636+m2oswald@users.noreply.github.com>
Date:   Mon Nov 14 11:00:15 2022 +0000

    small updates to Rocca (#84)

    * allow Rocca to run without classifiers

    Fixed bug that threw an error if no classifier files were specified in Rocca Params dialog

    * add rocca switch to enable dev mode

    currently only shows/hides extra buttons in the Params dialog, but will
    extend to more options in the future

commit ea32c5cdcb
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Sun Nov 13 17:41:13 2022 +0000

    SUD Files (#83)

    * Adding comments to table definitions.

    Update tabledefs so tableitems can have descriptions. Useful to the
    coder, but can also export formal xms schema for each table.

    * Writing xml schema

    Writing xml schema for PAMGuard database with annotations as complex
    types

    * Working SUD click extractor

    Seems to be mostly working and can generate PAMGuard click files
    automatically when processing SUD files using the soundtrap click
    detector

    * Small changes to SUD in PAMGuard

    * Better SUD timing

    Using latest microsecond time extraction from SUD unpack

    * SUD Processing

    Extraction of SUD file clicks with SoundTrap Click Detector. Timing now
    correct. Added some help pages.

    * Functional SUD Reader and SUD Click Extractor

    All seems working. Seems to throw the odd exception at end of file, but
    works OK.

commit f08cf4ffd7
Merge: d3277be 4a75afc
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Sun Nov 13 17:38:59 2022 +0000

    Merge pull request #29 from PAMGuard/main

    Memory leak fix

commit d3277be3b1
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Sun Nov 13 17:37:53 2022 +0000

    Functional SUD Reader and SUD Click Extractor

    All seems working. Seems to throw the odd exception at end of file, but
    works OK.

commit d1af000040
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Sat Nov 12 19:21:57 2022 +0000

    SUD Processing

    Extraction of SUD file clicks with SoundTrap Click Detector. Timing now
    correct. Added some help pages.

commit 4a75afc414
Merge: 3b053ff fe0fe11
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Nov 11 20:59:10 2022 +0000

    Merge branch 'main' of https://github.com/PAMGuard/PAMGuard.git into main

commit 3b053ff342
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Nov 11 20:58:42 2022 +0000

    Memory leak

    Fix viewer memory leak whereby background measurements weren't being
    cleared between data loads, so eventually ran out of memory.

commit 068a8b1a27
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Nov 11 08:56:03 2022 +0000

    Better SUD timing

    Using latest microsecond time extraction from SUD unpack

commit ee24c0ab6b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Nov 10 17:21:37 2022 +0000

    Small changes to SUD in PAMGuard

commit 87cd2cd41f
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Nov 10 15:20:15 2022 +0000

    Working SUD click extractor

    Seems to be mostly working and can generate PAMGuard click files
    automatically when processing SUD files using the soundtrap click
    detector

commit 61dd6ef4d1
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Nov 8 16:42:57 2022 +0000

    Writing xml schema

    Writing xml schema for PAMGuard database with annotations as complex
    types

commit fcdb64e467
Merge: a72e68c fe0fe11
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Nov 8 10:44:01 2022 +0000

    Merge pull request #28 from PAMGuard/main

    Fix to issue #80 (#81)

commit fe0fe11faf
Author: stabbutt <100229685+stabbutt@users.noreply.github.com>
Date:   Tue Nov 8 01:02:52 2022 -0800

    Fix to issue #80 (#81)

    * Fix network sender since it was hopelessly out of date and did not send
    data in the correct format. OK now, though only tested on NARW.

    * Fix network sender since it was hopelessly out of date and did not send
    data in the correct format. OK now, though only tested on NARW.

    * Mods to support command line and Network control of PAMGuard and to
    retrieve summary information from some modules.

    * Fix issue #80: recording path command line override

    * Allow RUNNOTHING bearing calculations

    Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>

commit a72e68c26a
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Mon Nov 7 17:15:04 2022 +0000

    Adding comments to table definitions.

    Update tabledefs so tableitems can have descriptions. Useful to the
    coder, but can also export formal xms schema for each table.

commit 3e717bd207
Merge: aa7f18e d2e69c5
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Nov 4 15:09:47 2022 +0000

    Merge pull request #27 from PAMGuard/main

    Merge SUD changes from main

commit d2e69c507e
Merge: 4f734b7 aa7f18e
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Nov 4 15:09:40 2022 +0000

    Merge branch 'main' into main

commit aa7f18eaa2
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Wed Nov 2 10:09:30 2022 +0000

    SAIL CArd warnings

    Don't display in dialog when in nogui mode. Write to terminal

commit 4f734b7775
Author: Jamie Mac <macster110@gmail.com>
Date:   Mon Oct 31 13:43:15 2022 +0000

    Added sud file capability  (#78)

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

    * fix bug in TDOA

    * Squashed commit of the following:

    commit 149dfab281
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Sep 30 09:56:13 2022 +0100

        Work on bug fixes in CTD classifier (#72)

    commit 91a704b07a
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Sep 30 09:54:33 2022 +0100

        Work on bug fixes in CTD classifier (#71)

    commit d01576c855
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Sep 30 09:53:51 2022 +0100

        Work on bug fixes in CTD classifier (#70)

    commit 11bed6ffba
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Sep 29 14:56:29 2022 +0100

        Work on bug fixes in CTD classifier (#69)

    commit fccc0a715d
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Thu Sep 29 14:54:30 2022 +0100

        Work on bug fixes in CTD classifier

    commit 5983f30ded
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Sep 27 16:44:12 2022 +0100

        Delete C:\temp\PamGuardTesting 2_02_04f\PAMBinary directory

        Get rid of a folder of pgdf files that Jamie had added to the repo

    commit 075aceb4aa
    Author: Jamie Mac <macster110@gmail.com>
    Date:   Tue Sep 27 16:41:05 2022 +0100

        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)

          …

    * Click train fixes

    * Fixes to click train detector

    * Squashed commit of the following:

    commit 3a452936c0
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Sep 30 14:50:33 2022 +0100

        Fixes from DG (#74)

        * Work on bug fixes in CTD classifier

        * couple of final neatenings up of CTD

    commit 4015461fbc
    Author: Jamie Mac <macster110@gmail.com>
    Date:   Fri Sep 30 14:23:17 2022 +0100

        Fixes to click train detector (#73)

        * 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

          …

    * Fix to click train detector

    NO_SPECIES flag was not being in standard classifier so beaked whales were being classified.

    * Getting sud files working

    * .sud decompression implemented

    Sud decompression implemented in real time and viewer mode. .sudx files hold a file map which is reloaded allowing rapid scrolling of sud files in viewer mode.

    * Rewrite how PAMGuard manages Audio Files

    PAMGuard audio file management is a mess (sorry Doug) requiring changes to code in at least 3 separate classes to make a new type of audio file work in real time and viewer mode.

    Have consolidated all audio file stuff into a PamAudioFileManager class which has a static getInstance() function. Any new type of audio file added in future (e.g. next is probably AudioMoth triggered recordings) then all that is needed is the Interface PamAudioFileloader to be satisfied and added to PamAudioFileManager list of audio file loaders.

    * Bug fix for sud in viewer mode and FX updates

    Fixed bug in sud file where IO exception occurred at the end of a file in viewer mode.

    Updates to click detector dialog in FX GUI.

    Updates to example sound factory.

    * Some more work on FX GUI

    * Added some validators in FX GUI

    ValidatorFX is awesome

    * Updates to FX GUI

    * Squashed commit of the following:

    commit 67060016c2
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Oct 21 12:26:42 2022 +0100

        REsolve issues in binayUIDFunctions

    commit 61c3d80f30
    Merge: 1de5ec6 4473d1b
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Oct 21 12:23:08 2022 +0100

        Merge branch 'main' of https://github.com/PAMGuard/PAMGuard.git into main

    commit 1de5ec6e11
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Oct 21 12:22:09 2022 +0100

        Change error reporting in Binary UID functions

        Message on screen rather than stack trace since it's normal when a psfx
        moves to a different pc

    commit 4473d1b1bf
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Fri Oct 21 11:12:04 2022 +0100

        Merge from DG (#77)

        * Work on bug fixes in CTD classifier

        * couple of final neatenings up of CTD

        * DWV Import

        Fixed DWV importer so that a binary file is still created if a DWV file
        doesn't exist. this is totally normal in quiet conditions, so the
        correct thing to do is to generate a binary file with no data so that
        effort is correctly recorded.

        * Error reporting in -nogui

        A lot of warnings were being issued and trying to use the default window
        which caused a null pointer when running -nogui. This is fixed by a) not
        trying to access frames which are null and b) changing the PAMWarning
        system to write messages to terminal rather than open a dialog.

    commit 63cc66a4b1
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Oct 18 17:04:16 2022 +0100

        Merge from DG (#76)

        * Work on bug fixes in CTD classifier

        * couple of final neatenings up of CTD

        * DWV Import

        Fixed DWV importer so that a binary file is still created if a DWV file
        doesn't exist. this is totally normal in quiet conditions, so the
        correct thing to do is to generate a binary file with no data so that
        effort is correctly recorded.

    commit e4faed5cfc
    Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
    Date:   Tue Oct 4 11:18:37 2022 +0100

        Add exitnosave command

        Add command for UDP or terminal control which will exit PAMGuard without
        first saving the settings

    commit f4f7cc59b6
    Author: Jamie Mac <macster110@gmail.com>
    Date:   Mon Oct 3 14:30:22 2022 +0100

        Fix to click trian detector (#75)

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

    Co-authored-by: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>

commit 30793b55b0
Merge: abc33ad 63cc66a
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Oct 21 11:11:03 2022 +0100

    Merge pull request #26 from PAMGuard/main

    Merge from DG (#76)

commit abc33adbfd
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Oct 21 11:09:35 2022 +0100

    Error reporting in -nogui

    A lot of warnings were being issued and trying to use the default window
    which caused a null pointer when running -nogui. This is fixed by a) not
    trying to access frames which are null and b) changing the PAMWarning
    system to write messages to terminal rather than open a dialog.

commit 0029fbb1c1
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Oct 18 17:02:49 2022 +0100

    DWV Import

    Fixed DWV importer so that a binary file is still created if a DWV file
    doesn't exist. this is totally normal in quiet conditions, so the
    correct thing to do is to generate a binary file with no data so that
    effort is correctly recorded.

commit 15d4468a0e
Merge: 6827150 e4faed5
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Oct 4 11:19:37 2022 +0100

    Merge pull request #25 from PAMGuard/main

    Merge changes from main

commit 682715018f
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Sep 30 14:49:33 2022 +0100

    couple of final neatenings up of CTD

commit de809b6572
Merge: cc003c1 4015461
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Sep 30 14:24:34 2022 +0100

    Merge pull request #24 from PAMGuard/main

    Fixes to click train detector (#73)

commit cc003c167a
Merge: 55cd735 149dfab
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Sep 30 14:10:59 2022 +0100

    Merge pull request #23 from PAMGuard/main

    Work on bug fixes in CTD classifier (#72)

commit 55cd735ec3
Merge: f899d01 91a704b
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Sep 30 09:55:32 2022 +0100

    Merge pull request #22 from PAMGuard/main

    merge main

commit f899d01a41
Merge: 83f1343 fccc0a7
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Sep 29 14:55:24 2022 +0100

    Merge pull request #21 from PAMGuard/main

    Work on bug fixes in CTD classifier

commit 83f1343b02
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Thu Sep 29 14:54:52 2022 +0100

    Work on bug fixes in CTD classifier

commit 481315187f
Merge: 570479e 5983f30
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Tue Sep 27 16:57:54 2022 +0100

    Merge pull request #20 from PAMGuard/main

    Get CTD bug fix

commit 570479efcf
Merge: ec4082e cf4c97a
Author: Douglas Gillespie <50671166+douggillespie@users.noreply.github.com>
Date:   Fri Sep 23 11:47:13 2022 +0100

    Merge pull request #19 from PAMGuard/main

    CTD Data Selector fixes (#66)
This commit is contained in:
Jamie Mac 2023-01-20 13:30:03 +00:00
parent cdd77b1dfa
commit 128ddc2b3b
27 changed files with 750 additions and 436 deletions

View File

@ -6,7 +6,7 @@
<attribute name="maven.pomderived" value="true"/>
</attributes>
</classpathentry>
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER/org.eclipse.jdt.internal.debug.ui.launcher.StandardVMType/AdoptOpenJDK 16">
<classpathentry kind="con" path="org.eclipse.jdt.launching.JRE_CONTAINER">
<attributes>
<attribute name="module" value="true"/>
<attribute name="maven.pomderived" value="true"/>

View File

@ -386,9 +386,12 @@ PamguardBeta_ViewerMode.exe):</p>
<p class=MsoNormal><em><span style='font-family:"Calibri",sans-serif'>&nbsp;</span></em></p>
<h1><a name="_LATEST_VERSION_2.02.03"></a><em><span style='font-size:12.0pt;
font-family:"Cambria",serif;font-style:normal'><a
href="#_Latest_Version_2.02.06">LATEST VERSION 2.02.06 November 2022</a></span></em></h1>
<h1><a name="_LATEST_VERSION_2.02.03"></a><a name="_VERSION_2.02.07_January"></a><em><span
style='font-size:12.0pt;font-family:"Cambria",serif;font-style:normal'><a
href="#_Latest_Version_2.02.07">LATEST VERSION 2.02.07 January 2023</a></span></em></h1>
<h1><em><span style='font-size:12.0pt;font-family:"Cambria",serif;font-style:
normal'><a href="#_Latest_Version_2.02.06">Version 2.02.06 November 2022</a></span></em></h1>
<h1><em><span style='font-size:12.0pt;font-family:"Cambria",serif;font-style:
normal'><a href="#_Latest_Version_2.02.05">Version 2.02.05 October 2022</a></span></em></h1>
@ -447,8 +450,47 @@ Version 2.00.10 June 2017</a></span></h1>
<h1><span style='font-size:12.0pt'><a href="#_Older_Versions">Older Versions</a></span></h1>
<h1><a name="_Latest_Version_2.02.03_1"></a><a name="_Latest_Version_2.02.05"></a><a
name="_Latest_Version_2.02.06"></a><span lang=EN-US>Latest Version 2.02.06
November 2022</span></h1>
name="_Latest_Version_2.02.06"></a><a name="_Latest_Version_2.02.07"></a><span
lang=EN-US>Latest Version 2.02.07 January 2023</span></h1>
<h2><span lang=EN-US>Bug Fixes</span></h2>
<p class=MsoNormal><span lang=EN-US>Use of localization sensor and orientation data
for static hydrophones had a bug whereby it would continually forget angle
offsets applied to static hydrophones in viewer mode. This is now fixed. </span></p>
<p class=MsoNormal><span lang=EN-US>Click tool bar: Correctly shows event
selection options even if no species classification options are in place. </span></p>
<p class=MsoNormal><span lang=EN-US>Fixed Landmarks: Earlier versions were
losing these every time PAMGuard started or new data were loaded in viewer
mode. Now fixed. </span></p>
<p class=MsoNormal><span lang=EN-US>ROCCA: Fixed (another) memory leak which
caused PAMGuard to crash when processing large data sets with the ROCCA
classifier. </span></p>
<p class=MsoNormal><span lang=EN-US>Ishmael Modules: Fixed bug which
occasionally caused crashes when processing many files offline. </span></p>
<p class=MsoNormal><span lang=EN-US>PAMDog: Fixed bug in watchdog program which
was trying to start PAMGuard before modules were fully loaded. The watchdog now
correctly waits until modules are loaded before attempting to start PAMGuard
processing.</span></p>
<h2><span lang=EN-US>New Features</span></h2>
<p class=MsoNormal><span lang=EN-US>New sound type for simulated sounds which
generates random chirps between around 200 and 800Hz, roughly the frequency
youd expect sound from higher frequency baleen whales, such as humpbacks, to
vocalise at. &nbsp;&nbsp;</span></p>
<p class=MsoNormal><span lang=EN-US>Hiding tool tips. A menu item to
permanently turn off all tool tips, or tap the Esc key to turn them off for 6
seconds if they are getting in the way, particularly when trying to interact
with displays using the mouse. </span></p>
<h1><span lang=EN-US>Version 2.02.06 November 2022</span></h1>
<h2><span lang=EN-US>Bug Fixes</span></h2>
@ -488,10 +530,10 @@ system to have nested classifiers which can be enabled or disabled. </span></p>
<p class=MsoNormal><span lang=EN-US>Changes to classification GUI to
accommodate the new classification system.</span></p>
<p class=MsoNormal><span lang=EN-US>Addition of data selectors to the minimum number
of clicks accepted by the classifier. This allows the click-by-click classifier
and the click train detector to be used to together to improve classification
accuracy. </span></p>
<p class=MsoNormal><span lang=EN-US>Addition of data selectors to the minimum
number of clicks accepted by the classifier. This allows the click-by-click
classifier and the click train detector to be used to together to improve
classification accuracy. </span></p>
<p class=MsoNormal><b><span lang=EN-US>Bug fixes</span></b></p>
@ -710,8 +752,9 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nb
lang=EN-US> </span>Extended XML-output support to all of the modules </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>8. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Updates to the simulated sounds in the Sound Acquisition module </p>
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Updates to the simulated sounds in the Sound Acquisition
module </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>9. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
@ -749,9 +792,9 @@ decimating/upsampling by a non-integer amount </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>16. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Noise Level Outputs - as an aid to performance diagnosis, some detectors
(currently the GPL, Click Detector and Whistle and Moan Detector) are
outputting additional noise metrics to their binary output files. These can be
read with the <a href="https://sourceforge.net/projects/pamguard/files/Matlab/">PAMGuard
(currently the GPL, Click Detector and Whistle and Moan Detector) are outputting
additional noise metrics to their binary output files. These can be read with
the <a href="https://sourceforge.net/projects/pamguard/files/Matlab/">PAMGuard
Matlab library</a> and used to diagnose system performance in varying noise
conditions. Improved displays within PAMGuard for these noise metrics will be
included in a future release. </p>
@ -759,10 +802,10 @@ included in a future release. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>17. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
An implementation of the Generalized Power Law Detector, developed by Tyler
Helble ([Helble et al., ‘A generalized power-law detection algorithm for
humpback whale vocalizations’, The Journal of the Acoustical Society of
America, vol. 131, no. 4, pp. 2682–2699, 2012) is now available. For
details, see the online help </p>
Helble ([Helble et al., ÃÂA generalized power-law detection algorithm for humpback
whale vocalizationsÃÂ, The Journal of the Acoustical Society of America, vol.
131, no. 4, pp. 2682ÃÂ2699, 2012) is now available. For details, see the
online help </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>18. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1021,17 +1064,18 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nb
Add 3D map for target motion module. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>6. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Add option to alarm module to attach screenshots of all frames to email alerts.
</p>
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Add option to alarm module to attach screenshots of all
frames to email alerts. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>7. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Add Beamformer and Bearing Localiser modules </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>8. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Added Global Medium Manager, to switch between air and water mediums </p>
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Added Global Medium Manager, to switch between air and water
mediums </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>9. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1055,9 +1099,10 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nb
lang=EN-US> </span>Added ctrl-p hotkey to print-screen button. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>14. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Update simulated daq so that it generates new random noise correctly on each
call rather then recycling old data. Makes the output more spectrally flat. </p>
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Update simulated daq so that it generates new random noise
correctly on each call rather then recycling old data. Makes the output more
spectrally flat. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>14. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1069,10 +1114,11 @@ placement, etc.</p>
<h1><a name="_Latest_Beta_Version_2.01.03"></a><span lang=EN-US>Version 2.01.03
February 2020</span></h1>
<p class=MsoNormal><b>If you are upgrading from a PAMGuard core release (1.15.xx),
PAMGuard Version 2 contains major updates. You should read and understand the
notes listed for <a href="#_Latest_Beta_Version_2.00.10">Beta Version 2.00.10</a>
before proceeding with installation and use of this version.</b></p>
<p class=MsoNormal><b>If you are upgrading from a PAMGuard core release
(1.15.xx), PAMGuard Version 2 contains major updates. You should read and
understand the notes listed for <a href="#_Latest_Beta_Version_2.00.10">Beta
Version 2.00.10</a> before proceeding with installation and use of this
version.</b></p>
<p class=MsoNormal>This version of PAMGuard has been bundled with Java 13
(release 13.0.1). PSFX files generated in previous beta releases (2.xx.xx)
@ -1123,8 +1169,8 @@ Bug 441. Plot coordinate calculations incorrect in PamAxis.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>10. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Bug 442. BT Display does not change click symbol color when
Colour By Superdetection is selected.</p>
lang=EN-US> </span>Bug 442. BT Display does not change click symbol color when Colour
By Superdetection is selected.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>11. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
@ -1137,9 +1183,9 @@ Bug 444. Bug in data selector which caused it to mess up history of recent psf
files.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>13. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Bug 445. Overlay data in FX spectrogram display gets out of sync with underlying
spectrogram image.</p>
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Bug 445. Overlay data in FX spectrogram display gets out of
sync with underlying spectrogram image.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>14. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1148,8 +1194,7 @@ Spectrogram display.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>15. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Bug 447. Viewer mode throws exception when trying to load beamformer
localisations</p>
Bug 447. Viewer mode throws exception when trying to load beamformer localisations</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>16. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
@ -1162,8 +1207,8 @@ Bug 449. Rocca Encounter Stats output file calculating incorrect values.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>18. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Bug 450. Ishmael Detectors subscribing to FFTDataBlock
twice, meaning they process each data unit 2x doubling the output.</p>
lang=EN-US> </span>Bug 450. Ishmael Detectors subscribing to FFTDataBlock twice,
meaning they process each data unit 2x doubling the output.</p>
<p class=MsoNormal><b><span lang=EN-US>Upgrades</span></b></p>
@ -1173,9 +1218,9 @@ lang=EN-US> </span>Added functionality to TD display to allow users to manually
classify clicks. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>2. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Added option in Sound Acquisition settings dialog to override filename time
stamp and use PC local time instead. </p>
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Added option in Sound Acquisition settings dialog to
override filename time stamp and use PC local time instead. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>3. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
@ -1251,9 +1296,9 @@ with installation and use of this version.</span></p>
<p class=MsoNormal><b><span lang=EN-US>Bug Fixes</span></b></p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>1. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Bug 427. Soundtrap import not closing binary files properly if BCL files do not
contain off-effort 'E' line</p>
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Bug 427. Soundtrap import not closing binary files properly
if BCL files do not contain off-effort 'E' line</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>2. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1393,9 +1438,9 @@ lang=EN-US> </span>Added adaptive noise filter to Ishmael Detectors.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Many upgrades to the Sound Playback module, including a
high-pass filter, gain control, and the ability to mix wavefrom and envelope data
together to listen to high-frequency clicks and dolphin whistles at the same
time.</p>
high-pass filter, gain control, and the ability to mix wavefrom and envelope
data together to listen to high-frequency clicks and dolphin whistles at the
same time.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>6. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1498,9 +1543,9 @@ Improvements to Difar module graphics - easier reading, better visibility at
night.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>7. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Added print screen button to capture/save all PAMGuard screens to file and log
the information to the database.</p>
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Added print screen button to capture/save all PAMGuard
screens to file and log the information to the database.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>8. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -1551,17 +1596,17 @@ lang=EN-US> </span>Added decimal degrees option to latitude/longitude dialog.</p
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>2. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Added option in the Click Delay parameters to restrict the
number of initial samples used in the calculation. This can be useful for
cleaning up delays in the presence of echoes and small time delays.</p>
lang=EN-US> </span>Added option in the Click Delay parameters to restrict the number
of initial samples used in the calculation. This can be useful for cleaning up
delays in the presence of echoes and small time delays.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>3. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Increased upsampling to 2, 3 or 4 times.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>4. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Can now change units and scale type in level meter display.</p>
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Can now change units and scale type in level meter display.</p>
<!-- ************************************************************************************************************************** --><!-- ************************************************************************************************************************** -->
@ -1926,8 +1971,8 @@ User is now able to specify Soundtrap date/time format</p>
<h1><a name="_Latest_Beta_Version_2.00.11"></a><span lang=EN-US>Beta Version
2.00.11 October 2017</span></h1>
<p class=MsoNormal><span lang=EN-US>PAMGuard Version 2 contains major updates.
You should read and understand the notes listed for <a
<p class=MsoNormal><span lang=EN-US>PAMGuard Version 2 contains major updates. You
should read and understand the notes listed for <a
href="#_Latest_Beta_Version_2.00.10">Beta Version 2.00.10</a> before proceeding
with installation and use of this version.</span></p>
@ -1998,9 +2043,9 @@ lang=EN-US> </span>Added 3D rotation to map display. Hold down the shift key
while clicking and dragging on the map to see this in action. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>6. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
Added database logging and other updates to the Click Detector trigger function
</p>
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span><span
lang=EN-US> </span>Added database logging and other updates to the Click
Detector trigger function </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>7. </span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>
@ -2081,8 +2126,8 @@ to colour them by the colour assigned to the group. </span></p>
<h3><span lang=EN-US>Using Old PAMGuard Configurations</span></h3>
<p class=MsoNormal><span lang=EN-US>Old PAMGuard configurations will work with
the new version. However please note the following:</span></p>
<p class=MsoNormal><span lang=EN-US>Old PAMGuard configurations will work with the
new version. However please note the following:</span></p>
<p class=MsoListParagraph style='margin-left:54.0pt;text-indent:-36.0pt'><span
lang=EN-US>1.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2091,10 +2136,10 @@ so they will no longer work with older PAMGuard versions.</span></p>
<p class=MsoListParagraph style='margin-left:54.0pt;text-indent:-36.0pt'><span
lang=EN-US>2.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=EN-US>Display colour options will be lost and most data
displayed on the map may default to black. This is due to the above changes to
how colours are managed. Changing back to the colours of your choice is
relatively simple through the PAMGuard GUI. </span></p>
</span><span lang=EN-US>Display colour options will be lost and most data displayed
on the map may default to black. This is due to the above changes to how
colours are managed. Changing back to the colours of your choice is relatively
simple through the PAMGuard GUI. </span></p>
<p class=MsoListParagraph style='margin-left:54.0pt;text-indent:-36.0pt'><span
lang=EN-US>&nbsp;</span></p>
@ -2108,8 +2153,8 @@ lang=EN-US>&nbsp;</span></p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>1.</span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=EN-US>Bug 317. Rocca Module Data Purging. </span>The ROCCA module
was not performing data purging when using classifiers developed for
</span><span lang=EN-US>Bug 317. Rocca Module Data Purging. </span>The ROCCA
module was not performing data purging when using classifiers developed for
Hawaii/Temperate Pacific/North Atlantic datasets. This has been corrected.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>2.</span><span
@ -2156,8 +2201,8 @@ list grew to a ridiculous size. Code has been put in place to a) stop it
happening again and b) to repair any configuration files which are corrupted.
Corrupted files will be slow to load, slow to save and will be &gt; several
megabytes in size. It may be necessary to delete the PamguardSettings table in
any databases since these too may have become oversized which will slow down viewer
mode PAMGuard start-up.</p>
any databases since these too may have become oversized which will slow down
viewer mode PAMGuard start-up.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>2.</span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2418,8 +2463,8 @@ detector has been tidied up so that there are a) All Click, b) Tracked Clicks
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=EN-US>When tracking online, all the click marking information
is written to the same database tables as are used for offline target motion
analysis. This means than when reviewing data offline, the tracks created in
real time are now available for review and further analysis. </span></p>
analysis. This means than when reviewing data offline, the tracks created in real
time are now available for review and further analysis. </span></p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>4.</span><span
lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2462,15 +2507,15 @@ memory that needed to be cleaned up). In some circumstances, these pauses were
making data acquisition systems unstable. We have therefore entirely rewritten
the way in which PAMGuard handles arrays of spectrogram data (complex numbers)
so that instead of large numbers of small Java objects there are now fewer,
larger, simpler java objects. These reduce processing delays for garbage collection
and give an overall speed improvement, but will otherwise not be noticed by
users. </span></p>
larger, simpler java objects. These reduce processing delays for garbage
collection and give an overall speed improvement, but will otherwise not be
noticed by users. </span></p>
<p class=MsoNormal><i><span lang=EN-US>Click Detector RainbowClick file output</span></i></p>
<p class=MsoNormal><span lang=EN-US>This feature has been removed since it has
been obsolete for several years. Users should use the PAMGuard binary storage system
for Click Detector data. </span></p>
been obsolete for several years. Users should use the PAMGuard binary storage
system for Click Detector data. </span></p>
<h1><a name="_Latest_Version_1.15.04"></a><span lang=EN-US>Version 1.15.04 July
2016</span></h1>
@ -2605,8 +2650,8 @@ and datagram creation.</p>
<h1><a name="_Toc444450394"></a><span lang=EN-US>Version 1.15.00 February 2016</span></h1>
<p class=MsoNormal><span lang=EN-US>Beta Version 1.15.00 64 bit and Core version
1.15.00 32 bit. Both using identical Java core software but linking to
<p class=MsoNormal><span lang=EN-US>Beta Version 1.15.00 64 bit and Core
version 1.15.00 32 bit. Both using identical Java core software but linking to
different libraries for control of sound input devices. </span></p>
<p class=MsoNormal><span lang=EN-US>This is the first release of a 64 bit
@ -2688,8 +2733,8 @@ name="_Toc312065299"></a><a name="_Toc312063944"></a><a name="_Toc312065300"></a
name="_Toc312063945"></a>Version 1.14.00 Beta, September 2015</h1>
<p class=MsoNormal>The format of configuration files has changed for version
1.14.00. Older configurations will load with this new version, but configurations
saved with 1.14.00 may not open correctly with earlier versions.</p>
1.14.00. Older configurations will load with this new version, but
configurations saved with 1.14.00 may not open correctly with earlier versions.</p>
<p class=MsoNormal>PAMGuard Versions 1.14.00 and above will work with Java 8.
PAMGuard will continue to work with Java 7, but support for Java 7 will be
@ -2767,8 +2812,8 @@ events. </span></p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'><span
lang=EN-US>5.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span><span lang=EN-US>Bug 250. DIFAR module was crashing if it attempted to triangulate
between more than two simultaneous bearings. Fixed. </span></p>
</span><span lang=EN-US>Bug 250. DIFAR module was crashing if it attempted to
triangulate between more than two simultaneous bearings. Fixed. </span></p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'><span
lang=EN-US>6.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2869,11 +2914,11 @@ which is useful when using PAMGuard for demonstration purposes. </p>
<p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span
lang=EN-US>4.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>The sound File and Folder audio input systems now have an optional time zone
setting. Note that PAMGuard analysis should still all be taking place in UTC
and that this option is intended to allow the conversion of file times which
were not recorded as UTC into UTC and not the other way around. Use the option
with caution !</p>
</span>The sound File and Folder audio input systems now have an optional time
zone setting. Note that PAMGuard analysis should still all be taking place in
UTC and that this option is intended to allow the conversion of file times
which were not recorded as UTC into UTC and not the other way around. Use the
option with caution !</p>
<p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><span
lang=EN-US>5.</span><span lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -2988,8 +3033,9 @@ total loss of the PAMGuard configuration in viewer mode and has been rectified.
7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;</span>Bug
218. SAIL Acquisition card would hang the system. This has also been fixed. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'>7.&nbsp;&nbsp;&nbsp; Bug 219.
Problems displaying Offline Click Events in the Viewer map have been fixed. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'>7.&nbsp;&nbsp;&nbsp; Bug
219. Problems displaying Offline Click Events in the Viewer map have been
fixed. </p>
<p class=MsoNormal>&nbsp;</p>
@ -3028,9 +3074,8 @@ to read on a time. Fixed</p>
<p class=MsoNormal><i>Menu Layout</i></p>
<p class=MsoNormal>The PAMGuard menus have been rearranged into a more
intuitive grouping which we believe will help users find functionality more
easily. </p>
<p class=MsoNormal>The PAMGuard menus have been rearranged into a more intuitive
grouping which we believe will help users find functionality more easily. </p>
<p class=MsoNormal>'Detection' menu has been renamed to 'Settings' since many
menu items within this menu were not directly to do with 'Detection'.</p>
@ -3087,9 +3132,9 @@ sonobuoys. See online help for details.&nbsp; </p>
<p class=MsoNormal>This module, developed by Jamie Macaulay of St Andrews
University estimates the 3D localisation of clicks using a variety of
algorithms. It's primarily been developed to track harbour porpoise in three
dimensions over scales of 10's of metres. While currently only working with output
from the click detector, we hope eventually to extend its use to whistles as
well. </p>
dimensions over scales of 10's of metres. While currently only working with
output from the click detector, we hope eventually to extend its use to
whistles as well. </p>
<p class=MsoNormal><i>Accelerometer Readout</i> (Sensors group)</p>
@ -3159,10 +3204,11 @@ different. Details are available in the online help. </p>
<p class=MsoNormal><i>FLAC File Support</i></p>
<p class=MsoNormal>Can now read raw audio data direct from FLAC files. <a
href="http://en.wikipedia.org/wiki/FLAC">FLAC</a> is a lossless compression algorithm
for audio data. Files, or folders of files are accessed in the same way as WAV
and AIFF files in the Sound Acquisition module. In a future release we also
hope to provide support for writing FLAC files from the sound recorder module. </p>
href="http://en.wikipedia.org/wiki/FLAC">FLAC</a> is a lossless compression
algorithm for audio data. Files, or folders of files are accessed in the same
way as WAV and AIFF files in the Sound Acquisition module. In a future release
we also hope to provide support for writing FLAC files from the sound recorder
module. </p>
<p class=MsoNormal><i>Sound Recorder Module</i></p>
@ -3175,8 +3221,8 @@ Millisecond time is also now included in the output file names. </p>
<p class=MsoNormal>Datagram options in Viewer have been improved so that the
user has to verify the time binning for datagrams the first time the viewer is
run and can also change the time bins from the File menu (See the File/BinaryStore/Datagram
options menu. </p>
run and can also change the time bins from the File menu (See the
File/BinaryStore/Datagram options menu. </p>
<p class=MsoNormal><i>Viewer Configuration</i></p>
@ -3228,8 +3274,8 @@ whistle.</p>
longer possible to change configurations once PAMGuard has been launched
and pressing 'Cancel' on the select dialog causes PAMGuard to exit. </li>
<li class=MsoNormal style='margin-bottom:0cm'>Airgun display. If this was
included in the PAMGuard model before the GPS module it would hang PAMGuard.
This has been rectified. </li>
included in the PAMGuard model before the GPS module it would hang
PAMGuard. This has been rectified. </li>
<li class=MsoNormal style='margin-bottom:0cm'>Fixed occasional exceptions in
the sound output modules when playing back from files. </li>
<li class=MsoNormal style='margin-bottom:0cm'>Fixed exceptions in spectrogram
@ -3242,8 +3288,8 @@ whistle.</p>
forms which did not display correctly in 'night' mode. </li>
<li class=MsoNormal style='margin-bottom:0cm'>Bug fix in simulator. No longer
stops or fails to start generating sounds. </li>
<li class=MsoNormal style='margin-bottom:0cm'>Bug in calculated spectrum
levels if data were decimated (<a
<li class=MsoNormal style='margin-bottom:0cm'>Bug in calculated spectrum levels
if data were decimated (<a
href="http://sourceforge.net/p/pamguard/bugs/187/">http://sourceforge.net/p/pamguard/bugs/187/</a>)
. Did not affect band level calculations. </li>
<li class=MsoNormal style='margin-bottom:0cm'>Bug in noise band monitor.
@ -3327,9 +3373,9 @@ databases.</p>
<p class=MsoNormal style='margin-left:36.0pt'>National Instruments cards: Added
code in support of the new x-series devices. </p>
<p class=MsoNormal style='margin-left:36.0pt'>ASIO sound cards: Added support
for a new open source ASIO driver system (jasiohost). The old system has been
left in place for now while we assess users response to the newer system. </p>
<p class=MsoNormal style='margin-left:36.0pt'>ASIO sound cards: Added support for
a new open source ASIO driver system (jasiohost). The old system has been left
in place for now while we assess users response to the newer system. </p>
<p class=MsoNormal style='margin-left:36.0pt'><i>AIS</i></p>
@ -3633,10 +3679,10 @@ source, even if that data source is loaded after the FFT module is created.</p>
<p class=MsoNormal>1. Binary storage module. </p>
<p class=MsoNormal>Performs a parallel role to the PAMGAURD database but uses binary
files in a proprietary format which is considerably more efficient for data of
unknown length such as whistle contours or small clips of click waveform. This
feature is currently implemented in the following modules:</p>
<p class=MsoNormal>Performs a parallel role to the PAMGAURD database but uses
binary files in a proprietary format which is considerably more efficient for
data of unknown length such as whistle contours or small clips of click
waveform. This feature is currently implemented in the following modules:</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -3757,8 +3803,8 @@ channels 0 and 1. Similarly if you switched sound cards, you may have to reconfi
every detector and several of the displays to handle the changes in channel
numbering. </p>
<p class=MsoNormal>I have spent a considerable amount of time trying to work
out a better system for handling channel numbering in PAMGUARD and have decided
<p class=MsoNormal>I have spent a considerable amount of time trying to work out
a better system for handling channel numbering in PAMGUARD and have decided
that the only practical thing to do is to force all software channel numbering
back to a zero indexed system. i.e. even if you read out hardware channels
3,4,5 and 6, within PAMGUARD, everywhere apart from the Sound acquisition
@ -3887,8 +3933,8 @@ frequency versions of the click detector.</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Note that this does not (yet) permit simultaneous acquisition and playback
through</p>
</span>Note that this does not (yet) permit simultaneous acquisition and
playback through</p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4049,9 +4095,9 @@ Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Channel lists in output data streams of Decimator and other modules
fixed, so that when channel numbers change, downstream modules configurations
get the correct list of available channels. </p>
</span>Channel lists in output data streams of Decimator and other modules fixed,
so that when channel numbers change, downstream modules configurations get the
correct list of available channels. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4083,10 +4129,10 @@ Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>New menu functionality by right clicking on any of the tabs of the main
tab control will allow the user to copy the tab contents to the system clipboard
from where it can be copied into other programs (e.g. Word, Powerpoint,
etc.).Some modules, such as the map, have this implemented in other menus
(right click) and also allow printing.&nbsp; </p>
tab control will allow the user to copy the tab contents to the system
clipboard from where it can be copied into other programs (e.g. Word,
Powerpoint, etc.).Some modules, such as the map, have this implemented in other
menus (right click) and also allow printing.&nbsp; </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span style='font-family:
Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
@ -4346,9 +4392,9 @@ a serial port </p>
<p class=MsoNormal>New Likelihood detector. </p>
<p class=MsoNormal>The likelihood detector module is an implementation of a
likelihood ratio test with flexible algorithms and configuration to estimate
likelihood. It is </p>
<p class=MsoNormal>The likelihood detector module is an implementation of a likelihood
ratio test with flexible algorithms and configuration to estimate likelihood.
It is </p>
<p class=MsoNormal>suitable for detecting both short duration Odontocete clicks
(Sperm, Beaked, etc.) as well as moderate duration Mysticete calls (Humpback,

View File

@ -4,7 +4,7 @@
<groupId>org.pamguard</groupId>
<artifactId>Pamguard</artifactId>
<name>Pamguard Java12+</name>
<version>2.02.06</version>
<version>2.02.07b</version>
<description>Pamguard for Java 12+, using Maven to control dependcies</description>
<url>www.pamguard.org</url>
<organization>

View File

@ -4,7 +4,7 @@
<modelVersion>4.0.0</modelVersion>
<groupId>org.pamguard</groupId>
<artifactId>Pamguard</artifactId>
<version>2.02.06c</version>
<version>2.02.07b</version>
<name>Pamguard Java12+</name>
<description>Pamguard for Java 12+, using Maven to control dependcies</description>
<url>www.pamguard.org</url>

View File

@ -950,15 +950,22 @@ public class AcquisitionProcess extends PamProcess {
/**
* Check it's a single channel and not a channel map.
* This fundamentally messed up the amplitude calculations when the
* channels were > 2 since it was only taking the number of the lowest set
* bit. So if a genuine channel was sent, rather than a channel map with a
* single set channel, it messed up. Have made this function redundant
* and we need to be 100% sure that all amplitude calculations are sent a
* channel number not a bitmap with a single set channel.
* @param channel
* @return single channel if it seemed to be a bitmap.
*/
private int checkSingleChannel(int channel) {
int bitCount = PamUtils.getNumChannels(channel);
if (bitCount > 1 || channel > 32) {
channel = PamUtils.getLowestChannel(channel);
}
return channel;
// int bitCount = PamUtils.getNumChannels(channel);
// if (bitCount > 1 || channel > 32) {
// channel = PamUtils.getLowestChannel(channel);
// }
// return channel;
}
/**
@ -1022,7 +1029,7 @@ public class AcquisitionProcess extends PamProcess {
/**
* Prepares for fast amplitude calculations
* @param channel
* @param channel number i.e. 0 - 31, NOT a bitmap.
*/
public double prepareFastAmplitudeCalculation(int channel) {
channel = checkSingleChannel(channel);
@ -1035,7 +1042,7 @@ public class AcquisitionProcess extends PamProcess {
* for an array of double data
*
* @param rawAmplitude raw amplitude (should be -1 < rawAmplitude < 1)
* @param channel channel number (MUST be a channel, not a sequence number)
* @param channel channel number (MUST be a channel 0 - 31, not a sequence number)
* @return amplitude in dB re 1 uPa.
*/
public double[] rawAmplitude2dB(double[] rawAmplitude, int channel){
@ -1122,7 +1129,7 @@ public class AcquisitionProcess extends PamProcess {
/**
* Converts dB in micropascal to ADC counts on a 0 - 1 scale.
* @param channel channel number.
* @param channel channel number, i.e. channel index 0 - 31 NOT a bitmap.
* @param dBMuPascal db in micropascal
* @return ADC counts on a 0-1 scale.
*/

View File

@ -14,7 +14,7 @@ import org.codehaus.plexus.util.FileUtils;
* <p>
* PamAudioFieManager holds a list of PamAudioFile classes. Each PamAudioFile
* can open a certain type of sound file e.g. flac or raw wav files.
* PamAudioFieManager provides fucntions around the list to open files, provide
* PamAudioFieManager provides functions around the list to open files, provide
* file filters etc.
*
* @author Jamie Macaulay
@ -81,8 +81,16 @@ public class PamAudioFileManager {
}
public boolean isSoundFile(File soundFile, String soundExtension) {
if (soundFile == null) {
return false;
}
String extension = FileUtils.getExtension(soundFile.getName());
if (extension == null) {
return false;
}
extension = extension.toLowerCase();
soundExtension = soundExtension.toLowerCase();
//System.out.println("Sound Extension: " + soundExtension + " File extension: " + extension);
return (soundExtension.equals(extension) || soundExtension.equals("." + extension));
}

View File

@ -159,22 +159,21 @@ public class TMGroupLocInfo implements GroupLocInfo {
private void copySubDetections(SuperDetection parentDataUnit, DetectionGroupOptions detectionGroupOptions) {
synchronized (parentDataUnit.getSubDetectionSyncronisation()) {
int totalUnits = parentDataUnit.getSubDetectionsCount();
int keptUnits = totalUnits;
if (detectionGroupOptions != null) {
if (detectionGroupOptions.getMaxLocalisationPoints() == 0 ||
detectionGroupOptions.getMaxLocalisationPoints() < parentDataUnit.getSubDetectionsCount()) {
keptUnits = detectionGroupOptions.getMaxLocalisationPoints();
}
}
subDetectionList = new Vector<>(keptUnits);
float keepRat = (float) (totalUnits-1) / (float) (keptUnits-1);
for (int i = 0; i < keptUnits; i++) {
int unitIndex = Math.round(i*keepRat);
subDetectionList.add(parentDataUnit.getSubDetection(unitIndex));
ArrayList<PamDataUnit> subDets = parentDataUnit.getSubDetections();
int totalUnits = subDets.size();
int keptUnits = totalUnits;
if (detectionGroupOptions != null) {
if (detectionGroupOptions.getMaxLocalisationPoints() == 0 ||
detectionGroupOptions.getMaxLocalisationPoints() < parentDataUnit.getSubDetectionsCount()) {
keptUnits = detectionGroupOptions.getMaxLocalisationPoints();
}
}
subDetectionList = new Vector<>(keptUnits);
float keepRat = (float) (totalUnits-1) / (float) (keptUnits-1);
for (int i = 0; i < keptUnits; i++) {
int unitIndex = Math.round(i*keepRat);
subDetectionList.add(subDets.get(unitIndex));
}
}
@ -454,7 +453,7 @@ public class TMGroupLocInfo implements GroupLocInfo {
* The real word vectors are relative to the earth surface. Thus they are the bearings vectors
* from an array, rotated by the true heading, pitch and roll of the array.
*/
protected void calculateWorldVectors() {
protected void calculateWorldVectors() {
int nSubDetections=getDetectionCount();
rawRealWorldVectors = new PamVector[nSubDetections][];
PamVector[] v;

View File

@ -31,12 +31,12 @@ public class PamguardVersionInfo {
* Version number, major version.minorversion.sub-release.
* Note: can't go higher than sub-release 'f'
*/
static public final String version = "2.02.06c";
static public final String version = "2.02.07b";
/**
* Release date
*/
static public final String date = "13 December 2022";
static public final String date = "19 January 2023";
// /**
// * Release type - Beta or Core

View File

@ -247,15 +247,15 @@ public class SelectFolder {
folderName.setColumns(textLength);
}
// public boolean isShowSubFolderOption() {
// return showSubFolderOption;
// }
//
//
// public void setShowSubFolderOption(boolean showSubFolderOption) {
// this.showSubFolderOption = showSubFolderOption;
// setVisibleControls();
// }
public boolean isShowSubFolderOption() {
return showSubFolderOption;
}
public void setShowSubFolderOption(boolean showSubFolderOption) {
this.showSubFolderOption = showSubFolderOption;
setVisibleControls();
}
private void setVisibleControls() {
includeSubFoldersCheckBox.setVisible(showSubFolderOption);

View File

@ -91,6 +91,7 @@ public class ColourScheme implements Serializable, Cloneable {
}
// avoid overflows.
int nCol = whaleColors.length - 1;
// iCol = Math.abs(iCol);
iCol = ((iCol-1)%nCol) + 1;
if (iCol < 0) {
return whaleColors[0];

View File

@ -1696,7 +1696,28 @@ abstract public class PamDataUnit<T extends PamDataUnit, U extends PamDataUnit>
* @return any integer.
*/
public int getColourIndex() {
return (int) getUID();
/*
* This can go wrong when UID > 2^31 since the colour chooser takes
* a mod WRT number of whale colours and it doesn't like negative numbers.
* So need to keep the value going in positive.
*/
long uid = getUID();
uid &= 0x7FFFFFFF; // avoid anything in top bit of an int32 or higher
return (int) uid;
}
/**
* @return the embryonic
*/
public boolean isEmbryonic() {
return embryonic;
}
/**
* @param embryonic the embryonic to set
*/
public void setEmbryonic(boolean embryonic) {
this.embryonic = embryonic;
}
/**

View File

@ -368,7 +368,7 @@ public class SuperDetDataBlock<Tunit extends SuperDetection, TSubDet extends Pam
}
if (!found) {
superDet = null;
System.out.printf("Can't find data unit id %d, UID %d in %s\n", superID, superUID, getDataName());
Debug.out.printf("Can't find data unit id %d, UID %d in %s\n", superID, superUID, getDataName());
}
}
if (superDet == null) {
@ -448,6 +448,9 @@ public class SuperDetDataBlock<Tunit extends SuperDetection, TSubDet extends Pam
int iDone = 0;
while (duIt.hasNext()) {
Tunit aData = duIt.next(); // looping through superdetections.
// if (aData.getDatabaseIndex() == 131) {
// System.out.println("On event 131");
// }
if (viewLoadObserver != null) {
viewLoadObserver.sayProgress(1, aData.getTimeMilliseconds(), firstTime, lastTime, iDone++);
}
@ -479,6 +482,7 @@ public class SuperDetDataBlock<Tunit extends SuperDetection, TSubDet extends Pam
sdInfo.setSubDetection(null);
}
}
// aData.weedMissingSubDetections();
}
}
return true;

View File

@ -278,23 +278,28 @@ public class SuperDetection<T extends PamDataUnit> extends PamDataUnit<T, SuperD
* @return an array list of sub detection data units
*/
public ArrayList<PamDataUnit<?,?>> getSubDetections() {
if (subDetections == null) {
return null;
}
ArrayList<PamDataUnit<?,?>> subDets = new ArrayList<>(getSubDetectionsCount());
for (SubdetectionInfo<T> subInfo:subDetections) {
T subDet = subInfo.getSubDetection();
if (subDet == null) {
continue;
synchronized (getSubDetectionSyncronisation()) {
if (subDetections == null) {
return null;
}
subDets.add(subDet);
ArrayList<PamDataUnit<?,?>> subDets = new ArrayList<>(getSubDetectionsCount());
for (SubdetectionInfo<T> subInfo:subDetections) {
T subDet = subInfo.getSubDetection();
if (subDet == null) {
continue;
}
subDets.add(subDet);
}
return subDets;
}
return subDets;
}
public T getSubDetection(int ind) {
synchronized (subDetectionSyncronisation) {
if (subDetections == null) return null;
if (ind >= subDetections.size()) {
return null;
}
return subDetections.get(ind).getSubDetection();
}
}
@ -351,10 +356,15 @@ public class SuperDetection<T extends PamDataUnit> extends PamDataUnit<T, SuperD
if (subDetections == null) {
return null;
}
for (int i=0; i<subDetections.size(); i++) {
T aSub = subDetections.get(i).getSubDetection();
if (aSub.getUID() == UID) {
return aSub;
synchronized (subDetectionSyncronisation) {
for (int i=0; i<subDetections.size(); i++) {
T aSub = subDetections.get(i).getSubDetection();
if (aSub == null) {
continue;
}
if (aSub.getUID() == UID) {
return aSub;
}
}
}
return null;
@ -479,6 +489,24 @@ public class SuperDetection<T extends PamDataUnit> extends PamDataUnit<T, SuperD
// }
}
/**
* Get a list of sub detections which are actually present.
* @return list of sub detections which have a non-null sub data unit.
*/
public List<SubdetectionInfo<T>> getPresentSubDetections() {
ArrayList<SubdetectionInfo<T>> exList = new ArrayList<>(getSubDetectionsCount());
synchronized (getSubDetectionSyncronisation()) {
for (SubdetectionInfo<T> subInf : subDetections) {
if (subInf.getSubDetection() == null) {
continue;
}
exList.add(subInf);
}
exList.trimToSize();
}
return exList;
}
/**
* Get the full list of subdetection info's (which may not all
@ -545,4 +573,21 @@ public class SuperDetection<T extends PamDataUnit> extends PamDataUnit<T, SuperD
}
}
/**
* Remove sub detection infos which have no actual sub detection
* loaded. Don't use since super dets are supposed to keep the full
* list even if they don't have loaded subdets.
*/
// public void weedMissingSubDetections() {
// synchronized (getSubDetectionSyncronisation()) {
// ListIterator<SubdetectionInfo<T>> subInfIter = subDetections.listIterator();
// while (subInfIter.hasNext()) {
// SubdetectionInfo<T> subDetInfo = subInfIter.next();
// if (subDetInfo.getSubDetection() == null) {
// subInfIter.remove();
// }
// }
// }
// }
}

View File

@ -27,7 +27,11 @@ public class SimpleAlarmCounter extends AlarmCounter {
@Override
public double getValue(int countType, PamDataUnit dataUnit) {
return 1;
if (dataSelector == null) {
return 1;
}
double val = dataSelector.scoreData(dataUnit);
return val;
}
@Override

File diff suppressed because it is too large Load Diff

View File

@ -1511,7 +1511,7 @@ public class ClickDetection extends PamDataUnit<PamDataUnit, PamDataUnit> implem
* @param iCI the iCI to set
*/
public void setICI(double iCI) {
ICI = iCI;
this.ICI = iCI;
}
protected void setChannelGroupDetector(ChannelGroupDetector channelGroupDetector) {

View File

@ -39,11 +39,11 @@ public class SweepClassifierPaneFX extends BasicIdentifierPaneFX {
public void setClassifierPane(ClickTypeProperty clickTypeProperty){
SweepClassifierSetPaneFX sweepPane=new SweepClassifierSetPaneFX(sweepClickClassifier);
//make it so the title of the pane is the same as the name as the classifier
getFlipPane().getAdvLabel().textProperty().unbind();
getFlipPane().getAdvLabel().textProperty().bind( sweepPane.getNameTextProperty());
//System.out.println("sweepPane.classifierItemRow: " + sweepPane.classifierItemRow);
sweepPane.classifierItemRow = sweepClickClassifier.getSweepClassifierParams().getSetRow((SweepClassifierSet) clickTypeProperty.getClickType());
sweepPane.setParams(clickTypeProperty);
@ -62,6 +62,7 @@ public class SweepClassifierPaneFX extends BasicIdentifierPaneFX {
public void setParams() {
sweepIdParameters = sweepClickClassifier.getSweepClassifierParams().clone();
//change the table
tableDataChanged();
@ -79,6 +80,7 @@ public class SweepClassifierPaneFX extends BasicIdentifierPaneFX {
for (int i=0; i<getClickClassifiers().size() ;i++){
sweepClickClassifier.getSweepClassifierParams().addSet((SweepClassifierSet) getClickClassifiers().get(i).getClickType());
}
return true;
}

View File

@ -284,5 +284,17 @@ public class OfflineEventDataBlock extends SuperDetDataBlock<OfflineEventDataUni
return (clickDetector.getClickDataBlock() == subDataBlock || clickDetector.getTrackedClicks() == subDataBlock);
}
// int nName = 0;
// @Override
// public String getDataName() {
// // TODO Auto-generated method stub
// System.out.println("Call into getDataName " + ++nName);
// if (nName == 58) {
//
// System.out.println("Call into getDataName " + ++nName);
// }
// return super.getDataName();
// }
}

View File

@ -128,22 +128,27 @@ public class LevelMeterSidePanel extends PamObserverAdapter implements PamSidePa
levelDisplays[i].setLimits(levelMeterControl.levelMeterParams.minLevel, 0);
}
checkConstants();
}
private void checkConstants() {
// now find the source acquisition module and any gain that's in between them.
PamRawDataBlock rawBlock = (PamRawDataBlock) parentBlock;
if (rawBlock!=null) {
AcquisitionProcess daqProcess = (AcquisitionProcess) rawBlock.getSourceProcess();
AcquisitionControl daqControl = daqProcess.getAcquisitionControl();
voltsPeak2Peak = daqControl.acquisitionParameters.voltsPeak2Peak;
int nChan = PamUtils.getNumChannels(channelMap);
maxFullScale = Double.NEGATIVE_INFINITY;
for (int i = 0; i < nChan; i++) {
int chan = PamUtils.getNthChannel(i, channelMap);
gains[chan] = rawBlock.getDataGain(chan);
dbFullScale[chan] = daqProcess.rawAmplitude2dB(1, chan, false);
maxFullScale = Math.max(maxFullScale, dbFullScale[chan]);
}
setupLabels();
if (rawBlock==null) {
return;
}
int channelMap = parentBlock.getChannelMap();
AcquisitionProcess daqProcess = (AcquisitionProcess) rawBlock.getSourceProcess();
AcquisitionControl daqControl = daqProcess.getAcquisitionControl();
voltsPeak2Peak = daqControl.acquisitionParameters.voltsPeak2Peak;
int nChan = PamUtils.getNumChannels(channelMap);
maxFullScale = Double.NEGATIVE_INFINITY;
for (int i = 0; i < nChan; i++) {
int chan = PamUtils.getNthChannel(i, channelMap);
gains[chan] = rawBlock.getDataGain(chan);
dbFullScale[chan] = daqProcess.rawAmplitude2dB(1, chan, false);
maxFullScale = Math.max(maxFullScale, dbFullScale[chan]);
}
setupLabels();
}
private void setupLabels() {
@ -228,7 +233,7 @@ public class LevelMeterSidePanel extends PamObserverAdapter implements PamSidePa
case LevelMeterParams.DISPLAY_VOLTS:
return 20.*Math.log10(level*(voltsPeak2Peak/2));
case LevelMeterParams.DISPLAY_MICROPASCAL:
return 20.*Math.log10(level) + maxFullScale;
return 20.*Math.log10(level) + dbFullScale[channel];
}
return 0;
}

View File

@ -161,7 +161,8 @@ public class NoiseBandProcess extends PamProcess {
lastOutputTime = timeMillis;
}
else if (timeMillis - lastOutputTime >= noiseBandControl.noiseBandSettings.outputIntervalSeconds*1000) {
daqProcess.prepareFastAmplitudeCalculation(iChan);
double ampTerm = daqProcess.prepareFastAmplitudeCalculation(iChan);
// System.out.printf("Amplitude term cahnnel %d is %3.1f\n", iChan, ampTerm);
double[][] measurementStats = new double[bandOutputs.length][2];
for (int i = 0; i < bandOutputs.length; i++) {
measurementStats[bandOutputs.length-i-1][0] = daqProcess.rawAmplitude2dB(bandOutputs[i].getRMS(), iChan, true);

View File

@ -140,6 +140,7 @@ public class PamScrollSlider extends AbstractPamScrollerAWT {
valueMillis = Math.max(scrollerData.minimumMillis, Math.min(scrollerData.maximumMillis, valueMillis));
int val = (int) ((valueMillis - scrollerData.minimumMillis) / scrollerData.getStepSizeMillis());
if (val >= slider.getMinimum() && val <= slider.getMaximum()) {
// System.out.printf("Set slider val %d in range %d to %d\n", val, slider.getMinimum(), slider.getMaximum());
slider.setValue(val);
}
}

View File

@ -191,9 +191,9 @@ public class ViewerScrollerManager extends AbstractScrollManager implements PamS
*/
private void loadDataQueueItem(DataLoadQueData dataLoadQueData, int queuePosition, ViewLoadObserver loadObserver) {
PamDataBlock dataBlock = dataLoadQueData.getPamDataBlock();
if (dataBlock instanceof OfflineEventDataBlock) {
System.out.println(dataBlock);
}
// if (dataBlock instanceof OfflineEventDataBlock) {
// System.out.println("in loadDataQueueItem" + dataBlock);
// }
// 2019-11-12 add a check of the counts to this 'if' statement as well. If the data start time is negative
// (which can indicate that this is a 'special' data block and we should be loading all of it rather than just
@ -699,6 +699,23 @@ public class ViewerScrollerManager extends AbstractScrollManager implements PamS
if (aScroller == pamScroller) {
continue;
}
/*
* Can end up with some horrible feedback here if two
* coupled scrollers bring in rounding errors and start
* to oscillate each other.
*/
long currentVal = aScroller.getValueMillis();
long change = Math.abs(value-currentVal);
long range = aScroller.getMaximumMillis() - aScroller.getMinimumMillis();
if (range == 0) {
aScroller.setValueMillis(aScroller.getMinimumMillis());
continue;
}
double fracChange = (double) change / (double) range;
if (fracChange <= .0001) {
continue;
}
aScroller.setValueMillis(value);
}
}

View File

@ -20,6 +20,8 @@ import userDisplayFX.UserDisplayNodeFX;
import PamModel.PamModel;
import PamModel.PamModuleInfo;
import PamView.PamViewInterface;
import atlantafx.base.theme.PrimerDark;
import atlantafx.base.theme.PrimerLight;
import dataMap.layoutFX.DataMapPaneFX;
import PamController.PAMControllerGUI;
import PamController.PamControlledUnit;
@ -29,6 +31,7 @@ import PamController.PamGUIManager;
import PamController.PamSettingManager;
import PamController.PamSettings;
import dataModelFX.DataModelPaneFX;
import javafx.application.Application;
import javafx.application.Platform;
import javafx.event.ActionEvent;
import javafx.geometry.Insets;

View File

@ -451,7 +451,7 @@ public class RoccaSpecPopUp extends javax.swing.JPanel {
for(int currentFreqBin = 0; currentFreqBin < fftVals.length(); currentFreqBin++) {
rawAmp = fftVals.magsq(currentFreqBin);
dB = daq.fftAmplitude2dB(rawAmp,
channelMap,
PamUtils.getLowestChannel(channelMap),
fftData.getSampleRate(),
fftLength,
true,

View File

@ -23,8 +23,12 @@ import Stats.LinFit;
* Step 3 is to rotate all position and angle vectors so that they correspond to
* a track as close as possible to the x axis.
* @author Doug Gillespie
*
* Deprecated. Not used and will probably fall over with system whereby sub detection info
* is present, but not all sub detections are.
*
*/
@Deprecated
@SuppressWarnings("rawtypes")
public class EventRotator extends AbstractTargetMotionInformation{

View File

@ -1,9 +1,13 @@
package targetMotionOld;
import pamMaths.PamVector;
import java.util.List;
import PamDetection.AbstractLocalisation;
import PamUtils.LatLong;
import PamguardMVC.PamDataUnit;
import PamguardMVC.superdet.SubdetectionInfo;
import PamguardMVC.superdet.SuperDetection;
import Stats.LinFit;
@ -74,12 +78,18 @@ public class EventRotator {
private double[] rotatedArrayAngles;
private int referenceHydrophones;
/**
* List of present (actual sub detection is not null) sub detections.
*/
private List<SubdetectionInfo<PamDataUnit>> subDetections;
/**
* @param pamDetection
*/
public EventRotator(SuperDetection pamDetection) {
super();
this.pamDetection = pamDetection;
this.subDetections = pamDetection.getPresentSubDetections();
rotatedWorldVectors = null;
calculateMetrePoints();
}
@ -90,14 +100,14 @@ public class EventRotator {
*/
private void calculateMetrePoints() {
lastUpdateTime = pamDetection.getLastUpdateTime();
nSubDetections = pamDetection.getSubDetectionsCount();
nSubDetections = subDetections.size();
subDetectionOrigins = new PamVector[nSubDetections];
subDetectionHeadings = new PamVector[nSubDetections];
pointTimes = new long[nSubDetections];
if (nSubDetections == 0) {
return;
}
PamDataUnit pd = pamDetection.getSubDetection(0);
PamDataUnit pd = subDetections.get(0).getSubDetection();
if (pd == null) {
return;
}
@ -110,7 +120,10 @@ public class EventRotator {
LatLong detOrigin;
for (int i = 0; i < nSubDetections; i++) {
pd = pamDetection.getSubDetection(i);
pd = subDetections.get(i).getSubDetection();
if (pd == null) {
continue;
}
localisation = pd.getLocalisation();
if (localisation == null) {
continue;
@ -152,6 +165,9 @@ public class EventRotator {
rotatedOrigins = new PamVector[nSubDetections];
rotatedHeadings = new PamVector[nSubDetections];
for (int i = 0; i < nSubDetections; i++) {
if (subDetectionOrigins[i] == null) {
continue;
}
subDetectionHeadings[i] = new PamVector(Math.cos(Math.PI/2-rotatedArrayAngles[i]), Math.sin(Math.PI/2-rotatedArrayAngles[i]), 0);
rotatedOrigins[i] = subDetectionOrigins[i].rotate(-referenceAngle);
rotatedArrayAngles[i] = Math.PI/2. - rotatedArrayAngles[i];
@ -170,7 +186,7 @@ public class EventRotator {
PamDataUnit pd;
AbstractLocalisation localisation;
for (int i = 0; i < nSubDetections; i++) {
pd = pamDetection.getSubDetection(i);
pd = subDetections.get(i).getSubDetection();
localisation = pd.getLocalisation();
if (localisation == null) {
continue;
@ -187,7 +203,7 @@ public class EventRotator {
PamDataUnit pd;
AbstractLocalisation localisation;
for (int i = 0; i < nSubDetections; i++) {
pd = pamDetection.getSubDetection(i);
pd = subDetections.get(i).getSubDetection();
localisation = pd.getLocalisation();
if (localisation == null) {
continue;

View File

@ -4,6 +4,7 @@ import java.awt.BorderLayout;
import java.awt.Color;
import java.awt.Dimension;
import java.util.ArrayList;
import java.util.List;
import javax.swing.JPanel;
@ -18,6 +19,7 @@ import PamUtils.LatLong;
import PamguardMVC.PamDataBlock;
import PamguardMVC.PamDataUnit;
import PamguardMVC.dataSelector.DataSelector;
import PamguardMVC.superdet.SubdetectionInfo;
import clickDetector.ClickDataBlock;
import targetMotionOld.TargetMotionLocaliser;
@ -66,9 +68,14 @@ public class DialogMap3DSwing<T extends GroupDetection> extends DialogMap<T> {
mapDetData.allAvailable = true;
mapDetData.select = true;
int nSub = currentEvent.getSubDetectionsCount();
List<SubdetectionInfo<PamDataUnit>> subDets = currentEvent.getPresentSubDetections();
int nSub = subDets.size();
for (int i = 0; i < nSub; i++) {
PamDataUnit subDet = currentEvent.getSubDetection(i);
PamDataUnit subDet = subDets.get(i).getSubDetection();
if (subDet == null) {
continue;
}
MapDetectionData subDetData = mapDetectionsManager.findDetectionData(subDet.getParentDataBlock());
if (subDetData != null && subDetData != mapDetData) {
mapDetData = subDetData;
@ -81,8 +88,8 @@ public class DialogMap3DSwing<T extends GroupDetection> extends DialogMap<T> {
*/
LatLong eventCentre = currentEvent.getOriginLatLong(true);
if (nSub >= 2) {
LatLong ll1 = currentEvent.getSubDetection(0).getOriginLatLong(true);
LatLong ll2 = currentEvent.getSubDetection(nSub-1).getOriginLatLong(true);
LatLong ll1 = subDets.get(0).getSubDetection().getOriginLatLong(true);
LatLong ll2 = subDets.get(nSub-1).getSubDetection().getOriginLatLong(true);
if (ll1 != null & ll2 != null) {
double lat = (ll1.getLatitude() + ll2.getLatitude())/2.;
double lon = (ll1.getLongitude() + ll2.getLongitude())/2.;