Captures

Sync method type enums.

class moveai_mocap.models.captures.sync_methods.enums.sync_method.SyncMethod(value, names=None, *, module=None, qualname=None, type=None, start=1, boundary=None)

Sync method type enums.

clap_audio: str = 'ClapAudio'
timecode: str = 'Timecode'

Model for the clap audio sync method.

pydantic model moveai_mocap.models.captures.sync_methods.clap_audio.ClapAudioSync

Model for the clap audio sync method.

Fields:
field clap_window: Tuple[float, float] [Required]

The start/end time of the synchronisation clap performed by the actor.

property as_run: list[float]

Restructure the clap window to the correct format for config file.

Returns:

The restructured clap window

Model for the time code sync method.

pydantic model moveai_mocap.models.captures.sync_methods.timecode.TimeCodeSync

Model for the time code sync method.

Fields:
field use_timecode: bool [Required]

Whether the capture videos are timecode synchronised.

Model representing camera settings.

pydantic model moveai_mocap.models.captures.camera_settings.CameraSettings

Model representing camera settings.

Fields:
field distortion_coeffs: <lambda>, return_type=list, when_used=always)] = None

The camera distortion coefficients.

Constraints:
  • func = <function <lambda> at 0x7f52be9ca340>

  • return_type = <class ‘list’>

  • when_used = always

field focal_length_x: Annotated[float, Gt(gt=0)] [Required]

The camera lens focal length along the horizontal axis.

Constraints:
  • gt = 0

field focal_length_y: Annotated[float, Gt(gt=0)] [Required]

The camera lens focal length along the vertical axis.

Constraints:
  • gt = 0

field model: str [Required]

The model of the camera.

field principal_point_x: Annotated[float, Gt(gt=0)] [Required]

The camera lens x principal point.

Constraints:
  • gt = 0

field principal_point_y: Annotated[float, Gt(gt=0)] [Required]

The camera lens y principal point.

Constraints:
  • gt = 0

field resolution_x: Annotated[int, Gt(gt=0)] [Required]

The horizontal resolution.

Constraints:
  • gt = 0

field resolution_y: Annotated[int, Gt(gt=0)] [Required]

The vertical resolution.

Constraints:
  • gt = 0

property focal_length_as_run: list[Annotated[float, Gt(gt=0)]]

Output the focal length as a combination of two fields when model_dumping.

Returns:

The focal length of the camera

property principal_point_as_run: list[Annotated[float, Gt(gt=0)]]

Output the principal point as a combination of two fields when model_dumping.

Returns:

The principal point of the camera

property resolution_as_run: list[int]

Output the resolution as a combination of two fields when model_dumping.

Returns:

The resolution of the camera

Representation of the inputs of the capture.

pydantic model moveai_mocap.models.captures.capture.Capture

Representation of the inputs of the capture.

Fields:
field inputs: list[CaptureInput | VideoCaptureInput] [Required]

The inputs (video and non-video) for this capture.

Validated by:
field sync_method: ClapAudioSync | TimeCodeSync | None = None

The synchronisation method between the video capture inputs. If not specified then the videos must be fully synchronised.

Validated by:
filter_capture_input(capture_input_class: type[CaptureInput] | type[VideoCaptureInput]) list[CaptureInput | VideoCaptureInput]

Filter the capture inputs by the class type.

Args:

capture_input_class: The class type to filter by

Returns:

The filtered capture inputs

validator validate_camera_settings  »  all fields

Validate that camera_settings are provided on the capture device.

If there is only a single VideoCaptureInput then we do not require camera_settings to be provided. If there is more than one VideoCaptureInput then camera_settings are required on all VideoCaptureInputs.

Raises:

ValueError: There are multiple video capture inputs and not all have camera_settings specified.

Returns:

The validated data

validator validate_device_ids  »  all fields

Validate that the video input device ids are unique.

Raises:

ValueError: There is more than one video capture input and no sync method is provided.

Returns:

The validated data

validator validate_sync_method  »  all fields

Validate that a sync method is required if there is more than one video capture input.

Raises:

ValueError: There is more than one video capture input and no sync method is provided.

Returns:

The validated data

property capture_inputs: list[CaptureInput]

The video capture inputs on this capture.

Returns:

The list of video capture inputs

property capture_inputs_config_as_run: CaptureInputsConfig

Restructure capture inputs to the correct format for the run.

Returns:

The restructured capture inputs

property is_multicam: bool

Syntactic sugar for determining if this is a multicam capture.

Returns:

bool: Whether this is a multicam capture

property is_singlecam: bool

Syntactic sugar for determining if this is a singlecam capture.

Returns:

bool: Whether this is a singlecam capture

property video_capture_inputs: list[VideoCaptureInput]

The video capture inputs on this capture.

Returns:

The list of video capture inputs

Representation of a capture device.

pydantic model moveai_mocap.models.captures.capture_device.CaptureDevice

Representation of a capture device.

Fields:
field camera_settings: CameraSettings | None = None

The camera settings for this device. This is required if more than one capture input is provided on the capture.

field device_id: str [Required]

The user provided id of this device. Used for uniqueness checks.

An individual capture inputs.

pydantic model moveai_mocap.models.captures.capture_input.CaptureInput

A non-video based capture input (i.e. depth, intrinsics etc).

Fields:
field capture_device: CaptureDevice [Required]

The device for this input.

field input: Resource [Required]

The input resource - either video or non video.

property as_run: CaptureInputConfig

Build the configuration for this capture input.

Returns:

The capture input config

pydantic model moveai_mocap.models.captures.capture_input.VideoCaptureInput

A video capture input.

Fields: