From cabcefb6eea8e36cdad63551b084b4c47ce6a4ec Mon Sep 17 00:00:00 2001 From: towsey Date: Wed, 24 Feb 2021 21:38:39 +1100 Subject: [PATCH] Fix broken tests after changes to recognizer config file Issue #451 --- .../Towsey.NinoxStrenua.yml | 31 +++++++++---------- .../Recognizers/GenericRecognizer.cs | 2 +- .../Recognizers/PowerfulOwlTests.cs | 10 +++--- ...e_2-2_1831_471228_20161217_232352_30_0.wav | 3 -- 4 files changed, 20 insertions(+), 26 deletions(-) delete mode 100644 tests/Fixtures/Recordings/medeas_cove_2-2_1831_471228_20161217_232352_30_0.wav diff --git a/src/AnalysisConfigFiles/RecognizerConfigFiles/Towsey.NinoxStrenua.yml b/src/AnalysisConfigFiles/RecognizerConfigFiles/Towsey.NinoxStrenua.yml index 4acb234af..b10585451 100644 --- a/src/AnalysisConfigFiles/RecognizerConfigFiles/Towsey.NinoxStrenua.yml +++ b/src/AnalysisConfigFiles/RecognizerConfigFiles/Towsey.NinoxStrenua.yml @@ -16,14 +16,6 @@ SegmentDuration: 60 # SegmentOverlap: units=seconds; SegmentOverlap: 0 -# Scan spectrogram at these thresholds -DecibelThresholds: - - 12.0 - - 18.0 - - 24.0 - - 30.0 - - 36.0 - # Each of these profiles will be analyzed # This profile is required for the species-specific recogniser and must have the current name. Profiles: @@ -62,27 +54,32 @@ PostProcessing: # 2: Combine possible syllable sequences SyllableSequence: CombinePossibleSyllableSequence: true - SyllableStartDifference: 0.7 + SyllableStartDifference: 0.8 SyllableHertzGap: 100 FilterSyllableSequence: false SyllableMaxCount: 6 ExpectedPeriod: 0.92 # 3: Remove events whose duration lies outside 3 SDs of an expected value. - #Duration: + Duration: + FilterOnDuration: false ExpectedDuration: 0.14 DurationStandardDeviation: 0.01 # 4: Remove events whose bandwidth lies outside 3 SDs of an expected value. Bandwidth: + FilterOnBandwidth: true ExpectedBandwidth: 120 - BandwidthStandardDeviation: 30 - - # 5: Filter the events for excess activity in their sidebands, i.e. upper and lower buffer zones - SidebandActivity: - LowerHertzBuffer: 0 - UpperHertzBuffer: 0 - MaxAverageSidebandDecibels: 3.0 + BandwidthStandardDeviation: 15 + + # 5: Filter the events for excess acoustic activity in their sidebands, i.e. upper and lower buffer zones + SidebandAcousticActivity: + LowerSidebandWidth: 0 + UpperSidebandWidth: 0 + FilterEventsOnSidebandBackground: false + MaxBackgroundDecibels: 6.0 + FilterEventsOnSidebandActivity: false + MaxActivityDecibels: 9.0 # Various options to save results files # 1: Available options for saving spectrograms (case-sensitive): [False/Never | True/Always | WhenEventsDetected] diff --git a/src/AnalysisPrograms/Recognizers/GenericRecognizer.cs b/src/AnalysisPrograms/Recognizers/GenericRecognizer.cs index 584980be7..17b9caa05 100644 --- a/src/AnalysisPrograms/Recognizers/GenericRecognizer.cs +++ b/src/AnalysisPrograms/Recognizers/GenericRecognizer.cs @@ -140,7 +140,7 @@ public override RecognizerResults Recognize( var postEvents = new List(); // count number of events detected at each decibel threshold. - for (int i = 1; i <= 24; i++) + for (int i = 1; i <= 39; i++) { var dbEvents = EventFilters.FilterOnDecibelDetectionThreshold(results.NewEvents, (double)i); diff --git a/tests/Acoustics.Test/AnalysisPrograms/Recognizers/PowerfulOwlTests.cs b/tests/Acoustics.Test/AnalysisPrograms/Recognizers/PowerfulOwlTests.cs index b505049c2..e75234e73 100644 --- a/tests/Acoustics.Test/AnalysisPrograms/Recognizers/PowerfulOwlTests.cs +++ b/tests/Acoustics.Test/AnalysisPrograms/Recognizers/PowerfulOwlTests.cs @@ -51,7 +51,7 @@ public void TestRecognizer() this.SaveTestOutput( outputDirectory => GenericRecognizer.SaveDebugSpectrogram(results, null, outputDirectory, Recognizer.SpeciesName)); - Assert.AreEqual(5, events.Count); + Assert.AreEqual(6, events.Count); Assert.IsNull(scoreTrack); Assert.AreEqual(5, plots.Count); Assert.AreEqual(2580, sonogram.FrameCount); @@ -59,14 +59,14 @@ public void TestRecognizer() Assert.IsInstanceOfType(events[1], typeof(ChirpEvent)); //Note: due to combining and filtering of events etc, they are not in temporal order - var secondEvent = (CompositeEvent)events[4]; + var secondEvent = (CompositeEvent)events[5]; Assert.AreEqual(26.842267573, secondEvent.EventStartSeconds, 1E-06); - Assert.AreEqual(27.945215419, secondEvent.EventEndSeconds, 1E-06); + Assert.AreEqual(27.898775510204082, secondEvent.EventEndSeconds, 1E-06); Assert.AreEqual(357, secondEvent.LowFrequencyHertz); Assert.AreEqual(483, secondEvent.HighFrequencyHertz); - Assert.AreEqual(47.93789051, secondEvent.Score, 1E-06); - Assert.AreEqual(0.0797182258673, secondEvent.ScoreNormalized, 1E-06); + Assert.AreEqual(47.93789051261686, secondEvent.Score, 1E-06); + Assert.AreEqual(0.069847040361109447, secondEvent.ScoreNormalized, 1E-06); } } } \ No newline at end of file diff --git a/tests/Fixtures/Recordings/medeas_cove_2-2_1831_471228_20161217_232352_30_0.wav b/tests/Fixtures/Recordings/medeas_cove_2-2_1831_471228_20161217_232352_30_0.wav deleted file mode 100644 index dd3135184..000000000 --- a/tests/Fixtures/Recordings/medeas_cove_2-2_1831_471228_20161217_232352_30_0.wav +++ /dev/null @@ -1,3 +0,0 @@ -version https://git-lfs.github.com/spec/v1 -oid sha256:04db37474bc0fb0fb15fab8489e4f3d5fa5050f3ab95fbe467ad01947f635ed2 -size 1442454