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 <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; 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 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: <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> 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><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 <h1><a name="_Hlk174698335"></a><a name="_Latest_Version_2.02.03_1"></a><a
name="_Latest_Version_2.02.06"></a><a name="_Latest_Version_2.02.07"></a><a name="_Latest_Version_2.02.05"></a><a name="_Latest_Version_2.02.06"></a><a
name="_Latest_Version_2.02.08"></a><a name="_Version_2.02.09_June"></a><a name="_Latest_Version_2.02.07"></a><a name="_Latest_Version_2.02.08"></a><a
name="_Version_2.02.10_January"></a><a name="_Version_2.02.11_April"></a>Version name="_Version_2.02.09_June"></a><a name="_Version_2.02.10_January"></a><a
2.02.12 June 2024</h1> name="_Version_2.02.11_April"></a>Version 2.02.12 August 2024</h1>
<p class=MsoNormal>&nbsp;</p> <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 project information to store with your data. See menu item Settings/Project
information.</p> 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> <h2>Tethys Database</h2>
<p class=MsoNormal>Many users will be aware that were integrating an interface <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. to the <a href="https://tethys.sdsu.edu/">Tethys Database</a> into PAMGuard. Some
Some basic features are available for testing. If interested, please contact basic features are available for testing. If interested, please contact the
the PAMGuard support team. </p> PAMGuard support team. </p>
<h2>Bug Fixes</h2> <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 class=MsoNormal>Updated icons to improve display on high definition screens.
</p> </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> <h1>Version 2.02.10 January 2024</h1>
<h2><span lang=EN-US>New Features</span></h2> <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 <h1><a name="_Latest_Beta_Version_2.01.05"></a><span lang=EN-US>Latest Version
2.01.05 October 2020</span></h1> 2.01.05 October 2020</span></h1>
<p class=MsoNormal><b>If you are upgrading from a PAMGuard core release <p class=MsoNormal><b>If you are upgrading from a PAMGuard core release (1.15.xx),
(1.15.xx), PAMGuard Version 2 contains major updates. You should read and PAMGuard Version 2 contains major updates. You should read and understand the
understand the notes listed for <a href="#_Latest_Beta_Version_2.00.10">Beta notes listed for <a href="#_Latest_Beta_Version_2.00.10">Beta Version 2.00.10</a>
Version 2.00.10</a> before proceeding with installation and use of this before proceeding with installation and use of this version.</b></p>
version.</b></p>
<p class=MsoNormal>This version of PAMGuard has been bundled with Java 13 <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) (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 <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 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 &nbsp; 456. Under certain conditions, the Ishmael detection plugin that is
at the bottom of the spectrogram can disappear about 500 msec behind the shown at the bottom of the spectrogram can disappear about 500 msec behind the
current time. </p> current time. </p>
<p class=MsoListParagraph style='text-indent:-18.0pt'><span lang=EN-US>5. </span><span <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 <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 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 lang=EN-US> </span>Added option in Sound Acquisition settings dialog to
filename time stamp and use PC local time instead. </p> 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 <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 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 <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; 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 </span><span lang=EN-US>New classes will be added to the configuration files,
they will no longer work with older PAMGuard versions.</span></p> 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 <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; 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><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 <p class=MsoNormal><span lang=EN-US>A major change in this version of PAMGuard
how plug-ins are managed. PAMGuard now has the ability to dynamically load 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 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 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> 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. unchanged, in most cases simply requiring the addition of an interface class.
&nbsp;Instructions for the development of new modules utilizing the plug-in &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" 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 target="_blank">here</a>. &nbsp;Plug-in modules can be downloaded from the
website here, but developers are encouraged to host and maintain their own PAMGuard website here, but developers are encouraged to host and maintain their
modules.</span></p> own modules.</span></p>
<p class=MsoNormal><span lang=EN-US>Modules of interest to the general PAM <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, 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 <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; 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 </span>Bug 281. Click classification dialog has grown too big to fit on the screen.
screen. The options have now been split across three tabbed panes which solves The options have now been split across three tabbed panes which solves the
the problem.</p> problem.</p>
<p class=MsoListParagraph style='margin-left:38.25pt;text-indent:-20.25pt'>10.<span <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; 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 <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; 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 </span>Spectrogram annotation marks. A simple system for marking spectrograms during
during real time analysis has been incorporated. To use it, add the module, in real time analysis has been incorporated. To use it, add the module, in the
the spectrogram settings, select the annotation marks in the 'Mark Observers' spectrogram settings, select the annotation marks in the 'Mark Observers' tab
tab of the spectrogram configuration dialog, and also right click on the of the spectrogram configuration dialog, and also right click on the
spectrogram and select to display the annotations. Annotations are saved to 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> 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><i>Filtered Noise Measurement</i> (Sound Processing Group)</p>
<p class=MsoNormal>This module, developed by Douglas Gillespie, measures noise <p class=MsoNormal>This module, developed by Douglas Gillespie, measures noise levels
levels in a single frequency band using a variety of filter functions. See in a single frequency band using a variety of filter functions. See online help
online help for details. </p> for details. </p>
<p class=MsoNormal><i>Envelope Tracing</i> (Beta Only, Sound Processing Group)</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>2. Improved offline viewer functionality. </p>
<p class=MsoNormal>The offline viewer is much improved with better data scrolling <p class=MsoNormal>The offline viewer is much improved with better data
and the ability to view data either stored in the database or the binary scrolling and the ability to view data either stored in the database or the
storage system. Work has stated on functions which read and use data stored in binary storage system. Work has stated on functions which read and use data
audio files. This is currently limited to re-calculating and displaying stored in audio files. This is currently limited to re-calculating and
displaying spectrogram data during viewer mode operation.&nbsp; </p> displaying displaying spectrogram data during viewer mode operation.&nbsp; </p>
<p class=MsoNormal>3. Heading sensor readout</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 reconfigure every detector and several of the displays to handle the changes in
channel numbering. </p> channel numbering. </p>
<p class=MsoNormal>I have spent a considerable amount of time trying to work out <p class=MsoNormal>I have spent a considerable amount of time trying to work
a better system for handling channel numbering in PAMGUARD and have decided 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 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 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 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>New Likelihood detector. </p>
<p class=MsoNormal>The likelihood detector module is an implementation of a likelihood <p class=MsoNormal>The likelihood detector module is an implementation of a
ratio test with flexible algorithms and configuration to estimate likelihood. likelihood ratio test with flexible algorithms and configuration to estimate
It is </p> likelihood. It is </p>
<p class=MsoNormal>suitable for detecting both short duration Odontocete clicks <p class=MsoNormal>suitable for detecting both short duration Odontocete clicks
(Sperm, Beaked, etc.) as well as moderate duration Mysticete calls (Humpback, (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> <dependency>
<groupId>com.fazecast</groupId> <groupId>com.fazecast</groupId>
<artifactId>jSerialComm</artifactId> <artifactId>jSerialComm</artifactId>
<version>2.5.3</version> <version>2.11.0</version>
</dependency> </dependency>
<!-- https://mvnrepository.com/artifact/edu.emory.mathcs/JTransforms --> <!-- https://mvnrepository.com/artifact/edu.emory.mathcs/JTransforms -->

View File

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

View File

@ -156,4 +156,13 @@ public class RavenDataRow {
return unpackOK; 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(); ravenDataBlock.clearAll();
ravenLogging.deleteData(0, System.currentTimeMillis()*2); ravenLogging.deleteData(0, System.currentTimeMillis()*2);
RavenDataRow prevRow = null;
for (RavenDataRow ravenRow : ravenData) { for (RavenDataRow ravenRow : ravenData) {
int fileInd = getTimeIndex(ravenRow.getBeginT()*1000, absTime); if (ravenRow.equals(prevRow) == false) {
if (fileInd == absTime.length) { /**
String msg = String.format("Data at time %6.4f is beyond the end of available sound file data", ravenRow.getBeginT()); * A lot of Raven data appear twice, with different view values.
WarnOnce.showWarning("Error importing RAVEN data", msg, WarnOnce.WARNING_MESSAGE); * No need to import both. so only doing this if they are different.
break; */
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]; prevRow = ravenRow;
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);
} }
OfflineDataMap dataMap = ravenDataBlock.getPrimaryDataMap(); OfflineDataMap dataMap = ravenDataBlock.getPrimaryDataMap();

View File

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