pybsm


Namepybsm JSON
Version 0.9.0 PyPI version JSON
download
home_pageNone
SummarypyBSM is a Python-based tool for sensor modeling. It provides common components useful for simulating the image formation process through different imaging systems.
upload_time2024-11-08 21:29:44
maintainerNone
docs_urlNone
authorKitware, Inc.
requires_python<4.0,>=3.9
licenseApache-2.0
keywords
VCS
bugtrack_url
requirements No requirements were recorded.
Travis-CI No Travis.
coveralls test coverage No coveralls.
            # 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]](#1) as well as LeMaster, et al. in their work in validating the pyBSM package [[2]](#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.

<!-- :auto installation: -->
## Installation
The following steps assume the source tree has been acquired locally.

Install the current version via pip:
```bash
pip install pybsm
```

Alternatively, you can also use [Poetry](https://python-poetry.org/):
```bash
poetry install --sync --with dev-linting,dev-testing,dev-docs
```

See [here for more installation documentation](
https://pybsm.readthedocs.io/en/latest/installation.html).
<!-- :auto installation: -->

Installing using the previous commands will not install OpenCV. While pyBSM will still function, there are a handful of functions that require OpenCV.

There are two options for installing pyBSM with OpenCV: graphics or headless. Graphics will install `opencv-python` as the OpenCV implementation while headless will install `opencv-python-headless` as the OpenCV implementation.

To install pybsm with `opencv-python`
* using pip:
```bash
pip install pybsm[graphics]
```
* using Poetry
```bash
poetry install --sync --with dev-linting,dev-testing,dev-docs --extras graphics
```

To install pybsm with `opencv-python-headless`
* using pip:
```bash
pip install pybsm[headless]
```
* using Poetry
```bash
poetry install --sync --with dev-linting,dev-testing,dev-docs --extras headless
```

<!-- :auto getting-started: -->
## Getting Started
We provide a number of examples based on Jupyter notebooks in the
`./examples/` directory to show usage of the `pybsm` package in a number
of different contexts.

Contributions are welcome!
See the [CONTRIBUTING.md](./CONTRIBUTING.md) file for details.
<!-- :auto getting-started: -->

<!-- :auto documentation: -->
## Documentation
Documentation snapshots for releases as well as the latest master are hosted
on [ReadTheDocs](https://pybsm.readthedocs.io/en/latest/).

The sphinx-based documentation may also be built locally for the most
up-to-date reference:
```bash
# Install dependencies
poetry install --sync --with dev-linting,dev-testing,dev-docs
# Navigate to the documentation root.
cd docs
# Build the docs.
poetry run make html
# Open in your favorite browser!
firefox _build/html/index.html
```
<!-- :auto documentation: -->

<!-- :auto developer-tools: -->
## Developer tools

**pre-commit hooks**
pre-commit hooks are used to ensure that any code meets all linting and
formatting guidelines required. After installing, this will always run before
 committing to ensure that any commits are following the standards, but you
 can also manually run the check without committing. If you want to commit
 despite there being errors, you can add `--no-verify` to your commit command.

Installing pre-commit hooks:
```bash
# Ensure that all dependencies are installed
poetry install --sync --with dev-linting,dev-testing,dev-docs
# Initialize pre-commit for the repository
poetry run pre-commit install
# Run pre-commit check on all files
poetry run pre-commit run --all-files
```
<!-- :auto developer-tools: -->

<!-- :auto contributing: -->
## Contributing
- We follow the general guidelines outlined in the
[JATIC Design Principles](https://cdao.pages.jatic.net/public/program/design-principles/).
- We use the Git Flow branching strategy.
- See [docs/release_process.rst](./docs/release_process.rst) for detailed release information.
- See [CONTRIBUTING.md](./CONTRIBUTING.md) for additional contributing information.
<!-- :auto contributing: -->

<!-- :auto license: -->
## License
[Apache 2.0](./LICENSE)
<!-- :auto license: -->

<!-- :auto contacts: -->
## 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

<!-- :auto contacts: -->
# References
<a id="1">[1]</a>
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.

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

            

Raw data

            {
    "_id": null,
    "home_page": null,
    "name": "pybsm",
    "maintainer": null,
    "docs_url": null,
    "requires_python": "<4.0,>=3.9",
    "maintainer_email": null,
    "keywords": null,
    "author": "Kitware, Inc.",
    "author_email": "nrtk@kitware.com",
    "download_url": "https://files.pythonhosted.org/packages/7e/31/95e506986020211de02c097694ce0acafeb8f355abeb63a0878898cb4ea4/pybsm-0.9.0.tar.gz",
    "platform": null,
    "description": "# pyBSM\n\npyBSM is a Python-based tool for sensor modeling. It provides common components useful for simulating the image formation process through different imaging systems.\n\nThis repo builds off of the work done by LeMaster and Eismann in creating the original pyBSM package for modeling image systems [[1]](#1) as well as LeMaster, et al. in their work in validating the pyBSM package [[2]](#2).\n\nNOTE: A set of functions which infer OTFs from user data has been removed from\nthe current distribution of pyBSM. They are archived under the v0.7.0 tag if \nthey are needed.\n\n<!-- :auto installation: -->\n## Installation\nThe following steps assume the source tree has been acquired locally.\n\nInstall the current version via pip:\n```bash\npip install pybsm\n```\n\nAlternatively, you can also use [Poetry](https://python-poetry.org/):\n```bash\npoetry install --sync --with dev-linting,dev-testing,dev-docs\n```\n\nSee [here for more installation documentation](\nhttps://pybsm.readthedocs.io/en/latest/installation.html).\n<!-- :auto installation: -->\n\nInstalling using the previous commands will not install OpenCV. While pyBSM will still function, there are a handful of functions that require OpenCV.\n\nThere are two options for installing pyBSM with OpenCV: graphics or headless. Graphics will install `opencv-python` as the OpenCV implementation while headless will install `opencv-python-headless` as the OpenCV implementation.\n\nTo install pybsm with `opencv-python`\n* using pip:\n```bash\npip install pybsm[graphics]\n```\n* using Poetry\n```bash\npoetry install --sync --with dev-linting,dev-testing,dev-docs --extras graphics\n```\n\nTo install pybsm with `opencv-python-headless`\n* using pip:\n```bash\npip install pybsm[headless]\n```\n* using Poetry\n```bash\npoetry install --sync --with dev-linting,dev-testing,dev-docs --extras headless\n```\n\n<!-- :auto getting-started: -->\n## Getting Started\nWe provide a number of examples based on Jupyter notebooks in the\n`./examples/` directory to show usage of the `pybsm` package in a number\nof different contexts.\n\nContributions are welcome!\nSee the [CONTRIBUTING.md](./CONTRIBUTING.md) file for details.\n<!-- :auto getting-started: -->\n\n<!-- :auto documentation: -->\n## Documentation\nDocumentation snapshots for releases as well as the latest master are hosted\non [ReadTheDocs](https://pybsm.readthedocs.io/en/latest/).\n\nThe sphinx-based documentation may also be built locally for the most\nup-to-date reference:\n```bash\n# Install dependencies\npoetry install --sync --with dev-linting,dev-testing,dev-docs\n# Navigate to the documentation root.\ncd docs\n# Build the docs.\npoetry run make html\n# Open in your favorite browser!\nfirefox _build/html/index.html\n```\n<!-- :auto documentation: -->\n\n<!-- :auto developer-tools: -->\n## Developer tools\n\n**pre-commit hooks**\npre-commit hooks are used to ensure that any code meets all linting and\nformatting guidelines required. After installing, this will always run before\n committing to ensure that any commits are following the standards, but you\n can also manually run the check without committing. If you want to commit\n despite there being errors, you can add `--no-verify` to your commit command.\n\nInstalling pre-commit hooks:\n```bash\n# Ensure that all dependencies are installed\npoetry install --sync --with dev-linting,dev-testing,dev-docs\n# Initialize pre-commit for the repository\npoetry run pre-commit install\n# Run pre-commit check on all files\npoetry run pre-commit run --all-files\n```\n<!-- :auto developer-tools: -->\n\n<!-- :auto contributing: -->\n## Contributing\n- We follow the general guidelines outlined in the\n[JATIC Design Principles](https://cdao.pages.jatic.net/public/program/design-principles/).\n- We use the Git Flow branching strategy.\n- See [docs/release_process.rst](./docs/release_process.rst) for detailed release information.\n- See [CONTRIBUTING.md](./CONTRIBUTING.md) for additional contributing information.\n<!-- :auto contributing: -->\n\n<!-- :auto license: -->\n## License\n[Apache 2.0](./LICENSE)\n<!-- :auto license: -->\n\n<!-- :auto contacts: -->\n## Contacts\n\n**Principal Investigator**: Brian Hu (Kitware) @brian.hu\n\n**Product Owner**: Austin Whitesell (MITRE) @awhitesell\n\n**Scrum Master / Tech Lead**: Brandon RichardWebster (Kitware) @b.richardwebster\n\n**Deputy Tech Lead**: Emily Veenhuis (Kitware) @emily.veenhuis\n\n<!-- :auto contacts: -->\n# References\n<a id=\"1\">[1]</a>\nLeMaster, Daniel A., and Michael T. Eismann. \u2018pyBSM: A Python Package for Modeling Imaging Systems\u2019. 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.\n\n<a id=\"2\">[2]</a>\nLeMaster, Daniel, et al. Validating pyBSM: A Python Package for Modeling Imaging Systems. 05 2018, p. 19, https://doi.org10.1117/12.2305228.\n",
    "bugtrack_url": null,
    "license": "Apache-2.0",
    "summary": "pyBSM is a Python-based tool for sensor modeling. It provides common components useful for simulating the image formation process through different imaging systems.",
    "version": "0.9.0",
    "project_urls": {
        "Documentation": "https://pybsm.readthedocs.io/"
    },
    "split_keywords": [],
    "urls": [
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "4bb74b0878dbe143b04363c8cda36de6d35263ef0b6f5bb8877bb1141ff363b9",
                "md5": "a9a7a965fc19ea4d99b63d3603df4a7e",
                "sha256": "5a56614e2161dd93ead5c1480c600e9b014ccacea21314ff98e553999855ea51"
            },
            "downloads": -1,
            "filename": "pybsm-0.9.0-py3-none-any.whl",
            "has_sig": false,
            "md5_digest": "a9a7a965fc19ea4d99b63d3603df4a7e",
            "packagetype": "bdist_wheel",
            "python_version": "py3",
            "requires_python": "<4.0,>=3.9",
            "size": 77815177,
            "upload_time": "2024-11-08T21:29:37",
            "upload_time_iso_8601": "2024-11-08T21:29:37.074708Z",
            "url": "https://files.pythonhosted.org/packages/4b/b7/4b0878dbe143b04363c8cda36de6d35263ef0b6f5bb8877bb1141ff363b9/pybsm-0.9.0-py3-none-any.whl",
            "yanked": false,
            "yanked_reason": null
        },
        {
            "comment_text": "",
            "digests": {
                "blake2b_256": "7e3195e506986020211de02c097694ce0acafeb8f355abeb63a0878898cb4ea4",
                "md5": "9f6bc2323f27e1ba2d4a925d2610333d",
                "sha256": "47aa88c7f0fde2cf886c6844c5fd1d7406a672c4e53c300051dbf752bfa7d826"
            },
            "downloads": -1,
            "filename": "pybsm-0.9.0.tar.gz",
            "has_sig": false,
            "md5_digest": "9f6bc2323f27e1ba2d4a925d2610333d",
            "packagetype": "sdist",
            "python_version": "source",
            "requires_python": "<4.0,>=3.9",
            "size": 76462435,
            "upload_time": "2024-11-08T21:29:44",
            "upload_time_iso_8601": "2024-11-08T21:29:44.206940Z",
            "url": "https://files.pythonhosted.org/packages/7e/31/95e506986020211de02c097694ce0acafeb8f355abeb63a0878898cb4ea4/pybsm-0.9.0.tar.gz",
            "yanked": false,
            "yanked_reason": null
        }
    ],
    "upload_time": "2024-11-08 21:29:44",
    "github": false,
    "gitlab": false,
    "bitbucket": false,
    "codeberg": false,
    "lcname": "pybsm"
}
        
Elapsed time: 0.39973s