What is the purpose of this PR?
To approve a new call recognizer for the male Koala.
Changes
1) Create a new class, config file and unit test for the recognition of koala calls. Call this the Mark3 recognizer to contrast with the first recognizer (now ten years old) and Mark2 made by Ivan.
2) Clean up the four generations of classes to detect oscillation events.
Delete the first experimental version Oscillations2010,cs.
3) Make two oscillation classes available for generic recognizers. These have different algorithms. Classes are OscillationDetection2012 and OscillationDetection2019. Add extensive documentation and Log comments to these classes so the user can determine what is happening when config parameters are changed.
4) Refactor the GenericRecognizer code so that the PostProcessing methods are outside the main loop. This enables non-generic call recognizers to process calls in three steps: i) event detection using profiles; ii) filtering of profile events using custom code for the species; and iii) the post-processing steps.
5) Add extensive commentary to the header of the main Koala recognition class to explain the what and why of the recognizer.
Issues
At the time of submitting this pull request, there is one failing unit test which tests the compression of spectrograms prepared from acoustic indices. I did not write this unit test and I am not sure why it is now failing because it has passed on previous occasions while I have worked in this branch. The error is an out of memory issue because the matrix has a large dimension.
Visual Changes
None
Final Checklist
[Anthony ] Assign reviewers if you have permission
[ ] Assign labels if you have permission
[ ] Link issues related to PR
[ ] Link any PRs or issues blocking this PR from being merged
Title of PR
What is the purpose of this PR? To approve a new call recognizer for the male Koala.
Changes
1) Create a new class, config file and unit test for the recognition of koala calls. Call this the Mark3 recognizer to contrast with the first recognizer (now ten years old) and Mark2 made by Ivan. 2) Clean up the four generations of classes to detect oscillation events. Delete the first experimental version Oscillations2010,cs. 3) Make two oscillation classes available for generic recognizers. These have different algorithms. Classes are OscillationDetection2012 and OscillationDetection2019. Add extensive documentation and Log comments to these classes so the user can determine what is happening when config parameters are changed. 4) Refactor the GenericRecognizer code so that the PostProcessing methods are outside the main loop. This enables non-generic call recognizers to process calls in three steps: i) event detection using profiles; ii) filtering of profile events using custom code for the species; and iii) the post-processing steps. 5) Add extensive commentary to the header of the main Koala recognition class to explain the what and why of the recognizer.
Issues
At the time of submitting this pull request, there is one failing unit test which tests the compression of spectrograms prepared from acoustic indices. I did not write this unit test and I am not sure why it is now failing because it has passed on previous occasions while I have worked in this branch. The error is an out of memory issue because the matrix has a large dimension.
Visual Changes
None
Final Checklist