mirror of
https://github.com/PAMGuard/PAMGuard.git
synced 2024-11-21 22:52:22 +00:00
Add unit tests to deep learning and remove unwanted X3 libraries
This commit is contained in:
parent
3a74152beb
commit
aa6d289984
@ -1,6 +1,5 @@
|
||||
eclipse.preferences.version=1
|
||||
encoding//src/rawDeepLearningClassifer/segmenter/SegmenterProcess.java=UTF-8
|
||||
encoding//src/test=UTF-8
|
||||
encoding//src/test/resources=UTF-8
|
||||
encoding/<project>=UTF-8
|
||||
encoding/src=UTF-8
|
||||
|
@ -1,9 +1,9 @@
|
||||
eclipse.preferences.version=1
|
||||
org.eclipse.jdt.core.compiler.codegen.inlineJsrBytecode=enabled
|
||||
org.eclipse.jdt.core.compiler.codegen.methodParameters=do not generate
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=21
|
||||
org.eclipse.jdt.core.compiler.codegen.targetPlatform=18
|
||||
org.eclipse.jdt.core.compiler.codegen.unusedLocal=preserve
|
||||
org.eclipse.jdt.core.compiler.compliance=21
|
||||
org.eclipse.jdt.core.compiler.compliance=18
|
||||
org.eclipse.jdt.core.compiler.debug.lineNumber=generate
|
||||
org.eclipse.jdt.core.compiler.debug.localVariable=generate
|
||||
org.eclipse.jdt.core.compiler.debug.sourceFile=generate
|
||||
@ -13,4 +13,4 @@ org.eclipse.jdt.core.compiler.problem.enumIdentifier=error
|
||||
org.eclipse.jdt.core.compiler.problem.forbiddenReference=warning
|
||||
org.eclipse.jdt.core.compiler.problem.reportPreviewFeatures=warning
|
||||
org.eclipse.jdt.core.compiler.release=enabled
|
||||
org.eclipse.jdt.core.compiler.source=21
|
||||
org.eclipse.jdt.core.compiler.source=18
|
||||
|
153
pom.xml
153
pom.xml
@ -19,6 +19,10 @@
|
||||
<javafx.version>21</javafx.version>
|
||||
<maven.compiler.source>11</maven.compiler.source>
|
||||
<maven.compiler.target>11</maven.compiler.target>
|
||||
<!-- Thethys version control -->
|
||||
<jaxb.runtime.version>2.4.0-b180830.0438</jaxb.runtime.version>
|
||||
<jaxb.api.version>2.4.0-b180830.0359</jaxb.api.version>
|
||||
<jaxb.xjc.version>2.4.0-b180830.0438</jaxb.xjc.version>
|
||||
</properties>
|
||||
|
||||
<build>
|
||||
@ -29,8 +33,9 @@
|
||||
<resource>
|
||||
<directory>src</directory>
|
||||
<excludes>
|
||||
<exclude>**/*.java</exclude> <!-- don't include any source files -->
|
||||
<exclude>jars/*.*</exclude> <!-- don't include files in the jars folder -->
|
||||
<exclude>META-INF/*.SF,META-INF/*.DSA,META-INF/*.RSA</exclude>
|
||||
<exclude>**/*.java</exclude> <!-- don't include any source files -->
|
||||
<exclude>jars/*.*</exclude> <!-- don't include files in the jars folder -->
|
||||
</excludes>
|
||||
</resource>
|
||||
</resources>
|
||||
@ -747,6 +752,146 @@
|
||||
<version>1.0.2</version>
|
||||
</dependency>
|
||||
-->
|
||||
|
||||
|
||||
<!-- From NilusXMLGenerator POM at https://bitbucket.org/tethysacousticmetadata/nilusxmlgenerator/src/master/-->
|
||||
<dependency>
|
||||
<groupId>org.eclipse.persistence</groupId>
|
||||
<artifactId>org.eclipse.persistence.moxy</artifactId>
|
||||
<version>2.5.0</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>javax.xml.bind</groupId>
|
||||
<artifactId>jaxb-api</artifactId>
|
||||
<version>${jaxb.api.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.glassfish.jaxb</groupId>
|
||||
<artifactId>jaxb-runtime</artifactId>
|
||||
<version>${jaxb.runtime.version}</version>
|
||||
</dependency>
|
||||
<dependency>
|
||||
<groupId>org.glassfish.jaxb</groupId>
|
||||
<artifactId>jaxb-xjc</artifactId>
|
||||
<version>${jaxb.xjc.version}</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<!-- dependencies copied from TethysJavaClient -->
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey.contribs</groupId>
|
||||
<artifactId>jersey-multipart</artifactId>
|
||||
<version>1.18.1</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>commons-cli</groupId>
|
||||
<artifactId>commons-cli</artifactId>
|
||||
<version>1.2</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.poi</groupId>
|
||||
<artifactId>poi</artifactId>
|
||||
<version>3.10-beta1</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey</groupId>
|
||||
<artifactId>jersey-client</artifactId>
|
||||
<version>1.18.1</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.sun.jersey.contribs</groupId>
|
||||
<artifactId>jersey-apache-client</artifactId>
|
||||
<version>1.18.1</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.miglayout</groupId>
|
||||
<artifactId>miglayout</artifactId>
|
||||
<version>3.7.4</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>ca.juliusdavies</groupId>
|
||||
<artifactId>not-yet-commons-ssl</artifactId>
|
||||
<version>0.3.11</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.ws.rs</groupId>
|
||||
<artifactId>javax.ws.rs-api</artifactId>
|
||||
<version>2.1.1</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.xml.bind</groupId>
|
||||
<artifactId>jaxb-api</artifactId>
|
||||
<version>2.2.11</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>com.sun.xml.bind</groupId>
|
||||
<artifactId>jaxb-impl</artifactId>
|
||||
<version>2.2.11</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>javax.activation</groupId>
|
||||
<artifactId>activation</artifactId>
|
||||
<version>1.1</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.glassfish.jaxb</groupId>
|
||||
<artifactId>jaxb-core</artifactId>
|
||||
<version>2.2.11</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.glassfish.jersey.core</groupId>
|
||||
<artifactId>jersey-common</artifactId>
|
||||
<version>2.2</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
<dependency>
|
||||
<groupId>org.apache.commons</groupId>
|
||||
<artifactId>commons-text</artifactId>
|
||||
<version>1.9</version>
|
||||
</dependency>
|
||||
|
||||
<!-- dependencies copied from TethysJavaClient END -->
|
||||
|
||||
|
||||
<!-- Thethy library not in Maven central, so you may need to copy the javaclient and nilus folders from
|
||||
e.g. C:\Users\dg50\source\repos\**your projectfolder**\repo\tethys\org
|
||||
to C:\Users\dg50\.m2\repository\tethys\org -->
|
||||
<dependency>
|
||||
<groupId>tethys.org</groupId>
|
||||
<artifactId>nilus</artifactId>
|
||||
<version>3.0</version>
|
||||
</dependency>
|
||||
|
||||
<dependency>
|
||||
<groupId>tethys.org</groupId>
|
||||
<artifactId>javaclient</artifactId>
|
||||
<version>3.0</version>
|
||||
</dependency>
|
||||
|
||||
<!--
|
||||
X3 library for decompressing sud files. Not in Maven repository
|
||||
@ -755,9 +900,9 @@
|
||||
C:\Users\*yourusername*\.m2\repository\pamguard\org\x3\2.2.2
|
||||
-->
|
||||
<dependency>
|
||||
<groupId>pamguard.org</groupId>
|
||||
<groupId>org.pamguard</groupId>
|
||||
<artifactId>x3</artifactId>
|
||||
<version>2.2.6</version>
|
||||
<version>2.2.7</version>
|
||||
</dependency>
|
||||
|
||||
|
||||
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -1,89 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>org.pamguard</groupId>
|
||||
<artifactId>X3</artifactId>
|
||||
<version>2.2.5</version>
|
||||
<description>Tools for opening X3 files</description>
|
||||
<developers>
|
||||
<developer>
|
||||
<id>macster110</id>
|
||||
<name>Jamie Macaulay</name>
|
||||
<roles>
|
||||
<role>Developer</role>
|
||||
</roles>
|
||||
</developer>
|
||||
</developers>
|
||||
<licenses>
|
||||
<license>
|
||||
<name>Apache-2.0</name>
|
||||
<url>https://opensource.org/licenses/apache-2.0</url>
|
||||
<distribution>repo</distribution>
|
||||
</license>
|
||||
</licenses>
|
||||
<scm>
|
||||
<url>https://github.com/PAMGuard/x3.git</url>
|
||||
</scm>
|
||||
<build>
|
||||
<sourceDirectory>src</sourceDirectory>
|
||||
<plugins>
|
||||
<plugin>
|
||||
<artifactId>maven-compiler-plugin</artifactId>
|
||||
<version>3.8.1</version>
|
||||
<configuration>
|
||||
<release>11</release>
|
||||
</configuration>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-shade-plugin</artifactId>
|
||||
<version>3.4.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<phase>package</phase>
|
||||
<goals>
|
||||
<goal>shade</goal>
|
||||
</goals>
|
||||
<configuration />
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-source-plugin</artifactId>
|
||||
<version>3.2.1</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-sources</id>
|
||||
<goals>
|
||||
<goal>jar-no-fork</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
</plugin>
|
||||
<plugin>
|
||||
<artifactId>maven-javadoc-plugin</artifactId>
|
||||
<version>3.3.0</version>
|
||||
<executions>
|
||||
<execution>
|
||||
<id>attach-javadocs</id>
|
||||
<goals>
|
||||
<goal>jar</goal>
|
||||
</goals>
|
||||
</execution>
|
||||
</executions>
|
||||
<configuration>
|
||||
<failOnError>false</failOnError>
|
||||
</configuration>
|
||||
</plugin>
|
||||
</plugins>
|
||||
</build>
|
||||
<distributionManagement>
|
||||
<repository>
|
||||
<id>ossrh</id>
|
||||
<url>https://s01.oss.sonatype.org/service/local/staging/deploy/maven2/</url>
|
||||
</repository>
|
||||
<snapshotRepository>
|
||||
<id>ossrh</id>
|
||||
<url>https://s01.oss.sonatype.org/content/repositories/snapshots</url>
|
||||
</snapshotRepository>
|
||||
</distributionManagement>
|
||||
</project>
|
@ -1,12 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
<<<<<<<< HEAD:repo/org/pamguard/x3/2.2.5/_remote.repositories
|
||||
#Wed Aug 02 09:25:44 BST 2023
|
||||
X3-2.2.5-sources.jar>=
|
||||
X3-2.2.5-javadoc.jar>=
|
||||
X3-2.2.5.jar>=
|
||||
X3-2.2.5.pom>=
|
||||
========
|
||||
#Thu Dec 21 11:14:13 GMT 2023
|
||||
nilus-3.0.pom>=
|
||||
nilus-3.0.jar>=
|
||||
>>>>>>>> upstream/main:repo/tethys/org/nilus/3.0/_remote.repositories
|
@ -1,11 +0,0 @@
|
||||
#Mon Jul 31 15:39:20 BST 2023
|
||||
bedatadriven|https\://nexus.bedatadriven.com/content/groups/public/|javadoc=1690814360177
|
||||
repo|file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard/repo|sources=1690814174968
|
||||
talan|https\://nexus.talanlabs.com/content/repositories/releases/|javadoc=1690814360177
|
||||
central|https\://repo1.maven.org/maven2|sources=1690814174968
|
||||
unidata-all|https\://artifacts.unidata.ucar.edu/repository/unidata-all/|javadoc=1690814360177
|
||||
talan|https\://nexus.talanlabs.com/content/repositories/releases/|sources=1690814174968
|
||||
repo|file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard/repo|javadoc=1690814360177
|
||||
bedatadriven|https\://nexus.bedatadriven.com/content/groups/public/|sources=1690814174968
|
||||
unidata-all|https\://artifacts.unidata.ucar.edu/repository/unidata-all/|sources=1690814174968
|
||||
central|https\://repo1.maven.org/maven2|javadoc=1690814360177
|
@ -1,12 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Mon Jul 31 15:39:20 BST 2023
|
||||
file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard/repo/.lastUpdated=1690814258163
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1690814359540
|
||||
https\://repo1.maven.org/maven2/.error=
|
||||
file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard/repo/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1690814259502
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1690814259201
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1690814360177
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:javadoc\:2.2.5 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: Connect timed out
|
@ -1,12 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Mon Jul 31 15:36:14 BST 2023
|
||||
file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard/repo/.lastUpdated=1690814073151
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1690814174749
|
||||
https\://repo1.maven.org/maven2/.error=
|
||||
file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard/repo/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1690814074700
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1690814074514
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1690814174968
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:sources\:2.2.5 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: Connect timed out
|
@ -1,12 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Mon Jul 31 15:33:58 BST 2023
|
||||
file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard/repo/.lastUpdated=1690813936812
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1690814037920
|
||||
https\://repo1.maven.org/maven2/.error=
|
||||
file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard/repo/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1690813937853
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1690813937654
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1690814038162
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:2.2.5 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: Connect timed out
|
@ -1,16 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Mon Jul 31 15:32:16 BST 2023
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1690813866779
|
||||
https\://repo1.maven.org/maven2/.error=
|
||||
file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard\\target\\classes\\META-INF\\maven\\org.pamguard\\Pamguard/repo/.error=
|
||||
file\://${project.basedir}/repo/.lastUpdated=1690813675129
|
||||
file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard\\target\\classes\\META-INF\\maven\\org.pamguard\\Pamguard/repo/.lastUpdated=1690813936624
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1690813676327
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1690813777090
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:pom\:2.2.5 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: Connect timed out
|
||||
file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard/repo/.lastUpdated=1690813766739
|
||||
file\://${project.basedir}/repo/.error=
|
||||
file\://C\:\\Users\\Jamie\ Macaulay\\git\\PAMGuard/repo/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1690813676687
|
@ -1,10 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
<<<<<<<< HEAD:repo/pamguard/org/x3/2.2.3/_remote.repositories
|
||||
#Thu Oct 26 14:35:14 BST 2023
|
||||
x3-2.2.3.jar>=
|
||||
x3-2.2.3.pom>=
|
||||
========
|
||||
#Fri Jan 12 10:06:13 GMT 2024
|
||||
x3-2.2.7.jar>=
|
||||
x3-2.2.7.pom>=
|
||||
>>>>>>>> upstream/main:repo/pamguard/org/x3/2.2.7/_remote.repositories
|
@ -1,12 +0,0 @@
|
||||
#Thu Oct 26 15:50:39 BST 2023
|
||||
bedatadriven|https\://nexus.bedatadriven.com/content/groups/public/|javadoc=1698327546071
|
||||
repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo|sources=1698327461721
|
||||
repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo|javadoc=1698327546071
|
||||
talan|https\://nexus.talanlabs.com/content/repositories/releases/|javadoc=1698327546071
|
||||
central|https\://repo1.maven.org/maven2|sources=1698331839689
|
||||
unidata-all|https\://artifacts.unidata.ucar.edu/repository/unidata-all/|javadoc=1698327546071
|
||||
talan|https\://nexus.talanlabs.com/content/repositories/releases/|sources=1698331839689
|
||||
bedatadriven|https\://nexus.bedatadriven.com/content/groups/public/|sources=1698331839689
|
||||
unidata-all|https\://artifacts.unidata.ucar.edu/repository/unidata-all/|sources=1698331839689
|
||||
central|https\://repo1.maven.org/maven2|javadoc=1698327546071
|
||||
repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo|sources=1698331839689
|
@ -1,25 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
<<<<<<<< HEAD:repo/pamguard/org/x3/2.2.3/x3-2.2.3-javadoc.jar.lastUpdated
|
||||
#Thu Oct 26 14:39:06 BST 2023
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1698327545863
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.lastUpdated=1698327544361
|
||||
========
|
||||
#Fri Jan 12 10:09:16 GMT 2024
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1705054156080
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.lastUpdated=1705054154613
|
||||
>>>>>>>> upstream/main:repo/pamguard/org/x3/2.2.7/x3-2.2.7-javadoc.jar.lastUpdated
|
||||
https\://repo1.maven.org/maven2/.error=
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.error=
|
||||
<<<<<<<< HEAD:repo/pamguard/org/x3/2.2.3/x3-2.2.3-javadoc.jar.lastUpdated
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1698327545797
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1698327545616
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1698327546068
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:javadoc\:2.2.3 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: nexus.talanlabs.com
|
||||
========
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1705054156060
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1705054155868
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1705054156344
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:javadoc\:2.2.7 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: nexus.talanlabs.com
|
||||
>>>>>>>> upstream/main:repo/pamguard/org/x3/2.2.7/x3-2.2.7-javadoc.jar.lastUpdated
|
@ -1,28 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
<<<<<<<< HEAD:repo/pamguard/org/x3/2.2.3/x3-2.2.3-sources.jar.lastUpdated
|
||||
#Thu Oct 26 15:50:39 BST 2023
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1698327461349
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.lastUpdated=1698327459306
|
||||
https\://repo1.maven.org/maven2/.error=
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1698327460817
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1698327461652
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:sources\:2.2.3 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: nexus.talanlabs.com
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo/.lastUpdated=1698331839687
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1698327461288
|
||||
========
|
||||
#Fri Jan 12 10:06:49 GMT 2024
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1705054009062
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.lastUpdated=1705054007956
|
||||
https\://repo1.maven.org/maven2/.error=
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1705054008945
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1705054008751
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1705054009308
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:sources\:2.2.7 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: nexus.talanlabs.com
|
||||
>>>>>>>> upstream/main:repo/pamguard/org/x3/2.2.7/x3-2.2.7-sources.jar.lastUpdated
|
Binary file not shown.
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>pamguard.org</groupId>
|
||||
<artifactId>x3</artifactId>
|
||||
<<<<<<<< HEAD:repo/pamguard/org/x3/2.2.3/x3-2.2.3.pom
|
||||
<version>2.2.3</version>
|
||||
========
|
||||
<version>2.2.7</version>
|
||||
>>>>>>>> upstream/main:repo/pamguard/org/x3/2.2.7/x3-2.2.7.pom
|
||||
<description>POM was created from install:install-file</description>
|
||||
</project>
|
@ -1,4 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
#Wed Nov 15 12:43:42 GMT 2023
|
||||
x3-2.2.6.jar>=
|
||||
x3-2.2.6.pom>=
|
Binary file not shown.
@ -1,9 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>pamguard.org</groupId>
|
||||
<artifactId>x3</artifactId>
|
||||
<version>2.2.6</version>
|
||||
<description>POM was created from install:install-file</description>
|
||||
</project>
|
@ -1,10 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
<<<<<<<< HEAD:repo/pamguard/org/x3/2.2.3/_remote.repositories
|
||||
#Thu Oct 26 14:35:14 BST 2023
|
||||
x3-2.2.3.jar>=
|
||||
x3-2.2.3.pom>=
|
||||
========
|
||||
#Fri Jan 12 10:06:13 GMT 2024
|
||||
x3-2.2.7.jar>=
|
||||
x3-2.2.7.pom>=
|
||||
>>>>>>>> upstream/main:repo/pamguard/org/x3/2.2.7/_remote.repositories
|
@ -1,11 +0,0 @@
|
||||
#Fri Jan 12 10:09:16 GMT 2024
|
||||
bedatadriven|https\://nexus.bedatadriven.com/content/groups/public/|javadoc=1705054156349
|
||||
repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo|sources=1705054009341
|
||||
repo|file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo|javadoc=1705054156349
|
||||
talan|https\://nexus.talanlabs.com/content/repositories/releases/|javadoc=1705054156349
|
||||
central|https\://repo1.maven.org/maven2|sources=1705054009341
|
||||
unidata-all|https\://artifacts.unidata.ucar.edu/repository/unidata-all/|javadoc=1705054156349
|
||||
talan|https\://nexus.talanlabs.com/content/repositories/releases/|sources=1705054009341
|
||||
bedatadriven|https\://nexus.bedatadriven.com/content/groups/public/|sources=1705054009341
|
||||
unidata-all|https\://artifacts.unidata.ucar.edu/repository/unidata-all/|sources=1705054009341
|
||||
central|https\://repo1.maven.org/maven2|javadoc=1705054156349
|
@ -1,25 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
<<<<<<<< HEAD:repo/pamguard/org/x3/2.2.3/x3-2.2.3-javadoc.jar.lastUpdated
|
||||
#Thu Oct 26 14:39:06 BST 2023
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1698327545863
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.lastUpdated=1698327544361
|
||||
========
|
||||
#Fri Jan 12 10:09:16 GMT 2024
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1705054156080
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.lastUpdated=1705054154613
|
||||
>>>>>>>> upstream/main:repo/pamguard/org/x3/2.2.7/x3-2.2.7-javadoc.jar.lastUpdated
|
||||
https\://repo1.maven.org/maven2/.error=
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.error=
|
||||
<<<<<<<< HEAD:repo/pamguard/org/x3/2.2.3/x3-2.2.3-javadoc.jar.lastUpdated
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1698327545797
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1698327545616
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1698327546068
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:javadoc\:2.2.3 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: nexus.talanlabs.com
|
||||
========
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1705054156060
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1705054155868
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1705054156344
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:javadoc\:2.2.7 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: nexus.talanlabs.com
|
||||
>>>>>>>> upstream/main:repo/pamguard/org/x3/2.2.7/x3-2.2.7-javadoc.jar.lastUpdated
|
@ -1,28 +0,0 @@
|
||||
#NOTE: This is a Maven Resolver internal implementation file, its format can be changed without prior notice.
|
||||
<<<<<<<< HEAD:repo/pamguard/org/x3/2.2.3/x3-2.2.3-sources.jar.lastUpdated
|
||||
#Thu Oct 26 15:50:39 BST 2023
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1698327461349
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.lastUpdated=1698327459306
|
||||
https\://repo1.maven.org/maven2/.error=
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1698327460817
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1698327461652
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:sources\:2.2.3 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: nexus.talanlabs.com
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardDG/repo/.lastUpdated=1698331839687
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1698327461288
|
||||
========
|
||||
#Fri Jan 12 10:06:49 GMT 2024
|
||||
@default-talan-https\://nexus.talanlabs.com/content/repositories/releases/.lastUpdated=1705054009062
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.lastUpdated=1705054007956
|
||||
https\://repo1.maven.org/maven2/.error=
|
||||
file\://C\:\\Users\\dg50\\source\\repos\\PAMGuardPAMGuard/repo/.error=
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.error=
|
||||
https\://nexus.bedatadriven.com/content/groups/public/.lastUpdated=1705054008945
|
||||
https\://artifacts.unidata.ucar.edu/repository/unidata-all/.lastUpdated=1705054008751
|
||||
https\://repo1.maven.org/maven2/.lastUpdated=1705054009308
|
||||
https\://nexus.talanlabs.com/content/repositories/releases/.error=Could not transfer artifact pamguard.org\:x3\:jar\:sources\:2.2.7 from/to talan (https\://nexus.talanlabs.com/content/repositories/releases/)\: nexus.talanlabs.com
|
||||
>>>>>>>> upstream/main:repo/pamguard/org/x3/2.2.7/x3-2.2.7-sources.jar.lastUpdated
|
Binary file not shown.
@ -1,13 +0,0 @@
|
||||
<?xml version="1.0" encoding="UTF-8"?>
|
||||
<project xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd" xmlns="http://maven.apache.org/POM/4.0.0"
|
||||
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
|
||||
<modelVersion>4.0.0</modelVersion>
|
||||
<groupId>pamguard.org</groupId>
|
||||
<artifactId>x3</artifactId>
|
||||
<<<<<<<< HEAD:repo/pamguard/org/x3/2.2.3/x3-2.2.3.pom
|
||||
<version>2.2.3</version>
|
||||
========
|
||||
<version>2.2.7</version>
|
||||
>>>>>>>> upstream/main:repo/pamguard/org/x3/2.2.7/x3-2.2.7.pom
|
||||
<description>POM was created from install:install-file</description>
|
||||
</project>
|
@ -135,7 +135,7 @@ public class PamAudioFileManager {
|
||||
}
|
||||
|
||||
if (stream == null) {
|
||||
System.err.println("PamAudioFileManager: unable to open an AudioStream for " + file.getName());
|
||||
System.err.println("PamAudioFileManager: unable to open an AudioStream for " + file.getName() + " size: " + file.length());
|
||||
}
|
||||
|
||||
return stream;
|
||||
|
@ -254,7 +254,7 @@ public class WavAudioFile implements PamAudioFileLoader {
|
||||
|
||||
@Override
|
||||
public AudioInputStream getAudioStream(File soundFile) {
|
||||
if (soundFile.exists() == false) return null;
|
||||
if (soundFile.exists() == false || soundFile.length()<44) return null;
|
||||
if (soundFile != null && isSoundFile(soundFile)) {
|
||||
try {
|
||||
return WavFileInputStream.openInputStream(soundFile);
|
||||
@ -262,7 +262,7 @@ public class WavAudioFile implements PamAudioFileLoader {
|
||||
catch (UnsupportedAudioFileException | IOException e) {
|
||||
e.printStackTrace();
|
||||
// don't do anything and it will try the built in Audiosystem
|
||||
System.err.println("Could not open wav file: trying default audio stream: " + soundFile.getName());
|
||||
System.err.println("Could not open wav file: trying default audio stream: " + soundFile.getName() + " " + soundFile.length());
|
||||
}
|
||||
}
|
||||
try {
|
||||
@ -276,9 +276,24 @@ public class WavAudioFile implements PamAudioFileLoader {
|
||||
}
|
||||
|
||||
|
||||
public boolean isSoundFile(File soundFile) {
|
||||
public static boolean isSoundFile(File soundFile) {
|
||||
String extension = FileUtils.getExtension(soundFile.getName());
|
||||
return (extension.equals(".wav"));
|
||||
//2023-03-12 - for some reason this was .wav
|
||||
return (extension.equals("wav"));
|
||||
}
|
||||
|
||||
|
||||
public static void main(String args[]) {
|
||||
|
||||
File wavFile = new File("E:\\SoundNet\\1chan_analysis\\pamguard\\67150826\\mf_wav\\20180529\\PAM_20180529_055114_000.wav");
|
||||
try {
|
||||
WavFileInputStream.openInputStream(wavFile);
|
||||
System.out.println("Wav file opened successfully: " + isSoundFile(wavFile));
|
||||
|
||||
} catch (UnsupportedAudioFileException | IOException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -51,13 +51,15 @@ public class WavFileInputStream extends AudioInputStream {
|
||||
if (wavHeader.readHeader(windowsFile) == false) {
|
||||
throw new UnsupportedAudioFileException("Unsupprted wav file format in " + file.getName());
|
||||
}
|
||||
|
||||
|
||||
long nFrames = wavHeader.getDataSize() / wavHeader.getBlockAlign();
|
||||
|
||||
//29/03/2017 Found that the block align read from header was wrong in SoundTrap. This solves the problem and is still OK for normal
|
||||
//wav files (this is in fact tha standard emthod for calculated blockalign)
|
||||
int blockAlign = wavHeader.getNChannels() * (wavHeader.getBitsPerSample() / 8);
|
||||
|
||||
//System.out.println("NFRAMES: " + nFrames + " "+ wavHeader.getDataSize() + " " + wavHeader.getBlockAlign() + " "+blockAlign );
|
||||
System.out.println("NFRAMES: " + nFrames + " "+ wavHeader.getDataSize() + " " + wavHeader.getBlockAlign() + " "+blockAlign );
|
||||
|
||||
Encoding encoding = getEncoding(wavHeader.getFmtTag());
|
||||
if (encoding == null) {
|
||||
|
@ -170,7 +170,12 @@ public class PamConfiguration {
|
||||
public PamDataBlock getDataBlock(Class blockType, String name) {
|
||||
if (name == null) return null;
|
||||
ArrayList<PamDataBlock> blocks = getDataBlocks(blockType, true);
|
||||
|
||||
System.out.println(name);
|
||||
|
||||
for (PamDataBlock dataBlock:blocks) {
|
||||
// System.out.println(dataBlock.getLongDataName() + " ||| " + dataBlock.toString());
|
||||
|
||||
if (name.equals(dataBlock.getLongDataName())) { // check for a long name match first
|
||||
return dataBlock;
|
||||
}
|
||||
@ -184,6 +189,27 @@ public class PamConfiguration {
|
||||
return dataBlock;
|
||||
}
|
||||
}
|
||||
return tryShortDataName(blockType, name);
|
||||
}
|
||||
|
||||
/**
|
||||
* For when the function calling with longdataname fails!
|
||||
* @param blockType
|
||||
* @param name
|
||||
* @return
|
||||
*/
|
||||
private PamDataBlock tryShortDataName(Class blockType, String name) {
|
||||
if (name == null) return null;
|
||||
ArrayList<PamDataBlock> blocks = getDataBlocks(blockType, true);
|
||||
|
||||
System.out.println(name);
|
||||
|
||||
for (PamDataBlock dataBlock:blocks) {
|
||||
|
||||
if (name.equals(dataBlock.getDataName())) { // check for a long name match first
|
||||
return dataBlock;
|
||||
}
|
||||
}
|
||||
return null;
|
||||
}
|
||||
|
||||
|
@ -937,34 +937,4 @@ public abstract class PamControlledUnit implements SettingsNameProvider {
|
||||
this.pamConfiguration = pamConfiguration;
|
||||
}
|
||||
|
||||
/**
|
||||
* The PamConfiguration holds the master list of modules which form part of a
|
||||
* configuration. It should be accessed to find list of datablocks, etc. rather than
|
||||
* doing everything through PAMController whenever possible.
|
||||
* @return the pamConfiguration
|
||||
*/
|
||||
public PamConfiguration getPamConfiguration() {
|
||||
if (pamConfiguration == null) {
|
||||
pamConfiguration = PamController.getInstance().getPamConfiguration();
|
||||
}
|
||||
return pamConfiguration;
|
||||
}
|
||||
|
||||
/**
|
||||
* Is this module in the main configuration. If it isn't then it's probably a dummy config
|
||||
* used in the batch processor or for importing / exporting configs, so it should be stopped from
|
||||
* doing too much !
|
||||
* @return
|
||||
*/
|
||||
public boolean isInMainConfiguration() {
|
||||
return pamConfiguration == PamController.getInstance().getPamConfiguration();
|
||||
}
|
||||
|
||||
/**
|
||||
* @param pamConfiguration the pamConfiguration to set
|
||||
*/
|
||||
public void setPamConfiguration(PamConfiguration pamConfiguration) {
|
||||
this.pamConfiguration = pamConfiguration;
|
||||
}
|
||||
|
||||
}
|
||||
|
@ -1003,19 +1003,48 @@ public class PamArrayUtils {
|
||||
|
||||
return newArray;
|
||||
}
|
||||
|
||||
|
||||
|
||||
/**
|
||||
* Check if two int arrays contain the same elements
|
||||
* @param arr1 - the array to compare to.
|
||||
* @param arr2 - the array to be compared.
|
||||
* Check if two Long arrays contain the same elements
|
||||
* @param shape - the array to compare to.
|
||||
* @param shape2 - the array to be compared.
|
||||
*/
|
||||
public static boolean arrEquals(int[] arr1, int[] arr2) {
|
||||
if (arr1.length!=arr2.length) return false;
|
||||
public static boolean arrEquals(Long[] shape, Long[] shape2) {
|
||||
if (shape.length!=shape2.length) return false;
|
||||
|
||||
for (int i =0 ;i<arr1.length; i++) {
|
||||
if (arr1[i]!=arr2[i]) return false;
|
||||
for (int i =0 ;i<shape.length; i++) {
|
||||
if (shape[i]!=shape2[i]) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
/**
|
||||
* Check if two int arrays contain the same elements
|
||||
* @param shape - the array to compare to.
|
||||
* @param shape2 - the array to be compared.
|
||||
*/
|
||||
public static boolean arrEquals(int[] shape, int[] shape2) {
|
||||
if (shape.length!=shape2.length) return false;
|
||||
|
||||
for (int i =0 ;i<shape.length; i++) {
|
||||
if (shape[i]!=shape2[i]) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Check if two long arrays contain the same elements
|
||||
* @param shape - the array to compare to.
|
||||
* @param shape2 - the array to be compared.
|
||||
*/
|
||||
public static boolean arrEquals(long[] shape, long[] shape2) {
|
||||
if (shape.length!=shape2.length) return false;
|
||||
|
||||
for (int i =0 ;i<shape.length; i++) {
|
||||
if (shape[i]!=shape2[i]) return false;
|
||||
}
|
||||
|
||||
return true;
|
||||
@ -1122,6 +1151,7 @@ public class PamArrayUtils {
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
||||
|
@ -20,8 +20,10 @@ import userDisplayFX.UserDisplayNodeFX;
|
||||
import userDisplayFX.UserDisplayNodeParams;
|
||||
|
||||
/**
|
||||
* Pane which shows users all data currently stored in binary files and databases within PAMGuard. Also allows for navigation to
|
||||
* different part of the data time series.
|
||||
* Pane which shows users all data currently stored in binary files and
|
||||
* databases within PAMGuard. Also allows for navigation to different part of
|
||||
* the data time series.
|
||||
*
|
||||
* @author Jamie Macaulay
|
||||
*
|
||||
*/
|
||||
|
@ -204,7 +204,7 @@ public class DataStreamPaneFX extends PamBorderPane {
|
||||
/**
|
||||
* The wheel scroll factor.
|
||||
*/
|
||||
private double wheelScrollFactor = 0.2;
|
||||
private double wheelScrollFactor = 0.1;
|
||||
|
||||
/**
|
||||
* Writable image for 3D datagram.
|
||||
@ -370,16 +370,24 @@ public class DataStreamPaneFX extends PamBorderPane {
|
||||
if (timeline!=null) timeline.stop();
|
||||
timeline = new Timeline(new KeyFrame(
|
||||
Duration.millis(tm),
|
||||
ae -> paintCanvas(0)));
|
||||
ae -> {
|
||||
// System.out.println("Paint Canvas zero");
|
||||
paintCanvas(0);
|
||||
}));
|
||||
timeline.play();
|
||||
return;
|
||||
}
|
||||
|
||||
lastTime=currentTime;
|
||||
|
||||
long time1 = System.currentTimeMillis();
|
||||
paintPlotCanvas(plotCanvas.getGraphicsContext2D());
|
||||
paintDrawCanvas(drawCanvas.getGraphicsContext2D());
|
||||
|
||||
long time2 = System.currentTimeMillis();
|
||||
|
||||
System.out.println("Paint Canvas: " + this + " " + System.currentTimeMillis() + " " + (time2-time1));
|
||||
|
||||
}
|
||||
|
||||
/**
|
||||
@ -597,14 +605,16 @@ public class DataStreamPaneFX extends PamBorderPane {
|
||||
}
|
||||
datagramImage = new WritableImage(imageData.length, imageData[0].length);
|
||||
PixelWriter writableRaster = datagramImage.getPixelWriter();
|
||||
g.setFill(Color.LIGHTGRAY);
|
||||
g.fillRect(0, 0, nXPoints, nYPoints);
|
||||
for (int i = 0; i < nXPoints; i++) {
|
||||
for (int j = 0; j < nYPoints; j++) {
|
||||
y = nYPoints-j-1;
|
||||
if (imageData[i][j] < 0) {
|
||||
writableRaster.setColor(i,y,Color.LIGHTGRAY);
|
||||
//writableRaster.setColor(i,y,Color.LIGHTGRAY);
|
||||
}
|
||||
else if (imageData[i][j] == 0) {
|
||||
writableRaster.setColor(i,y, Color.LIGHTGRAY);
|
||||
//writableRaster.setColor(i,y, Color.LIGHTGRAY);
|
||||
}
|
||||
else {
|
||||
iCol = (int) (NCOLOURPOINTS * (Math.log(imageData[i][j]) - minMaxValue[0]) / scaleRange);
|
||||
@ -1032,10 +1042,6 @@ public class DataStreamPaneFX extends PamBorderPane {
|
||||
repaint(ScrollingDataPaneFX.REPAINTMILLIS); //update at 10 frames per second
|
||||
}
|
||||
|
||||
private void repaint() {
|
||||
this.repaint(0);
|
||||
}
|
||||
|
||||
/**
|
||||
* Get the pane which sits at the top of the datagraph and contains a label showing the datablock being displayed.
|
||||
* @return the pane which sits at the top of the datagraph
|
||||
|
@ -29,8 +29,9 @@ public class ScrollingDataPaneFX extends PamBorderPane {
|
||||
|
||||
/**
|
||||
* Standard millis to wait for repaint.
|
||||
* Do not ake this too high i.e. above 50 or the display gets very jerky
|
||||
*/
|
||||
public static final long REPAINTMILLIS = 200;
|
||||
public static final long REPAINTMILLIS = 50;
|
||||
|
||||
/**
|
||||
* The default expanded hieght for each pane.
|
||||
|
@ -237,7 +237,7 @@ public class ModuleConnectionNode extends StandardConnectionNode implements PAMC
|
||||
removeButton.setGraphic(PamGlyphDude.createPamIcon("mdi2m-minus", Color.WHITE, PamGuiManagerFX.iconSize));
|
||||
removeButton.setMaxSize(Double.MAX_VALUE,Double.MAX_VALUE);
|
||||
removeButton.setOnAction((change)->{
|
||||
if (this.pamControlledUnit.getPamModuleInfo().canRemove()){
|
||||
if (this.pamControlledUnit.getPamModuleInfo()== null || this.pamControlledUnit.getPamModuleInfo().canRemove()){
|
||||
connectionPane.removeModuleNode(this);
|
||||
}
|
||||
});
|
||||
@ -620,7 +620,7 @@ public class ModuleConnectionNode extends StandardConnectionNode implements PAMC
|
||||
//add tool tip
|
||||
if (pamControlledUnit!=null){
|
||||
|
||||
//sometimes seems to cause an issue woith dialogs disappearing.
|
||||
//sometimes seems to cause an issue with dialogs disappearing.
|
||||
// Tooltip tp = new Tooltip(pamControlledUnit.getUnitType());
|
||||
// tp.getStyleClass().removeAll(tp.getStyleClass());
|
||||
// Tooltip.install(this, tp);
|
||||
@ -637,18 +637,18 @@ public class ModuleConnectionNode extends StandardConnectionNode implements PAMC
|
||||
removeConnectionPlug(getConnectionPlugs().get(i),false);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
||||
|
||||
Node icon = ModuleIconFactory.getInstance().
|
||||
getModuleNode(pamControlledUnit.getPamModuleInfo().getClassName());
|
||||
if (pamControlledUnit.getPamModuleInfo()!=null && icon!=null){
|
||||
StackPane iconPane = new StackPane(icon);
|
||||
iconPane.setPrefSize(DataModelStyle.iconSize, DataModelStyle.iconSize);
|
||||
iconPane.setAlignment(Pos.CENTER);
|
||||
StackPane.setAlignment(iconPane, Pos.CENTER); //make sure the image or node is centered.
|
||||
this.getConnectionNodeBody().getChildren().add(iconPane);
|
||||
if (pamControlledUnit.getPamModuleInfo()!=null) {
|
||||
Node icon = ModuleIconFactory.getInstance().
|
||||
getModuleNode(pamControlledUnit.getPamModuleInfo().getClassName());
|
||||
if (icon!=null){
|
||||
StackPane iconPane = new StackPane(icon);
|
||||
iconPane.setPrefSize(DataModelStyle.iconSize, DataModelStyle.iconSize);
|
||||
iconPane.setAlignment(Pos.CENTER);
|
||||
StackPane.setAlignment(iconPane, Pos.CENTER); //make sure the image or node is centered.
|
||||
this.getConnectionNodeBody().getChildren().add(iconPane);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
@ -236,6 +236,9 @@ public class NoiseBandControl extends PamControlledUnit implements PamSettings {
|
||||
@Override
|
||||
public boolean restoreSettings(PamControlledUnitSettings pamControlledUnitSettings) {
|
||||
noiseBandSettings = ((NoiseBandSettings)pamControlledUnitSettings.getSettings()).clone();
|
||||
System.out.println("********************************************************");
|
||||
System.out.println("NOISE BAND SETTINGS: " + noiseBandSettings.rawDataSource);
|
||||
System.out.println("********************************************************");
|
||||
return true;
|
||||
}
|
||||
|
||||
|
@ -231,6 +231,9 @@ public class NoiseBandDialog extends PamDialog {
|
||||
singleInstance = new NoiseBandDialog(parentFrame, noiseBandControl);
|
||||
}
|
||||
singleInstance.setupComplete = false;
|
||||
// System.out.println("********************************************************");
|
||||
// System.out.println("NOISE BAND DIALOG: " + singleInstance.noiseBandSettings.rawDataSource);
|
||||
// System.out.println("********************************************************");
|
||||
singleInstance.noiseBandSettings = noiseBandControl.noiseBandSettings.clone();
|
||||
singleInstance.setParams();
|
||||
singleInstance.setVisible(true);
|
||||
@ -287,7 +290,7 @@ public class NoiseBandDialog extends PamDialog {
|
||||
if (dataBlock == null) {
|
||||
return showWarning("You must select a source of raw audio data");
|
||||
}
|
||||
noiseBandSettings.rawDataSource = dataBlock.getDataName();
|
||||
noiseBandSettings.rawDataSource = dataBlock.getLongDataName();
|
||||
noiseBandSettings.channelMap = sourcePanel.getChannelList();
|
||||
if (noiseBandSettings.channelMap == 0) {
|
||||
return showWarning("You must select at least one data channel");
|
||||
|
@ -63,6 +63,10 @@ public class NoiseBandProcess extends PamProcess {
|
||||
public void setupProcess() {
|
||||
super.setupProcess();
|
||||
PamDataBlock sourceData = noiseBandControl.getPamConfiguration().getDataBlock(RawDataUnit.class, noiseBandControl.noiseBandSettings.rawDataSource);
|
||||
|
||||
System.out.println("********************************************************");
|
||||
System.out.println("NOISE BAND PROCESS: " + sourceData + " " + noiseBandControl.noiseBandSettings.rawDataSource);
|
||||
System.out.println("********************************************************");
|
||||
if (sourceData == null) {
|
||||
return;
|
||||
}
|
||||
|
@ -5,6 +5,7 @@ import java.util.ArrayList;
|
||||
import org.jamdev.jdl4pam.transforms.DLTransform.DLTransformType;
|
||||
import org.json.JSONArray;
|
||||
|
||||
import PamUtils.PamArrayUtils;
|
||||
import rawDeepLearningClassifier.dlClassification.animalSpot.StandardModelParams;
|
||||
import rawDeepLearningClassifier.layoutFX.exampleSounds.ExampleSoundFactory.ExampleSoundType;
|
||||
|
||||
@ -116,15 +117,21 @@ public class GenericModelParams extends StandardModelParams implements Cloneable
|
||||
//both transforms must be null and so can still be equal
|
||||
}
|
||||
|
||||
// System.out.println("TRANSFORMS ARE EQUAL");
|
||||
//check the rest.
|
||||
|
||||
boolean isEqual =
|
||||
this.useDefaultSegLen == params.useDefaultSegLen &&
|
||||
this.defaultSegmentLen.equals(params.defaultSegmentLen) &&
|
||||
this.shape.equals(params.shape) &&
|
||||
this.outputShape.equals(params.outputShape);
|
||||
PamArrayUtils.arrEquals(this.shape, params.shape) &&
|
||||
PamArrayUtils.arrEquals(this.outputShape, params.outputShape);
|
||||
//Arrays.equals( this.classNames, params.classNames);
|
||||
|
||||
// System.out.println("Other bits are equal:?" + isEqual
|
||||
// + " use defult seg len " + (this.useDefaultSegLen == params.useDefaultSegLen)
|
||||
// + " defaultSegmentLen " + (this.defaultSegmentLen.equals(params.defaultSegmentLen)
|
||||
// + " input shape " + this.shape.equals(params.shape)
|
||||
// + " output shape " + this.shape.equals(params.shape)));
|
||||
|
||||
|
||||
|
||||
return isEqual;
|
||||
|
@ -377,6 +377,7 @@ public class SegmenterProcess extends PamProcess {
|
||||
//create a new data unit - should only be called once after initial start.
|
||||
currentRawChunks[i] = new GroupedRawData(timeMilliseconds, getSourceParams().getGroupChannels(i),
|
||||
startSampleTime, dlControl.getDLParams().rawSampleSize, dlControl.getDLParams().rawSampleSize);
|
||||
|
||||
currentRawChunks[i].setParentDataUnit(unit);;
|
||||
}
|
||||
|
||||
@ -653,7 +654,7 @@ public class SegmenterProcess extends PamProcess {
|
||||
* @author Jamie Macaulay
|
||||
*
|
||||
*/
|
||||
public class GroupedRawData extends PamDataUnit implements PamDetection, Cloneable {
|
||||
public static class GroupedRawData extends PamDataUnit implements PamDetection, Cloneable {
|
||||
|
||||
|
||||
/*
|
||||
|
@ -18,7 +18,7 @@ import rawDeepLearningClassifier.dlClassification.genericModel.GenericModelParse
|
||||
class DLJSONParserTest {
|
||||
|
||||
@Test
|
||||
public void test() {
|
||||
public void testDLJsonParser() {
|
||||
|
||||
|
||||
//load an old file
|
||||
|
@ -0,0 +1,92 @@
|
||||
package test.rawDeepLearningClassifier;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javax.sound.sampled.UnsupportedAudioFileException;
|
||||
|
||||
import org.jamdev.jdl4pam.utils.DLUtils;
|
||||
import org.jamdev.jpamutils.wavFiles.AudioData;
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
import rawDeepLearningClassifier.defaultModels.RightWhaleModel1;
|
||||
import rawDeepLearningClassifier.dlClassification.genericModel.GenericModelParams;
|
||||
import rawDeepLearningClassifier.dlClassification.genericModel.GenericModelWorker;
|
||||
import rawDeepLearningClassifier.dlClassification.genericModel.GenericPrediction;
|
||||
import rawDeepLearningClassifier.segmenter.SegmenterProcess.GroupedRawData;
|
||||
|
||||
/**
|
||||
* Test the generic classifier.
|
||||
*
|
||||
* @author Jamie Macaulay
|
||||
*
|
||||
*/
|
||||
public class GenericDLClassifierTest {
|
||||
|
||||
/**
|
||||
* Run a test on the Generic DL Classifier. This tests the worker can open and run a model
|
||||
*/
|
||||
@Test
|
||||
public void rightWhaleDLWorker() {
|
||||
//relative paths to the resource folders.
|
||||
String relModelPath = "./src/test/resources/rawDeepLearningClassifier/Generic/right_whale/model_lenet_dropout_input_conv_all/saved_model.pb";
|
||||
String relWavPath = "./src/test/resources/rawDeepLearningClassifier/Generic/right_whale/right_whale_example.wav";
|
||||
|
||||
Path path = Paths.get(relModelPath);
|
||||
|
||||
GenericModelWorker genericModelWorker = new GenericModelWorker();
|
||||
|
||||
GenericModelParams genericModelParams = new GenericModelParams();
|
||||
|
||||
genericModelParams.modelPath = path.toAbsolutePath().normalize().toString();
|
||||
|
||||
RightWhaleModel1 rightWhaleModel = new RightWhaleModel1();
|
||||
rightWhaleModel.setParams(genericModelParams);
|
||||
|
||||
//prep the model
|
||||
genericModelWorker.prepModel(genericModelParams, null);
|
||||
|
||||
/****Now run a file ***/
|
||||
path = Paths.get(relWavPath);
|
||||
String wavFilePath = path.toAbsolutePath().normalize().toString();
|
||||
|
||||
AudioData soundData;
|
||||
try {
|
||||
soundData = DLUtils.loadWavFile(wavFilePath);
|
||||
|
||||
long duration = (long) ((genericModelParams.defaultSegmentLen/1000)*soundData.sampleRate);
|
||||
|
||||
GroupedRawData groupedRawData = new GroupedRawData(0, 1, 0, duration, (int) duration);
|
||||
groupedRawData.copyRawData(soundData.getScaledSampleAmplitudes(), 0, soundData.getScaledSampleAmplitudes().length, 0);
|
||||
|
||||
ArrayList<GroupedRawData> groupedData = new ArrayList<GroupedRawData>();
|
||||
|
||||
|
||||
groupedData.add(groupedRawData);
|
||||
|
||||
ArrayList<GenericPrediction> gwenericPrediciton = genericModelWorker.runModel(groupedData, soundData.sampleRate, 0);
|
||||
|
||||
float[] output = gwenericPrediciton.get(0).getPrediction();
|
||||
|
||||
System.out.println("Right whale network output: " + output[0] + " " + output[1]);
|
||||
|
||||
//test the predicitons are true.
|
||||
assertTrue( output[0]<0.01 ); //noise
|
||||
assertTrue( output[1]>0.98 ); //right whale
|
||||
|
||||
genericModelWorker.closeModel();
|
||||
|
||||
} catch (IOException | UnsupportedAudioFileException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
assertEquals(false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
}
|
@ -1,67 +0,0 @@
|
||||
package test.rawDeepLearningClassifier;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import rawDeepLearningClassifier.DLControl;
|
||||
import rawDeepLearningClassifier.dlClassification.ketos.KetosClassifier;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class KetosClassifierTest {
|
||||
|
||||
// /**
|
||||
// * Reference to the DL Control
|
||||
// *
|
||||
// */
|
||||
// private DLControl testDLControl;
|
||||
//
|
||||
//
|
||||
// private KetosClassifier ketosClassifier_test;
|
||||
//
|
||||
|
||||
|
||||
// public KetosClassifierTest() {
|
||||
// System.out.println("hello unit test start");
|
||||
|
||||
// try {
|
||||
//
|
||||
// if (PamController.getInstance()==null || PamController.getInstance().getRunMode() != PamController.RUN_NORMAL) {
|
||||
// PamGUIManager.setType(PamGUIManager.NOGUI);
|
||||
// PamController.create(PamController.RUN_NORMAL, null);
|
||||
// }
|
||||
//
|
||||
// testDLControl = new DLControl("Test_deep_learning");
|
||||
//
|
||||
// ketosClassifier_test = (KetosClassifier) testDLControl.getDLModel(KetosClassifier.MODEL_NAME);
|
||||
//
|
||||
// //set the ketos model as the correct model in the test.
|
||||
// testDLControl.getDLParams().modelSelection= testDLControl.getDLModels().indexOf(ketosClassifier_test);
|
||||
//
|
||||
// System.out.println("hello unit test complete");
|
||||
// }
|
||||
// catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* Test the ketos classifier and tests are working properly.
|
||||
*/
|
||||
@Test
|
||||
public void ketosClassifierTest() {
|
||||
System.out.println("hello unit test complete b");
|
||||
|
||||
// this.ketosClassifier_test.checkModelOK();
|
||||
assertEquals(2, 1+1);
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Test that the whole process chain works with ketos i.e. test the segmenter etc. is performing properly.
|
||||
*/
|
||||
@Test
|
||||
public void ketosProcessTest() {
|
||||
System.out.println("hello unit test complete");
|
||||
|
||||
assertEquals(2, 2);
|
||||
}
|
||||
}
|
154
src/test/rawDeepLearningClassifier/KetosDLClassifierTest.java
Normal file
154
src/test/rawDeepLearningClassifier/KetosDLClassifierTest.java
Normal file
@ -0,0 +1,154 @@
|
||||
package test.rawDeepLearningClassifier;
|
||||
|
||||
import static org.junit.jupiter.api.Assertions.assertEquals;
|
||||
import static org.junit.jupiter.api.Assertions.assertTrue;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.nio.file.Path;
|
||||
import java.nio.file.Paths;
|
||||
import java.util.ArrayList;
|
||||
|
||||
import javax.sound.sampled.UnsupportedAudioFileException;
|
||||
|
||||
import org.jamdev.jdl4pam.utils.DLUtils;
|
||||
import org.jamdev.jpamutils.wavFiles.AudioData;
|
||||
|
||||
import rawDeepLearningClassifier.dlClassification.genericModel.GenericPrediction;
|
||||
import rawDeepLearningClassifier.dlClassification.ketos.KetosDLParams;
|
||||
import rawDeepLearningClassifier.dlClassification.ketos.KetosWorker2;
|
||||
import rawDeepLearningClassifier.segmenter.SegmenterProcess.GroupedRawData;
|
||||
|
||||
import org.junit.jupiter.api.Test;
|
||||
|
||||
public class KetosDLClassifierTest {
|
||||
|
||||
// /**
|
||||
// * Reference to the DL Control
|
||||
// *
|
||||
// */
|
||||
// private DLControl testDLControl;
|
||||
//
|
||||
//
|
||||
// private KetosClassifier ketosClassifier_test;
|
||||
//
|
||||
|
||||
|
||||
// public KetosClassifierTest() {
|
||||
// System.out.println("hello unit test start");
|
||||
|
||||
// try {
|
||||
//
|
||||
// if (PamController.getInstance()==null || PamController.getInstance().getRunMode() != PamController.RUN_NORMAL) {
|
||||
// PamGUIManager.setType(PamGUIManager.NOGUI);
|
||||
// PamController.create(PamController.RUN_NORMAL, null);
|
||||
// }
|
||||
//
|
||||
// testDLControl = new DLControl("Test_deep_learning");
|
||||
//
|
||||
// ketosClassifier_test = (KetosClassifier) testDLControl.getDLModel(KetosClassifier.MODEL_NAME);
|
||||
//
|
||||
// //set the ketos model as the correct model in the test.
|
||||
// testDLControl.getDLParams().modelSelection= testDLControl.getDLModels().indexOf(ketosClassifier_test);
|
||||
//
|
||||
// System.out.println("hello unit test complete");
|
||||
// }
|
||||
// catch (Exception e) {
|
||||
// e.printStackTrace();
|
||||
// }
|
||||
// }
|
||||
|
||||
/**
|
||||
* Test the ketos classifier and tests are working properly.
|
||||
*/
|
||||
@Test
|
||||
public void ketosClassifierTest() {
|
||||
|
||||
|
||||
/**
|
||||
* List of the predicitons
|
||||
* Start time (seconds), Length of the segment (seconds), prediciton
|
||||
*/
|
||||
double[][] ketosPredicitons = {
|
||||
{0, 5.0176, 0.1565524},
|
||||
{5, 5.0176, 0.99999917},
|
||||
{10, 5.0176, 0.99999917},
|
||||
{15, 5.0176, 0.97594243},
|
||||
{20, 5.0176, 0.8802458},
|
||||
{25, 5.0176, 0.9999999},
|
||||
{30, 5.0176, 0.999993},
|
||||
{35, 5.0176, 0.9998863},
|
||||
{40, 5.0176, 0.99998367},
|
||||
{45, 5.0176, 0.21531366},
|
||||
{50, 5.0176, 0.9999987},
|
||||
{55, 5.0176, 1},
|
||||
{60, 5.0176, 0.9999989},
|
||||
{65, 5.0176, 0.9999993},
|
||||
{70, 5.0176, 0.99999845},
|
||||
{75, 5.0176, 1},
|
||||
{80, 5.0176, 0.20126265},
|
||||
{85, 5.0176, 0.9797412},
|
||||
{90, 5.0176, 1}};
|
||||
|
||||
//relative paths to the resource folders.
|
||||
String relModelPath = "./src/test/resources/rawDeepLearningClassifier/Ketos/hallo-kw-det_v1/hallo-kw-det_v1.ktpb";
|
||||
String relWavPath = "./src/test/resources/rawDeepLearningClassifier/Ketos/hallo-kw-det_v1/jasco_reduced.wav";
|
||||
|
||||
Path path = Paths.get(relModelPath);
|
||||
|
||||
KetosWorker2 ketosWorker2 = new KetosWorker2();
|
||||
|
||||
KetosDLParams genericModelParams = new KetosDLParams();
|
||||
genericModelParams.modelPath = path.toAbsolutePath().normalize().toString();
|
||||
|
||||
//prep the model - all setting are included within the model
|
||||
ketosWorker2.prepModel(genericModelParams, null);
|
||||
System.out.println("seglen: " + genericModelParams.defaultSegmentLen);
|
||||
|
||||
/****Now run a file ***/
|
||||
path = Paths.get(relWavPath);
|
||||
String wavFilePath = path.toAbsolutePath().normalize().toString();
|
||||
|
||||
try {
|
||||
|
||||
|
||||
AudioData soundData = DLUtils.loadWavFile(wavFilePath);
|
||||
double[] soundDataD = soundData.getScaledSampleAmplitudes();
|
||||
|
||||
long duration = (long) Math.ceil((genericModelParams.defaultSegmentLen/1000)*soundData.sampleRate);
|
||||
System.out.println("duration: " + duration + " " + soundData.sampleRate + " " + genericModelParams.defaultSegmentLen);
|
||||
|
||||
//dont't
|
||||
for (int i=1; i<ketosPredicitons.length; i++) {
|
||||
|
||||
|
||||
GroupedRawData groupedRawData = new GroupedRawData(0, 1, 0, duration, (int) duration);
|
||||
int startChunk =(int) (ketosPredicitons[i][0]*soundData.sampleRate);
|
||||
|
||||
|
||||
groupedRawData.copyRawData(soundDataD, startChunk, (int) duration, 0);
|
||||
|
||||
ArrayList<GroupedRawData> groupedData = new ArrayList<GroupedRawData>();
|
||||
groupedData.add(groupedRawData);
|
||||
|
||||
ArrayList<GenericPrediction> genericPrediciton = ketosWorker2.runModel(groupedData, soundData.sampleRate, 0);
|
||||
float[] output = genericPrediciton.get(0).getPrediction();
|
||||
|
||||
boolean testPassed= output[1]> ketosPredicitons[i][2]-0.1 && output[1]< ketosPredicitons[i][2]+0.1;
|
||||
System.out.println( i+ " : Ketos whale network output: " + output[0] + " " + output[1] + " " + testPassed);
|
||||
|
||||
//assertTrue(output[1]> ketosPredicitons[i][2]-0.1 && output[1]< ketosPredicitons[i][2]+0.1);
|
||||
|
||||
}
|
||||
|
||||
ketosWorker2.closeModel();
|
||||
|
||||
} catch (IOException | UnsupportedAudioFileException e) {
|
||||
// TODO Auto-generated catch block
|
||||
e.printStackTrace();
|
||||
assertEquals(false, true);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
|
||||
}
|
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@ -0,0 +1,20 @@
|
||||
filename,start,duration,score
|
||||
jasco_reduced.wav,0.0,5.0176,0.1565524
|
||||
jasco_reduced.wav,5.0,5.0176,0.99999917
|
||||
jasco_reduced.wav,10.0,5.0176,0.99999917
|
||||
jasco_reduced.wav,15.0,5.0176,0.97594243
|
||||
jasco_reduced.wav,20.0,5.0176,0.8802458
|
||||
jasco_reduced.wav,25.0,5.0176,0.9999999
|
||||
jasco_reduced.wav,30.0,5.0176,0.9999932
|
||||
jasco_reduced.wav,35.0,5.0176,0.9998863
|
||||
jasco_reduced.wav,40.0,5.0176,0.99998367
|
||||
jasco_reduced.wav,45.0,5.0176,0.21531366
|
||||
jasco_reduced.wav,50.0,5.0176,0.9999987
|
||||
jasco_reduced.wav,55.0,5.0176,1.0
|
||||
jasco_reduced.wav,60.0,5.0176,0.9999989
|
||||
jasco_reduced.wav,65.0,5.0176,0.9999993
|
||||
jasco_reduced.wav,70.0,5.0176,0.99999845
|
||||
jasco_reduced.wav,75.0,5.0176,1.0
|
||||
jasco_reduced.wav,80.0,5.0176,0.20126265
|
||||
jasco_reduced.wav,85.0,5.0176,0.9797412
|
||||
jasco_reduced.wav,90.0,5.0176,1.0
|
|
Binary file not shown.
Binary file not shown.
Loading…
Reference in New Issue
Block a user