Skip to content
/ sonic Public

SONIC is an object-oriented optical navigation (OPNAV) toolkit written in MATLAB.

License

Notifications You must be signed in to change notification settings

opnavlab/sonic

Repository files navigation

SONIC

Software for Optical Navigation and Instrument Calibration

This open-sourced, object oriented MATLAB package is a toolkit built on years of research in optical navigation (OPNAV), with a foundation in principled projective geometry. Many capabilities needed for space-flight OPNAV are made transparent and configurable within the SONIC classes, with minimal assumption of the analyst's intentions. This allows each user to construct their own unique workflows for a specific research or analysis problems. SONIC was designed to help simplify navigation solutions such as (but not limited to):

  • Horizon-Based OPNAV
  • Triangulation
  • Star Identification
  • 3D-Reconstruction
  • And more

SONIC was created by the researchers and students of the Space Exploration Analysis Laboratory at the Georgia Institute of Technology for student, academic researchers, space science professionals, or anyone curious to learn more about OPNAV.

For API documentation, please visit https://opnavlab.github.io/sonic/.

If you would like to reference SONIC in your work, please cite our publication from the Journal of Open Source Software publication. The paper can be found here: DOI

Getting Started

Minimal preparation is needed to begin using SONIC. Simply clone the repository locally, and add the sonic directory to the search path that you're working in (i.e. using addpath).

A few MATLAB live tutorials are provided under +examples for demonstrative purposes.

To verify your installation of SONIC, please run these examples locally and compare the outputs to the pre-run demos in the SONIC API documentation, linked below.

Note: SONIC requires the following MATLAB toolboxes installed:

  • Image Processing Toolbox version 24.1
  • Computer Vision System Toolbox version 24.1

Contributing

If you are interesting in contributing, have a feature request, or have found a bug in SONIC, please checkout CONTRIBUTING.md for more information.

References

Please see REFERENCES.md for a list of references used in the development of SONIC.