Metadata-Version: 2.4
Name: signlang-augmenter
Version: 0.1.0
Summary: A Python library for sign language video augmentation.
Home-page: https://github.com/24-mohamedyehia/signlang-augmenter
Author: Mohamed Yehia
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3 :: Only
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Requires-Python: >=3.10
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: albumentations>=2.0.8
Requires-Dist: opencv-python>=4.11.0.86
Requires-Dist: numpy>=1.26.4
Provides-Extra: dev
Requires-Dist: notebook==6.5.4; extra == "dev"
Requires-Dist: pytest>=8.0.0; extra == "dev"
Dynamic: author
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: provides-extra
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# signlang-augmenter

![signlang-augmenter preview](public/34593735874389.png)

`signlang-augmenter` is a Python library for sign language video augmentation.

The first shipped domain is **video augmentation**. The current video API exposes 44 supported augmentation keywords across 5 groups: spatial, photometric, noise/quality, temporal, and camera simulation. Pose augmentation is planned for a later phase and the `pose` package remains a placeholder for that future work.

## What is included

- Video I/O helpers for reading and writing clips.
- Reproducible augmentation helpers with a shared seed function.
- A single convenience entry point for keyword-based usage: `augment_video`.
- Separate augmentation modules for spatial, photometric, noise/quality, temporal, and camera simulation transforms.
- A public API under `signlang_augmenter.video` with 11 exported helpers.

## Install

### Option 1: Install the library to use it

```bash
pip install signlang-augmenter
```

Or install it directly from GitHub:

```bash
python -m pip install "git+https://github.com/24-mohamedyehia/signlang-augmenter.git"
```

### Option 2: Install the project for development

If you want to modify the code and contribute, use an isolated environment and editable install:

1. Install Miniconda if needed.
2. Run:

```bash
git clone https://github.com/24-mohamedyehia/signlang-augmenter.git
cd signlang-augmenter
conda create -n signlang-augmenter python=3.11 -y
conda activate signlang-augmenter
python -m pip install --upgrade pip
python -m pip install -e ".[dev]"


```

## Quick Import Check

Use this when you want a fast sanity check that the library imports correctly and the public entry point is available:

```python
from signlang_augmenter.video import augment_video, list_supported_video_methods

print(len(list_supported_video_methods()))
print(list_supported_video_methods())
```

If the import succeeds, the library is ready to use.

## Example

Open [examples/basic_pipeline.ipynb](examples/basic_pipeline.ipynb) for a notebook that shows the video-only workflow with one convenience-wrapper example and separate examples for each augmentation group.

Typical usage:

```python
from pathlib import Path

from signlang_augmenter.video import augment_video

input_video = Path("./data/sample.mp4")
output_dir = Path("./outputs")

outputs = augment_video(
    input_video_path=input_video,
    output_dir=output_dir,
    speed_up=1.15,
    frame_sampling=0.75,
    random_crop=0.9,
    horizontal_flip=0.3,
)
```

## Public API

Use `signlang_augmenter.video` as the main entry point. It exports 11 helpers:

- `augment_video`
- `list_supported_video_methods`
- `set_seed`
- `read_video_cv2`
- `write_video_cv2`
- `spatial_augmentations_to_videos`
- `photometric_augmentations_to_videos`
- `list_supported_photometric_methods`
- `noise_quality_augmentations_to_videos`
- `temporal_augmentations_to_videos`
- `camera_simulation_to_videos`

For the full breakdown of categories, defaults, and method counts, see [docs/README.md](docs/README.md).

