Skip to main content

Python bindings for the Numerics88 AimIO C++ library

Project description

aimio-py

Coverage (CI) Wheel Build PyPI

Python bindings for the Numerics88 AimIO C++ library.

aimio-py provides a small Python API to read and write AIM files as NumPy arrays, inspect metadata, and work with processing logs.

Features

  • Read AIM files into NumPy arrays
  • Write AIM files from NumPy arrays
  • Access AIM header metadata (aim_info)
  • Convert processing logs between text and dictionary formats
  • Optional density/HU conversion helpers

Installation

From PyPI (recommended):

pip install aimio-py

From source:

git clone https://github.com/wallematthias/aimio-py.git
cd aimio-py
git submodule update --init --recursive
pip install -e .

Quickstart

from py_aimio import read_aim, write_aim

array, meta = read_aim("scan.AIM")
write_aim("copy.AIM", array, meta)

API

  • aim_info(path)
  • read_aim(path, density=False, hu=False) -> (array, meta)
  • write_aim(path, array, meta=None, unit=None)
  • get_aim_density_equation(processing_log)
  • get_aim_hu_equation(processing_log)
  • log_to_dict(log)
  • dict_to_log(dct)

Development

Run tests:

pytest -q

Run tests with coverage:

pytest -q --cov=py_aimio --cov-report=term-missing --cov-report=xml:coverage.xml

Build local artifacts:

python -m build --wheel --sdist

Build documentation from docstrings:

pip install sphinx
make -C docs html

Generated HTML will be in docs/build/html/index.html.

Important build note

This project depends on the external/AimIO and external/n88util git submodules. If they are missing, extension builds will fail.

Release and PyPI Publishing

Wheels and sdist are built by GitHub Actions on:

  • pull_request to main/master
  • pushes to main/master
  • tags matching v*

When a v* tag is pushed, the workflow publishes to PyPI via trusted publishing (pypa/gh-action-pypi-publish).

See docs/PUBLISHING.md for the release checklist and docs/source/ for Sphinx documentation sources.

Attribution

  • py_aimio/calibration.py is adapted from Bonelab/Bonelab.
  • py_aimio/header_log.py is by Matthias Walle.

License

MIT

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

aimio_py-0.1.0.tar.gz (49.9 kB view details)

Uploaded Source

Built Distributions

If you're not sure about the file name format, learn more about wheel file names.

aimio_py-0.1.0-cp313-cp313-win_amd64.whl (101.0 kB view details)

Uploaded CPython 3.13Windows x86-64

aimio_py-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.13manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aimio_py-0.1.0-cp313-cp313-macosx_11_0_arm64.whl (104.4 kB view details)

Uploaded CPython 3.13macOS 11.0+ ARM64

aimio_py-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl (113.1 kB view details)

Uploaded CPython 3.13macOS 10.13+ x86-64

aimio_py-0.1.0-cp312-cp312-win_amd64.whl (100.9 kB view details)

Uploaded CPython 3.12Windows x86-64

aimio_py-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.12manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aimio_py-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl (113.1 kB view details)

Uploaded CPython 3.12macOS 11.0+ x86-64

aimio_py-0.1.0-cp312-cp312-macosx_11_0_arm64.whl (104.3 kB view details)

Uploaded CPython 3.12macOS 11.0+ ARM64

aimio_py-0.1.0-cp311-cp311-win_amd64.whl (99.1 kB view details)

Uploaded CPython 3.11Windows x86-64

aimio_py-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.11manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aimio_py-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl (109.9 kB view details)

Uploaded CPython 3.11macOS 11.0+ x86-64

aimio_py-0.1.0-cp311-cp311-macosx_11_0_arm64.whl (102.6 kB view details)

Uploaded CPython 3.11macOS 11.0+ ARM64

aimio_py-0.1.0-cp310-cp310-win_amd64.whl (98.6 kB view details)

Uploaded CPython 3.10Windows x86-64

aimio_py-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl (1.6 MB view details)

Uploaded CPython 3.10manylinux: glibc 2.24+ x86-64manylinux: glibc 2.28+ x86-64

aimio_py-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl (108.7 kB view details)

Uploaded CPython 3.10macOS 11.0+ x86-64

aimio_py-0.1.0-cp310-cp310-macosx_11_0_arm64.whl (101.6 kB view details)

Uploaded CPython 3.10macOS 11.0+ ARM64

aimio_py-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl (118.5 kB view details)

Uploaded CPython 3.10macOS 10.9+ x86-64

