# compyss
A tool built for analysing skylight polarization patterns. It aims to provide
heading information from skylight angle of polarization images.
<p align="center">
<img src="https://raw.githubusercontent.com/benjaminpotter/compyss/master/res/example.png" width="320" height="240">
</p>
### Design philosophy
compyss is designed to be as flexible as possible. It's flexibility allows it to
support multiple cameras and decode methods. Once you write a decoder, it should
be available for all supported cameras. See the wiki for more information.
### Author
This package was written in conjuction with a study at [Queen's
University](https://queensu.ca/) at Kingston. If you use this code, please cite
our work. We have not published yet, but when we do I will link the citation
here.
<!--
## Contents
- [Features](#features)
- [Usage](#usage)
- [Initial setup](#initial-setup)
- [FAQ](#faq)
- [Projects](#projects)
- [Contributing](#contributing)
-->
## Features
- Load LI image from camera or file.
- Generate Stokes vector, AoLP, and DoLP from LI image.
- Display image information in figure.
- Read angle to solar meridian from AoLP image.
### Camera SDK support
- Lucid Vision Labs, Arena SDK
## Usage
Examples are provided in the source. The general flow is
```
import compyss.core
from compyss.sources.file import FileSource
# create a new compass object
cmps = compyss.core.Compass(source=FileSource("path/to/file.png")
image = cmps.source.get().instrument_to_local()
image.show()
```
### Initial setup
```python -m pip install compyss```
### Dependencies
General dependencies are listed in the requirements.txt file and can be installed using ```python -m pip install -r requirements.txt``` or something similar.
Camera sources require specific dependencies that do not apply globally. Using the available camera sources requires installing their interface.
For example, LUCID Vision cameras require the ArenaSDK to be installed. See [wiki](https://github.com/benjaminpotter/compyss/wiki/Sources#camera-specific-dependencies)
for more info.
Currently, the project uses [polanalyser](https://github.com/elerac/polanalyser/) to do some image processing.
## FAQ
For questions, open an issue or send an email to ben [dot] potter [at] queensu
[dot] ca.
## Projects
If you use this code, open a PR and add your project to this list. We also ask
you cite our paper. See [author](#author).
## Contributing
Contributions are welcome, mostly with respect to camera SDK support. If you need support for another camera SDK,
reach out to me ben [dot] potter [at] queensu [dot] ca.
### Potential Updates
- Create an ImageDecoder class that standardizes decoder format. Package user should create a decoder object and pass it to the compass object similar to the ImageSource class.
- Fix exposure settings in arena_sdk to improve execution time of that pipeline.
- Support saving features to LUCID cameras via arena_sdk.py
Raw data
{
"_id": null,
"home_page": "https://github.com/benjaminpotter/compyss",
"name": "compyss",
"maintainer": "",
"docs_url": null,
"requires_python": ">=3.11.4",
"maintainer_email": "",
"keywords": "",
"author": "Ben Potter",
"author_email": "Benjamin Potter <baffqd@gmail.com>",
"download_url": "https://files.pythonhosted.org/packages/a6/ea/329ec3511a944b1c77bdc196efe0100b1daf7a6aed65e78df0e74f37b484/compyss-1.1.1.tar.gz",
"platform": null,
"description": "# compyss\r\nA tool built for analysing skylight polarization patterns. It aims to provide\r\nheading information from skylight angle of polarization images.\r\n\r\n<p align=\"center\">\r\n\t<img src=\"https://raw.githubusercontent.com/benjaminpotter/compyss/master/res/example.png\" width=\"320\" height=\"240\">\r\n</p>\r\n\r\n### Design philosophy\r\ncompyss is designed to be as flexible as possible. It's flexibility allows it to\r\nsupport multiple cameras and decode methods. Once you write a decoder, it should\r\nbe available for all supported cameras. See the wiki for more information.\r\n\r\n### Author\r\nThis package was written in conjuction with a study at [Queen's\r\nUniversity](https://queensu.ca/) at Kingston. If you use this code, please cite\r\nour work. We have not published yet, but when we do I will link the citation\r\nhere.\r\n\r\n<!--\r\n## Contents\r\n\r\n- [Features](#features)\r\n- [Usage](#usage)\r\n - [Initial setup](#initial-setup)\r\n- [FAQ](#faq)\r\n- [Projects](#projects)\r\n- [Contributing](#contributing)\r\n\r\n-->\r\n\r\n## Features\r\n- Load LI image from camera or file.\r\n- Generate Stokes vector, AoLP, and DoLP from LI image.\r\n- Display image information in figure.\r\n- Read angle to solar meridian from AoLP image.\r\n\r\n### Camera SDK support\r\n- Lucid Vision Labs, Arena SDK\r\n\r\n## Usage\r\nExamples are provided in the source. The general flow is \r\n\r\n```\r\nimport compyss.core\r\nfrom compyss.sources.file import FileSource\r\n\r\n# create a new compass object\r\ncmps = compyss.core.Compass(source=FileSource(\"path/to/file.png\")\r\nimage = cmps.source.get().instrument_to_local()\r\n\r\nimage.show()\r\n```\r\n\r\n### Initial setup\r\n```python -m pip install compyss```\r\n\r\n### Dependencies\r\nGeneral dependencies are listed in the requirements.txt file and can be installed using ```python -m pip install -r requirements.txt``` or something similar.\r\n\r\nCamera sources require specific dependencies that do not apply globally. Using the available camera sources requires installing their interface. \r\nFor example, LUCID Vision cameras require the ArenaSDK to be installed. See [wiki](https://github.com/benjaminpotter/compyss/wiki/Sources#camera-specific-dependencies)\r\nfor more info.\r\n\r\nCurrently, the project uses [polanalyser](https://github.com/elerac/polanalyser/) to do some image processing.\r\n\r\n## FAQ\r\nFor questions, open an issue or send an email to ben [dot] potter [at] queensu\r\n[dot] ca.\r\n\r\n## Projects\r\nIf you use this code, open a PR and add your project to this list. We also ask\r\nyou cite our paper. See [author](#author).\r\n\r\n## Contributing \r\nContributions are welcome, mostly with respect to camera SDK support. If you need support for another camera SDK,\r\nreach out to me ben [dot] potter [at] queensu [dot] ca.\r\n\r\n### Potential Updates\r\n- Create an ImageDecoder class that standardizes decoder format. Package user should create a decoder object and pass it to the compass object similar to the ImageSource class.\r\n- Fix exposure settings in arena_sdk to improve execution time of that pipeline.\r\n- Support saving features to LUCID cameras via arena_sdk.py \r\n",
"bugtrack_url": null,
"license": "",
"summary": "A tool built for analysing skylight polarization patterns.",
"version": "1.1.1",
"project_urls": {
"Bug Tracker": "https://github.com/benjaminpotter/compyss/issues",
"Homepage": "https://github.com/benjaminpotter/compyss"
},
"split_keywords": [],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "39d438b1970696c70f1f52ac680bdf69891c726b747ca5dc1a090854f53af82a",
"md5": "c12976844ffd6f939454520253b6e93e",
"sha256": "2ca0d923a4205ce59cc70611265acd228c5e8b92447379c6fa26725d6e17efe2"
},
"downloads": -1,
"filename": "compyss-1.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "c12976844ffd6f939454520253b6e93e",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11.4",
"size": 20646,
"upload_time": "2023-08-17T15:04:51",
"upload_time_iso_8601": "2023-08-17T15:04:51.490325Z",
"url": "https://files.pythonhosted.org/packages/39/d4/38b1970696c70f1f52ac680bdf69891c726b747ca5dc1a090854f53af82a/compyss-1.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "a6ea329ec3511a944b1c77bdc196efe0100b1daf7a6aed65e78df0e74f37b484",
"md5": "9a2bfa1ab4ac00116d713f20a2e8e951",
"sha256": "55e45f88f3cfa23a65ce4e00ce003a379d6ed14cfaf4a119eee326db2369251c"
},
"downloads": -1,
"filename": "compyss-1.1.1.tar.gz",
"has_sig": false,
"md5_digest": "9a2bfa1ab4ac00116d713f20a2e8e951",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11.4",
"size": 20891,
"upload_time": "2023-08-17T15:04:53",
"upload_time_iso_8601": "2023-08-17T15:04:53.406372Z",
"url": "https://files.pythonhosted.org/packages/a6/ea/329ec3511a944b1c77bdc196efe0100b1daf7a6aed65e78df0e74f37b484/compyss-1.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2023-08-17 15:04:53",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "benjaminpotter",
"github_project": "compyss",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "pytest",
"specs": [
[
"==",
"7.1.2"
]
]
},
{
"name": "opencv-python",
"specs": [
[
"==",
"4.7.0.72"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"==",
"3.7.1"
]
]
},
{
"name": "polanalyser",
"specs": [
[
"==",
"2.0.1"
]
]
}
],
"lcname": "compyss"
}