Giter VIP home page Giter VIP logo

mesh2scattering's Introduction

Mesh2scattering

Documentation Status https://circleci.com/gh/ahms5/Mesh2scattering.svg?style=shield

Mesh2scattering is based on Mesh2HRTF and is an open-source project aiming an easy-to-use software package for the numerical calculation of scattering pattern and scattering and diffusion coefficients of any surface. In a nutshell, Mesh2scattering consists of three parts:

  • input: prepares geometrical data and acoustic parameters for the simulation,
  • numcalc: based on the input from input, it calculates the corresponding sound field
  • output: processes the output from NumCalc to scattering pattern.
  • process: processes the output to scattering and/or diffusion coefficients.
  • utils: helping functions.

Please notice that this project does not support HRTF post processing, use Mesh2HRTF instead.

Getting Started

Check out the examples folder for a tour of the most important mesh2scattering functionality and read the docs for the complete documentation.

Installation

Use pip to install mesh2scattering

$ pip install mesh2scattering
$ pip install git+https://github.com/pyfar/imkar.git@scattering-freefield

(Requires Python 3.8 or higher)

Note that NumCalc need to be build on Linux and MacOS. For Windows it can be downloaded.

for Linux:

  • Install the C++ build essentials by running
$ sudo apt-get install build-essential
  • Go into the NumCalc directory by running
$ cd path/to/your/Mesh2scattering/mesh2scattering/numcalc/src
  • Compile NumCalc by running make. It is now located in the folder mesh2scattering/numcalc/bin
$ make
  • Copy NumCalc to a folder in your program path: in the same directory run
$ sudo cp NumCalc /usr/local/bin/
  • Now NumCalc can be used by running NumCalc (don't do this yet).

for MacOS:

  • Install the C++ build essentials by installing xcode
  • Go into the numcalc/src directory by running
$ cd path/to/your/Mesh2scattering/mesh2scattering/numcalc/src
  • Compile NumCalc by running make. It is now located in the folder mesh2scattering/numcalc/bin
$ make
  • Now NumCalc can be used by running path/to/mesh2scattering/numcalc/bin/NumCalc (don't do this yet)
$ path/to/mesh2scattering/numcalc/bin/NumCalc

for Windows:

download the executable from the release.

Contributing

Refer to the contribution guidelines for more information.

mesh2scattering's People

Contributors

f-brinkmann avatar ahms5 avatar germknoedlspeck avatar jeffrey-thomsen avatar sdx-lv avatar petibub avatar schaastrommla avatar

Stargazers

Tobias Jüterbock avatar

Watchers

 avatar Tobias Jüterbock avatar

mesh2scattering's Issues

add tests

add test for:

  • mesh2scattering.input.read_material_data
  • mesh2scattering.numcalc.create_hpc_files
  • mesh2scattering.numcalc.manage_numcalc
  • mesh2scattering.output.angles2coords
  • mesh2scattering.output.apply_symmetry_circular #43
  • mesh2scattering.output.apply_symmetry_mirror #43
  • mesh2scattering.output.check_project
  • mesh2scattering.output.read_numcalc
  • mesh2scattering.utils.program_root
  • mesh2scattering.utils.repository_root

check doc

add docstring for:

  • mesh2scattering.input.read_material_data
  • mesh2scattering.input.write_mesh
  • mesh2scattering.input.write_scattering_project
  • mesh2scattering.output.apply_symmetry_mirror #43

roadmap new release

  • fix history #40, #41
  • renew apply_symmetry_circular #43
  • renew apply_symmetry_mirror #43
  • add weights in json and sofa
  • include new imkar implemtation of scattering and diffusion coefficient
  • include all tests #32
  • include all docs #12
  • remove material stuff
  • include build in package #45
  • add all metadata in SOFA
  • fix log file name in numcalc # 44

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.