Skip to content

themachinethatgoesping/themachinethatgoesping

Repository files navigation

Python versions 3.10 | 3.11 | 3.12 PyPI - Version
license: MPL-2.0 readthedocs

themachinethatgoesping

Super-project for themachinethatgoesping components (https://github.com/themachinethatgoesping)
Hi there 👋 themachinethatgosping (short: Ping) aims at enabling advanced processing of multibeam and singlebeam echosounder data. Core components of this library are implemented in C++ (for performance) and are then exposed as high level python interfaces (for usability). On top of the core, many libraries, tools and applications will be implemented in Python directly, making use of the fast prototyping features of this language.

This project is in early stage; at the moment it is just a powerfull raw data reader for Kongsberg .all/.wcd and Simard .raw data. However you can get glimples of what ping will be like and e.g. plot some simple echograms or extract the navigation data from the raw files (see tutorials repository)

More will follow soon. If you are interested in our plans and time line, contact me: peter.urban@ugent.be

installation

Ping is distributed via pypi. Install e.g. via pip:

pip install themachinethatgoesping

Anaconda packages will follow.

To install ping from source, clone this repository and use pip:

pip install .

As a potential developer, you will prefer to use the meson backend which provides a propper developer interface. (TODO: check/improve developer build instructions for windows/linux/mac) First clone this repository. Then install the build requirements:

pip install -r requirements.txt

Then call meson

meson setup builddir
meson build -c builddir
meson install -c builddir

WARNING: these instructions are only a preview; they are not yet complete. If you have no experience with meson, contact me: peter.urbam@ugent.be

tutorials

We provide jupyter notebook tutorials with instalation instructions in the tutorials repository: tutorials

status

CI status
ci-readthedocs
ci-python-linux
ci-python-windows
ci-python-mac

relevant repositories

Ping consists of a number of repositories that represent individual modules. It is not necessary to check all of these repositories individually. The themachinethatgoesping repository includes all module repositories as subprojects. If you just want to test ping, the tutorials repository includes everything that is necessary.

  • themachinethatgoesping themachinethatgoesping: superproject that builds and installs all subprojects
  • tutorials tutorials: Tutorial and example notebooks
  • tools tools: Shared functions and interfaces
  • algorithms algorithms: Algorithms for e.g. applying absorption, raytracing, bottomdetection on echograms and more.
  • navigation navigation: Store and transform navigation data
  • echosoudners echosounders: Read, write and process single- and multibeam echo sounder files.
  • pingprocessing pingprocessing: Process ping files (e.g. create echograms).
  • gridding gridding: Gridding functions (python only test repo)

license

Most of ping is distributed under the Mozilla Public License Version 2.0 (MPL-2.0)

In simple terms: The MPL-2.0 license implements a non-viral copyleft; Licensed files are protected by the copyleft, but they can still be deeply integrated even in comercial, closed source projects, as long as the file itself stays open source.

Note that this simplified description is not a legal advice and does not cover all aspects of the license. For this please refer to the license self: https://www.mozilla.org/en-US/MPL/2.0/FAQ/

For other sources that may be easyer to comprehend see also

Contributing / Further development / Use #######################################

This project is still in early stage (bootstrapping). Documentation is mediocore at best. If you are interested in testing/using/contributing to this project, please contact me: peter.urban@ugent.be

Acknowledgements / Funding

  • The code of this project is partly based on code that was written while working for the DeepSea Monitoring Group DeepSea Monitoring Group - GEOMAR at GEOMAR, Helmholtz Centre for Ocean Research, Kiel, Germany. GEOMAR Helholtz-Centre for ocean research Kiel
  • Current development is happening at Ghent University, Ghent, Belgium Ghent University within the TURBEAMS project that is financed by the Belgian Science Policy Office (belspo) belspo

About

Super-project for themachinethatgoesping components

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages