fiftyone.core.threed.lights#

Lights definition for 3D visualization.

Copyright 2017-2025, Voxel51, Inc.

Classes:

Light([name,Β color,Β intensity,Β visible,Β ...])

Base class for 3D lights.

AmbientLight([name,Β intensity,Β color,Β ...])

Represents an ambient light.

DirectionalLight([name,Β target,Β color,Β ...])

Represents a directional light.

PointLight([name,Β distance,Β decay,Β color,Β ...])

Represents a point light.

SpotLight([name,Β target,Β distance,Β decay,Β ...])

Represents a spot light.

class fiftyone.core.threed.lights.Light(name: str | None = None, color: str = '#ffffff', intensity: float = 1.0, visible=True, position: Vector3 | List[float] | Tuple[float] | array | None = None, scale: Vector3 | List[float] | Tuple[float] | array | None = None, quaternion: Quaternion | None = None)#

Bases: Object3D

Base class for 3D lights.

Parameters:
  • color ("#ffffff") – the color of the light

  • intensity (1.0) – the intensity of the light in the range [0, 1]

  • visible (True) – default visibility of the object in the scene

  • position (None) – the position of the light in object space

  • quaternion (None) – the quaternion of the light in object space

  • scale (None) – the scale of the light in object space

Methods:

add(*objs)

Add one or more objects as children of this one.

as_dict()

Converts the object to a dict.

clear()

Remove all children from this object.

traverse([include_self])

Traverse the scene graph.

Attributes:

local_transform_matrix

The local transform matrix of the object.

position

The position of the object in object space.

quaternion

The quaternion of the object in object space.

rotation

The rotation of the object in object space.

scale

The scale of the object in object space.

uuid

The unique ID of the object.

add(*objs: Object3D) None#

Add one or more objects as children of this one.

as_dict()#

Converts the object to a dict.

clear() None#

Remove all children from this object.

property local_transform_matrix#

The local transform matrix of the object.

Setting this property also decomposes the matrix into its constituent position, quaternion, and scale components. However, decomposition of matrices with skew / shear components (non-uniform scaling) might have unexpected results.

property position#

The position of the object in object space.

property quaternion#

The quaternion of the object in object space.

property rotation#

The rotation of the object in object space.

property scale#

The scale of the object in object space.

traverse(include_self=True)#

Traverse the scene graph.

property uuid#

The unique ID of the object.

class fiftyone.core.threed.lights.AmbientLight(name: str = 'AmbientLight', intensity: float = 0.1, color: str = '#ffffff', visible=True, position: Vector3 | List[float] | Tuple[float] | array | None = None, scale: Vector3 | List[float] | Tuple[float] | array | None = None, quaternion: Quaternion | None = None)#

Bases: Light

Represents an ambient light.

This light globally illuminates all objects in the scene equally.

Parameters:
  • name ("AmbientLight") – the name of the light

  • intensity (0.1) – the intensity of the light in the range [0, 1]

  • color ("#ffffff") – the color of the light

  • visible (True) – default visibility of the object in the scene

  • position (None) – the position of the light in object space

  • quaternion (None) – the quaternion of the light in object space

  • scale (None) – the scale of the light in object space

Methods:

add(*objs)

Add one or more objects as children of this one.

as_dict()

Converts the object to a dict.

clear()

Remove all children from this object.

traverse([include_self])

Traverse the scene graph.

Attributes:

local_transform_matrix

The local transform matrix of the object.

position

The position of the object in object space.

quaternion

The quaternion of the object in object space.

rotation

The rotation of the object in object space.

scale

The scale of the object in object space.

uuid

The unique ID of the object.

add(*objs: Object3D) None#

Add one or more objects as children of this one.

as_dict()#

Converts the object to a dict.

clear() None#

Remove all children from this object.

property local_transform_matrix#

The local transform matrix of the object.

Setting this property also decomposes the matrix into its constituent position, quaternion, and scale components. However, decomposition of matrices with skew / shear components (non-uniform scaling) might have unexpected results.

property position#

The position of the object in object space.

property quaternion#

The quaternion of the object in object space.

property rotation#

The rotation of the object in object space.

property scale#

The scale of the object in object space.

traverse(include_self=True)#

Traverse the scene graph.

property uuid#

The unique ID of the object.

class fiftyone.core.threed.lights.DirectionalLight(name: str = 'DirectionalLight', target: Vector3 | List[float] | Tuple[float] | array = Vector3(x=0.0, y=0.0, z=0.0), color: str = '#ffffff', intensity: float = 1.0, visible=True, position: Vector3 | List[float] | Tuple[float] | array | None = None, scale: Vector3 | List[float] | Tuple[float] | array | None = None, quaternion: Quaternion | None = None)#

Bases: Light

Represents a directional light.

A light that gets emitted in a specific direction. This light will behave as though it is infinitely far away and the rays produced from it are all parallel.

Parameters:
  • name ("DirectionalLight") – the name of the light

  • target ([0,0,0]) – the target of the light

  • color ("#ffffff") – the color of the light

  • intensity (1.0) – the intensity of the light in the range [0, 1]

  • visible (True) – default visibility of the object in the scene

  • position (None) – the position of the light in object space

  • quaternion (None) – the quaternion of the light in object space

  • scale (None) – the scale of the light in object space

Attributes:

target

local_transform_matrix

The local transform matrix of the object.

position

The position of the object in object space.

quaternion

The quaternion of the object in object space.

