All Projects → ToFuProject → Tofu

ToFuProject / Tofu

Licence: mit
Project for an open-source python library for synthetic diagnostics and tomography for Fusion devices

Programming Languages

python
139335 projects - #7 most used programming language

Projects that are alternatives of or similar to Tofu

Core
The core source repository for the Cherab project.
Stars: ✭ 26 (-25.71%)
Mutual labels:  plasma, fusion, physics
Kedro Viz
Visualise your Kedro data pipelines.
Stars: ✭ 149 (+325.71%)
Mutual labels:  open-source, data-visualization
Recent slam research
Track Advancement of SLAM 跟踪SLAM前沿动态【2021 version】
Stars: ✭ 2,387 (+6720%)
Mutual labels:  fusion, open-source
Mdsplus
The MDSplus data management system
Stars: ✭ 47 (+34.29%)
Mutual labels:  fusion, data-visualization
Augur
Python library and web service for Open Source Software Health and Sustainability metrics & data collection.
Stars: ✭ 304 (+768.57%)
Mutual labels:  open-source, data-visualization
Bout Dev
BOUT++: Plasma fluid finite-difference simulation code in curvilinear coordinate systems
Stars: ✭ 87 (+148.57%)
Mutual labels:  plasma, physics
Intermine
A powerful open source data warehouse system
Stars: ✭ 195 (+457.14%)
Mutual labels:  open-source, data-visualization
simsopt
Simons Stellarator Optimizer Code
Stars: ✭ 28 (-20%)
Mutual labels:  plasma, fusion
Picongpu
Particle-in-Cell Simulations for the Exascale Era ✨
Stars: ✭ 452 (+1191.43%)
Mutual labels:  plasma, physics
Pretzel
Javascript full-stack framework for Big Data visualisation and analysis
Stars: ✭ 26 (-25.71%)
Mutual labels:  open-source, data-visualization
Annwvyn
Annwvyn C++ Open Source designed-for-VR game engine and application developement framework
Stars: ✭ 34 (-2.86%)
Mutual labels:  open-source
Satellite imagery analysis
Implementation of different techniques to find insights from the satellite data using Python.
Stars: ✭ 31 (-11.43%)
Mutual labels:  data-visualization
Pioneer
A game of lonely space adventure
Stars: ✭ 979 (+2697.14%)
Mutual labels:  physics
Agfusion
Python package to annotate and visualize gene fusions.
Stars: ✭ 36 (+2.86%)
Mutual labels:  fusion
Awesome Creative Coding
Creative Coding: Generative Art, Data visualization, Interaction Design, Resources.
Stars: ✭ 8,696 (+24745.71%)
Mutual labels:  data-visualization
Epinow2
Estimate Realtime Case Counts and Time-varying Epidemiological Parameters
Stars: ✭ 36 (+2.86%)
Mutual labels:  open-source
Mahapps.metro
A framework that allows developers to cobble together a better UI for their own WPF applications with minimal effort.
Stars: ✭ 8,023 (+22822.86%)
Mutual labels:  open-source
Kepler.gl
Kepler.gl is a powerful open source geospatial analysis tool for large-scale data sets.
Stars: ✭ 8,231 (+23417.14%)
Mutual labels:  data-visualization
F2
📱📈An elegant, interactive and flexible charting library for mobile.
Stars: ✭ 7,619 (+21668.57%)
Mutual labels:  data-visualization
Leaflet.extras2
Extra functionality for leaflet R package.
Stars: ✭ 37 (+5.71%)
Mutual labels:  data-visualization

Travis-CI Conda Gitter PlamsaPy PlamsaPy

tofu

tofu stands for Tomography for Fusion, it is an IMAS-compatible open-source machine-independent python library.

tofu tries to take an active part in the plasma community open-source python environment, like PlasmaPy, with which some degree of interoperability is being implemented.

It aims at providing the fusion and plasma community with an object-oriented, transparent and documented tool for designing tomography diagnostics, computing synthetic signal (direct problem) as well as tomographic inversions (inverse problem). It gives access to a full 3D description of the diagnostic geometry, thus reducing the impact of geometrical approximations on the direct and, most importantly, on the inverse problem.

