Metadata-Version: 2.4
Name: housella-ai
Version: 1.0.1
Summary: Professional multi-task AI framework for automated 2D-to-3D floor plan recognition
Home-page: https://github.com/Sagar1566/housella-ai
Author: Sagar
Author-email: sagar@example.com
Classifier: Programming Language :: Python :: 3
Classifier: License :: OSI Approved :: MIT License
Classifier: Operating System :: OS Independent
Classifier: Topic :: Scientific/Engineering :: Artificial Intelligence
Requires-Python: >=3.8
Description-Content-Type: text/markdown
License-File: LICENSE
Requires-Dist: flask
Requires-Dist: flask-cors
Requires-Dist: torch
Requires-Dist: torchvision
Requires-Dist: numpy
Requires-Dist: Pillow
Requires-Dist: opencv-python
Requires-Dist: scikit-image
Requires-Dist: shapely
Requires-Dist: scipy
Requires-Dist: requests
Requires-Dist: tqdm
Dynamic: author
Dynamic: author-email
Dynamic: classifier
Dynamic: description
Dynamic: description-content-type
Dynamic: home-page
Dynamic: license-file
Dynamic: requires-dist
Dynamic: requires-python
Dynamic: summary

# Housella AI Framework

A professional multi-task AI framework for automated 2D-to-3D floor plan recognition. This framework provides advanced geometry extraction, room segmentation, and architectural feature detection from house plan images.

## Features

- **Multi-task Learning**: Concurrent heatmap regression, room segmentation, and icon detection.
- **Auto-Download Weights**: Model weights are automatically fetched from cloud storage on first use to ensure a lightweight installation.
- **Geometry Extraction**: Converts neural predictions into structured architectural data (polygons, doors, windows).
- **GPU Acceleration**: Built-in support for CUDA-enabled devices.

## Installation

Install via pip:

```bash
pip install housella-ai
```

## Quick Start

```python
from housella_ai import FloorPlanArchitect

# Initialization (automatically downloads weights if missing)
architect = FloorPlanArchitect()

# Process an image
result = architect.process_image("floorplan_sample.jpg")

# Structured output
print(f"Detected {len(result['points'])} architectural elements.")
print(f"Estimated average door width: {result['averageDoor']} pixels.")
```

## Configuration

You can override the weights location using environment variables:

```bash
export HOUSELLA_WEIGHTS="/path/to/custom_weights.pkl"
```

## Requirements

- Python >= 3.8
- PyTorch
- NumPy
- OpenCV
- Pillow
- Requests (for weight downloading)
- Tqdm (for progress tracking)

## License

MIT License. See [LICENSE](LICENSE) for details.
