updates ready for 2.2.12

This commit is contained in:
Douglas Gillespie 2024-08-19 15:55:25 +01:00
parent 4829b46b36
commit cb1b28423e
8 changed files with 87 additions and 60 deletions

View File

@ -0,0 +1,2 @@
<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<a:clrMap xmlns:a="http://schemas.openxmlformats.org/drawingml/2006/main" bg1="lt1" tx1="dk1" bg2="lt2" tx2="dk2" accent1="accent1" accent2="accent2" accent3="accent3" accent4="accent4" accent5="accent5" accent6="accent6" hlink="hlink" folHlink="folHlink"/>

BIN
README.files/themedata.thmx Normal file

Binary file not shown.

View File

@ -388,7 +388,7 @@ PamguardBeta_ViewerMode.exe):</p>
<h1><a name="_LATEST_VERSION_2.02.03"></a><a name="_VERSION_2.02.07_January"></a><a
name="_Latest_Version_2.02.10"></a><em><span style='font-size:12.0pt;
font-family:"Cambria",serif;font-style:normal'><a href="#_Version_2.02.11_April">Latest
Version 2.02.12 June 2024</a></span></em></h1>
Version 2.02.12 August 2024</a></span></em></h1>
<h1><em><span style='font-size:12.0pt;font-family:"Cambria",serif;font-style:
normal'><a href="#_Version_2.02.10_January">Version 2.02.10 January 2024</a></span></em></h1>
@ -461,11 +461,11 @@ 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><a name="_Latest_Version_2.02.07"></a><a
name="_Latest_Version_2.02.08"></a><a name="_Version_2.02.09_June"></a><a
name="_Version_2.02.10_January"></a><a name="_Version_2.02.11_April"></a>Version
2.02.12 June 2024</h1>
<h1><a name="_Hlk174698335"></a><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><a
name="_Latest_Version_2.02.07"></a><a name="_Latest_Version_2.02.08"></a><a
name="_Version_2.02.09_June"></a><a name="_Version_2.02.10_January"></a><a
name="_Version_2.02.11_April"></a>Version 2.02.12 August 2024</h1>
<p class=MsoNormal>&nbsp;</p>
@ -483,12 +483,18 @@ continually reset them. </p>
project information to store with your data. See menu item Settings/Project
information.</p>
<p class=MsoNormal>Effort management system. New map options allow colouring
of track line by effort from various other modules. This is currently the
acquisition system (so the track will change colour when PAMGuard is running),
the binary store system (likely the same as the acquisition) or data from Logger
forms. This system will be extended to other modules in the near future. </p>
<h2>Tethys Database</h2>
<p class=MsoNormal>Many users will be aware that were integrating an interface
to the <a href="https://tethys.sdsu.edu/">Tethys Database</a> into PAMGuard.
Some basic features are available for testing. If interested, please contact
the PAMGuard support team. </p>
to the <a href="https://tethys.sdsu.edu/">Tethys Database</a> into PAMGuard. Some
basic features are available for testing. If interested, please contact the
PAMGuard support team. </p>
<h2>Bug Fixes</h2>
@ -532,6 +538,9 @@ exact times, rather than a couple of seconds after the hour. </p>
<p class=MsoNormal>Updated icons to improve display on high definition screens.
</p>
<p class=MsoNormal>SAIL Daq Card. Automatic restart when DAQ card stalls
(happening increasingly often with latest Windows updates)</p>
<h1>Version 2.02.10 January 2024</h1>
<h2><span lang=EN-US>New Features</span></h2>
@ -1026,11 +1035,10 @@ help</a>. </p>
<h1><a name="_Latest_Beta_Version_2.01.05"></a><span lang=EN-US>Latest Version
2.01.05 October 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)
@ -1163,8 +1171,8 @@ lang=EN-US style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nb
<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>Bug
&nbsp; 456. Under certain conditions, the Ishmael detection plugin that is shown
at the bottom of the spectrogram can disappear about 500 msec behind the
&nbsp; 456. Under certain conditions, the Ishmael detection plugin that is
shown at the bottom of the spectrogram can disappear about 500 msec behind the
current time. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5. </span><span
@ -1428,8 +1436,8 @@ 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><span
lang=EN-US> </span>Added option in Sound Acquisition settings dialog to override
filename time stamp and use PC local time instead. </p>
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
@ -2340,8 +2348,8 @@ 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;
</span><span lang=EN-US>New classes will be added to the configuration files, so
they will no longer work with older PAMGuard versions.</span></p>
</span><span lang=EN-US>New classes will be added to the configuration files,
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;
@ -2464,8 +2472,8 @@ milliseconds. However, getDuration actually returns the number of samples.
<p class=MsoNormal><b><span lang=EN-US>Plug-Ins</span></b></p>
<p class=MsoNormal><span lang=EN-US>A major change in this version of PAMGuard is
how plug-ins are managed. PAMGuard now has the ability to dynamically load
<p class=MsoNormal><span lang=EN-US>A major change in this version of PAMGuard
is how plug-ins are managed. PAMGuard now has the ability to dynamically load
plug-in modules (saved as jar files) at runtime. This will greatly simplify the
process of testing and distributing newly developed modules, since only a small
jar file will be required rather than a new bespoke PAMGuard installation.</span></p>
@ -2474,9 +2482,9 @@ jar file will be required rather than a new bespoke PAMGuard installation.</span
unchanged, in most cases simply requiring the addition of an interface class.
&nbsp;Instructions for the development of new modules utilizing the plug-in
scheme can be found <a href="http://www.pamguard.org/16_HowtomakePlug-Ins.html"
target="_blank">here</a>. &nbsp;Plug-in modules can be downloaded from the PAMGuard
website here, but developers are encouraged to host and maintain their own
modules.</span></p>
target="_blank">here</a>. &nbsp;Plug-in modules can be downloaded from the
PAMGuard website here, but developers are encouraged to host and maintain their
own modules.</span></p>
<p class=MsoNormal><span lang=EN-US>Modules of interest to the general PAM
community will remain as part of the core PAMGuard installation. However,
@ -2797,9 +2805,9 @@ easy to understand options have been developed in a new options dialog.</p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>9.<span
style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
</span>Bug 281. Click classification dialog has grown too big to fit on the
screen. The options have now been split across three tabbed panes which solves
the problem.</p>
</span>Bug 281. Click classification dialog has grown too big to fit on the screen.
The options have now been split across three tabbed panes which solves the
problem.</p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>10.<span
style='font-size:7.0pt;font-family:"Times New Roman",serif'>&nbsp;&nbsp;&nbsp;&nbsp;
@ -3103,10 +3111,10 @@ href="https://sourceforge.net/p/pamguard/bugs">https://sourceforge.net/p/pamguar
<p class=MsoListParagraph style='margin-left:47.25pt;text-indent:-29.25pt'><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;
</span>Spectrogram annotation marks. A simple system for marking spectrograms
during real time analysis has been incorporated. To use it, add the module, in
the spectrogram settings, select the annotation marks in the 'Mark Observers'
tab of the spectrogram configuration dialog, and also right click on the
</span>Spectrogram annotation marks. A simple system for marking spectrograms during
real time analysis has been incorporated. To use it, add the module, in the
spectrogram settings, select the annotation marks in the 'Mark Observers' tab
of the spectrogram configuration dialog, and also right click on the
spectrogram and select to display the annotations. Annotations are saved to the
database so you will also need a database module in your configuration. &nbsp;</p>
@ -3376,9 +3384,9 @@ of third octave noise bands. See online help for details. </p>
<p class=MsoNormal><i>Filtered Noise Measurement</i> (Sound Processing Group)</p>
<p class=MsoNormal>This module, developed by Douglas Gillespie, measures noise
levels in a single frequency band using a variety of filter functions. See
online help for details. </p>
<p class=MsoNormal>This module, developed by Douglas Gillespie, measures noise levels
in a single frequency band using a variety of filter functions. See online help
for details. </p>
<p class=MsoNormal><i>Envelope Tracing</i> (Beta Only, Sound Processing Group)</p>
@ -3908,11 +3916,11 @@ Symbol'>'</span><span style='font-size:7.0pt;font-family:"Times New Roman",serif
<p class=MsoNormal>2. Improved offline viewer functionality. </p>
<p class=MsoNormal>The offline viewer is much improved with better data scrolling
and the ability to view data either stored in the database or the binary
storage system. Work has stated on functions which read and use data stored in
audio files. This is currently limited to re-calculating and displaying
displaying spectrogram data during viewer mode operation.&nbsp; </p>
<p class=MsoNormal>The offline viewer is much improved with better data
scrolling and the ability to view data either stored in the database or the
binary storage system. Work has stated on functions which read and use data
stored in audio files. This is currently limited to re-calculating and
displaying displaying spectrogram data during viewer mode operation.&nbsp; </p>
<p class=MsoNormal>3. Heading sensor readout</p>
@ -4013,8 +4021,8 @@ channels 0 and 1. Similarly if you switched sound cards, you may have to
reconfigure 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
@ -4602,9 +4610,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

