Metadata-Version: 2.4
Name: alphadeep-capture
Version: 0.1.6
Summary: AlphaDeep Live Capture Tool
Project-URL: Homepage, https://alphadeep.ai
Project-URL: Repository, https://github.com/alphadeepai/alphadeep-capture
Author-email: "AlphaDeep Inc." <nmilosev@alphadeep.ai>
License: Apache-2.0
License-File: LICENSE
Requires-Python: >=3.9
Requires-Dist: numpy>=1.24.0
Requires-Dist: opencv-python>=4.8.0
Requires-Dist: pygame>=2.5.0
Requires-Dist: pyyaml>=6.0
Requires-Dist: requests>=2.31.0
Description-Content-Type: text/markdown

# AlphaDeep Capture

<p align="center">
  <img src="src/alphadeep_capture/logo-capture.png" alt="AlphaDeep Capture Logo" width="400">
</p>

AlphaDeep Capture is a high-performance Python/Pygame application designed for live streaming, data capture, and realtime cloud-inference using the AlphaDeep AI platform.

## Installation

Install the application directly from PyPI using pip:

```bash
pip install alphadeep-capture
```

## Configuration

AlphaDeep Capture uses a YAML configuration file stored in your user configuration directory (following the XDG Base Directory standard). 

**Configuration Path**: `~/.config/alphadeep/capture/config.yaml`

If this file does not exist when the app is first launched, a default configuration will be automatically generated. 

### Example `config.yaml`
```yaml
cameras:
  - id: 0
    name: Camera 1
  - id: 1
    name: Camera 2

fps: 30
samples_dir: ~/alphadeep_samples

# AlphaDeep API Configuration
alphadeep_session: "your_session_id"
alphadeep_adapter: "zero_adapter"
alphadeep_api_key: "your_api_key_here"

# Set the AI task. Supported values: 
# "detection", "segmentation", "classification", "ocr", "captioning"
alphadeep_task: "detection"

# (Optional) List of target classes to look for
alphadeep_classes: 
  - "car"
  - "person"

# Number of parallel threads to use when calling the AlphaDeep API (default is 4)
alphadeep_workers: 4

# Target square resolution to send to the server. Supported: 224, 448, 896
alphadeep_resolution: 448

# The default resolution for the camera hardware (if save_full_res is False) and standard saved images.
capture_resolution: [640, 480]

# Auto Capture configuration
autocapture:
  length: 2.0    # Total duration (in seconds) to run auto capture
  period: 0.5    # Trigger frequency (in seconds) between captures

# Enable verbose console output for debugging API responses
debug: true
```

### Adding Your API Key
In order to use the **Analyze** functionality, you must edit your `config.yaml` and provide your `alphadeep_api_key`, `alphadeep_session`, and `alphadeep_task`.

## Running the Application

Once installed, you can launch the application directly from your terminal:

```bash
alphadeep-capture
```

## Features and Controls

* **New Sample**: Creates a fresh timestamped directory in your `samples_dir` for saving data.
* **Capture**: Instantly grabs the current frame from all active cameras and saves them as `.jpg` files in the current sample directory.
* **Auto Capture**: Automatically captures frames repeatedly over a configurable duration and frequency.
* **Preview Sample**: Opens an interactive gallery overlay to view all images captured in the current sample.
* **Analyze**: Sends the current sample to the AlphaDeep API for remote inference. Results are saved locally as `.json` and rendered interactively in the gallery (supports detection, segmentation, classification, OCR, and captioning).
* **Comment**: Opens a dialog to attach text notes to the current sample (saved as `comment.txt`).
