Metadata-Version: 2.4
Name: faged-pipeline
Version: 0.1.3
Summary: FaGED pipeline: construct graph representation for open-space public buildings, extract prototypes, and compute (n)GED/FaGED for layout-behavior retrieval.
Author: Song Guo
License: MIT
Project-URL: Homepage, https://github.com/songguoarchitect/faged
Project-URL: Source, https://github.com/songguoarchitect/faged
Project-URL: Documentation, https://github.com/songguoarchitect/faged#readme
Project-URL: Issues, https://github.com/songguoarchitect/faged/issues
Keywords: graph-edit-distance,infomap,networkx,architecture,layout
Classifier: Programming Language :: Python :: 3
Classifier: Programming Language :: Python :: 3.10
Classifier: Programming Language :: Python :: 3.11
Classifier: Programming Language :: Python :: 3.12
Classifier: License :: OSI Approved :: MIT License
Requires-Python: >=3.10
Description-Content-Type: text/markdown
Requires-Dist: numpy>=1.24
Requires-Dist: pandas>=2.0
Requires-Dist: networkx>=3.2
Requires-Dist: tqdm>=4.66
Requires-Dist: matplotlib>=3.8
Requires-Dist: scipy>=1.10
Requires-Dist: opencv-python>=4.8
Requires-Dist: shapely<2.1,>=1.8
Requires-Dist: infomap>=2.7
Provides-Extra: dev
Requires-Dist: pytest>=8; extra == "dev"
Requires-Dist: ruff>=0.6; extra == "dev"
Requires-Dist: build>=1.2; extra == "dev"
Requires-Dist: twine>=5.0; extra == "dev"

# FaGED Pipeline

**FaGED Pipeline** is a **research-oriented** Python library for comparing **spatial layouts** and **human behavioral patterns** using **function-aware graph representations**.

It can also be used independently to **construct graph representations of complex architectural layouts with open spaces** and to **extract layout prototypes** from such configurations.


---

## Key features

- **Step-wise pipeline (Step0–Step5)** for reproducible experiments  
- Layout graph representation for **complex open-space buildings**  
- **Prototype extraction** via community detection (e.g., Infomap)  
- **GED / nGED / FaGED** computation + retrieval ranking outputs  
- Designed for architectural research workflows

---

## Installation

```bash
pip install faged-pipeline
```

---

## Minimal example (layout graph → CaG)

```python
from faged_pipeline import run_step2_then_step3, Step3Config

run_step2_then_step3(
    json_folder="DATA_ROOT/json",
    step2_output_folder="OUTPUT_ROOT/step2_basegraphs",
    step3_output_root="OUTPUT_ROOT/step3_transform/variants",
    step3_selected_folder="OUTPUT_ROOT/step3_transform/selected",
    step3_cfg=Step3Config(),
    save_png_step2=True,
    save_selection_csv_step3=True,
)
```

---

## Full pipeline example (Step0–Step5)

The complete step-by-step notebook and documentation are hosted on GitHub:

- **GitHub repository**: https://github.com/songguoarchitect/faged  
- Example notebook: `quick_start.ipynb`  

> Note: PyPI does not reliably render local images (relative paths).  
> We keep the PyPI page concise and place full visuals/examples on GitHub.

---

## Data availability

A small example dataset (5 samples) is included for demonstration.  
The complete dataset (150 images) is not publicly released due to data usage agreements.

---

## Citation

If you use FaGED Pipeline in academic work, please cite:

```bibtex
@article{Guo2025FaGED,
  title   = {Function-Aware Graph-Based Layout Retrieval for Public Buildings},
  author  = {Guo, Song and Kee, Tris and Zhuang, Weimin},
  journal = {Automation in Construction},
  year    = {2025}
}
```

---

## License

MIT License.
