Erik Fröjdh 58da96d6f0
Build on RHEL9 / build (push) Successful in 3m1s
Build on RHEL8 / build (push) Successful in 3m43s
Run tests using data on local RHEL8 / build (push) Failing after 4m48s
Insert gap pixels only between chips unless module gaps are set
An unset GapPixels::module_gaps defaulted to the chip gap, so every
module boundary received two extra rows or columns. Two stacked
Jungfrau modules read as 1030x1030 instead of 1030x1028. Unset now
means no pixels between modules; only the chip boundaries inside a
module receive a gap.

Also drop the explicit lambda capture in split_edge_counts that clang
reported as unused for floating point pixels.
2026-10-09 21:59:07 +02:00
2026-06-15 11:36:03 +02:00
2026-10-06 14:49:25 +02:00
2026-10-09 08:16:59 +02:00
2026-09-24 09:09:37 +02:00
2026-09-24 09:09:37 +02:00
2026-09-24 09:09:37 +02:00
2026-09-24 09:09:37 +02:00
2026-10-08 15:36:46 +02:00
2024-11-11 19:59:55 +01:00
2025-03-20 12:52:04 +01:00
2026-10-08 15:36:46 +02:00
2025-11-20 09:01:28 +01:00
2026-10-06 14:49:25 +02:00
2026-09-24 09:09:37 +02:00
2026-09-24 09:09:37 +02:00
2026-09-30 16:55:00 +02:00

aare

Data analysis library for PSI hybrid detectors

Documentation

Detailed documentation including installation can be found in Documentation

License

This project is licensed under the MPL-2.0 license. See the LICENSE file or https://www.mozilla.org/en-US/MPL/ for details.

Two files contain code from other projects and keep their original licenses:

  • include/aare/ProducerConsumerQueue.hpp is Apache-2.0, from folly by Meta Platforms.
  • src/NumpyHelpers.cpp is MIT, from libnpy by Leon Merten Lohse.

The full license texts are in the LICENSES directory.

The Python wheels and conda packages also contain Minuit2 (LGPL-2.1-or-later), {fmt} and nlohmann/json (MIT), and pybind11 (BSD-3-Clause), which CMake downloads at build time. See THIRD-PARTY-NOTICES.txt for their notices.

Build and install

Prerequisites

  • cmake >= 3.14
  • C++17 compiler (gcc >= 8)
  • python >= 3.10

Development install (for Python)

git clone git@github.com:slsdetectorgroup/aare.git --branch=v1 #or using http...
mkdir build
cd build

#configure using cmake
cmake ../aare -DAARE_PYTHON_BINDINGS=ON 

#build (replace 4 with the number of threads you want to use)
make -j4 

Now you can use the Python module from your build directory

import aare
f = aare.File('Some/File/I/Want_to_open_master_0.json')

To run from other folders either add the path to your conda environment using conda-build or add the module to your PYTHONPATH

export PYTHONPATH=path_to_aare/aare/build:$PYTHONPATH

Install using conda/mamba

#enable your env first!
conda install aare -c slsdetectorgroup # installs latest version

Install to a custom location and use in your project

Working example in: https://github.com/slsdetectorgroup/aare-examples

#build and install aare 
git clone git@github.com:slsdetectorgroup/aare.git --branch=v1 #or using http...
mkdir build
cd build

#configure using cmake
cmake ../aare -DCMAKE_INSTALL_PREFIX=/where/to/put/aare

#build (replace 4 with the number of threads you want to use)
make -j4 

#install
make install


#Now configure your project
 cmake .. -DCMAKE_PREFIX_PATH=SOME_PATH

Local build of conda pkgs

conda build . --variants="{python: [3.11, 3.12, 3.13]}"

Developer's guide

We are looking forward to your contributions via pull requests!

If you want to fix an existing bug or propose a new feature:

  1. Install pre-commit python package and setup it pre-commit install
  2. Create a new branch with git branch branch_name
  3. Implement your changes and make a commit (pre-commit will check your code automatically)
  4. Push your commit and open a pull request if needed
Languages
Jupyter Notebook 59.5%
C++ 35.2%
Python 4.5%
CMake 0.8%