rotation

The rotation of the object in object space.

scale

The scale of the object in object space.

uuid

The unique ID of the object.

Methods:

add(*objs)

Add one or more objects as children of this one.

as_dict()

Converts the object to a dict.

clear()

Remove all children from this object.

traverse([include_self])

Traverse the scene graph.

target: Vector3 | List[float] | Tuple[float] | array = Vector3(x=0.0, y=0.0, z=0.0)#
add(*objs: Object3D) None#

Add one or more objects as children of this one.

as_dict()#

Converts the object to a dict.

clear() None#

Remove all children from this object.

property local_transform_matrix#

The local transform matrix of the object.

Setting this property also decomposes the matrix into its constituent position, quaternion, and scale components. However, decomposition of matrices with skew / shear components (non-uniform scaling) might have unexpected results.

property position#

The position of the object in object space.

property quaternion#

The quaternion of the object in object space.

property rotation#

The rotation of the object in object space.

property scale#

The scale of the object in object space.

traverse(include_self=True)#

Traverse the scene graph.

property uuid#

The unique ID of the object.

class fiftyone.core.threed.lights.PointLight(name: str = 'PointLight', distance: float = 0.0, decay: float = 2.0, color: str = '#ffffff', intensity: float = 1.0, visible=True, position: Vector3 | List[float] | Tuple[float] | array | None = None, scale: Vector3 | List[float] | Tuple[float] | array | None = None, quaternion: Quaternion | None = None)#

Bases: Light

Represents a point light.

Parameters:
  • name ("PointLight") – the name of the light

  • distance (0.0) – the distance at which the light’s intensity is zero

  • decay (2.0) – the amount the light dims along the distance of the light

  • color ("#ffffff") – the color of the light

  • intensity (1.0) – the intensity of the light in the range [0, 1]

  • visible (True) – default visibility of the object in the scene

  • position (None) – the position of the light in object space

  • quaternion (None) – the quaternion of the light in object space

  • scale (None) – the scale of the light in object space

Methods:

add(*objs)

Add one or more objects as children of this one.

as_dict()

Converts the object to a dict.

clear()

Remove all children from this object.

traverse([include_self])

Traverse the scene graph.

Attributes:

local_transform_matrix

The local transform matrix of the object.

position

The position of the object in object space.

quaternion

The quaternion of the object in object space.

rotation

The rotation of the object in object space.

scale

The scale of the object in object space.

uuid

The unique ID of the object.

add(*objs: Object3D) None#

Add one or more objects as children of this one.

as_dict()#

Converts the object to a dict.

clear() None#

Remove all children from this object.

property local_transform_matrix#

The local transform matrix of the object.

Setting this property also decomposes the matrix into its constituent position, quaternion, and scale components. However, decomposition of matrices with skew / shear components (non-uniform scaling) might have unexpected results.

property position#

The position of the object in object space.

property quaternion#

The quaternion of the object in object space.

property rotation#

The rotation of the object in object space.

property scale#

The scale of the object in object space.

traverse(include_self=True)#

Traverse the scene graph.

property uuid#

The unique ID of the object.

class fiftyone.core.threed.lights.SpotLight(name: str = 'SpotLight', target: Vector3 | List[float] | Tuple[float] | array = None, distance: float = 0.0, decay: float = 2.0, angle: float = 1.0471975511965976, penumbra: float = 0.0, color: str = '#ffffff', intensity: float = 1.0, visible=True, position: Vector3 | List[float] | Tuple[float] | array | None = None, scale: Vector3 | List[float] | Tuple[float] | array | None = None, quaternion: Quaternion | None = None)#

Bases: Light

Represents a spot light.

Parameters:
  • name ("SpotLight") – the name of the light

  • target ([0,0,0]) – the target of the light

  • distance (0.0) – the distance at which the light’s intensity is zero

  • decay (2.0) – the amount the light dims along the distance of the light

  • angle (PI / 3) – the angle of the light’s spotlight, in radians

  • penumbra (0.0) – the angle of the penumbra of the light’s spotlight, in radians

  • color ("#ffffff") – the color of the light

  • intensity (1.0) – the intensity of the light in the range [0, 1]

  • visible (True) – default visibility of the object in the scene

  • position (None) – the position of the light in object space

  • quaternion (None) – the quaternion of the light in object space

  • scale (None) – the scale of the light in object space

Methods:

add(*objs)

Add one or more objects as children of this one.

as_dict()

Converts the object to a dict.

clear()

Remove all children from this object.

traverse([include_self])

Traverse the scene graph.

Attributes:

local_transform_matrix

The local transform matrix of the object.

position

The position of the object in object space.

quaternion

The quaternion of the object in object space.

rotation

The rotation of the object in object space.

scale

The scale of the object in object space.

uuid

The unique ID of the object.

add(*objs: Object3D) None#

Add one or more objects as children of this one.

as_dict()#

Converts the object to a dict.

clear() None#

Remove all children from this object.

property local_transform_matrix#

The local transform matrix of the object.

Setting this property also decomposes the matrix into its constituent position, quaternion, and scale components. However, decomposition of matrices with skew / shear components (non-uniform scaling) might have unexpected results.

property position#

The position of the object in object space.

property quaternion#

The quaternion of the object in object space.

property rotation#

The rotation of the object in object space.

property scale#

The scale of the object in object space.

traverse(include_self=True)#

Traverse the scene graph.

property uuid#

The unique ID of the object.