Documentation here, or compile it yourself following the details below.
You can install via pip install pynamix.
Clone from github and then run:
pip install -e .
Run the test suite:
python -m unittest discover -s pynamix/tests -p "test_*.py"See RUN_TESTS.md for more details.
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-pushThe hooks will run:
- black - code formatting (on commit)
- flake8 - linting (on commit)
- tests - test suite (on push)
This repo is configured to publish to PyPI from GitHub Actions when you push a version tag like v0.34.
Release steps:
- Update the version in
pyproject.toml. - Commit the change to
main. - Create and push a tag:
git tag v0.34
git push origin v0.34Notes:
- 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.
Try out the included Jupyter notebook to see how to use the package.
Should be handled in pip install for you. Currently requires:
- python3
- matplotlib
- numpy
- scipy
- imageio
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.
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