modacor 1.0.0
A new modular data correction software for any neutron or X-ray technique that produces 1D or 2D scattering, diffraction, or imaging data.

# MoDaCor (v1.0.0)

## Overview

New modular data corrections for any neutron or X-ray technique that produces 1D or 2D scattering/diffraction/imaging
data.

[![PyPI Package latest release](https://img.shields.io/pypi/v/modacor.svg)](https://pypi.org/project/modacor)
[![Commits since latest release](https://img.shields.io/github/commits-since/BAMresearch/MoDaCor/v1.0.0.svg)](https://github.com/BAMresearch/MoDaCor/compare/v1.0.0...main)
[![License](https://img.shields.io/pypi/l/modacor.svg)](https://en.wikipedia.org/wiki/BSD-3-Clause)
[![Supported versions](https://img.shields.io/pypi/pyversions/modacor.svg)](https://pypi.org/project/modacor)
[![PyPI Wheel](https://img.shields.io/pypi/wheel/modacor.svg)](https://pypi.org/project/modacor#files)
[![Weekly PyPI downloads](https://img.shields.io/pypi/dw/modacor.svg)](https://pypi.org/project/modacor/)
[![Continuous Integration and Deployment Status](https://github.com/BAMresearch/MoDaCor/actions/workflows/ci-cd.yml/badge.svg)](https://github.com/BAMresearch/MoDaCor/actions/workflows/ci-cd.yml)
[![Coverage report](https://img.shields.io/endpoint?url=https://BAMresearch.github.io/MoDaCor/coverage-report/cov.json)](https://BAMresearch.github.io/MoDaCor/coverage-report/)

## Summary

MoDaCor is a library for traceable, stepwise data corrections, with propagation of units as well as (multiple)
uncertainties. The data sources can be files or data streams. The correction follows an optionally branching and merging
graph that is configured per application. The computational steps can reuse pre-calculated information produced during a
first run to minimise unnecessary overhead. The modular approach allows detailed introspection into the effect of each
step on the data, units, and uncertainties.

This implements modular data correction workflow concepts discussed in
[https://doi.org/10.1107/S1600576717015096](https://doi.org/10.1107/S1600576717015096). It can be used either directly
or as a reference to validate faster, more integrated data-correction implementations.

## Installation

    pip install modacor

### Optional extras

Support for the Tiled-backed IoSource is provided via an optional dependency set. Install it with:

```bash
pip install modacor[tiled]
```

To install the in-development version:

    pip install git+https://github.com/BAMresearch/MoDaCor.git@main

## Documentation structure

The published documentation at <https://BAMresearch.github.io/MoDaCor> is organised around three main tracks:

- **Getting started** – a Quickstart walkthrough that runs a sample pipeline with the bundled MOUSE dataset and
  highlights pipeline tracing.
- **Pipeline operations** – guidance for building and maintaining YAML pipeline configurations, understanding
  branching/merging graphs, and using tracing exports.
- **Extension development** – tutorials for creating new correction modules, tests, and IO sources, plus an
  auto-generated reference page per module.

Instrument-specific walkthroughs (for example the MOUSE and SAXSess instruments) show how to combine these resources for
real experiments, with links to example pipelines and metadata files.

Planned documentation stubs now live in the repository to signal the intended structure:

- `docs/getting_started/` – Quickstart guides (populated with `quickstart.md`).
- `docs/pipeline_operations/` – pipeline basics, configuration reference, and tracing/debugging placeholders.
- `docs/extending/` – module-author guide, IO extension notes, and contribution checklist placeholders.
- `docs/examples/` – instrument-specific walkthrough placeholders for MOUSE and SAXSess pipelines.

These pages currently contain explicit TODO notes and will be expanded during the documentation refresh.

Documentation contributors can follow `docs/README.md` for local build instructions and authoring notes.

## Development

For coding contributions, we strongly recommend:

- using `flake8` and/or `black` for consistent formatting;
- writing tests for every added functionality to encourage test-driven development practices.

### Testing

See which tests are available (arguments after `--` get passed to *pytest* which runs the tests):

    tox -e py -- --co

Run a specific test only:

    tox -e py -- -k <test_name from listing before>

Run all tests with:

    tox -e py

### Package Version

Get the next version number and how the GIT history would be interpreted for that:

    pip install python-semantic-release
    semantic-release -v version --print

This prints its interpretation of the commits in detail. Make sure to supply the `--print`
argument to not raise the version number which is done automatically by the *release* job
of the GitHub Action Workflows.

### Project template

Update the project configuration from the *copier* template and make sure the required packages
are installed:

    pip install copier jinja2-time
    copier update --trust --skip-answered


Changelog
=========

% <!--next-version-placeholder-->

## v1.0.0 (2025-06-16)

### Unknown

* fix pytest warning: rename TestProcessingStep -> TESTProcessingStep ([`b19e701`](https://github.com/BAMresearch/MoDaCor/commit/b19e701f983322c1cc2aee68b152ad633fbb923a))

* adapt PoissonUncertainties unit test to use processing data ([`86c719b`](https://github.com/BAMresearch/MoDaCor/commit/86c719bd90a68c842e2e72118893ce099e4a1400))

* modification of the poisson uncertainties module for pipeline use ([`ce86eae`](https://github.com/BAMresearch/MoDaCor/commit/ce86eae06eee81d6353aca2f499447c3039dcaf0))

* pipeline with PoissonUncertainties step is now running ([`594315b`](https://github.com/BAMresearch/MoDaCor/commit/594315bedfdaae91e06b5afdfda85da1f4d46c62))

* adjust names of bundles and BaseData keys to contain "signal" ([`e8c342f`](https://github.com/BAMresearch/MoDaCor/commit/e8c342f6ea95d8effcca863a42a3d3d58333444c))

* add license text to license.py ([`fdd7ddf`](https://github.com/BAMresearch/MoDaCor/commit/fdd7ddf54f40de677139b9ebe61799db136ec271))

* add to last commit ([`648cb25`](https://github.com/BAMresearch/MoDaCor/commit/648cb2529665caac5d5117b7275ee99f7f069ae2))

* adding a central license to shorten headers ([`2f88d39`](https://github.com/BAMresearch/MoDaCor/commit/2f88d39c0790e2b2eb2d917f0b78493edf3c18db))

* begin adapting the calculate function ([`7cf56a1`](https://github.com/BAMresearch/MoDaCor/commit/7cf56a1bdf7c96428121b37bd13ab41ded0da1bd))

* update pipeline integration test to use new ProcessStep ([`61724fd`](https://github.com/BAMresearch/MoDaCor/commit/61724fd311c1d94c86fb26a72d79f7988bc4e7e6))

* update to new BaseData unit handling ([`06f8763`](https://github.com/BAMresearch/MoDaCor/commit/06f8763c7832e8689ad9cc91977287a93b986f51))

* use modacor's unit registry ([`540ce4a`](https://github.com/BAMresearch/MoDaCor/commit/540ce4ad6ddf4ec406e515649715e8a541d856ed))

* adapt PoissonUncertainties unit test to use processing data ([`bf20968`](https://github.com/BAMresearch/MoDaCor/commit/bf2096899ccc0a95f58d115b3beacb37f1f00fe3))

* modification of the poisson uncertainties module for pipeline use ([`ee3e940`](https://github.com/BAMresearch/MoDaCor/commit/ee3e9400062c4d70befdb729ede685e04583cf56))

* pipeline with PoissonUncertainties step is now running ([`663fee6`](https://github.com/BAMresearch/MoDaCor/commit/663fee6313382b33ac1d00d31a08e32da0660654))

* adjust names of bundles and BaseData keys to contain "signal" ([`ff9a21a`](https://github.com/BAMresearch/MoDaCor/commit/ff9a21a4486911029284f887b320e44c14f0f270))

* begin adapting the calculate function ([`cc5f122`](https://github.com/BAMresearch/MoDaCor/commit/cc5f12217823ce3c378e15c27efcc50ec3d96c6c))

* update pipeline integration test to use new ProcessStep ([`aec63ce`](https://github.com/BAMresearch/MoDaCor/commit/aec63ce8c358448f9f3ef0f8214f3b91dd72e645))

* update to new BaseData unit handling ([`ebdceeb`](https://github.com/BAMresearch/MoDaCor/commit/ebdceebb01d251fcac65d9975a31eb968dabab71))

* use modacor's unit registry ([`5fe0eda`](https://github.com/BAMresearch/MoDaCor/commit/5fe0eda2dd0e5cf33d3b8f92155b66dbadaca61d))

* arithmetic: data is _divided_ by normalization ([`98f9389`](https://github.com/BAMresearch/MoDaCor/commit/98f938966269416c5e0280389982ed3a7297af36))

* BaseData no longer has a .data property ([`5a53260`](https://github.com/BAMresearch/MoDaCor/commit/5a53260f6cc44415b8d9b671dac8c6c6e3602a12))

* remove test of display_data property: display_units not defined ([`19d0a66`](https://github.com/BAMresearch/MoDaCor/commit/19d0a664c0074273339eb435691ae91fc1d8ddb1))

* basedata: use simplified call signature ([`619368a`](https://github.com/BAMresearch/MoDaCor/commit/619368ab05757fe6bcfd81b3c18588e551349568))

* import uncertainties.unumpy for variance calculation tests ([`7a55d68`](https://github.com/BAMresearch/MoDaCor/commit/7a55d68e7635f5c4b991778b7021d93a207647c3))

* add license text to license.py ([`0f5cfb9`](https://github.com/BAMresearch/MoDaCor/commit/0f5cfb9ceb66d7156ac01229eb46eecdaf6f3de1))

* add to last commit ([`441068d`](https://github.com/BAMresearch/MoDaCor/commit/441068d79470cc19d13a78416dbb2a030851f2a6))

* adding a central license to shorten headers ([`939516c`](https://github.com/BAMresearch/MoDaCor/commit/939516c078bbd0d6d272399ee3c5e4094cd0718a))

* add note to self: need ProcessStep registry to populate pipeline ([`b8ba70b`](https://github.com/BAMresearch/MoDaCor/commit/b8ba70b55a1bd0eafb4c0bf39496ecc28b25ec88))

* test and draft config format for pipeline import from yaml ([`4a40871`](https://github.com/BAMresearch/MoDaCor/commit/4a40871f2b6b17835069b376941162fa357e2481))

* initial yaml loader for pipelines ([`a12d58e`](https://github.com/BAMresearch/MoDaCor/commit/a12d58e8cd5806f742c01619d8325c4ef70d3bd7))

* add hash function to make test run (already in draft PR #33) ([`4e03a00`](https://github.com/BAMresearch/MoDaCor/commit/4e03a00765ca19b5f3ff94f3ee1a526338c2380e))

* add pyyaml to requirements for yaml definition of pipelines ([`0f76ece`](https://github.com/BAMresearch/MoDaCor/commit/0f76ecec1909671391aea861d20e0528fff688d5))

* Delete src/modacor/modules/base_modules/poisson_uncertainty.py ([`09def97`](https://github.com/BAMresearch/MoDaCor/commit/09def97ecf615beb85d130695dff425e86853d25))

* Updating the ProcessStep definition (#34) ([`605c3f6`](https://github.com/BAMresearch/MoDaCor/commit/605c3f6151152b3dddf406b64d799bc16abc2eba))

* changing unit handling to central pint unit registry ([`ee3f2f5`](https://github.com/BAMresearch/MoDaCor/commit/ee3f2f5738eecfd0068ccd2a8b729599a725fa2e))

* adding a multiply by variable processing step ([`fa04cd7`](https://github.com/BAMresearch/MoDaCor/commit/fa04cd7f06750def211fc216cf04ea75764f29f1))

* import central unit registry ([`cfdd867`](https://github.com/BAMresearch/MoDaCor/commit/cfdd86756383f37d23bb45f5db08a7f1d1d60347))

* change internal_units to signal_units and removing ingest and display units ([`adfa551`](https://github.com/BAMresearch/MoDaCor/commit/adfa55185ca37b59b975ee3d978c5014bf17258b))

* minor polishing ([`e9f9083`](https://github.com/BAMresearch/MoDaCor/commit/e9f9083ad87869862cabe19970b79f111db76ca3))

* provide azimuthal variance ([`93d0dae`](https://github.com/BAMresearch/MoDaCor/commit/93d0dae3de397e28f86e49151ef14d356e5f8c6f))

* First uncertainties commit, test is broken ([`29bec04`](https://github.com/BAMresearch/MoDaCor/commit/29bec04a256f356c89f099c5cd9c86d642e4de25))

* fixing error ([`986f10b`](https://github.com/BAMresearch/MoDaCor/commit/986f10bcb6241ff3e48537c18d11fdbb389f2359))

* Starting on Poisson Testing ([`04eaa24`](https://github.com/BAMresearch/MoDaCor/commit/04eaa249dc3054bbca4990ec098d01550edb4fc2))

* implement the test, still broken ([`2b787b7`](https://github.com/BAMresearch/MoDaCor/commit/2b787b78f13461eeffe4dab28f109ca9e0a54647))

* polish import_tester ([`683a0f8`](https://github.com/BAMresearch/MoDaCor/commit/683a0f88d51f406004f7dea7ab5c5b017cbd18b9))

* make an integrated dataset behave like a normal one ([`49e8412`](https://github.com/BAMresearch/MoDaCor/commit/49e8412e220516ab8587aaad8f9e7bb19790b45b))

* feed-back of flake8 ([`07cdc34`](https://github.com/BAMresearch/MoDaCor/commit/07cdc34109397de6d9369d840b2e0e0326b4c636))

* Allow longer lines ([`5b74de3`](https://github.com/BAMresearch/MoDaCor/commit/5b74de3f0785a430b2b01adf1a5d8d17bce69482))

* configuration for flake8 ([`dc45d13`](https://github.com/BAMresearch/MoDaCor/commit/dc45d13a44d06dc0bb3f6bf94b7a1c0cd2e7e27a))

* increase line length ([`d56fc36`](https://github.com/BAMresearch/MoDaCor/commit/d56fc36fccb1a629fb6092c1d6220b34699f7e9a))

* fix PoissonUncertainties module: needs to return outputs ([`4e4eeea`](https://github.com/BAMresearch/MoDaCor/commit/4e4eeeab00da48c34ec0bbedd78b670fcb40f07a))

* use smaller array for testing ([`2b57000`](https://github.com/BAMresearch/MoDaCor/commit/2b5700015584e2267e6feaef108488241acccbc6))

* test runs until PoissonUncertainties are actually calculated ([`7c91102`](https://github.com/BAMresearch/MoDaCor/commit/7c91102831fdcf15c77b42a9d291d15f1e1a6d9b))

* prepare test running PoissonUncertainties module in a pipeline ([`537ccdf`](https://github.com/BAMresearch/MoDaCor/commit/537ccdf171d6b7c4b6549c5ba4cb8a721a69bbdf))

* adapt: DataBundle no longer has a data attribute ([`7a33677`](https://github.com/BAMresearch/MoDaCor/commit/7a33677b5ba7261a49ff1d3637d4fad45d9c0e46))

* first integration test: run pipeline with dummy processsteps ([`58e1c5d`](https://github.com/BAMresearch/MoDaCor/commit/58e1c5d2dc3fda70a02b7617f360d47c18d78ed0))

* add hash function to ProcessStep ([`15125a9`](https://github.com/BAMresearch/MoDaCor/commit/15125a96738be47231658e7dbf340cce298f0f23))

* remove DataBundle from the arguments for running the pipeline ([`def0dba`](https://github.com/BAMresearch/MoDaCor/commit/def0dbafb4ac7d6926b9d6c374033340217f0d66))

* fixing file reference in documentation ([`5d337fd`](https://github.com/BAMresearch/MoDaCor/commit/5d337fd1c572b7c933d87a2688fd1524c11c0284))

* removing unused fields ([`4b12b8f`](https://github.com/BAMresearch/MoDaCor/commit/4b12b8f38b0ac2b8b30bbfeaec9ed12f6535fa5f))

* Tidy up ([`312cb82`](https://github.com/BAMresearch/MoDaCor/commit/312cb829a2c2b79e7ccf940e4e27284b98c94c86))

* HDF Loader Tests Now Passing ([`d17e05d`](https://github.com/BAMresearch/MoDaCor/commit/d17e05dfa09697d09a0d20052c6ecd5fce0bb24e))

* adding a new poisson uncertainties estimator ([`22c2233`](https://github.com/BAMresearch/MoDaCor/commit/22c2233163903b5c613829671c261904cc7ba2dc))

* Delete src/modacor/dataclasses/pipelinedata.py ([`5045ae9`](https://github.com/BAMresearch/MoDaCor/commit/5045ae991370e583ea5790e992ffaf5003e21d9d))

* renaming pipelinedata to processingdata ([`be76a32`](https://github.com/BAMresearch/MoDaCor/commit/be76a326c52578ce508b5740773137b1f0282e8c))

* Removing an outdated module ([`cbd7f87`](https://github.com/BAMresearch/MoDaCor/commit/cbd7f8791c98228837c8b914dab4df20e16f0b95))

* Updated formatting with black, flake8 and isort ([`c89718b`](https://github.com/BAMresearch/MoDaCor/commit/c89718b70fd5d84d4deb6e29dc39eeb571fa37a7))

* add __init__.py in runner submodule ([`d995aff`](https://github.com/BAMresearch/MoDaCor/commit/d995affc5210693e5e8500d64c5f2ab87c030aed))

* modify branch addition methods to operate on another Pipeline ([`3dcdce7`](https://github.com/BAMresearch/MoDaCor/commit/3dcdce7871372af6f01f84ad2466f9bf31c35f58))

* use the same syntax for incoming and outgoing branch addition ([`ee8ada7`](https://github.com/BAMresearch/MoDaCor/commit/ee8ada700b2b6850a97b0822d1c4ef8ca8f77b15))

* add separate methods for adding in- and outgoing branches ([`a635247`](https://github.com/BAMresearch/MoDaCor/commit/a635247014b40ef5663500adcb1f3521eadc7e2e))

* fix reference to self ([`06c2173`](https://github.com/BAMresearch/MoDaCor/commit/06c217386d3fc15bfe64bd0f15ee08bb626ec676))

* prepare running the pipeline - not yet tested ([`f544fea`](https://github.com/BAMresearch/MoDaCor/commit/f544fea40838c280f866e8435355d0d66e189b8f))

* add functionality for branching the pipeline, with simple tests ([`e8093f8`](https://github.com/BAMresearch/MoDaCor/commit/e8093f802532f4a22d0222e1eb7b3618bec6ecf2))

* test addition of a simple hashable object ([`e9bdcbf`](https://github.com/BAMresearch/MoDaCor/commit/e9bdcbf38fabcdf75f422d857ef74ff4f55fb7f4))

* initial pipeline draft based on graphlibs TopologicalSorter ([`7c5cfc5`](https://github.com/BAMresearch/MoDaCor/commit/7c5cfc593f2dc7a38e597ba35da99b02913e55f4))

* fix a bunch of tests ([`503d1e0`](https://github.com/BAMresearch/MoDaCor/commit/503d1e09c367bdf5a8aa8b3b18e03a25f618a242))

* flake8 config file ([`2d34c5d`](https://github.com/BAMresearch/MoDaCor/commit/2d34c5d63743048cc49a2be485856030a5ce4ca7))

* cleanup of databundle and adding pipelinedata ([`2015907`](https://github.com/BAMresearch/MoDaCor/commit/2015907e877b4c2e98910116a815a6a3c559a4a9))

* adding a header and cleanung up datbundle. ([`7c4e7e3`](https://github.com/BAMresearch/MoDaCor/commit/7c4e7e3888b6a3c085948cbb353ca4e37ca9342e))

* renaming raw_data to signal in BaseData ([`2f6429f`](https://github.com/BAMresearch/MoDaCor/commit/2f6429ffd65b49de93d25a218151ff3ee2e78d9d))

* HDF Testing ([`d874571`](https://github.com/BAMresearch/MoDaCor/commit/d874571d02ffba732bbfb1ab57cf8494d8473f47))

* HDF IO Test Commit ([`920b02f`](https://github.com/BAMresearch/MoDaCor/commit/920b02f61c9e403d3d9114180a3a6bad974a8653))

* Update pyproject.toml ([`7f8d1c7`](https://github.com/BAMresearch/MoDaCor/commit/7f8d1c75cd9fa949ed40364485c4f147e524935d))

* Update pyproject.toml ([`acf17b9`](https://github.com/BAMresearch/MoDaCor/commit/acf17b9f1196a0bf1c2b282a0bf706feec3573bd))

* Update pyproject.toml ([`70eed8a`](https://github.com/BAMresearch/MoDaCor/commit/70eed8a6560791635368186f912dace28727dbd8))

* fix importing BaseData ([`a104dce`](https://github.com/BAMresearch/MoDaCor/commit/a104dce54d9b2fd23932924d0cb846f7c057ce08))

* work on integration ([`125dacd`](https://github.com/BAMresearch/MoDaCor/commit/125dacdc1b3fa37e65f9c8ec6364fee380204af5))

* Attempt to fix tox.ini ([`9a25376`](https://github.com/BAMresearch/MoDaCor/commit/9a253766317bd4b01ea88af1e00bca944ce957af))

* Removed unused imports ([`c5bf606`](https://github.com/BAMresearch/MoDaCor/commit/c5bf6068a18824710b29fa405988a01f2bbe9ed2))

* Updating package metadata ([`eb4b8c8`](https://github.com/BAMresearch/MoDaCor/commit/eb4b8c8683dc4b302eb269469a580eb82cb9abf0))

* Added tests for io sub-package ([`e0f3218`](https://github.com/BAMresearch/MoDaCor/commit/e0f321889e534b9cdf13e524878bd925766094f1))

* WIP on azimuthal integration ([`ca15a97`](https://github.com/BAMresearch/MoDaCor/commit/ca15a976fcec2ac2a31e328e552cb004b3d04a6e))

* updating the pre-commit config ([`6e247b4`](https://github.com/BAMresearch/MoDaCor/commit/6e247b412092e27ef4dec0eb00eaa4db8ee443a7))

* updated BaseData ([`72912e7`](https://github.com/BAMresearch/MoDaCor/commit/72912e78c82924ecec9a8733ec4ca8c9123c184e))

* modifications to basedata and databundle ([`a50204c`](https://github.com/BAMresearch/MoDaCor/commit/a50204c3e620d5b9fa6ff9d038832fca22b0e623))

* clean-up ([`5435da4`](https://github.com/BAMresearch/MoDaCor/commit/5435da48adf365f60901d718c09f0dc9e0e6e6ba))

* put back scalers are normalization factor ([`8ad59ff`](https://github.com/BAMresearch/MoDaCor/commit/8ad59ff9fe3154595dd49e23fb9fbfc209d0a648))

* updating databundle ([`f56265a`](https://github.com/BAMresearch/MoDaCor/commit/f56265af01b476c17589b46aa1028d0b238a22e6))

* Modified HDF Loader ([`1fa7fd0`](https://github.com/BAMresearch/MoDaCor/commit/1fa7fd0ce72ff64851cf72625adb20045e34e575))

* Start of HDF5 Loader ([`3397b14`](https://github.com/BAMresearch/MoDaCor/commit/3397b1419343cfd35b1a9032ce8fe5e20bab4692))

* Error Propagation ([`9e17100`](https://github.com/BAMresearch/MoDaCor/commit/9e1710077c2f60f1eabc196cfb6e348c6e90134c))

* Adding units to normalization ([`1ef17ef`](https://github.com/BAMresearch/MoDaCor/commit/1ef17ef0d6ea4c90278d25b6337f9b3b0aebe24e))

* Requirements Changes ([`d7041d5`](https://github.com/BAMresearch/MoDaCor/commit/d7041d58c667380f1f2152555d52eaef8a5599a9))

* Updated requirements ([`1c2b91c`](https://github.com/BAMresearch/MoDaCor/commit/1c2b91c7d5d0e488849c31ac6a2be50199c09d68))

* Updates to init files ([`663ede2`](https://github.com/BAMresearch/MoDaCor/commit/663ede21782d5cc45d2b63f0a4b5bccacc84694e))

* Added file headers to io and updated definitions ([`fa7996b`](https://github.com/BAMresearch/MoDaCor/commit/fa7996be2688476b861b5909eb082ec0fb25503a))

* Fixing linting ([`6bd4918`](https://github.com/BAMresearch/MoDaCor/commit/6bd4918a13ca9f9247fd80bc1cb8bc63d06670eb))

* Populated io ([`4faa1db`](https://github.com/BAMresearch/MoDaCor/commit/4faa1dbce7c2cfdddc7356e5422a074c8311aeca))

* Error Propagation ([`6f2854c`](https://github.com/BAMresearch/MoDaCor/commit/6f2854cb11c1ff634c88dfabf7f68209a650e96a))

* Error Propagation ([`d0b87f2`](https://github.com/BAMresearch/MoDaCor/commit/d0b87f29e0a39ff81055171aacfc48ead22bfb74))

* Error Propagation ([`d0a040b`](https://github.com/BAMresearch/MoDaCor/commit/d0a040b7bcfcb6d5df8b6a6fb9b27113044e6727))

* Missed comma ([`09fecf1`](https://github.com/BAMresearch/MoDaCor/commit/09fecf11165e805d3470ef0628b5ead7a0eb2137))

* Updates to the logger ([`f09b5df`](https://github.com/BAMresearch/MoDaCor/commit/f09b5df83757a281d50eb143f3c6bd86984b49f2))

* fix renaming of ProcessStep ([`0de2352`](https://github.com/BAMresearch/MoDaCor/commit/0de2352ad4f8e2e26db1099bf0aeed28c52675a9))

* fix relative import error ([`6fa77f4`](https://github.com/BAMresearch/MoDaCor/commit/6fa77f4f518b535d224927a88c959d6f25640afb))

* dynamic requirements.txt ([`90b233b`](https://github.com/BAMresearch/MoDaCor/commit/90b233b63d250cabeb82731316d1b79df9049993))

* fix scatteringdata duplicate and databundle import ([`0a02cbd`](https://github.com/BAMresearch/MoDaCor/commit/0a02cbd9b119f3be445e4c8bdb173bca87ff6929))

* fix imports ([`886002c`](https://github.com/BAMresearch/MoDaCor/commit/886002c3f7f2f6e5320b56eda257e1bddbe26dc7))

* Modified imports ([`7993f93`](https://github.com/BAMresearch/MoDaCor/commit/7993f938806ab4e7d526e4171557a2c01370c831))

* Modifed ProcessStep ([`22d05d1`](https://github.com/BAMresearch/MoDaCor/commit/22d05d1cbbe5080fc934e1ab668c8d59d23fde51))

* Tox modifications ([`b8ee1aa`](https://github.com/BAMresearch/MoDaCor/commit/b8ee1aa88e1b701785aff2ab458716137ead2913))

* databundle ([`1d18bca`](https://github.com/BAMresearch/MoDaCor/commit/1d18bca7e9a3ee2e7d8d4a649dc26bf1051738d4))

* One step further ([`c9e0fd0`](https://github.com/BAMresearch/MoDaCor/commit/c9e0fd0e99a5a5a03a15827261c4df851343eaba))

* Changes for tox ([`142582e`](https://github.com/BAMresearch/MoDaCor/commit/142582e78d3bb5e1fc0ab6576297b9b7af66d6cc))

* fix import all modules ([`5561826`](https://github.com/BAMresearch/MoDaCor/commit/5561826227301d80b5e61f2ff4b9a7ab8cd8fe56))

* fix all relative imports in tests ([`675e504`](https://github.com/BAMresearch/MoDaCor/commit/675e5041dfb01263c36a307b80cc557d569466e1))

* move test into project ... ([`ad171a4`](https://github.com/BAMresearch/MoDaCor/commit/ad171a43ea719c8c780eaca08f016b05191720e4))

* License modification ([`5d331e4`](https://github.com/BAMresearch/MoDaCor/commit/5d331e4747380a5aed4e7b0fd677a4d58ccc9dcc))

* ScatteringData to DataBundle ([`108e8a4`](https://github.com/BAMresearch/MoDaCor/commit/108e8a406520a7c9aef0466c4df3fc133dfdc87e))

* Small updates ([`d176c49`](https://github.com/BAMresearch/MoDaCor/commit/d176c4916a27ef1c914a4085897f2b76dcc91c6c))

* Updated processstep naming and content ([`7ae6ca7`](https://github.com/BAMresearch/MoDaCor/commit/7ae6ca7d78b7f69d3b714ee8be73ab5f5955cab0))

* adding the flow charts ([`e07cb55`](https://github.com/BAMresearch/MoDaCor/commit/e07cb55cfb1139b535e24e96b8a378bb39f5147c))

* typos ([`fb85395`](https://github.com/BAMresearch/MoDaCor/commit/fb85395f9ec5260efad6b7bc20e06e2db8ac8e3d))

* migrate dask array to numpy ([`62fd3b2`](https://github.com/BAMresearch/MoDaCor/commit/62fd3b2652d53226372b152d7452b6ed261eba14))

* implement base dataclass ([`8049030`](https://github.com/BAMresearch/MoDaCor/commit/80490307ddbd9e1c7bee168140139ec039e7e640))

* implement normalization and variances in dict ([`f41c0ab`](https://github.com/BAMresearch/MoDaCor/commit/f41c0ab72ade5ab0e1f7eba3b13b67fc5a7dc9c2))

* modified to use the actual datapoint in basedata now. ([`d9bd951`](https://github.com/BAMresearch/MoDaCor/commit/d9bd9518e1cbf0829bb7df6a30d006e7a569c03d))

* Getting towards a working concept ([`0772d80`](https://github.com/BAMresearch/MoDaCor/commit/0772d80305539be57ff7323ed3360db07e998310))

* something like this ([`dfd97bf`](https://github.com/BAMresearch/MoDaCor/commit/dfd97bfdb1c6ad03ed808c36c5205e8c7f413f95))

* Getting towards a proof-of-principle ([`2a77207`](https://github.com/BAMresearch/MoDaCor/commit/2a772073dfc0445500eb27140f9a1fa55280f1a3))

* more experimentation to explore delayed execution ([`5f365a1`](https://github.com/BAMresearch/MoDaCor/commit/5f365a1c2525a826bcba4c14e3c37763f6cbf335))

* Making changes to classes based on experimentation... ([`1710f40`](https://github.com/BAMresearch/MoDaCor/commit/1710f400fd736aa8377189704fe631f50f70ac1a))

* Added some flow diagrams to help clarify... ([`b17ff22`](https://github.com/BAMresearch/MoDaCor/commit/b17ff22ae01998e94faf9e7ae9b9e7ab8919aba1))

* Update README.rst ([`1e658e2`](https://github.com/BAMresearch/MoDaCor/commit/1e658e22c527e1a3f48ca87a853e58a2bfc63130))

* Changed name of note to step_note ([`accd141`](https://github.com/BAMresearch/MoDaCor/commit/accd141a42228d1ad811bc68dfd5295b1eef73d9))

* fixed tests and validator. ([`4b768e6`](https://github.com/BAMresearch/MoDaCor/commit/4b768e6db2c5393707cf4c2d9849ca274b959585))

* Changed naming slightly, and added a message handler placeholder ([`0880270`](https://github.com/BAMresearch/MoDaCor/commit/08802703c66c9e087dbca7b35ad6c832ca7e255b))

* changes broke tests ([`e81e369`](https://github.com/BAMresearch/MoDaCor/commit/e81e3698651ca0a7fdada91a090ad85dc5c96be7))

* test implementation of basedata and processstep dataclasses ([`eb6dcc4`](https://github.com/BAMresearch/MoDaCor/commit/eb6dcc45a6aca867b78e57c8aa7d81a8b3b909da))

## v0.0.0 (2025-02-13)

### Unknown

* Initial commit ([`4753f2a`](https://github.com/BAMresearch/MoDaCor/commit/4753f2a4a718cb1fbd5979f252ee90e4504866f0))