Giter Club home page Giter Club logo
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: [email protected]

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: [email protected]

tutorials

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

status

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
  • echosounders 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: [email protected]

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 |logo-TURBEAMS| that is financed by the Belgian Science Policy Office (belspo) belspo

themachinethatgoesping's Projects

algorithms icon algorithms

Algorithms for processing ping data (a.g. apply absorption, raytrace beams or images, bottom detection in echograms ...)

echosounders icon echosounders

This repository contains libraries to read, write and process single- and multibeam echo sounder file formats.

gridding icon gridding

python only test module / implements some echo gridding functions

meta icon meta

This respository contains meta information (__init__.py files) for themachinethatgoesping packages

multibeam-echo-grid-simulator icon multibeam-echo-grid-simulator

This repository contains the python simulation code (https://doi.org/10.3289/SW_3_2023) for reproducing the results of the paper "Echo grid integration: A novel method for preprocessing multibeam water column data to quantify underwater gas bubble emissions." by Urban et. al. 2023 (https://doi.org/10.1002/lom3.10552)

navigation icon navigation

Tools for interpolating and transforming navigation data

pingprocessing icon pingprocessing

A themachinethatgoesping library to process pings: (e.g. build echograms)

sandbox icon sandbox

A repository for ping users to build and share scripts, code snippets, demos, or tutorials, without messing with the package's source code or official tutorials

tools icon tools

Shared functions (C++) and small tools (python)

tutorials icon tutorials

Tutorial notebooks for publishing with MyBinder

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.