[![DOI](https://zenodo.org/badge/184673734.svg)](https://zenodo.org/badge/latestdoi/184673734)
[![PyPi version](https://badgen.net/pypi/v/BRAILS/)](https://pypi.org/project/BRAILS/)
[![PyPI download month](https://img.shields.io/pypi/dm/BRAILS.svg)](https://pypi.python.org/pypi/BRAILS/)
## What is BRAILS?
BRAILS (Building and Infrastructure Recognition using AI at Large-Scale) provides a set of Python modules that utilize deep learning (DL), and computer vision (CV) techniques to extract information from satellite and street level images. The BRAILS framework also provides turn-key applications allowing users to put individual modules together to determine multiple attributes in a single pass or train general-purpose image classification, object detection, or semantic segmentation models.
## Documentation
Online documentation is available at <a href="https://nheri-simcenter.github.io/BRAILS-Documentation/index.html">https://nheri-simcenter.github.io/BRAILS-Documentation</a>.
## Quickstart
### Installation
The easiest way to install the latest version of BRAILS is using ``pip``:
```
pip install BRAILS
```
### Example: InventoryGenerator Workflow
This example demonstrates how to use the ``InventoryGenerator`` method embedded in BRAILS to generate regional-level inventories.
The primary input to ``InventoryGenerator`` is location. ``InventoryGenerator`` accepts four different ``location`` input types: 1) region name, 2) list of region names, 3) a tuple containing the coordinates for two opposite vertices of a bounding box for a region (e.g., ``(vert1lon,vert1lat,vert2lon,vert2lat)``), and a 4) GeoJSON file containing building footprints or location points.
InventoryGenerator automatically detects building locations in a region by downloading footprint data for the ``location`` input. The three footprint data sources, ``fpSource``, included in BRAILS are i) OpenStreetMaps, ii) Microsoft Global Building Footprints dataset, and iii) FEMA USA Structures. The keywords for these sources are ``osm``, ``ms``, and ``usastr``, respectively.
``InventoryGenerator`` also allows inventory data to be imported from the National Structure Inventory or another user-specified file to create a baseline building inventory.
Please note that to run the ``generate`` method of ``InventoryGenerator``, you will need a Google API Key.
```python
#import InventoryGenerator:
from brails.InventoryGenerator import InventoryGenerator
# Initialize InventoryGenerator:
invGenerator = InventoryGenerator(location='Berkeley, CA',
fpSource='usastr',
baselineInv='nsi',
lengthUnit='m',
outputFile='BaselineInvBerkeleyCA.geojson')
# View a list of building attributes that can be obtained using BRAILS:
invGenerator.enabled_attributes()
# Run InventoryGenerator to generate an inventory for the entered location:
# To run InventoryGenerator for all enabled attributes set attributes='all':
invGenerator.generate(attributes=['numstories','roofshape','buildingheight'],
GoogleAPIKey='ENTER-YOUR-API-KEY-HERE',
nbldgs=100,
outputFile='BldgInvBerkeleyCA.geojson')
# View generated inventory:
invGenerator.inventory
```
## Acknowledgements
This work is based on material supported by the National Science Foundation under grants CMMI 1612843 and CMMI 2131111.
## Contact
NHERI-SimCenter nheri-simcenter@berkeley.edu
## How to cite
```
@software{cetiner_2024_10448047,
author = {Barbaros Cetiner and
Charles Wang and
Frank McKenna and
Sascha Hornauer and
Jinyan Zhao and
Yunhui Guo and
Stella X. Yu and
Ertugrul Taciroglu and
Kincho H. Law},
title = {BRAILS Release v3.1.1},
month = feb,
year = 2024,
publisher = {Zenodo},
version = {v3.1.1},
doi = {10.5281/zenodo.10606032},
url = {https://doi.org/10.5281/zenodo.10606032}
}
```
Raw data
{
"_id": null,
"home_page": "https://github.com/NHERI-SimCenter/BRAILS",
"name": "BRAILS",
"maintainer": null,
"docs_url": null,
"requires_python": ">=3.6",
"maintainer_email": null,
"keywords": "brails, bim, brails framework",
"author": "NHERI SimCenter",
"author_email": "nheri-simcenter@berkeley.edu",
"download_url": "https://files.pythonhosted.org/packages/61/3e/a059fb47fbeccb5737db7b156b1f2ecaae522b22ad0f97ac37269579490f/BRAILS-3.1.2.tar.gz",
"platform": null,
"description": "[![DOI](https://zenodo.org/badge/184673734.svg)](https://zenodo.org/badge/latestdoi/184673734)\n[![PyPi version](https://badgen.net/pypi/v/BRAILS/)](https://pypi.org/project/BRAILS/)\n[![PyPI download month](https://img.shields.io/pypi/dm/BRAILS.svg)](https://pypi.python.org/pypi/BRAILS/)\n\n## What is BRAILS?\n\nBRAILS (Building and Infrastructure Recognition using AI at Large-Scale) provides a set of Python modules that utilize deep learning (DL), and computer vision (CV) techniques to extract information from satellite and street level images. The BRAILS framework also provides turn-key applications allowing users to put individual modules together to determine multiple attributes in a single pass or train general-purpose image classification, object detection, or semantic segmentation models.\n\n## Documentation\n\nOnline documentation is available at <a href=\"https://nheri-simcenter.github.io/BRAILS-Documentation/index.html\">https://nheri-simcenter.github.io/BRAILS-Documentation</a>.\n\n## Quickstart\n\n### Installation\n\n\nThe easiest way to install the latest version of BRAILS is using ``pip``:\n```\npip install BRAILS\n```\n\n### Example: InventoryGenerator Workflow\n\nThis example demonstrates how to use the ``InventoryGenerator`` method embedded in BRAILS to generate regional-level inventories. \n\nThe primary input to ``InventoryGenerator`` is location. ``InventoryGenerator`` accepts four different ``location`` input types: 1) region name, 2) list of region names, 3) a tuple containing the coordinates for two opposite vertices of a bounding box for a region (e.g., ``(vert1lon,vert1lat,vert2lon,vert2lat)``), and a 4) GeoJSON file containing building footprints or location points.\n\nInventoryGenerator automatically detects building locations in a region by downloading footprint data for the ``location`` input. The three footprint data sources, ``fpSource``, included in BRAILS are i) OpenStreetMaps, ii) Microsoft Global Building Footprints dataset, and iii) FEMA USA Structures. The keywords for these sources are ``osm``, ``ms``, and ``usastr``, respectively.\n\n``InventoryGenerator`` also allows inventory data to be imported from the National Structure Inventory or another user-specified file to create a baseline building inventory.\n\nPlease note that to run the ``generate`` method of ``InventoryGenerator``, you will need a Google API Key.\n\n```python\n#import InventoryGenerator:\nfrom brails.InventoryGenerator import InventoryGenerator\n\n# Initialize InventoryGenerator:\ninvGenerator = InventoryGenerator(location='Berkeley, CA',\n fpSource='usastr', \n baselineInv='nsi',\n lengthUnit='m',\n outputFile='BaselineInvBerkeleyCA.geojson')\n\n# View a list of building attributes that can be obtained using BRAILS:\ninvGenerator.enabled_attributes()\n\n# Run InventoryGenerator to generate an inventory for the entered location:\n# To run InventoryGenerator for all enabled attributes set attributes='all':\ninvGenerator.generate(attributes=['numstories','roofshape','buildingheight'],\n GoogleAPIKey='ENTER-YOUR-API-KEY-HERE',\n nbldgs=100,\n outputFile='BldgInvBerkeleyCA.geojson')\n\n# View generated inventory:\ninvGenerator.inventory\n\n```\n\n## Acknowledgements\n\nThis work is based on material supported by the National Science Foundation under grants CMMI 1612843 and CMMI 2131111.\n\n\n## Contact\n\nNHERI-SimCenter nheri-simcenter@berkeley.edu\n\n## How to cite\n\n```\n@software{cetiner_2024_10448047,\n author = {Barbaros Cetiner and\n Charles Wang and\n Frank McKenna and\n Sascha Hornauer and\n Jinyan Zhao and\n Yunhui Guo and\n Stella X. Yu and\n Ertugrul Taciroglu and\n Kincho H. Law},\n title = {BRAILS Release v3.1.1},\n month = feb,\n year = 2024,\n publisher = {Zenodo},\n version = {v3.1.1},\n doi = {10.5281/zenodo.10606032},\n url = {https://doi.org/10.5281/zenodo.10606032}\n}\n```\n",
"bugtrack_url": null,
"license": "BSD 3-Clause",
"summary": "Building and Infrastructure Recognition Using AI at Large-Scale",
"version": "3.1.2",
"project_urls": {
"Homepage": "https://github.com/NHERI-SimCenter/BRAILS"
},
"split_keywords": [
"brails",
" bim",
" brails framework"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "b678f5e01d6933266e601c7d186fd36f2b45dede47490054c87bc442f796e298",
"md5": "452c22843745c70834276b7117d118ba",
"sha256": "e8fc301d8a0ac6f9b75a986e7a3817bfa1a4f3256d7bdf7b9ef5e70ff5157232"
},
"downloads": -1,
"filename": "BRAILS-3.1.2-py3-none-any.whl",
"has_sig": false,
"md5_digest": "452c22843745c70834276b7117d118ba",
"packagetype": "bdist_wheel",
"python_version": "py3",
"requires_python": ">=3.6",
"size": 9213999,
"upload_time": "2024-04-30T14:28:31",
"upload_time_iso_8601": "2024-04-30T14:28:31.972770Z",
"url": "https://files.pythonhosted.org/packages/b6/78/f5e01d6933266e601c7d186fd36f2b45dede47490054c87bc442f796e298/BRAILS-3.1.2-py3-none-any.whl",
"yanked": false,
"yanked_reason": null
},
{
"comment_text": "",
"digests": {
"blake2b_256": "613ea059fb47fbeccb5737db7b156b1f2ecaae522b22ad0f97ac37269579490f",
"md5": "8c4a4d2c37682720d780043d4e0790f9",
"sha256": "553770d5b041126f90f330549f56d82acee9b21cd569b1c448c4e8bbf9fcf750"
},
"downloads": -1,
"filename": "BRAILS-3.1.2.tar.gz",
"has_sig": false,
"md5_digest": "8c4a4d2c37682720d780043d4e0790f9",
"packagetype": "sdist",
"python_version": "source",
"requires_python": ">=3.6",
"size": 48758055,
"upload_time": "2024-04-30T14:28:47",
"upload_time_iso_8601": "2024-04-30T14:28:47.948288Z",
"url": "https://files.pythonhosted.org/packages/61/3e/a059fb47fbeccb5737db7b156b1f2ecaae522b22ad0f97ac37269579490f/BRAILS-3.1.2.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-04-30 14:28:47",
"github": true,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"github_user": "NHERI-SimCenter",
"github_project": "BRAILS",
"travis_ci": false,
"coveralls": false,
"github_actions": false,
"requirements": [
{
"name": "matplotlib",
"specs": []
},
{
"name": "numpy",
"specs": []
},
{
"name": "pandas",
"specs": []
},
{
"name": "requests",
"specs": []
},
{
"name": "scipy",
"specs": []
},
{
"name": "seaborn",
"specs": []
},
{
"name": "wget",
"specs": []
},
{
"name": "shapely",
"specs": []
},
{
"name": "opencv-python",
"specs": []
},
{
"name": "tqdm",
"specs": []
},
{
"name": "tensorboard",
"specs": []
},
{
"name": "tensorboardX",
"specs": []
},
{
"name": "webcolors",
"specs": []
},
{
"name": "pyyaml",
"specs": []
},
{
"name": "torch",
"specs": [
[
">=",
"1.12"
]
]
},
{
"name": "torchvision",
"specs": [
[
">",
"0.13"
]
]
},
{
"name": "yacs",
"specs": []
},
{
"name": "Pillow",
"specs": []
},
{
"name": "scikit-learn",
"specs": []
},
{
"name": "geopandas",
"specs": []
},
{
"name": "momepy",
"specs": []
},
{
"name": "rasterio",
"specs": []
}
],
"lcname": "brails"
}