Label Type

Label Definition

2D Image

3D Volume

Video

CLASSIFICATION (non objectType)

Classification

SEGMENTATION

CommonLabelProps

LENGTH

MeasureLength

ANGLE

MeasureAngle

POINT

Landmark

Landmark3D

POLYLINE

Polyline

POLYGON

Polygon

ELLIPSE

Ellipse

BBOX

BoundingBox

CUBOID

Cuboid

class redbrick.types.task.Point2D[source]

2D pixel point.

The Point2D coordinates are normalized in relation to the dimensions of the image, meaning they are scaled down to a range between 0 and 1. To convert these normalized points back to their original scale on the image, you “un-normalize” them by multiplying by the image’s dimensions. This operation typically results in a floating-point number.

RedBrick AI enhances the precision of annotations on its canvas by supporting a resolution higher than that of the underlying image. This capability facilitates sub-pixel annotation accuracy. However, if sub-pixel precision is not necessary for your application, you can simplify the process by rounding the un-normalized coordinates to the nearest whole number. This adjustment converts the precise floating-point values back to standard pixel coordinates, making them easier to work with for general purposes.

Important

The origin point (0,0) from which these coordinates are measured is at the top left of the image. However, for mammography and DBT the origin is the top right of the image.

xNormfloat

X co-ordinate normalized by the width of the image.

yNormfloat

Y co-ordinate normalized by the height of the image.

class redbrick.types.task.VoxelPoint[source]

Represents a three-dimensional point in image-space, where i, j, and k are columns, rows, and k is the slice number.

iint

jint

kint

class redbrick.types.task.WorldPoint[source]

Represents a three-dimensional point in physical space/world co-ordinates. The world co-ordinates are calculated using redbrick.types.task.VoxelPoint and the DICOM Image Plane Module.

xfloat

yfloat

zfloat

class redbrick.types.task.MeasurementStats[source]

Measurement statistics for annotations.

averagefloat

Average pixel/voxel intensity within the annotation. In CT, this is the average HU value.

areafloat

Area contained within the annotation in mm^2.

volumefloat

Volume contained within the annotation in mm^3

minimumfloat

Minimum intensity value within the annotation.

maximumfloat

Maximum intensity value within the annotation.

class redbrick.types.task.VideoMetaData[source]

Contains annotation information along the third axis. Frames for video, and slices for 3D volumes.

Warning

redbrick.types.task.VideoMetaData has a misleading name. It contains information for both videos, and 3D volumes.

Hint

Watch this video for a detailed explaination of all the attributes of this object.

seriesItemIndexint

The index of the file in series “items” list that this annotation is present on.

seriesFrameIndexint

Frame index of the annotation for nifti and dicom multipart files.

frameIndexint

The frame number (for video) or slice index (for 3D volumes) the annotation is present on.

trackIdstr

Each distinct object has a unique trackId. Two annotations on different frameIndex’s with the same trackId’s represent the same distinct object.

keyFramebool

If True, this annotation is user-defined. If False, this annotation is interpolated.

endTrackbool

If True, this annotation is the last annotation of a specific track defined by trackId.

redbrick.types.task.Attributes

Attributes for Taxonomy objects. Attributes can be boolean, textfields, select’s or multi-select’s.

alias of Dict[strUnion[strboolList[str]]]

class redbrick.types.task.CommonLabelProps[source]

Full version of redbrick.types.task.Series.segmentMap.

categoryUnion[intstrList[str]]

Taxonomy object category.

attributesDict[strUnion[strboolList[str]]]

Associated taxonomy object attributes.

maskUnion[strList[str]]

Filepath to segmentation file for this annotation.

overlappingGroupsList[int]

Overlapping instances that this label is part of (when without_masks is set).

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.InstanceClassification[source]

Instance level classifications for frame-by-frame (video) or slice-by-slice (volume) classifications..

fileIndexint

For video this is the frameIndex, for DICOM volumes this is the sliceIndex.

fileNamestr

The file name represented by frameIndex.

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.Classification[source]

Study or series classification.

attributesDict[strUnion[strboolList[str]]]

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.Polyline[source]

Open polylines, not supported in 3D images.

pointsList[Point2D]

categoryUnion[intstrList[str]]

attributesDict[strUnion[strboolList[str]]]

video: VideoMetaData

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.Polygon[source]

Closed polygons, not supported in 3D images.

pointsList[Point2D]

categoryUnion[intstrList[str]]

attributesDict[strUnion[strboolList[str]]]

stats: MeasurementStats

video: VideoMetaData

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.Cuboid[source]

3D bounding boxes for 3D images.

point1: VoxelPoint

Top left diagonal corner.

point2: VoxelPoint

Bottom right diagonal corner.

absolutePoint1: WorldPoint

absolutePoint2: WorldPoint

categoryUnion[intstrList[str]]

attributesDict[strUnion[strboolList[str]]]

stats: MeasurementStats

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.BoundingBox[source]

2D bounding box for 2D images, or slice by slice annotation in 3D images.

Hint

See the following diagram to understand the coordinate system.

pointTopLeft: Point2D

Coordinates of the top left of the bounding box.

wNormfloat

Width of the bounding box, normalized by image width.

hNormfloat

Height of the bounding box, normalized by the image height.

categoryUnion[intstrList[str]]

attributesDict[strUnion[strboolList[str]]]

stats: MeasurementStats

video: VideoMetaData

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.Ellipse[source]

Ellipse annotation.

Hint

See this ellipse diagram to understand the coordinate system. Please read the redbrick.types.task.Point2D documentation to understand how normalization works & the origin of the coordinate system.

Warning

For DICOM images of a certain type, ellipse annotations might be flipped i.e., rotating the ellipse clockwise would result in counter-clockwise rotation. If you encounter these cases, reach out to our support for instructions on how to handle this support@redbrickai.com.

pointCenter: Point2D

The normalized center of the ellipse.

xRadiusNormfloat

The x axis of the ellipse, normalized with by the image width. Adjusting for rotationRad, the x-axis of the ellipse aligns with the x-axis of the image.

yRadiusNormfloat

The y axis of the ellipse, normalized with by the image width. Adjusting for rotationRad, the y-axis of the ellipse aligns with the y-axis of the image.

rotationRadfloat

The rotation of the ellipse measured clockwise as the angle between the y-axis of the ellipse and y-axis of the image.

categoryUnion[intstrList[str]]

attributesDict[strUnion[strboolList[str]]]

stats: MeasurementStats

video: VideoMetaData

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.MeasureAngle[source]

Angle measurement label.

An angle measurement is defined by three points, where vertex is the middle point between point1 and point2. The angle between the two vectors <point1, vertex> and <point2, vertex> defines the angle measurement.

Hint

See this angle diagram to understand the coordinate system.

typeLiteral['angle']

point1: VoxelPoint

vertex: VoxelPoint

point2: VoxelPoint

absolutePoint1: WorldPoint

absoluteVertex: WorldPoint

absolutePoint2: WorldPoint

normalList[float]

Measurements can be made on oblique planes. normal defines the normal unit vector to the slice on which the annotation was made. For annotations made on non-oblique planes, the normal will be [0,0,1]. The measurement is fully defined even without normal, however, for completeness see this angle diagram for it’s definition.

anglefloat

Measurement angle in degrees.

categoryUnion[intstrList[str]]

attributesDict[strUnion[strboolList[str]]]

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.MeasureLength[source]

Length measurement label.

A length measurement is defined by two points, and the length measurement is the distance between the two points.

typeLiteral['length']

point1: VoxelPoint

point2: VoxelPoint

absolutePoint1: WorldPoint

absolutePoint2: WorldPoint

normalList[float]

Measurements can be made on oblique planes. normal defines the normal unit vector to the slice on which the annotation was made. For annotations made on non-oblique planes, the normal will be [0,0,1]. The measurement is fully defined even without normal, however, for completeness see this length diagram for it’s definition.

lengthfloat

The value of the measurement in millimeters.

categoryUnion[intstrList[str]]

attributesDict[strUnion[strboolList[str]]]

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.Landmark3D[source]

3D landmark for 3D data.

point: VoxelPoint

categoryUnion[intstrList[str]]

attributesDict[strUnion[strboolList[str]]]

groupstr

Linked label group id.

readOnlybool

Read only status

class redbrick.types.task.Landmark[source]

2D landmark for 2D data.

point: Point2D

categoryUnion[intstrList[str]]

attributesDict[strUnion[strboolList[str]]]

video: VideoMetaData

groupstr

Linked label group id.

readOnlybool

Read only status

NextTaxonomy formatPreviousFormats

Copyright © 2023, RedBrick AI

Made with Sphinx and @pradyunsg’s Furo

On this page