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

[Intention] New Event Architecture #310

Open
atruskie opened this issue Mar 30, 2020 · 1 comment
Open

[Intention] New Event Architecture #310

atruskie opened this issue Mar 30, 2020 · 1 comment

Comments

@atruskie
Copy link
Member

Is your feature request related to a problem? Please describe.

A feature request. Our current AcousticEvent class is a poorly-designed one-size-fits-all mess that has been evolved over the entire lifetime of the code base. We want to add more structure to the types of events we detect and report but it will be difficult to add more into AcousticEvent

Describe the solution you'd like

@towsey and I have created the following proposal for a new Event hierarchy. It will allow use encode events with more data, to visualise them better, and to make testing and maintaining the code easier over time.

EventHierarchy

The intention is that this structure will replace and deprecate AcousticEvent over time.

Describe alternatives you've considered

We could augment AcousticEvent but there is a lot of old code that depends on it's behaviour and quirks. It'd take weeks to fix it all. Our suggested approach would give us the benefits of our new structure now, while allowing us to move away from AcousticEvent over time.

Additional context

@towsey and I have discussed this extensively but we are open to further feedback. Please let us know.

We also want to map ontologies for:

  • source metadata (recording, location, datetime, lat/long etc...)
  • event source properties (species, bio/geo/anthropo phonicness, vocalisations/stridulations, songs/calls)

but both of these can be added in later via associations and don't need to modelled as part of the event inheritance hierarchy.

@towsey
Copy link
Contributor

towsey commented Mar 30, 2020

It is worth noting that other component events are likely to arise.
Also in the diagram it is not clear in case of the CompositeEvent, that the ComponentEvent refers to the long list of component events to to the right.,

atruskie added a commit that referenced this issue Apr 9, 2020
atruskie added a commit that referenced this issue Apr 10, 2020
Renamed Range to Interval

Work done for #310 . Continues from e243616
atruskie added a commit that referenced this issue Apr 11, 2020
Work done for #310.

Additionally wrote more tests for buggy ImageSharp line drawing.

Fixed bugs in LinearScale and added more unit tests.
atruskie added a commit that referenced this issue Apr 14, 2020
Work done for #310

- adjust clamp so it can deal with negative ranges
- fix inset border method
- add a fill with blend method to compensate for unexpected imagesharp behaviour when belnding pixels in rgb24 images
- Fix a bug in getting point data coordinates from unit coverter
atruskie added a commit that referenced this issue Apr 15, 2020
Work done for #310.

- Improves our NoAA draw line method to handle more buggy behaviour
- Added ToString human friendly display to spectral point
- Improves and tests track drawing behaviour for the line drawing case
- Added a utility constructor to Track
- Changed the offset times in unit converters
- Added tests for the spectral point comparer
- Add dot syntax to represent empty spots on a test image - easier to use when showing a test image as a full grid of 'text pixels'
atruskie added a commit that referenced this issue Apr 22, 2020
Related to work michael was doing with new event classes.

Also moved event paramters to audio analysis tools to simplify function invocation.

Workd done for #310
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

2 participants