@ -584,7 +584,7 @@ I've tried updating this to 2.11 bu tit's throwing problems at me with a missing
<dependency>
<groupId>com.fazecast</groupId>
<artifactId>jSerialComm</artifactId>
<version>2.5.3</version>
<version>2.11.0</version>
</dependency>
<!-- https://mvnrepository.com/artifact/edu.emory.mathcs/JTransforms -->

View File

@ -36,7 +36,7 @@ public class PamguardVersionInfo {
/**
* Release date
*/
static public final String date = "2 August 2024";
static public final String date = "19 August 2024";
// /**
// * Release type - Beta or Core

View File

@ -156,4 +156,13 @@ public class RavenDataRow {
return unpackOK;
}
@Override
public boolean equals(Object obj) {
if (obj instanceof RavenDataRow == false) {
return false;
}
RavenDataRow oth = (RavenDataRow) obj;
return this.channel == oth.channel && this.beginT == oth.beginT && this.endT == oth.endT && this.f1 == oth.f1 && this.f2 == oth.f2;
}
}

View File

@ -84,20 +84,28 @@ public class RavenProcess extends PamProcess {
ravenDataBlock.clearAll();
ravenLogging.deleteData(0, System.currentTimeMillis()*2);
RavenDataRow prevRow = null;
for (RavenDataRow ravenRow : ravenData) {
int fileInd = getTimeIndex(ravenRow.getBeginT()*1000, absTime);
if (fileInd == absTime.length) {
String msg = String.format("Data at time %6.4f is beyond the end of available sound file data", ravenRow.getBeginT());
WarnOnce.showWarning("Error importing RAVEN data", msg, WarnOnce.WARNING_MESSAGE);
break;
if (ravenRow.equals(prevRow) == false) {
/**
* A lot of Raven data appear twice, with different view values.
* No need to import both. so only doing this if they are different.
*/
int fileInd = getTimeIndex(ravenRow.getBeginT()*1000, absTime);
if (fileInd == absTime.length) {
String msg = String.format("Data at time %6.4f is beyond the end of available sound file data", ravenRow.getBeginT());
WarnOnce.showWarning("Error importing RAVEN data", msg, WarnOnce.WARNING_MESSAGE);
break;
}
long fileStart = fileStarts[fileInd];
long absStart = fileStart + (long) (ravenRow.getBeginT()*1000.)-absTime[fileInd];
long duration = (long) ((ravenRow.getEndT()-ravenRow.getBeginT())*1000.);
int chanMap = 1<<(ravenRow.getChannel()-1);
RavenDataUnit rdu = new RavenDataUnit(absStart, chanMap, duration, ravenRow.getF1(), ravenRow.getF2());
getRavenDataBlock().addPamData(rdu);
ravenLogging.logData(DBControlUnit.findConnection(), rdu);
}
long fileStart = fileStarts[fileInd];
long absStart = fileStart + (long) (ravenRow.getBeginT()*1000.)-absTime[fileInd];
long duration = (long) ((ravenRow.getEndT()-ravenRow.getBeginT())*1000.);
int chanMap = 1<<(ravenRow.getChannel()-1);
RavenDataUnit rdu = new RavenDataUnit(absStart, chanMap, duration, ravenRow.getF1(), ravenRow.getF2());
getRavenDataBlock().addPamData(rdu);
ravenLogging.logData(DBControlUnit.findConnection(), rdu);
prevRow = ravenRow;
}
OfflineDataMap dataMap = ravenDataBlock.getPrimaryDataMap();

View File

@ -146,7 +146,7 @@ public class TMALocalizationCreator implements LocalizationCreator {
// now also output a perpendicular distance.
Double perp = groupLocResult.getPerpendicularDistance();
if (perp != null) {
loc.setPerpendicularRangeM(perp);
loc.setPerpendicularRangeM(AutoTethysProvider.roundDecimalPlaces(perp, 2));
}