AMBER/source/index.rst
Jakob Lass 682c9aeac9
All checks were successful
Gitea Actions Demo / build_test (3.13.3) (push) Successful in 11s
Gitea Actions Demo / release-test (push) Successful in 1s
Add initial documentation
Add synthetic data tutorial
Add read the docs setup
2025-04-11 14:02:35 +02:00

95 lines
3.1 KiB
ReStructuredText

.. AMBER documentation master file, created by
sphinx-quickstart on Fri Apr 11 10:48:14 2025.
You can adapt this file completely to your liking, but it should at least
contain the root `toctree` directive.
AMBER documentation
===================
This is the documentation for the **A** lgorithm for **M** ultiplexing spectrometer
**B** ackground **E** stimation with **R** otation-independence **AMBER** which is a method to estimate and background within 3D data sets.
This software is the result of the collaboration between the instrument responsible at the `CAMEA <https://www.psi.ch/en/sinq/camea>`_ beamline at SINQ, at the
`Paul Scherrer Institut <https://psi.ch/>`_ with the `Swiss Data Science Center <https://www.datascience.ch/>`_ through the "Data Science for Multiplexing Spectrometers" (DS4MS) project supported by
the fifth call for Collaborative Research Data Science Projects.
Badges
------
.. image:: https://gitea.psi.ch/lass_j/AMBER/actions/workflows/test.yaml/badge.svg
:width: 200
:alt: Test Status
Installation
------------
Installation can be done through PyPI using
.. code-block::
python -m pip install AMBER
Alternatively, the newest version can be installed directly from the source repository through
.. code-block::
python -m pip install git https://gitea.psi.ch/lass_j/AMBER.git@master
General Introduction
--------------------
**AMBER** has been developed with multiplexing neutron spectrometers in mind, i.e. a novel version of the triple axis instrument which acquires multiple data points simultaneously.
However, the algorithm is more general and can be utilized on data with other origins.
The main requirements of the data are
#. Rotation independence of the background in two out of three directions.
#. Smooth change of background along all directions
#. The signal is sparse but continuous in all directions
**AMBER** minimizes the following cost function for the signal and background given the set of parameters :math:`\lambda`, :math:`\beta`, and :math:`\mu` on a voxelated data set:
.. math::
\min_{X,b} \frac{1}{2}\lVert Y-X-\mathcal{R}b\rVert_{2}^2+\lambda\vert| X |\vert_{1} +\frac{\beta}{2} \mathrm{Tr} \left( b^T L_{b} b \right) +\frac{\mu}{2} \boldsymbol{1}_{n_x}^TX^T L_{\omega} X\boldsymbol{1}_{n_y}
where :math:`Y`, :math:`X`, and :math:`b` are the measured signal, the subtracted signal and the rotation independent background, respectively. :math:`\mathcal{R}` is a rotation operator taking
the radial :math:`b` to the full space. These three parameters constitute the fitting term while the rest are denoted penalty terms. :math:`\lambda` controls the weighing of sparcity of the subtracted signal gauge through the L-1 norm
:math:`\vert| X |\vert_{1}`, :math:`\beta` controls the smoothness of the background while :math:`\mu` the smoothness of the subtracted signal.
For further details, see the the paper.
Documentation & Tutorials
-------------------------
For **AMBER** the following tutorials have been created
.. toctree::
:maxdepth: 2
:caption: Contents:
tutorials/index.rst
Contribute
----------
Contact
-------