File details

Details for the file aimio_py-0.1.0.tar.gz.

File metadata

  • Download URL: aimio_py-0.1.0.tar.gz
  • Upload date:
  • Size: 49.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aimio_py-0.1.0.tar.gz
Algorithm Hash digest
SHA256 cc22723ce1a32aeb66d53c1586a0d4190dad90f31da46960be985118b08927f3
MD5 b8d7d9b66e6f2f7aca384dda74d3996c
BLAKE2b-256 7058109d557ec3e4be3ede767ba349d72e6a048c03f688a583e860e27b5d94ff

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0.tar.gz:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp313-cp313-win_amd64.whl.

File metadata

  • Download URL: aimio_py-0.1.0-cp313-cp313-win_amd64.whl
  • Upload date:
  • Size: 101.0 kB
  • Tags: CPython 3.13, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aimio_py-0.1.0-cp313-cp313-win_amd64.whl
Algorithm Hash digest
SHA256 f7a9a93efec3af63f0086e66b18fd06735ad28111ed8875c09e19c5408fd01b8
MD5 06df62292fbcae511daab002d4b2c85b
BLAKE2b-256 cfbd7242947bb0d005da72c58b1c8368d14371f5591a17a48ecfec172c54f875

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp313-cp313-win_amd64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 1ae0070d131e5b8f8ca20bf2b846d70aaac639a8da30e128fef222f4458a0b88
MD5 0bee6161e6b3ffa10519e651e9a9d029
BLAKE2b-256 cd0dc8f8a46556cc4788c4a171f57f9a8d2be4c8e7716684f541ecffd75b1051

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp313-cp313-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp313-cp313-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp313-cp313-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 c521b8ecd4a13b958803407256ebb3e28045b847787816cbb8529686eeb4731b
MD5 02c3bf31440b0ecebeb94d758ae515f8
BLAKE2b-256 7293b1dcfc8e16b9bc2cb04e42d03a84c049287b8f5e90db5265ea7c5e2d911d

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp313-cp313-macosx_11_0_arm64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl
Algorithm Hash digest
SHA256 0a49151ae5162af2c436803a1ac1941afa6b54736f46889f438e8e9495ba8c65
MD5 86a1b673ad2ff0594b0ab3fc0c044950
BLAKE2b-256 d63ca22d9bda970c60ef85e128147e30a4848cffdc19c6bb5ab47ab2b4a26cac

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp313-cp313-macosx_10_13_x86_64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp312-cp312-win_amd64.whl.

File metadata

  • Download URL: aimio_py-0.1.0-cp312-cp312-win_amd64.whl
  • Upload date:
  • Size: 100.9 kB
  • Tags: CPython 3.12, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aimio_py-0.1.0-cp312-cp312-win_amd64.whl
Algorithm Hash digest
SHA256 e14a3a26154ad7b1e95b420481773112310da75fd6530ed827fe9b07343ba897
MD5 ea174574f613b8e478854de10f1684d3
BLAKE2b-256 cd2809291514bb566cf2ca18569c0efe1a1182b639393bacd01c1411251221b2

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp312-cp312-win_amd64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 651afb2f3488a4f30b11f40c66c17edd6a073f8d64129d0ba265826b50c9a886
MD5 28374c0ad98fa26a51cd71bb9169e95e
BLAKE2b-256 a7415d3dc8c2a8c738adbe9ff81580c26f20124397b29b216d0673662166882f

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp312-cp312-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 7a8ee736c5218d1754aea10419a6634655031c886da6b9aef49616972fb9abd5
MD5 debddd9ffde34f1ed8f5b38dc68e8fdf
BLAKE2b-256 d7ca7c873f95c8e31c26222bee1fcb78b6ad530109bb44884ca57f72acf6482a

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp312-cp312-macosx_11_0_x86_64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp312-cp312-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp312-cp312-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 67294d4613e3c79f350a71312b8c2c364a0a936211f188124109bb63cb153130
MD5 30b33798b5609c16c1699f0d6a159c08
BLAKE2b-256 55957130541d0a5d5e108fd6f2462ae9e623d0b79ff13131f7cce1fa4ee68306

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp312-cp312-macosx_11_0_arm64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp311-cp311-win_amd64.whl.

File metadata

  • Download URL: aimio_py-0.1.0-cp311-cp311-win_amd64.whl
  • Upload date:
  • Size: 99.1 kB
  • Tags: CPython 3.11, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aimio_py-0.1.0-cp311-cp311-win_amd64.whl
