Skip to main content

Tools for dealing with radiographs produced in DynamiX

Project description

PynamiX

Code style: black Tests Lint codecov Downloads

Documentation here, or compile it yourself following the details below.

Installation

You can install via pip install pynamix.

Developers

Clone from github and then run:

pip install -e .

Running Tests

Run the test suite:

python -m unittest discover -s pynamix/tests -p "test_*.py"

See RUN_TESTS.md for more details.

Pre-commit Hooks

This project uses pre-commit hooks for code quality. Install them with:

pip install pre-commit
pre-commit install
pre-commit install --hook-type pre-push

The hooks will run:

  • black - code formatting (on commit)
  • flake8 - linting (on commit)
  • tests - test suite (on push)

Releasing to PyPI (via GitHub tags)

This repo is configured to publish to PyPI from GitHub Actions when you push a version tag like v0.34.

Release steps:

  1. Update the version in pyproject.toml.
  2. Commit the change to main.
  3. Create and push a tag:
git tag v0.34
git push origin v0.34

Notes:

  • Publishing uses PyPI Trusted Publishing (OIDC), which works with PyPI 2FA.
  • PyPI will reject uploads if the version already exists, so the version must be bumped.

Examples

Try out the included Jupyter notebook to see how to use the package.

Dependencies

Should be handled in pip install for you. Currently requires:

  • python3
  • matplotlib
  • numpy
  • scipy
  • imageio

Documentation

We use sphinx to manage the docs. Update documentation with:

cd docs
make html

Once these are built, you can commit and push the changes to github to have them refreshed on github pages. You can also view them locally.

Roadmap

A sorted implementation list is as follows:

1. Size measurement using the FFT technique
2. Option to choose between FFT and wavelet transform for size measurement
3. Wrapper for James's PIV code
4. Wrapper for James's fake radiograph generator

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

pynamix-0.35.0.tar.gz (54.2 kB view details)

Uploaded Source

Built Distribution

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

pynamix-0.35.0-py3-none-any.whl (58.7 kB view details)

Uploaded Python 3

File details

Details for the file pynamix-0.35.0.tar.gz.

File metadata

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

File hashes

Hashes for pynamix-0.35.0.tar.gz
Algorithm Hash digest
SHA256 e135caaf90cb5aac2a1eb457a5dda0b762e16b5d07a7bae8fcd0fb3bf57a27de
MD5 af5b29fa6fe384824db41ef42499be4a
BLAKE2b-256 c21dbdf84a30397d08459c8e22efb6ad578d461be75f42c700fa9ee3bdc5cf60

See more details on using hashes here.

Provenance

The following attestation bundles were made for pynamix-0.35.0.tar.gz:

Publisher: publish.yml on scigem/PynamiX

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

File details

Details for the file pynamix-0.35.0-py3-none-any.whl.

File metadata

  • Download URL: pynamix-0.35.0-py3-none-any.whl
  • Upload date:
  • Size: 58.7 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.7

File hashes

Hashes for pynamix-0.35.0-py3-none-any.whl
Algorithm Hash digest
SHA256 169dbdc5f89f05164b122bd1963ca8a8a290f447536ca73a0b06294c4558b28a
MD5 51ef6a3d7d125a641bb2ae09e5124abe
BLAKE2b-256 29c285a58749e41d388322af3f7d81441790b14e300d0d56a5215b8e74c74458

See more details on using hashes here.

Provenance

The following attestation bundles were made for pynamix-0.35.0-py3-none-any.whl:

Publisher: publish.yml on scigem/PynamiX

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