Skip to content

Commit

Permalink
Refactor the sideband filter for acoustic events
Browse files Browse the repository at this point in the history
Issue #390
  • Loading branch information
towsey authored and atruskie committed Nov 1, 2020
1 parent 5d0a3bd commit 0d143de
Show file tree
Hide file tree
Showing 2 changed files with 66 additions and 230 deletions.
37 changes: 10 additions & 27 deletions src/AnalysisPrograms/Recognizers/GenericRecognizer.cs
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,6 @@ namespace AnalysisPrograms.Recognizers
using AudioAnalysisTools;
using AudioAnalysisTools.DSP;
using AudioAnalysisTools.Events;
using AudioAnalysisTools.Events.Tracks;
using AudioAnalysisTools.Events.Types;
using AudioAnalysisTools.Indices;
using AudioAnalysisTools.StandardSpectrograms;
Expand All @@ -34,7 +33,7 @@ public class GenericRecognizer : RecognizerBase
{
private static readonly ILog Log = LogManager.GetLogger(MethodBase.GetCurrentMethod().DeclaringType);

private bool combineOverlappedEvents = false;
private readonly bool combineOverlappedEvents = false;

/// <inheritdoc />
public override string Author => "Ecosounds";
Expand Down Expand Up @@ -358,31 +357,15 @@ public override RecognizerResults Recognize(
var sidebandActivity = postprocessingConfig.SidebandActivity;
if (sidebandActivity != null)
{
if (sidebandActivity.LowerHertzBuffer > 0)
{
var spectralEvents2 = allResults.NewEvents.Cast<SpectralEvent>().ToList();
allResults.NewEvents = EventFilters.FilterEventsOnLowerSidebandActivity(
spectralEvents2,
allResults.Sonogram,
sidebandActivity.LowerHertzBuffer,
segmentStartOffset,
sidebandActivity.DecibelBuffer);

Log.Debug($"Event count after filtering on acoustic activity in lower sideband = {allResults.NewEvents.Count}");
}

if (sidebandActivity.UpperHertzBuffer > 0)
{
var spectralEvents3 = allResults.NewEvents.Cast<SpectralEvent>().ToList();
allResults.NewEvents = EventFilters.FilterEventsOnUpperSidebandActivity(
spectralEvents3,
allResults.Sonogram,
sidebandActivity.UpperHertzBuffer,
segmentStartOffset,
sidebandActivity.DecibelBuffer);

Log.Debug($"Event count after filtering on acoustic activity in upper sideband = {allResults.NewEvents.Count}");
}
var spectralEvents2 = allResults.NewEvents.Cast<SpectralEvent>().ToList();
allResults.NewEvents = EventFilters.FilterEventsOnSidebandActivity(
spectralEvents2,
allResults.Sonogram,
sidebandActivity.LowerHertzBuffer,
sidebandActivity.UpperHertzBuffer,
sidebandActivity.DecibelBuffer,
segmentStartOffset);
Log.Debug($"Event count after filtering on acoustic activity in sidebands = {allResults.NewEvents.Count}");
}

// Write out the events to log.
Expand Down
Loading

0 comments on commit 0d143de

Please sign in to comment.