# OTAnalytics
[](https://pypi.org/p/OTAnalytics/)
[](https://github.com/OpenTrafficCam/OTAnalytics/actions/workflows/test.yml?query=tag%3Alatest)
[](https://github.com/OpenTrafficCam/OTAnalytics/actions/workflows/build-release.yml)
OTAnalytics is a core module of the [OpenTrafficCam framework](https://github.com/OpenTrafficCam) designed to perform
traffic analysis on trajectories of road users tracked by [OTVision](https://github.com/OpenTrafficCam/OTVision) or
other tools in videos recorded by [OTCamera](https://github.com/OpenTrafficCam/OTCamera) or other camera systems.
## Overview
OTAnalytics provides tools for analyzing traffic data, including:
- Processing trajectory data of road users
- Defining and analyzing traffic flows
- Counting vehicles/road users assigned to flows
- Generating event lists and statistics
- Visualizing traffic data
The application offers multiple user interfaces:
- A graphical desktop interface (using CustomTkinter)
- A command-line interface for automation and batch processing
## Installation
### Requirements
- Python 3.12 or higher
- Dependencies listed in [requirements.txt](requirements.txt)
### Installation from GitHub Releases (Recommended)
The easiest way to install OTAnalytics is to download the latest release from
the [GitHub Releases page](https://github.com/OpenTrafficCam/OTAnalytics/releases).
1. Go to the [OTAnalytics Releases page](https://github.com/OpenTrafficCam/OTAnalytics/releases)
2. Download the latest release for your operating system
3. Extract the downloaded archive
4. Run the application using the instructions in the [Usage](#usage) section
### Installation from Source (Linux/macOS)
If you prefer to install from source:
1. Clone the repository:
```bash
git clone https://github.com/OpenTrafficCam/OTAnalytics.git
cd OTAnalytics
```
2. Run the installation script:
```bash
./install.sh
```
### Installation from Source (Windows)
If you prefer to install from source:
1. Clone the repository:
```cmd
git clone https://github.com/OpenTrafficCam/OTAnalytics.git
cd OTAnalytics
```
2. Run the installation script:
```cmd
install.cmd
```
## Usage
### Starting the Application
#### Desktop GUI (Default)
On Linux/macOS:
```bash
./start_gui.sh
```
On Windows:
```cmd
start_gui.cmd
```
#### Command Line Interface
On Linux/macOS:
```bash
./start_gui.sh --cli
```
On Windows:
```cmd
start_gui.cmd --cli
```
### Configuration
OTAnalytics can be configured using:
1. Command-line arguments
2. Configuration files (YAML format)
Example configuration options:
- Specify track files for analysis
- Define flow and section configurations using otflow files
- Configure export formats and counting intervals
- Control parallelization with multiple processes
- Include or exclude specific road user classes
## Features
- **Track Analysis**: Process and analyze trajectory data from various sources
- **Flow Definition**: Define and analyze traffic flows between sections
- **Counting**: Count road users assgined to flows with configurable time intervals
- **Event Detection**: Generate event lists when road users cross defined sections
- **Visualization**: Visualize tracks, flows, and sections
- **Export**: Export analysis results in various formats
- **Filtering**: Filter tracks by road user class and time
- **Parallelization**: Process data using multiple CPU cores
## Documentation
For detailed instructions on how to install and use OTAnalytics, please refer to
the [official documentation](https://opentrafficcam.org/OTAnalytics).
- [Installation Guide](https://opentrafficcam.org/OTAnalytics/installation/)
- [User Interface Guide](https://opentrafficcam.org/OTAnalytics/usage-ui/)
## Contributing
We appreciate your support in the form of both code and comments. Please have a look at
the [contribute](https://opentrafficcam.org/contribute) section of the OpenTrafficCam documentation for guidelines on
how to contribute to this project.
## License
This software is licensed under the [GPL-3.0 License](LICENSE)
## Contact
- GitHub: [https://github.com/OpenTrafficCam](https://github.com/OpenTrafficCam)
- Email: [team@opentrafficcam.org](mailto:team@opentrafficcam.org)
Raw data
{
"_id": null,
"home_page": null,
"name": "OTAnalytics",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.11",
"maintainer_email": null,
"keywords": "OpenTrafficCam, Traffic Analysis, Traffic Counting, Trajectories",
"author": null,
"author_email": "OpenTrafficCam contributors <team@opentrafficcam.org>, platomo GmbH <info@platomo.de>",
"download_url": "https://files.pythonhosted.org/packages/62/c5/d4b3cc75adcbd82509179a8e11248aea8fe62716156507a7cf8c8ed6a82f/otanalytics-0.6.13.tar.gz",
"platform": null,
"description": "# OTAnalytics\n\n[](https://pypi.org/p/OTAnalytics/)\n[](https://github.com/OpenTrafficCam/OTAnalytics/actions/workflows/test.yml?query=tag%3Alatest)\n[](https://github.com/OpenTrafficCam/OTAnalytics/actions/workflows/build-release.yml)\n\nOTAnalytics is a core module of the [OpenTrafficCam framework](https://github.com/OpenTrafficCam) designed to perform\ntraffic analysis on trajectories of road users tracked by [OTVision](https://github.com/OpenTrafficCam/OTVision) or\nother tools in videos recorded by [OTCamera](https://github.com/OpenTrafficCam/OTCamera) or other camera systems.\n\n## Overview\n\nOTAnalytics provides tools for analyzing traffic data, including:\n\n- Processing trajectory data of road users\n- Defining and analyzing traffic flows\n- Counting vehicles/road users assigned to flows\n- Generating event lists and statistics\n- Visualizing traffic data\n\nThe application offers multiple user interfaces:\n\n- A graphical desktop interface (using CustomTkinter)\n- A command-line interface for automation and batch processing\n\n## Installation\n\n### Requirements\n\n- Python 3.12 or higher\n- Dependencies listed in [requirements.txt](requirements.txt)\n\n### Installation from GitHub Releases (Recommended)\n\nThe easiest way to install OTAnalytics is to download the latest release from\nthe [GitHub Releases page](https://github.com/OpenTrafficCam/OTAnalytics/releases).\n\n1. Go to the [OTAnalytics Releases page](https://github.com/OpenTrafficCam/OTAnalytics/releases)\n2. Download the latest release for your operating system\n3. Extract the downloaded archive\n4. Run the application using the instructions in the [Usage](#usage) section\n\n### Installation from Source (Linux/macOS)\n\nIf you prefer to install from source:\n\n1. Clone the repository:\n\n ```bash\n git clone https://github.com/OpenTrafficCam/OTAnalytics.git\n cd OTAnalytics\n ```\n\n2. Run the installation script:\n ```bash\n ./install.sh\n ```\n\n### Installation from Source (Windows)\n\nIf you prefer to install from source:\n\n1. Clone the repository:\n\n ```cmd\n git clone https://github.com/OpenTrafficCam/OTAnalytics.git\n cd OTAnalytics\n ```\n\n2. Run the installation script:\n ```cmd\n install.cmd\n ```\n\n## Usage\n\n### Starting the Application\n\n#### Desktop GUI (Default)\n\nOn Linux/macOS:\n\n```bash\n./start_gui.sh\n```\n\nOn Windows:\n\n```cmd\nstart_gui.cmd\n```\n\n#### Command Line Interface\n\nOn Linux/macOS:\n\n```bash\n./start_gui.sh --cli\n```\n\nOn Windows:\n\n```cmd\nstart_gui.cmd --cli\n```\n\n### Configuration\n\nOTAnalytics can be configured using:\n\n1. Command-line arguments\n2. Configuration files (YAML format)\n\nExample configuration options:\n\n- Specify track files for analysis\n- Define flow and section configurations using otflow files\n- Configure export formats and counting intervals\n- Control parallelization with multiple processes\n- Include or exclude specific road user classes\n\n## Features\n\n- **Track Analysis**: Process and analyze trajectory data from various sources\n- **Flow Definition**: Define and analyze traffic flows between sections\n- **Counting**: Count road users assgined to flows with configurable time intervals\n- **Event Detection**: Generate event lists when road users cross defined sections\n- **Visualization**: Visualize tracks, flows, and sections\n- **Export**: Export analysis results in various formats\n- **Filtering**: Filter tracks by road user class and time\n- **Parallelization**: Process data using multiple CPU cores\n\n## Documentation\n\nFor detailed instructions on how to install and use OTAnalytics, please refer to\nthe [official documentation](https://opentrafficcam.org/OTAnalytics).\n\n- [Installation Guide](https://opentrafficcam.org/OTAnalytics/installation/)\n- [User Interface Guide](https://opentrafficcam.org/OTAnalytics/usage-ui/)\n\n## Contributing\n\nWe appreciate your support in the form of both code and comments. Please have a look at\nthe [contribute](https://opentrafficcam.org/contribute) section of the OpenTrafficCam documentation for guidelines on\nhow to contribute to this project.\n\n## License\n\nThis software is licensed under the [GPL-3.0 License](LICENSE)\n\n## Contact\n\n- GitHub: [https://github.com/OpenTrafficCam](https://github.com/OpenTrafficCam)\n- Email: [team@opentrafficcam.org](mailto:team@opentrafficcam.org)\n",
"bugtrack_url": null,
"license": null,
"summary": "OTAnalytics is a core module of the OpenTrafficCam framework to perform traffic analysis on trajectories of road users.",
"version": "0.6.13",
"project_urls": {
"Changelog": "https://github.com/OpenTrafficCam/OTAnalytics/releases",
"Documentation": "https://opentrafficcam.org/overview/",
"Homepage": "https://opentrafficcam.org/",
"Issues": "https://github.com/OpenTrafficCam/OTAnalytics/issues",
"Repository": "https://github.com/OpenTrafficCam/OTAnalytics"
},
"split_keywords": [
"opentrafficcam",
" traffic analysis",
" traffic counting",
" trajectories"
],
"urls": [
{
"comment_text": null,
"digests": {
"blake2b_256": "7ca2617de06bf063c0dc1c27cc9c541b96884ea6f1b1098c7f9931cfd0eaaa15",
"md5": "4ed82e92e7c62ce4fa6f6da7ebbb604f",
"sha256": "6bd173fcc56944b6372dee28e6b522d0680ee390cdb9f3f4d6977fafd51a106c"
},
"downloads": -1,
"filename": "otanalytics-0.6.13-py3-none-any.whl",
"has_sig": false,
"md5_digest": "4ed82e92e7c62ce4fa6f6da7ebbb604f",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.11",
"size": 547103,
"upload_time": "2025-07-17T10:25:19",
"upload_time_iso_8601": "2025-07-17T10:25:19.595517Z",
"url": "https://files.pythonhosted.org/packages/7c/a2/617de06bf063c0dc1c27cc9c541b96884ea6f1b1098c7f9931cfd0eaaa15/otanalytics-0.6.13-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": null,
"digests": {
"blake2b_256": "62c5d4b3cc75adcbd82509179a8e11248aea8fe62716156507a7cf8c8ed6a82f",
"md5": "4fb014cfc3bdd9b2a1fae62d9bdbf2fc",
"sha256": "8ee6c63dcbf6ab0817b33b6819c83d76f827bfc88f86775887553fd64d1b7fa7"
},
"downloads": -1,
"filename": "otanalytics-0.6.13.tar.gz",
"has_sig": false,
"md5_digest": "4fb014cfc3bdd9b2a1fae62d9bdbf2fc",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.11",
"size": 876405,
"upload_time": "2025-07-17T10:25:21",
"upload_time_iso_8601": "2025-07-17T10:25:21.616526Z",
"url": "https://files.pythonhosted.org/packages/62/c5/d4b3cc75adcbd82509179a8e11248aea8fe62716156507a7cf8c8ed6a82f/otanalytics-0.6.13.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2025-07-17 10:25:21",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "OpenTrafficCam",
"github_project": "OTAnalytics",
"travis_ci": false,
"coveralls": false,
"github_actions": true,
"requirements": [
{
"name": "av",
"specs": [
[
"==",
"13.0.0"
]
]
},
{
"name": "customtkinter",
"specs": [
[
"==",
"5.2.2"
]
]
},
{
"name": "fastapi",
"specs": [
[
"==",
"0.115.5"
]
]
},
{
"name": "ijson",
"specs": [
[
"==",
"3.3.0"
]
]
},
{
"name": "matplotlib",
"specs": [
[
"==",
"3.10.0"
]
]
},
{
"name": "more-itertools",
"specs": [
[
"==",
"10.7.0"
]
]
},
{
"name": "nicegui",
"specs": [
[
"==",
"2.11.0"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"2.1.1"
]
]
},
{
"name": "opencv-python",
"specs": [
[
"==",
"4.10.0.84"
]
]
},
{
"name": "openpyxl",
"specs": [
[
"==",
"3.1.5"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"2.2.3"
]
]
},
{
"name": "pillow",
"specs": [
[
"==",
"11.1.0"
]
]
},
{
"name": "requests",
"specs": [
[
"==",
"2.32.4"
]
]
},
{
"name": "seaborn",
"specs": [
[
"==",
"0.13.2"
]
]
},
{
"name": "shapely",
"specs": [
[
"==",
"2.0.7"
]
]
},
{
"name": "starlette",
"specs": [
[
"==",
"0.41.2"
]
]
},
{
"name": "tqdm",
"specs": [
[
"==",
"4.67.1"
]
]
},
{
"name": "ujson",
"specs": [
[
"==",
"5.10.0"
]
]
},
{
"name": "uvicorn",
"specs": [
[
"==",
"0.32.1"
]
]
}
],
"lcname": "otanalytics"
}