tofu is relevant for all diagnostics integrating, in a finitie field of view or along a set of lines of sight, a quantity (scalar or vector) for which the plasma can be considered transparent (e.g.: light in the visible, UV, soft and hard X-ray ranges, or electron density for interferometers).

tofu is command-line oriented, for maximum flexibility and scriptability. The absence of a GUI is compensated by built-in one-liners for interactive plots.

It has a sphinx-generated documentation, and the code itself is hosted on GitHub.

Examples Gallery

Here are some examples of what tofu can do

Built-in one-liners for interactive camera geometry visualization

Built-in one-liners for interactive camera geometry visualization

...both for 1D and 2D cameras, including the basics for multiple reflections handling

...both for 1D and 2D cameras, including the basics for multiple reflections handling

Built-in plotting of sinograms

Built-in plotting of sinograms

Basic magnetic field line tracing

Basic magnetic field line tracing

Multiple 1d profiles interactive plotting

Multiple 1d profiles interactive plotting

Built-in basic data treatment and interactive plotting: svd and spectrograms

Built-in basic data treatment and interactive plotting: svd and spectrograms

tofu provides the user with a series of python classes for creating, handling and visualizing a diagnostic geometry, meshes and basis functions, geometry matrices, pre-treating experimental data and computing tomographic inversions.

Each one of these main tasks is accomplished by a dedicated module in the larger tofu package.

The geometry module is sufficient for diagnostic designing and for a synthetic diagnostic approach (i.e.: computing the integrated signal from a simulated 2D or 3D emissivity). This geometry module allows in particular:

  • To handle linear and toroidal vaccum vessels
  • To define apertures and detectors as planar polygons of arbitrary shapes
  • To automatically compute the full Volume of Sight (VOS) in 3D of each {detector+aperture(s)} set
  • To discretise the VOS for a numerical 3D integration of a simulated emissivity in order to compute the associated signal

It is in this geometrical sense that tofu enables a synthetic diagnostic approach, it does not provide the tools for simulating the emissivity itself (that should be an input, provided by another code).

IMAS-compatibility

IMAS is a standardized data structure, it comes as an extra layer on the database of any Tokamak to provide a machine-independent way of accessing scientific data. tofu has built-in advanced classes for handling the interface with IMAS, hold in the imas2tofu sub-package. It pre-supposes, of course, that IMAS is installed and operational next to your python install, but tofu does not require IMAS to run in general. If IMAS is not available, tofu will simply display a warning stating that the imas2tofu sub-package is not usable.

tofu can thus easily load and handle multiple IDSs (IMAS data structure units) and provide command-line tools for exporting IMAS data to other general tofu classes (e.g.: Cameras, Plasma2D...) and for interactive plotting. All tofu objects have methods to facailitate in-python-console introspection, the __repr__ method is overloaded to display relevant information, an dthis is widely used to explore the data loaded from IMAS.

Do you want to use tofu on IMAS and don't know where to start? See our documetation.


Installing tofu

From source (compiled on your system using pip, all platforms)

pip install tofu

From pre-compiled binaries (using conda, all platforms)

conda install -c conda-forge tofu

For Developers and other platforms

Clone the git repository from github See our documentation.

Licensing

It is distributed under the MIT license and aims at providing the fusion community with a transparent and modular tool for creating / designing diagnostics and using them for synthetic diagnostic (direct problem) and tomography (inverse problem).

History

It was first created at the Max-Planck Institute for Plasma Physics (IPP) in Garching, Germany, by Didier Vezinet, and is now maintained, debugged and updated by a team of contributors.


Warning This Pypi package focuses on tomography for fusion research. It uses the same name as a previous package dedicated to a testing framework coupling fixtures and tests loosely, now renamed reahl-tofu and developped by Iwan Vosloo since 2006. If you ended up here looking for a web-oriented library, you should probably redirect to the more recent reahl-tofu page.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].