# SpeckCollect
[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://creativecommons.org/licenses/by-nc-sa/4.0/)
![GitHub repo size](https://img.shields.io/github/repo-size/AdamDHines/SpeckCollect.svg?style=flat-square)
A simple module that collects events from a SynSense Speck2fDevKit and creates temporal frame representations of the collected events. Users can set the time window to collect events over, essentially the 'framerate'. Simply counts the number of events incurred for each pixel (128x128).
Currently, only considers positive events - functionality to be improved in later iterations to include both positive, negative, only negative, and merged events (v0.2.0).
## Usage
Usage is very simple. First, install all the dependencies. Note, that currently `samna` required python <=3.11 so it's recommended you create a new conda environment to avoid issues with other libraries and dependencies.
```console
# Recommended: create new conda environment
conda create -n speckcollect
conda activate speckcollect
# Install dependencies
pip install speckcollect
```
Download the repository and navigate to the repository directory.
```console
# Clone repository
git clone git@github.com:AdamDHines/SpeckCollect.git
# Set current working directory
cd ~/SpeckCollect
```
To run the SpeckCollect module, simply use the `main.py` script which consists of a few arguments.
- --time_int - sets the time in which to collect events over (default 0.033s or 30fps)
- --directory - set the directory to save the data to (default ./speckcollect/data)
- --exp - set a name for the experiment (default `exp`)
```console
# Run the SpeckCollect over a 1s timebin and set the experiment name to TEST001
python main.py --time_int 1 --exp TEST001
```
The output will include a `TEST001.npy` file of the raw events collected and a folder `TEST001` which contains .png files of frames for the temporal representation of events.
Raw data
{
"_id": null,
"home_page": "https://github.com/AdamDHines/SpeckCollect",
"name": "SpeckCollect",
"maintainer": null,
"docs_url": null,
"requires_python": "!=3.12.*,>=3.6",
"maintainer_email": null,
"keywords": "neuromorphic computing, dynamic vision sensor",
"author": "Adam D Hines",
"author_email": "adam.hines@qut.edu.au",
"download_url": "https://files.pythonhosted.org/packages/c5/f1/c72684426bc30ebb9171825b21b5696603acb0c1ef6cd73cf401342b9533/SpeckCollect-0.1.1.tar.gz",
"platform": null,
"description": "# SpeckCollect\n[![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg?style=flat-square)](https://creativecommons.org/licenses/by-nc-sa/4.0/)\n![GitHub repo size](https://img.shields.io/github/repo-size/AdamDHines/SpeckCollect.svg?style=flat-square)\n\nA simple module that collects events from a SynSense Speck2fDevKit and creates temporal frame representations of the collected events. Users can set the time window to collect events over, essentially the 'framerate'. Simply counts the number of events incurred for each pixel (128x128).\n\nCurrently, only considers positive events - functionality to be improved in later iterations to include both positive, negative, only negative, and merged events (v0.2.0).\n\n## Usage\nUsage is very simple. First, install all the dependencies. Note, that currently `samna` required python <=3.11 so it's recommended you create a new conda environment to avoid issues with other libraries and dependencies.\n\n```console\n# Recommended: create new conda environment\nconda create -n speckcollect\nconda activate speckcollect\n\n# Install dependencies\npip install speckcollect\n```\n\nDownload the repository and navigate to the repository directory.\n\n```console\n# Clone repository\ngit clone git@github.com:AdamDHines/SpeckCollect.git\n\n# Set current working directory\ncd ~/SpeckCollect\n```\n\nTo run the SpeckCollect module, simply use the `main.py` script which consists of a few arguments. \n - --time_int - sets the time in which to collect events over (default 0.033s or 30fps)\n - --directory - set the directory to save the data to (default ./speckcollect/data)\n - --exp - set a name for the experiment (default `exp`)\n\t\n```console\n# Run the SpeckCollect over a 1s timebin and set the experiment name to TEST001 \npython main.py --time_int 1 --exp TEST001\n```\n\nThe output will include a `TEST001.npy` file of the raw events collected and a folder `TEST001` which contains .png files of frames for the temporal representation of events.\n",
"bugtrack_url": null,
"license": "MIT",
"summary": "SpeckCollect gathers events from a SynSense Speck2fDevKit and generates temporal representations of event streams",
"version": "0.1.1",
"project_urls": {
"Homepage": "https://github.com/AdamDHines/SpeckCollect"
},
"split_keywords": [
"neuromorphic computing",
" dynamic vision sensor"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "793ab007ee17b7481340b912aa6fe2191455d4f087763471645661df34d58684",
"md5": "158a6537d2eefaea212e5a5e648ff74d",
"sha256": "82fcd1d1549699bf2a9c4727bd6ee4fb3a197dffff708b36cf89c0465e0f120e"
},
"downloads": -1,
"filename": "SpeckCollect-0.1.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "158a6537d2eefaea212e5a5e648ff74d",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": "!=3.12.*,>=3.6",
"size": 12125,
"upload_time": "2024-04-02T04:11:56",
"upload_time_iso_8601": "2024-04-02T04:11:56.391253Z",
"url": "https://files.pythonhosted.org/packages/79/3a/b007ee17b7481340b912aa6fe2191455d4f087763471645661df34d58684/SpeckCollect-0.1.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "c5f1c72684426bc30ebb9171825b21b5696603acb0c1ef6cd73cf401342b9533",
"md5": "ebcebec18b8d72d9390faf47a0ae5967",
"sha256": "79b649b4be2e6d8e7853d62d3ded45b123ec4bbc32d20a3d334adbca662a6bb4"
},
"downloads": -1,
"filename": "SpeckCollect-0.1.1.tar.gz",
"has_sig": false,
"md5_digest": "ebcebec18b8d72d9390faf47a0ae5967",
"packagetype": "sdist",
"python_version": "source",
"requires_python": "!=3.12.*,>=3.6",
"size": 9381,
"upload_time": "2024-04-02T04:11:57",
"upload_time_iso_8601": "2024-04-02T04:11:57.926591Z",
"url": "https://files.pythonhosted.org/packages/c5/f1/c72684426bc30ebb9171825b21b5696603acb0c1ef6cd73cf401342b9533/SpeckCollect-0.1.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-02 04:11:57",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "AdamDHines",
"github_project": "SpeckCollect",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "sinabs",
"specs": []
},
{
"name": "samna",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "tqdm",
"specs": []
},
{
"name": "matplotlib",
"specs": []
}
],
"lcname": "speckcollect"
}