# semantic-scene
[](https://github.com/PRO-2684/semantic-scene/blob/main/LICENSE)
[](https://github.com/PRO-2684/semantic-scene/blob/main/.github/workflows/release.yml)
[](https://github.com/PRO-2684/semantic-scene/releases)
[](https://github.com/PRO-2684/semantic-scene/releases)
[](https://crates.io/crates/semantic-scene)
[](https://crates.io/crates/semantic-scene)
[](https://docs.rs/semantic-scene)
Rust parser for semantic scene descriptors. Currently supports Habitat-Sim/Matterport3D `.house` files from the [MP3D dataset](https://niessner.github.io/Matterport/#download).
## 💡 Examples
The primary API is dataset-first and Rust-native.
For example, to load a `.house` file:
```rust
use semantic_scene::{Mp3d, Mp3dOptions, SemanticScene};
let scene =
SemanticScene::load::<Mp3d>("data/17DRP5sb8fy.house", Mp3dOptions::default()).unwrap();
println!("{scene:#}");
```
## 📥 Installation
> The `semantic-scene` CLI tool takes a path to a `.house` file and displays a human-readable summary of the scene.
### Using [`binstall`](https://github.com/cargo-bins/cargo-binstall)
```shell
cargo binstall semantic-scene
```
### Downloading from Releases
Navigate to the [Releases page](https://github.com/PRO-2684/semantic-scene/releases) and download respective binary for your platform. Make sure to give it execute permissions.
### Compiling from Source
```shell
cargo install semantic-scene
```
## ✅ TODO
- [ ] Enum-based category (`Mp3dObjectCategory`, `Mp3dRegionCategory`)
## 🎉 Credits
TODO