Welcome to tofu’s documentation!¶
tofu stands for Tomography for Fusion, it is an IMAS-compatible open-source machine-independent python library with non-open source plugins containing all machine-dependent routines.
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.
tofu is hosted on github.
Tutorials and how to’s:
- How to compute integrated signal from 2D or 3D synthetic emissivity
Visit the tutorial for getting started: load an already-existing diagnostic geometry in a synthetic diagnostic approach to solve the direct problem and compute the line Of Sight and / or Volume of Sight integrated signals from a simulated emissivity field that you provide as an input.
- How to compute tomographic inversions (to do)
Use existing diagnostic geometry and signals to solve the inverse problem and compute tomographic inversions using a choice of discretization basis functions and regularisation functionals.
How to compute a integrated solid angle map in a poloidal cross section, for a set of spherical particles (see the solid angle tutorial).
Advanced tutorials for developpers: Tutorials For Developers
Main tofu classes and methods have docstrings so you can access contextual help with the usual python syntax from a ipython console (print <method>.__doc__, or <method>?).