9194ef5abd
Docs/Test Workflow / Test docs build (push) Failing after 0s
Check links & references / links-check (push) Failing after 1s
Pytest/Test Workflow / Import Test and Pytest Run (ubuntu-latest, 3.10) (push) Failing after 0s
Pytest/Test Workflow / Import Test and Pytest Run (ubuntu-latest, 3.11) (push) Failing after 0s
PR Conflict Labeler / main (push) Failing after 2s
Pytest/Test Workflow / Import Test and Pytest Run (ubuntu-latest, 3.12) (push) Failing after 2s
Pytest/Test Workflow / Import Test and Pytest Run (ubuntu-latest, 3.13) (push) Failing after 0s
Pytest/Test Workflow / Build this Package (push) Failing after 5s
Pytest/Test Workflow / Import Test and Pytest Run (macos-latest, 3.10) (push) Has been cancelled
Pytest/Test Workflow / Import Test and Pytest Run (macos-latest, 3.11) (push) Has been cancelled
Pytest/Test Workflow / Import Test and Pytest Run (macos-latest, 3.12) (push) Has been cancelled
Pytest/Test Workflow / Import Test and Pytest Run (macos-latest, 3.13) (push) Has been cancelled
Pytest/Test Workflow / Import Test and Pytest Run (windows-latest, 3.10) (push) Has been cancelled
Pytest/Test Workflow / Import Test and Pytest Run (windows-latest, 3.11) (push) Has been cancelled
Pytest/Test Workflow / Import Test and Pytest Run (windows-latest, 3.12) (push) Has been cancelled
Pytest/Test Workflow / Import Test and Pytest Run (windows-latest, 3.13) (push) Has been cancelled
Pytest/Test Workflow / testing-guardian (push) Has been cancelled
55 lines
1.4 KiB
Markdown
55 lines
1.4 KiB
Markdown
---
|
|
comments: true
|
|
---
|
|
|
|
# InferenceSlicer
|
|
|
|
## GeoTIFF Datasets
|
|
|
|
Install the optional GeoTIFF dependencies before running this example:
|
|
|
|
```bash
|
|
pip install "supervision[geotiff]"
|
|
wget -O RGB.byte.tif https://raw.githubusercontent.com/rasterio/rasterio/main/tests/data/RGB.byte.tif
|
|
```
|
|
|
|
`InferenceSlicer` can read an open `rasterio` dataset window-by-window. This keeps large GeoTIFFs out of memory while passing each tile to the callback as an `(H, W, C)` NumPy array.
|
|
|
|
```python
|
|
import numpy as np
|
|
import rasterio
|
|
import supervision as sv
|
|
|
|
|
|
def callback(tile: np.ndarray) -> sv.Detections:
|
|
h, w = tile.shape[:2]
|
|
return sv.Detections(
|
|
xyxy=np.array([[w * 0.25, h * 0.25, w * 0.75, h * 0.75]], dtype=float),
|
|
confidence=np.array([0.9]),
|
|
class_id=np.array([0]),
|
|
)
|
|
|
|
|
|
slicer = sv.InferenceSlicer(
|
|
callback=callback,
|
|
slice_wh=(256, 256),
|
|
overlap_wh=(64, 64),
|
|
overlap_filter=sv.OverlapFilter.NONE,
|
|
)
|
|
|
|
with rasterio.open("RGB.byte.tif") as dataset:
|
|
detections = slicer(dataset)
|
|
|
|
print(len(detections))
|
|
```
|
|
|
|
GeoTIFF inputs must use a projected coordinate reference system. Reproject geographic rasters before passing them to `InferenceSlicer`.
|
|
|
|
<div class="md-typeset">
|
|
<h2><a href="#supervision.detection.tools.inference_slicer.WindowedRasterDataset">WindowedRasterDataset</a></h2>
|
|
</div>
|
|
|
|
:::supervision.detection.tools.inference_slicer.WindowedRasterDataset
|
|
|
|
:::supervision.detection.tools.inference_slicer.InferenceSlicer
|