# Deeva π
**Your Smart Analytics Companion for Object Detection Datasets**
## π― Overview
**Deeva** is a powerful yet easy-to-use analytics toolkit that makes exploring **Object Detection** datasets a breeze, whether you're just starting out or a seasoned pro.
Built with **Streamlit**, it offers an intuitive interface packed with features that let you dive into your data quickly or take a deeper look when you need it.
Deeva is designed to simplify data exploration and reporting, so you can get meaningful insights without the hassle.
### Key Features
- **π» Run locally**: Launch effortlessly on your **_local machine_** for seamless, offline use.
- **π Instant Setup**: Quickly start visualizing data by pointing Deeva to a specific dataset folder.
- **π Rich Interactive Dashboards**: Build insightful, interactive dashboards for rich data exploration with minimal effort.
- **π¨ Customizable CLI**: Use simple command-line commands to launch Deeva with flexible paths and configurations.
- **πΎ Smart Caching**: Efficient processing with intelligent data caching for large datasets
- **π² Built-in Toy Datasets**: Quickly get started with the included `coco128` dataset, perfect for initial experimentation.
## π Installation
install with **pip**:
```bash
$ pip install deeva
```
Alternatively, use a **virtual environment** (recommended):
```bash
$ python3 -m venv myenv
$ source myenv/bin/activate
$ pip install deeva
```
## β‘ Quickstart
After installation, launch **Deeva** by running:
```bash
$ deeva start
```
This will open the **input page** where you can specify the **data path**.
<img src="https://raw.githubusercontent.com/vbyan/deeva/main/assets/input_page.gif"></img>
### Data structure
Your dataset **folder** should look like this:
```plaintext
data-path/
βββ images/ # Folder containing image files (e.g., .jpg, .png)
βββ labels/ # Folder containing label files (e.g., .txt, .xml)
βββ labelmap.txt # A file mapping class IDs to class labels (optional)
```
## π‘ Insights & Analytics
Deeva offers a powerful set of **statistical insights** to give you a detailed understanding of your dataset, including:
### 1. **File Matching and Integrity**
<br> <img src="https://raw.githubusercontent.com/vbyan/deeva/main/assets/data_match.gif">
- **Image-Label Matching**: Calculates how many images have **corresponding labels** (and vice versa).
- **Filename Consistency**: Identifies **misaligned or corrupted files** in images and labels.
- **Data Cleaning**: Provides tools to **identify and isolate** mismatched or corrupted files.
### 2. **Dataset Overview**
<br> <img src="https://raw.githubusercontent.com/vbyan/deeva/main/assets/overall.gif">
- **File Formats & Backgrounds**: View format distribution (`yolo` vs. `voc`, `jpeg` vs. `png`).
- **Class Distribution**: Displays instance counts and images per class, highlighting any **class imbalances**.
- **Class Co-occurrence**: Shows how frequently different classes **appear together**.
### 3. **Annotation Insights**
<br> <img src="https://raw.githubusercontent.com/vbyan/deeva/main/assets/annotations.gif">
- **Bounding Box Analysis**: Provides insights into box center, width/height, and median box sizes.
- **Box Size Distribution**: Analyzes box size categories with **adjustable thresholds** for small, medium, and large sizes.
### 4. **Image Statistics**
<br> <img src="https://raw.githubusercontent.com/vbyan/deeva/main/assets/images.gif">
- **Color Analysis**: Displays **dominant colors** and their tones extracted from images.
- **Image Dimensions**: Examines **height, width,** and aspect ratios across your dataset.
- **CBS (Contrast, Brightness, Saturation)**: Shows **contrast, brightness, and saturation** distributions across the dataset.
### 5. **Overlap Statistics**
<br> <img src="https://raw.githubusercontent.com/vbyan/deeva/main/assets/overlaps.gif">
- **Cases**: Classify and **cluster** overlapping instances from two specific classes into `n` predefined cases. Display representative **example images** for each case to help visualize typical overlap patterns.
- **Ratios**: Calculate and visualize the overlap ratio distributions for each class
- **With/without overlaps**: Present a side-by-side comparison of images and co-occurrences with and without overlaps
## π **Caching & Version control**
Deeva employs efficient **caching** to streamline your data processing workflow. For large datasets, users have the option to **sample a subset of the data**βallowing for quicker initial exploration.
Data extracted during time-consuming operations can be saved as a **dataframe on disk** for effortless access in future sessions, enabling a faster, more efficient experience by skipping redundant processing steps.
To **track different versions** of your dataset you need to simply put them into different folders and **Deeva** will do the rest
## π **Contributing**
**Deeva** welcomes contributions! If you have ideas or want to add new features, please feel free to open a pull request or start a discussion on **GitHub**.
## License
Deeva is completely free and open-source and licensed under the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) license.
Raw data
{
"_id": null,
"home_page": "https://github.com/vbyan/DEEVA",
"name": "deeva",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.9",
"maintainer_email": null,
"keywords": "deeva, object-detection, analytics, visualization, datasets, toolkit, statistics, detection, streamlit, plotly",
"author": "Vahram Babajanyan,",
"author_email": "vahram.babadjanyan@gmail.com",
"download_url": "https://files.pythonhosted.org/packages/23/96/4c238ccb0250202a319467ad351865c77c62b13103a18cb3e339004bb494/deeva-1.0.1.tar.gz",
"platform": null,
"description": "# Deeva \ud83d\ude80\n\n**Your Smart Analytics Companion for Object Detection Datasets**\n\n## \ud83c\udfaf Overview\n\n**Deeva** is a powerful yet easy-to-use analytics toolkit that makes exploring **Object Detection** datasets a breeze, whether you're just starting out or a seasoned pro. \n\nBuilt with **Streamlit**, it offers an intuitive interface packed with features that let you dive into your data quickly or take a deeper look when you need it.\nDeeva is designed to simplify data exploration and reporting, so you can get meaningful insights without the hassle.\n\n### Key Features\n\n- **\ud83d\udcbb Run locally**: Launch effortlessly on your **_local machine_** for seamless, offline use.\n- **\ud83d\ude80 Instant Setup**: Quickly start visualizing data by pointing Deeva to a specific dataset folder.\n- **\ud83d\udcca Rich Interactive Dashboards**: Build insightful, interactive dashboards for rich data exploration with minimal effort.\n- **\ud83c\udfa8 Customizable CLI**: Use simple command-line commands to launch Deeva with flexible paths and configurations.\n- **\ud83d\udcbe Smart Caching**: Efficient processing with intelligent data caching for large datasets\n- **\ud83c\udfb2 Built-in Toy Datasets**: Quickly get started with the included `coco128` dataset, perfect for initial experimentation.\n\n## \ud83d\udee0 Installation\n\ninstall with **pip**:\n\n```bash\n$ pip install deeva\n```\n\nAlternatively, use a **virtual environment** (recommended):\n\n```bash\n$ python3 -m venv myenv\n$ source myenv/bin/activate\n\n$ pip install deeva\n```\n\n## \u26a1 Quickstart\nAfter installation, launch **Deeva** by running:\n\n```bash\n$ deeva start\n```\n\nThis will open the **input page** where you can specify the **data path**.\n\n<img src=\"https://raw.githubusercontent.com/vbyan/deeva/main/assets/input_page.gif\"></img>\n\n### Data structure\n\nYour dataset **folder** should look like this:\n\n```plaintext\ndata-path/\n\u251c\u2500\u2500 images/ # Folder containing image files (e.g., .jpg, .png)\n\u251c\u2500\u2500 labels/ # Folder containing label files (e.g., .txt, .xml)\n\u2514\u2500\u2500 labelmap.txt # A file mapping class IDs to class labels (optional)\n```\n\n## \ud83d\udca1 Insights & Analytics\n\nDeeva offers a powerful set of **statistical insights** to give you a detailed understanding of your dataset, including:\n\n### 1. **File Matching and Integrity**\n\n<br> <img src=\"https://raw.githubusercontent.com/vbyan/deeva/main/assets/data_match.gif\">\n\n- **Image-Label Matching**: Calculates how many images have **corresponding labels** (and vice versa).\n- **Filename Consistency**: Identifies **misaligned or corrupted files** in images and labels.\n- **Data Cleaning**: Provides tools to **identify and isolate** mismatched or corrupted files.\n\n\n### 2. **Dataset Overview**\n\n<br> <img src=\"https://raw.githubusercontent.com/vbyan/deeva/main/assets/overall.gif\">\n\n- **File Formats & Backgrounds**: View format distribution (`yolo` vs. `voc`, `jpeg` vs. `png`).\n- **Class Distribution**: Displays instance counts and images per class, highlighting any **class imbalances**.\n- **Class Co-occurrence**: Shows how frequently different classes **appear together**.\n\n\n### 3. **Annotation Insights**\n\n<br> <img src=\"https://raw.githubusercontent.com/vbyan/deeva/main/assets/annotations.gif\">\n\n- **Bounding Box Analysis**: Provides insights into box center, width/height, and median box sizes.\n- **Box Size Distribution**: Analyzes box size categories with **adjustable thresholds** for small, medium, and large sizes.\n\n\n### 4. **Image Statistics**\n\n<br> <img src=\"https://raw.githubusercontent.com/vbyan/deeva/main/assets/images.gif\">\n\n- **Color Analysis**: Displays **dominant colors** and their tones extracted from images.\n- **Image Dimensions**: Examines **height, width,** and aspect ratios across your dataset.\n- **CBS (Contrast, Brightness, Saturation)**: Shows **contrast, brightness, and saturation** distributions across the dataset.\n\n\n### 5. **Overlap Statistics**\n\n<br> <img src=\"https://raw.githubusercontent.com/vbyan/deeva/main/assets/overlaps.gif\">\n\n- **Cases**: Classify and **cluster** overlapping instances from two specific classes into `n` predefined cases. Display representative **example images** for each case to help visualize typical overlap patterns.\n- **Ratios**: Calculate and visualize the overlap ratio distributions for each class\n- **With/without overlaps**: Present a side-by-side comparison of images and co-occurrences with and without overlaps\n\n\n## \ud83d\udd16 **Caching & Version control**\n\nDeeva employs efficient **caching** to streamline your data processing workflow. For large datasets, users have the option to **sample a subset of the data**\u2014allowing for quicker initial exploration. \n\nData extracted during time-consuming operations can be saved as a **dataframe on disk** for effortless access in future sessions, enabling a faster, more efficient experience by skipping redundant processing steps.\n\nTo **track different versions** of your dataset you need to simply put them into different folders and **Deeva** will do the rest\n\n\n## \ud83c\udf1f **Contributing**\n\n**Deeva** welcomes contributions! If you have ideas or want to add new features, please feel free to open a pull request or start a discussion on **GitHub**. \n\n## License\n\nDeeva is completely free and open-source and licensed under the [Apache 2.0](https://www.apache.org/licenses/LICENSE-2.0) license.\n\n\n\n",
"bugtrack_url": null,
"license": "Apache License 2.0",
"summary": "Object Detection Data Analysis Toolbox",
"version": "1.0.1",
"project_urls": {
"Homepage": "https://github.com/vbyan/DEEVA"
},
"split_keywords": [
"deeva",
" object-detection",
" analytics",
" visualization",
" datasets",
" toolkit",
" statistics",
" detection",
" streamlit",
" plotly"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "01b912371514f7365b4f1f510824f1091cc3d6278fea8ff6ce022e2264864165",
"md5": "79d4ed4ac185a659fd4928feff0456c0",
"sha256": "21345b72f087c435aa13c499701bea6f25ba2bccdc2475d5d4e0b5ea3a55303b"
},
"downloads": -1,
"filename": "deeva-1.0.1-py3-none-any.whl",
"has_sig": false,
"md5_digest": "79d4ed4ac185a659fd4928feff0456c0",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.9",
"size": 10513114,
"upload_time": "2024-11-14T05:38:00",
"upload_time_iso_8601": "2024-11-14T05:38:00.914850Z",
"url": "https://files.pythonhosted.org/packages/01/b9/12371514f7365b4f1f510824f1091cc3d6278fea8ff6ce022e2264864165/deeva-1.0.1-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "23964c238ccb0250202a319467ad351865c77c62b13103a18cb3e339004bb494",
"md5": "e82b1831cdf41e2706046ead9ed7af62",
"sha256": "1a4538059c2ba28e935b1a0c685890b57bb31dcda5857b511165891db74d828f"
},
"downloads": -1,
"filename": "deeva-1.0.1.tar.gz",
"has_sig": false,
"md5_digest": "e82b1831cdf41e2706046ead9ed7af62",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.9",
"size": 10352584,
"upload_time": "2024-11-14T05:38:51",
"upload_time_iso_8601": "2024-11-14T05:38:51.708537Z",
"url": "https://files.pythonhosted.org/packages/23/96/4c238ccb0250202a319467ad351865c77c62b13103a18cb3e339004bb494/deeva-1.0.1.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-11-14 05:38:51",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "vbyan",
"github_project": "DEEVA",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "kaleido",
"specs": [
[
"==",
"0.2.1"
]
]
},
{
"name": "lxml",
"specs": [
[
"==",
"5.2.2"
]
]
},
{
"name": "numpy",
"specs": [
[
"==",
"2.1.3"
]
]
},
{
"name": "opencv-python",
"specs": [
[
"==",
"4.10.0.84"
]
]
},
{
"name": "packaging",
"specs": [
[
"==",
"24.2"
]
]
},
{
"name": "pandas",
"specs": [
[
"==",
"2.2.3"
]
]
},
{
"name": "pillow",
"specs": [
[
"==",
"11.0.0"
]
]
},
{
"name": "pipenv",
"specs": [
[
"==",
"2024.4.0"
]
]
},
{
"name": "plotly",
"specs": [
[
"==",
"5.24.1"
]
]
},
{
"name": "scikit-learn",
"specs": [
[
"==",
"1.5.2"
]
]
},
{
"name": "screeninfo",
"specs": [
[
"==",
"0.8.1"
]
]
},
{
"name": "stqdm",
"specs": [
[
"==",
"0.0.5"
]
]
},
{
"name": "streamlit",
"specs": [
[
"==",
"1.40.1"
]
]
},
{
"name": "streamlit-extras",
"specs": [
[
"==",
"0.5.0"
]
]
},
{
"name": "streamlit-image-select",
"specs": [
[
"==",
"0.6.0"
]
]
},
{
"name": "tables",
"specs": [
[
"==",
"3.10.1"
]
]
},
{
"name": "toml",
"specs": [
[
"==",
"0.10.2"
]
]
},
{
"name": "tqdm",
"specs": [
[
"==",
"4.67.0"
]
]
},
{
"name": "pytest",
"specs": [
[
"==",
"8.3.3"
]
]
}
],
"lcname": "deeva"
}