Metadata-Version: 2.4
Name: flexpose
Version: 1.0.0
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://gitlab.kuleuven.be/medphysqa/deploy/flexpose/flexpose/-/wikis/home
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
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

# 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/projects/rodrigo/optimization-in-fluoroscopy.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
```



## 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. 
