Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Plot graphs do not rescale when combined with plots from other spectrogram scales #469

Closed
atruskie opened this issue Apr 1, 2021 · 1 comment · Fixed by #499
Closed
Assignees
Labels

Comments

@atruskie
Copy link
Member

atruskie commented Apr 1, 2021

Actual behaviour:

In a generic recogniser one can use different spectrogram settings for each profile. If the window sizes are different then the diagnostic plots produced are rendered with different amounts of data and produce a not so useful image.

Expected behavior:

A clear and concise description of what you expected to happen.

How to reproduce this bug:

  1. Create a generic recogniser with two profiles
  2. Ensure each profile uses a different spectrogram frame size
  3. View the output debug spectrogram

Additional Details

K-P-THINNING_20130209_062400_0-0 5min__Image_not_cheating

You can see one of the plots is much longer than the rest of the content in the image.

@atruskie atruskie added the bug label Apr 1, 2021
towsey added a commit that referenced this issue Jun 13, 2021
Issue #469 Also remove two unused methods from DataTools.cs.
towsey added a commit that referenced this issue Jun 13, 2021
Issue #469 Minor changes. Except change the FFT window from Hamming to Hanning.
towsey added a commit that referenced this issue Jun 13, 2021
Issue #469 Add a new test method to check that the scaling of image plots is working.
towsey added a commit that referenced this issue Jun 13, 2021
Issue #469 Remove hard-coded path.
@towsey
Copy link
Contributor

towsey commented Jun 13, 2021

All the unit tests appear to be passing. In Plot unit test, rescaling of plots is successful.

towsey added a commit that referenced this issue Jun 13, 2021
Issue #469 Add in code to rescale the plots to fit the current spectrogram.
towsey added a commit that referenced this issue Jun 14, 2021
Issue #469 Changed the signature to SpectrogramTools.GetSonogramPlusCharts() so that it also includes the title of the spectrogram. THis affected these 6 methods.
towsey added a commit that referenced this issue Jun 14, 2021
Issue #469 This is ensures that all plots are the same length as the last spectrogram.
towsey added a commit that referenced this issue Jun 14, 2021
Issue #469  Fix the drawing of spectrograms.
towsey added a commit that referenced this issue Jun 14, 2021
Issue #469 The plot was being added twice for Blob events. Removed one of them.
towsey added a commit that referenced this issue Jun 14, 2021
Issue #469
1: Added the Periodicity Property to the Oscillation Event class.
2: Fixed the Draw() method for Oscillation events. The events were not drawing.
3: Added a method to trim Oscillation events using the decibel values as a guide to where the true bounds should be.
towsey added a commit that referenced this issue Jun 14, 2021
Issue #469 The main change is due to changing the signature of  the ConvertOscillationScores2Events() method
towsey added a commit that referenced this issue Jun 14, 2021
Issue #469
1: Delete the GetOscillationFrequency() method
2: Change the way a new Oscillation event is initialised.
towsey added a commit that referenced this issue Jun 14, 2021
Issue #469 1: Write a new test method. Its original purpose was to satisfy Anthony's intention of having two profiles with different Windows. This was a way to get the plot scaling fixed. Unfortunately a lot of the functionality to do with the OscillationEvent class was not working. I used this test method to get it working.
towsey added a commit that referenced this issue Jun 14, 2021
Issue #469 Rejig the calculation of the oscillation period to make it more accurate.
towsey added a commit that referenced this issue Jun 14, 2021
Issue #469 1: Adjust event expected start and end times for test results involving oscillations. These adjustments brought about by tightening the bounds of an oscillation event.
2: Add periodicity result into the test. The periodicity is the property unique to oscillation events.
towsey added a commit that referenced this issue Jun 15, 2021
Issue #469 Change name of test method to match the profiles actually used.
towsey added a commit that referenced this issue Jun 15, 2021
Issue #469 Update name of the test method a third time! At present there is no method to convert type AcousticEvent directly to type BlobEvent. Only to type SpectralEvent.
towsey added a commit that referenced this issue Jun 16, 2021
Issue #469 Change name of profile to be consistent with Blob profile name.
atruskie pushed a commit that referenced this issue Jun 16, 2021
Fixes #469

Update MultiRecognizer.cs

Issue #469 Minor changes. Except change the FFT window from Hamming to Hanning.

Update DataToolsTests.cs

Issue #469 Add a new test method to check that the scaling of image plots is working.

Update GenericRecognizerTests.cs

Issue #469 Remove hard-coded path.

Update GenericRecognizer.cs

Issue #469 Add in code to rescale the plots to fit the current spectrogram.

Changed the signature to SpectrogramTools.GetSonogramPlusCharts()

Issue #469 Changed the signature to SpectrogramTools.GetSonogramPlusCharts() so that it also includes the title of the spectrogram. THis affected these 6 methods.

Rescaling of the plots happens here.

Issue #469 This is ensures that all plots are the same length as the last spectrogram.

Update SpectrogramTools.cs

Issue #469  Fix the drawing of spectrograms.

Update BlobEvent.cs

Issue #469 The plot was being added twice for Blob events. Removed one of them.

Update OscillationEvent.cs

Issue #469
1: Added the Periodicity Property to the Oscillation Event class.
2: Fixed the Draw() method for Oscillation events. The events were not drawing.
3: Added a method to trim Oscillation events using the decibel values as a guide to where the true bounds should be.

Update Oscillations2019.cs

Issue #469 The main change is due to changing the signature of  the ConvertOscillationScores2Events() method

Update Oscillations2012.cs

Issue #469
1: Delete the GetOscillationFrequency() method
2: Change the way a new Oscillation event is initialised.

Update GenericRecognizerTests.cs

Issue #469 1: Write a new test method. Its original purpose was to satisfy Anthony's intention of having two profiles with different Windows. This was a way to get the plot scaling fixed. Unfortunately a lot of the functionality to do with the OscillationEvent class was not working. I used this test method to get it working.

Update OscillationEvent.cs

Issue #469 Rejig the calculation of the oscillation period to make it more accurate.

Adjust start and end time test results

Issue #469 1: Adjust event expected start and end times for test results involving oscillations. These adjustments brought about by tightening the bounds of an oscillation event.
2: Add periodicity result into the test. The periodicity is the property unique to oscillation events.

Update GenericRecognizerTests.cs

Issue #469 Change name of test method to match the profiles actually used.

Update GenericRecognizerTests.cs

Issue #469 Update name of the test method a third time! At present there is no method to convert type AcousticEvent directly to type BlobEvent. Only to type SpectralEvent.

Update GenericRecognizerTests.cs

Issue #469 Change name of profile to be consistent with Blob profile name.
atruskie added a commit that referenced this issue Jun 16, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants