> ## Documentation Index
> Fetch the complete documentation index at: https://docs.encord.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Objects.types

## CircleDict Objects

```python theme={"dark"}
class CircleDict(TypedDict)
```

#### x

normalized center x \[0, 1]

#### y

normalized center y \[0, 1]

#### r

primary semi-axis radius, normalized to image width

#### stretch

ratio of secondary semi-axis to primary (1.0 = circle, !=1 = ellipse)

#### theta

rotation in degrees, clockwise in screen space (matches RBB convention)

## EllipseDict Objects

```python theme={"dark"}
class EllipseDict(TypedDict)
```

#### x

normalized center x \[0, 1]

#### y

normalized center y \[0, 1]

#### rx

horizontal semi-axis, normalized to image width

#### ry

vertical semi-axis, normalized to image height

#### theta

rotation in degrees, clockwise in screen space

## PointFrameCoordinatesDict Objects

```python theme={"dark"}
class PointFrameCoordinatesDict(TypedDict)
```

#### point

Actually the key here is always '0', but no way to type that.

## Point3DFrameCoordinatesDict Objects

```python theme={"dark"}
class Point3DFrameCoordinatesDict(TypedDict)
```

#### point

Actually the key here is always '0', but no way to type that.

#### PolygonDict

Introduced to support complex polygons

## PolygonFrameCoordinatesDict Objects

```python theme={"dark"}
class PolygonFrameCoordinatesDict(PolygonFrameCoordinatesDictRequired)
```

#### polygons

This was introduced to support complex polygons.

## Cuboid2DPerspectiveDict Objects

```python theme={"dark"}
class Cuboid2DPerspectiveDict(TypedDict)
```

Perspective projection cuboid dict with vanishing point and scale ratio.

#### front

Flat array of coordinates \[x1, y1, x2, y2, ...]

## Cuboid2DIsometricDict Objects

```python theme={"dark"}
class Cuboid2DIsometricDict(TypedDict)
```

Isometric projection cuboid dict with offset.

#### front

Flat array of coordinates \[x1, y1, x2, y2, ...]

#### Cuboid2DDict

Union type for 2D cuboid dict - either perspective or isometric projection.

## AnswerDict Objects

```python theme={"dark"}
class AnswerDict(TypedDict)
```

Answer for attributes/classifications.

## BaseFrameObjectRequired Objects

```python theme={"dark"}
class BaseFrameObjectRequired(TypedDict)
```

Required fields for frame object in label blob.

## BaseFrameObject Objects

```python theme={"dark"}
class BaseFrameObject(BaseFrameObjectRequired)
```

All fields for base frame object in label blob.
Shape data is not included here.

#### createdBy

This is optional because we set the default to the current user on the BE

#### lastEditedBy

This is optional because we set the default to the current user on the BE

#### reviews

TODO: Remove this as its deprecated

#### isDeleted

TODO: Remove this as its deprecated, although its still being sent out

## SegmentationObject Objects

```python theme={"dark"}
class SegmentationObject(BaseFrameObject)
```

#### segmentation

RLE encoded segmentation string

#### FrameObject

Frame object in the label blob. Contains shape data, and is differentiated by the 'shape' field.

## FrameClassification Objects

```python theme={"dark"}
class FrameClassification(FrameClassificationRequired)
```

Frame classification in label blob.
No answers here, they are in the ClassificationAnswer

#### createdBy

This can be optional because we set the default to current the user at the BE

## AttributeDict Objects

```python theme={"dark"}
class AttributeDict(TypedDict)
```

Attribute for a classification OR an object.
Note that these are inappropriately called "classifications" in ObjectAnswer and ClassificationAnswer.

## DynamicAttributeObjectRequired Objects

```python theme={"dark"}
class DynamicAttributeObjectRequired(AttributeDict)
```

Required fields for dynamic attribute object in object\_actions.

#### trackHash

See if we can remove this

## DynamicAttributeObject Objects

```python theme={"dark"}
class DynamicAttributeObject(DynamicAttributeObjectRequired)
```

All fields for dynamic attribute object in object\_actions.

## ClassificationAnswer Objects

```python theme={"dark"}
class ClassificationAnswer(ClassificationAnswerRequired)
```

Classification answer that contains attributes (sadly here its called classifications too) for the classification

#### reviews

TODO: Remove this as its deprecated

#### spaces

Empty dict if no spaces

## ObjectAnswerForNonGeometric Objects

```python theme={"dark"}
class ObjectAnswerForNonGeometric(BaseFrameObject)
```

For non-geometric modalities, metadata is contained in object answers, instead of frame

#### spaces

Important for non-geometric shapes, where space info must live on ObjectAnswer

## LabelRowDict Objects

```python theme={"dark"}
class LabelRowDict(TypedDict)
```

Work in progress type definition of a label row
