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.34.tar.gz (54.0 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.34-py3-none-any.whl (58.4 kB view details)

Uploaded Python 3

File details

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

File metadata

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

File hashes

Hashes for pynamix-0.34.tar.gz
Algorithm Hash digest
SHA256 7a4e076a495768c6830b8896de766880c491de6b613560450e5be7cbf63037e4
MD5 c1b9c22c080625bd969b1697978cbef6
BLAKE2b-256 36836acf56ffe383493201ce809449dfae9d81ad4292070d3a958a2464f0ce90

See more details on using hashes here.

Provenance

The following attestation bundles were made for pynamix-0.34.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.34-py3-none-any.whl.

File metadata

  • Download URL: pynamix-0.34-py3-none-any.whl
  • Upload date:
  • Size: 58.4 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.34-py3-none-any.whl
Algorithm Hash digest
SHA256 edf8a956a1e0143916c06c19073aea921314e8679eac2d2ed0732f870f3078cf
MD5 9a1ad85bb8f58061090d88ab31d2df44
BLAKE2b-256 85eacb73755035d36952a640f5fac46421fe347ef3e9deec3bb1a95827432874

See more details on using hashes here.

Provenance

The following attestation bundles were made for pynamix-0.34-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