Metadata-Version: 2.4
Name: geometric-medical-phantoms
Version: 1.0.2
Summary: Python bindings for the GeometricMedicalPhantoms shared library — synthetic MRI/CT phantoms (Shepp-Logan, Tubes, Torso) with physiological motion signals
Project-URL: Homepage, https://github.com/hakkelt/GeometricMedicalPhantoms.jl
Project-URL: Documentation, https://hakkelt.github.io/GeometricMedicalPhantoms.jl
Project-URL: Bug Tracker, https://github.com/hakkelt/GeometricMedicalPhantoms.jl/issues
License-Expression: MIT
Keywords: ct,imaging,medical,mri,phantom,simulation
Classifier: Development Status :: 4 - Beta
Classifier: Intended Audience :: Science/Research
Classifier: License :: OSI Approved :: MIT License
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.9
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: Topic :: Scientific/Engineering :: Image Processing
Classifier: Topic :: Scientific/Engineering :: Medical Science Apps.
Requires-Python: >=3.9
Requires-Dist: numpy>=1.20
Provides-Extra: examples
Requires-Dist: matplotlib>=3.5; extra == 'examples'
Description-Content-Type: text/markdown

# geometric-medical-phantoms

Python bindings for the [GeometricMedicalPhantoms](https://github.com/hakkelt/GeometricMedicalPhantoms.jl)
shared library — a Julia-based toolkit for generating synthetic MRI/CT phantoms.

## Supported phantoms

- **Shepp-Logan** — classic ellipsoid head phantom (CT and MRI variants)
- **Tubes** — cylindrical quality-control phantom
- **Torso** — anatomically-motivated torso with respiratory and cardiac motion

## Requirements

- Python ≥ 3.9
- NumPy ≥ 1.20
- The pre-built `libgeomphantoms` shared library (see
  [Releases](https://github.com/hakkelt/GeometricMedicalPhantoms.jl/releases))

## Installation

```sh
pip install geometric-medical-phantoms
```

Then download the pre-built library bundle for your platform from the
[GitHub Releases](https://github.com/hakkelt/GeometricMedicalPhantoms.jl/releases)
page and extract it.

## Quick start

```python
from geometric_medical_phantoms import GMPLib

lib = GMPLib("/path/to/build/lib/libgeomphantoms.so")  # .dylib / .dll on other platforms

# Shepp-Logan 3-D phantom
ti = lib.shepp_logan_ct_default()
phantom = lib.create_shepp_logan_phantom_3d(128, 128, 128, ti)
# phantom is a (128, 128, 128) float32 numpy array in Fortran (column-major) order

# Respiratory signal
phys = lib.respiratory_physiology_default()
t, sig = lib.generate_respiratory_signal(60.0, 50.0, 15.0, phys)

# Dynamic torso phantom (4-D cine)
torso = lib.create_torso_phantom_3d(64, 64, 64, resp_signal=sig[:50])
# torso.shape == (64, 64, 64, 50)
```

## Documentation

Full API reference and usage guides are available at
<https://hakkelt.github.io/GeometricMedicalPhantoms.jl>.

## License

MIT — see [LICENSE](https://github.com/hakkelt/GeometricMedicalPhantoms.jl/blob/master/LICENSE).
