Skip to main content

pyBSM is a Python-based tool for sensor modeling. It provides common components useful for simulating the image formation process through different imaging systems.

Project description

pyBSM

pyBSM is a Python-based tool for sensor modeling. It provides common components useful for simulating the image formation process through different imaging systems.

This repo builds off of the work done by LeMaster and Eismann in creating the original pyBSM package for modeling image systems [1] as well as LeMaster, et al. in their work in validating the pyBSM package [2].

NOTE: A set of functions which infer OTFs from user data has been removed from the current distribution of pyBSM. They are archived under the v0.7.0 tag if they are needed.

References

[1] LeMaster, Daniel A., and Michael T. Eismann. ‘pyBSM: A Python Package for Modeling Imaging Systems’. Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series, edited by Eric J. Kelmelis, vol. 10204, 2017, p. 1020405, https://doi.org10.1117/12.2262561. Society of Photo-Optical Instrumentation Engineers (SPIE) Conference Series.

[2] LeMaster, Daniel, et al. Validating pyBSM: A Python Package for Modeling Imaging Systems. 05 2018, p. 19, https://doi.org10.1117/12.2305228.

Installation

Ensure the source tree is acquired locally before proceeding.

To install the current version via pip:

pip install pybsm

Alternatively, you can use Poetry:

poetry install --with main,linting,tests,docs

For more detailed installation instructions, visit the installation documentation.

Getting Started

Explore usage examples of the pybsm package in various contexts using the Jupyter notebooks provided in the ./examples/ directory.

Contributions are encouraged! For more details, refer to the CONTRIBUTING.md file.

Documentation

Documentation for both release snapshots and the latest master branch is available on ReadTheDocs.

To build the Sphinx-based documentation locally for the latest reference:

# Install dependencies
poetry install --sync --with main,linting,tests,docs
# Navigate to the documentation root
cd docs
# Build the documentation
poetry run make html
# Open the generated documentation in your browser
firefox _build/html/index.html

Developer Tools

Pre-commit Hooks

Pre-commit hooks ensure that code complies with required linting and formatting guidelines. These hooks run automatically before commits but can also be executed manually. To bypass checks during a commit, use the --no-verify flag.

To install and use pre-commit hooks:

# Install required dependencies
poetry install --sync --with main,linting,tests,docs
# Initialize pre-commit hooks for the repository
poetry run pre-commit install
# Run pre-commit checks on all files
poetry run pre-commit run --all-files

Contributing

License

Apache 2.0

Contacts

Principal Investigator: Brian Hu (Kitware) @brian.hu

Product Owner: Austin Whitesell (MITRE) @awhitesell

Scrum Master / Tech Lead: Brandon RichardWebster (Kitware) @b.richardwebster

Deputy Tech Lead: Emily Veenhuis (Kitware) @emily.veenhuis

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

pybsm-0.10.2.tar.gz (76.5 MB view details)

Uploaded Source

Built Distribution

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

pybsm-0.10.2-py3-none-any.whl (77.8 MB view details)

Uploaded Python 3

File details

Details for the file pybsm-0.10.2.tar.gz.

File metadata

  • Download URL: pybsm-0.10.2.tar.gz
  • Upload date:
  • Size: 76.5 MB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.9.21 Linux/6.5.0-1021-aws

File hashes

Hashes for pybsm-0.10.2.tar.gz
Algorithm Hash digest
SHA256 86f961b699d92b00b9345f2b1be88c43a76be61666d89146c46c944763d1ac0f
MD5 1cb2bb3a7ddafaa28652dcb817cf0f90
BLAKE2b-256 bab654e72ca105766a408251a3b780b7259ab46e682cd1a6af59b063ade2f4b6

See more details on using hashes here.

File details

Details for the file pybsm-0.10.2-py3-none-any.whl.

File metadata

  • Download URL: pybsm-0.10.2-py3-none-any.whl
  • Upload date:
  • Size: 77.8 MB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/1.8.5 CPython/3.9.21 Linux/6.5.0-1021-aws

File hashes

Hashes for pybsm-0.10.2-py3-none-any.whl
Algorithm Hash digest
SHA256 be6731ef7306cc332459bd82e328d63c289ec301a1c2305ba276687c7220514e
MD5 72bca31968110ecc6e46d983f87f8dfb
BLAKE2b-256 a98764d3e0b6f6708737d7698324f018c0c33884635fbf5e7f654668e1c338e3

See more details on using hashes here.

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