-
Notifications
You must be signed in to change notification settings - Fork 5
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
Add linear dynamical systems package and oxyplot time series visualizer #2
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
glopesdev
requested changes
Mar 5, 2024
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Left major points in the review comments, but in general looks great, it might be quicker to just continue going over this together as soon as possible.
src/Bonsai.ML.LinearDynamicalSystems/Bonsai.ML.LinearDynamicalSystems.svg
Outdated
Show resolved
Hide resolved
src/Bonsai.ML.LinearDynamicalSystems/Bonsai.ML.LinearDynamicalSystems.csproj
Outdated
Show resolved
Hide resolved
glopesdev
approved these changes
Mar 7, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
This PR adds 2 new packages, namely the LinearDynamicalSystems package and the Visualizers package. In addition, a python helper class is added to the core Bonsai.ML package. Below I have highlighted some of the key features that are added.
Linear Dynamical Systems Package
This package acts as an interface to the lds_python package, a python package for performing inference using linear systems modelling. Under the hood, it utilises the Bonsai.Scripting.Python package to execute python commands that interact with the underlying python package. A few of the Bonsai nodes are added to provide a standardised format for passing data between the model (python object) and Bonsai. These include nodes such as
State
,Observation2D
, etc. The package includes a sub package, named Kinematics, which is special application of the linear dynamical systems model for performing inference of kinematic data, such as tracking 2D keypoints of behaving animals.Python Helper
The
PythonHelper
class represents a generic python helper that can be used for converting certain data types between python and C#. It covers some of the basic python/C# type conversions (i.e. int, float, string) and some additional types (i.e. python list to List, python dictionary to Dictionary, and numpy array to List). This was added to the core Bonsai.ML package.Visualizers
This package represents a generic visualisers package to be used across Bonsai.ML. This PR adds a generic
TimeSeriesOxyPlotBase
class that initialises an oxyplot graph with time series data along the x axis. A specialisedKinematicComponentVisualizer
is used to visualise the the model's inference of kinematic data.