Algorithm Hash digest
SHA256 baf8605cd98a8e06605f78c8ff5a1409a6ead5c7a590da6123873afd1b1b97de
MD5 e2ccc4003936fd6eb17fa099fa581db6
BLAKE2b-256 4241be9f74e2248a2333d51c5b073997017c84bbd02b9abaca6ffd2a83a580bf

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp311-cp311-win_amd64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 5ba651faf566e73d9b14bd1bf23af8d19a7d68e810d30b3c06a30f5f4e3eb7cc
MD5 39693238d6d52ba7340b5f0e407f543f
BLAKE2b-256 5986a6d5c7ba589cf957a94816f8041d8085f880c0a4d54e1f5b500fbbc252f2

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp311-cp311-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 4b6f00d20fd4b46e7164b3a80798ae741ff6bcd6b8cb3be6c5e4e23c95296aa9
MD5 35d143c6f9ccdc61f6cd17434c9dd382
BLAKE2b-256 8c472b9f2b3a2840deab68b4807a1dcabcf4d44fff4c5bd3019f28d4ed73952c

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp311-cp311-macosx_11_0_x86_64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp311-cp311-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp311-cp311-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 6b61a44628914ff3e5e828b261aaca3d2385809311ffdbc1f2729ebaeff53b43
MD5 e181531f50f82d407832d19b99cd909b
BLAKE2b-256 3191663ea79fefdb9ea73cca37ae5fb34db14c96602fcdfba95a7d069defe6a2

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp311-cp311-macosx_11_0_arm64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp310-cp310-win_amd64.whl.

File metadata

  • Download URL: aimio_py-0.1.0-cp310-cp310-win_amd64.whl
  • Upload date:
  • Size: 98.6 kB
  • Tags: CPython 3.10, Windows x86-64
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for aimio_py-0.1.0-cp310-cp310-win_amd64.whl
Algorithm Hash digest
SHA256 38c611e4f3b223ab124bbfdd739824bf9ec683c76b3eb12002be34a8bdc780bc
MD5 ca42963d603c4c78b585911239373e66
BLAKE2b-256 1ad8758105cff4b854f44112bf936f1bf1b1fc57f87e7c9df10f98b2553ac435

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp310-cp310-win_amd64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl
Algorithm Hash digest
SHA256 75c84ab530a13e90334779b1e1cfe5dacb47feccac8a3e6f7ccf6decdaacd9cd
MD5 03269561e5d8100314a439f44568baff
BLAKE2b-256 e08cf64592cbb1cf1a4027de2e0308bbe416f6de4e4bc1c3acdfd3c68e660623

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp310-cp310-manylinux_2_24_x86_64.manylinux_2_28_x86_64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl
Algorithm Hash digest
SHA256 75b91d8b018941f73866f89490c35b3d0cf90013b08d958e76c18d59787ff710
MD5 49bef76f7ebdb1a218138fbc38c3b95c
BLAKE2b-256 ebcffdd416b83c831c1c7e79820e7b8ba01e4255c618e35820d0f71e8eed45e1

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp310-cp310-macosx_11_0_x86_64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp310-cp310-macosx_11_0_arm64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp310-cp310-macosx_11_0_arm64.whl
Algorithm Hash digest
SHA256 a85acd759685e6ffdab677c943d89bc2043aa42b8e452a06cb76c74835dea0ae
MD5 8f75fd8afdea756061a5b38b8b6d7483
BLAKE2b-256 9c3c78cc87e07818aa1e02d5343eb82f45fdc583535dc107efcb33ed9532a176

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp310-cp310-macosx_11_0_arm64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file aimio_py-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl.

File metadata

File hashes

Hashes for aimio_py-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl
Algorithm Hash digest
SHA256 f1ccc0c64ac4af4d3eaae6ece38cddb9e9602e66e87be824fad9ff7711e81cd4
MD5 db3bd831f99c83b7d3103c2e88de2366
BLAKE2b-256 0ff1e33723047d4bf1c7ef2f521467b9e3cd38d4c62f0e7db875c0bf4c26bdd7

See more details on using hashes here.

Provenance

The following attestation bundles were made for aimio_py-0.1.0-cp310-cp310-macosx_10_9_x86_64.whl:

Publisher: publish-from-run.yml on wallematthias/aimio-py

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Supported by

AWS Cloud computing and Security Sponsor Datadog Monitoring Depot Continuous Integration Fastly CDN Google Download Analytics Pingdom Monitoring Sentry Error logging StatusPage Status page