.. 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 `_ beamline at SINQ, at the `Paul Scherrer Institut `_ with the `Swiss Data Science Center `_ 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 -------