# ldf

Python API: `luxonis_ml.ldf`

Annotation schemas of the Luxonis Data Format.

The luxonis_ml.ldf package describes a single sample of an LDF dataset: a
[DatasetRecord](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md)
with its
[Detection](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md),
the annotation payloads
([BBoxAnnotation](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md),
[KeypointAnnotation](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md),
[SegmentationAnnotation](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md),
[InstanceSegmentationAnnotation](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md),
[ArrayAnnotation](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md),
[ClassificationAnnotation](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md)),
and the
[ParquetRecord](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/parquet.md)
row they are stored as.

> **Example**
> Build a record with a single bounding box annotation. The referenced file has to exist -- [DatasetRecord](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md) validates it and stores it as an absolute path.

```python
from luxonis_ml.ldf import DatasetRecord

record = DatasetRecord(
    file="images/frame_001.jpg",
    annotation={
        "class": "person",
        "boundingbox": {"x": 0.1, "y": 0.2, "w": 0.3, "h": 0.4},
    },
)
```

> **Note**
> Install `luxonis-ml[ldf]` to work with the format without the rest of the data stack. The extra is a subset of `luxonis-ml[data]`.

> **See Also**
> [luxonis_ml.ldf.annotation](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md) for the record and annotation schemas and [luxonis_ml.ldf.parquet](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/parquet.md) for the row they are serialized to.

## Child Pages

 * [annotation](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/annotation.md)
 * [parquet](https://docs.luxonis.com/software-v3/ai-inference/model-source/training/luxonis-ml/luxonis-ml-api-reference/ldf/parquet.md)
