Metadata-Version: 2.4
Name: 3dsem
Version: 0.1.5
Summary: Classify point clouds with pretrained 3D semantic segmentation models, from one command
License: MIT
License-File: LICENSE
Requires-Python: >=3.9
Description-Content-Type: text/markdown

# 3dsem

Classify point clouds with pretrained 3D semantic segmentation models, on
your own machine, from one command.

```
pip install 3dsem

sem install dales-utonia
sem infer dales-utonia tile.las
```

That's the whole workflow. The classified `.laz` appears next to your input
file (`tile_predictions/tile_pred.laz`), with per-point classification,
confidence, and the original dimensions carried over.

## What you need

- An NVIDIA GPU with a current driver (Windows 527.41+, Linux 525.60.13+),
  or a [Modal](https://modal.com) account for cloud runs with `--modal`
- Python 3.9 or newer
- About 10 GB of disk for a model

Everything else is handled for you: `sem install` downloads a model together
with its exact, tested runtime in one step. After install, inference runs
fully offline; nothing else ever downloads.

## Commands

```
sem                  interactive picker (choose a model, run it)
sem models           list available and installed models
sem install <model>  one-time model download
sem infer <model> <input> [output]
sem clean [<model> | --all]
```

`infer` accepts a `.las`/`.laz`/`.ply`/`.pcd` file or a whole folder, and
converts it automatically using the model's own training recipe. By default
it does a fast single pass with light smoothing; the effort presets trade
time for accuracy. Common extras:

```
sem infer dales-utonia tile.las --ultra            max accuracy: 9-view TTA,
                                                   APCoTTA, full cleanup
                                                   (~9x time; also --med,
                                                   --high, --low)
sem infer dales-utonia tile.las --unclass 0.6      low-confidence points
                                                   become unclassified
sem infer dales-utonia tile.las --panoptic vehicle:5x2.5
                                                   split a class into
                                                   individual objects
sem infer dales-utonia tile.las --modal            run on Modal instead of
                                                   a local GPU
sem infer dales-utonia tile.las --pick             browse every option with
                                                   arrow keys, then run
```

Every option is documented in `sem infer --help`.

## Where things live

All downloads go to `~/.trainer`. Set the `TRAINER_HOME` environment
variable to put them somewhere else. `sem clean --all` removes everything.

## Licensing

The `sem` tool is MIT licensed. Each model ships a `NOTICE.md` stating its
architecture credits and license terms; some models carry a non-commercial
restriction inherited from their pretrained components, shown before you
install.
