Metadata-Version: 2.4
Name: flexpose
Version: 1.0.1
Summary: flexible EXposure Parameter OptimiSation Engine
Author-email: Rodrigo T Massera <rodrigo.trevisanmassera@kuleuven.be>
Maintainer-email: Rodrigo T Massera <rodrigo.trevisanmassera@kuleuven.be>
License-Expression: AGPL-3.0-only
Project-URL: Homepage, https://gitlab.kuleuven.be/medphysqa/deploy/flexpose/flexpose
Project-URL: Documentation, https://flexpose-86a40a.pages.gitlab.kuleuven.be/
Project-URL: Repository, https://gitlab.kuleuven.be/medphysqa/deploy/flexpose/flexpose.git
Project-URL: Bug Tracker, https://gitlab.kuleuven.be/medphysqa/deploy/flexpose/flexpose/issues
Keywords: x-ray,optimization,dose,image quality,projection imaging
Classifier: Development Status :: 3 - Alpha
Classifier: Programming Language :: Python
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: matplotlib>=3.10.8
Requires-Dist: numpy<2.4,>=2.2.6
Requires-Dist: pandas>=2.3.3
Requires-Dist: pytest>=9.0.2
Requires-Dist: pyyaml>=6.0.3
Requires-Dist: scipy>=1.15.3
Provides-Extra: spek
Requires-Dist: spekpy>=2.5.3; extra == "spek"
Provides-Extra: test
Requires-Dist: pytest>=9.0.2; extra == "test"
Dynamic: license-file

<div align="center">

[![PyPI - Version](https://img.shields.io/pypi/v/flexpose.svg?logo=pypi&label=PyPI&logoColor=gold)](https://pypi.org/project/flexpose/)
[![PyPI - Python Version](https://img.shields.io/pypi/pyversions/flexpose.svg?logo=python&label=Python&logoColor=gold)](https://pypi.org/project/flexpose/)
[![PyPI - Downloads](https://img.shields.io/pypi/dm/flexpose.svg?color=blue&label=Downloads&logo=pypi&logoColor=gold)](https://pypi.org/project/flexpose/)
[![Website](https://img.shields.io/badge/Website-Visit-blue?logo=githubpages&logoColor=white)](https://flexpose-86a40a.pages.gitlab.kuleuven.be/)

</div>

# Flexpose: A flexible EXposure Parameter OptimiSation Engine

This is the repository containing the Flexpose source code.  

## Disclaimer

This code is intended to be used only for research pourposes.

---

## Installation

We provide different methods for the installation

---

### Docker

This is the easiest way of running flexpose

You can clone this repository and build with an image with or without spekpy

with spekpy:

```
docker build --target flexpose-spek -t flexpose:spek .
```

without spekpy:
```
docker build --target flexpose-nospek -t flexpose:nospek .
```


### Python (PIP)

We recommend using a virtual environment to install/run this package. 

```
python -m pip install flexpose
```

For developers, if you want to install and modify it:

Clone the repository:

```
git clone https://gitlab.kuleuven.be/medphysqa/deploy/flexpose/flexpose.git
```

```
cd flexpose
```

```
python -m pip install -e .
```


### Python (UV)

For now it works until Python 3.12 (because of numpy < 2.4 due to Spekpy)

First:

```
uv python pin 3.12
```

Then:

```
uv sync
```

With Spekpy:

```
uv sync --extra spek
```


Or with all extra dependencies (for development):

```
uv sync --all-extras
```

---

## Usage



---

## Contributing

Contributions are always welcome! 
Please, open a PR listing the modifications and run the tests to see if everything is working.

---

## LLM use statement

This code was written by the authors.
AI was sometimes used to check for bugs or help writing the docstrings. 
