spot-sdk-ts
Version:
TypeScript bindings based on protobufs (proto3) provided by Boston Dynamics
1,565 lines (1,469 loc) • 53 kB
text/typescript
/* eslint-disable */
import { Timestamp } from "../../google/protobuf/timestamp";
import { Duration } from "../../google/protobuf/duration";
import { FrameTreeSnapshot, Vec2 } from "./geometry";
import { RequestHeader, ResponseHeader } from "./header";
import _m0 from "protobufjs/minimal";
export const protobufPackage = "bosdyn.api";
/** Rectangular color/greyscale/depth images. */
export interface Image {
/** Number of columns in the image (in pixels). */
cols: number;
/** Number of rows in the image (in pixels). */
rows: number;
/** Raw image data. */
data: Uint8Array;
/** How the image is encoded. */
format: Image_Format;
/**
* Pixel format of the image; this will be set even when the Format implies
* the pixel format.
*/
pixelFormat: Image_PixelFormat;
}
export enum Image_Format {
/** FORMAT_UNKNOWN - Unknown image format. */
FORMAT_UNKNOWN = 0,
/**
* FORMAT_JPEG - Color/greyscale formats.
* JPEG format.
*/
FORMAT_JPEG = 1,
/** FORMAT_RAW - Uncompressed. Requires pixel_format. */
FORMAT_RAW = 2,
/** FORMAT_RLE - 1 byte run-length before each pixel value. */
FORMAT_RLE = 3,
UNRECOGNIZED = -1,
}
export function image_FormatFromJSON(object: any): Image_Format {
switch (object) {
case 0:
case "FORMAT_UNKNOWN":
return Image_Format.FORMAT_UNKNOWN;
case 1:
case "FORMAT_JPEG":
return Image_Format.FORMAT_JPEG;
case 2:
case "FORMAT_RAW":
return Image_Format.FORMAT_RAW;
case 3:
case "FORMAT_RLE":
return Image_Format.FORMAT_RLE;
case -1:
case "UNRECOGNIZED":
default:
return Image_Format.UNRECOGNIZED;
}
}
export function image_FormatToJSON(object: Image_Format): string {
switch (object) {
case Image_Format.FORMAT_UNKNOWN:
return "FORMAT_UNKNOWN";
case Image_Format.FORMAT_JPEG:
return "FORMAT_JPEG";
case Image_Format.FORMAT_RAW:
return "FORMAT_RAW";
case Image_Format.FORMAT_RLE:
return "FORMAT_RLE";
case Image_Format.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
export enum Image_PixelFormat {
/** PIXEL_FORMAT_UNKNOWN - Unspecified value -- should not be used. */
PIXEL_FORMAT_UNKNOWN = 0,
/** PIXEL_FORMAT_GREYSCALE_U8 - One byte per pixel. */
PIXEL_FORMAT_GREYSCALE_U8 = 1,
/** PIXEL_FORMAT_RGB_U8 - Three bytes per pixel. */
PIXEL_FORMAT_RGB_U8 = 3,
/** PIXEL_FORMAT_RGBA_U8 - Four bytes per pixel. */
PIXEL_FORMAT_RGBA_U8 = 4,
/** PIXEL_FORMAT_DEPTH_U16 - Little-endian uint16 z-distance from camera (mm). */
PIXEL_FORMAT_DEPTH_U16 = 5,
/** PIXEL_FORMAT_GREYSCALE_U16 - Two bytes per pixel. */
PIXEL_FORMAT_GREYSCALE_U16 = 6,
UNRECOGNIZED = -1,
}
export function image_PixelFormatFromJSON(object: any): Image_PixelFormat {
switch (object) {
case 0:
case "PIXEL_FORMAT_UNKNOWN":
return Image_PixelFormat.PIXEL_FORMAT_UNKNOWN;
case 1:
case "PIXEL_FORMAT_GREYSCALE_U8":
return Image_PixelFormat.PIXEL_FORMAT_GREYSCALE_U8;
case 3:
case "PIXEL_FORMAT_RGB_U8":
return Image_PixelFormat.PIXEL_FORMAT_RGB_U8;
case 4:
case "PIXEL_FORMAT_RGBA_U8":
return Image_PixelFormat.PIXEL_FORMAT_RGBA_U8;
case 5:
case "PIXEL_FORMAT_DEPTH_U16":
return Image_PixelFormat.PIXEL_FORMAT_DEPTH_U16;
case 6:
case "PIXEL_FORMAT_GREYSCALE_U16":
return Image_PixelFormat.PIXEL_FORMAT_GREYSCALE_U16;
case -1:
case "UNRECOGNIZED":
default:
return Image_PixelFormat.UNRECOGNIZED;
}
}
export function image_PixelFormatToJSON(object: Image_PixelFormat): string {
switch (object) {
case Image_PixelFormat.PIXEL_FORMAT_UNKNOWN:
return "PIXEL_FORMAT_UNKNOWN";
case Image_PixelFormat.PIXEL_FORMAT_GREYSCALE_U8:
return "PIXEL_FORMAT_GREYSCALE_U8";
case Image_PixelFormat.PIXEL_FORMAT_RGB_U8:
return "PIXEL_FORMAT_RGB_U8";
case Image_PixelFormat.PIXEL_FORMAT_RGBA_U8:
return "PIXEL_FORMAT_RGBA_U8";
case Image_PixelFormat.PIXEL_FORMAT_DEPTH_U16:
return "PIXEL_FORMAT_DEPTH_U16";
case Image_PixelFormat.PIXEL_FORMAT_GREYSCALE_U16:
return "PIXEL_FORMAT_GREYSCALE_U16";
case Image_PixelFormat.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** Sensor parameters associated with an image capture. */
export interface CaptureParameters {
/** The duration of exposure in microseconds. */
exposureDuration: Duration | undefined;
/** Sensor gain in dB. */
gain: number;
}
/** Rectangular color/greyscale images. */
export interface ImageCapture {
/** The time at which the image data was acquired in the robot's time basis. */
acquisitionTime: Date | undefined;
/**
* A tree-based collection of transformations, which will include the transformations to each image's
* sensor in addition to transformations to the common frames ("vision", "body", "odom").
* All transforms within the snapshot are at the acquistion time of the image.
*/
transformsSnapshot: FrameTreeSnapshot | undefined;
/** The frame name for the image's sensor source. This will be included in the transform snapshot. */
frameNameImageSensor: string;
/** Image data. */
image: Image | undefined;
/** Sensor parameters associated with this image capture. */
captureParams: CaptureParameters | undefined;
}
/** Proto for a description of an image source on the robot. */
export interface ImageSource {
/** The name of this image source used to get images. */
name: string;
/** Number of columns in the image (in pixels). */
cols: number;
/** Number of rows in the image (in pixels). */
rows: number;
/**
* For depth images, the pixel value that represents a depth of one meter.
* Depth in meters can be computed by dividing the raw pixel value by this scale factor.
*/
depthScale: number;
/** Rectilinear camera model. */
pinhole: ImageSource_PinholeModel | undefined;
/** The kind of images returned by this image source. */
imageType: ImageSource_ImageType;
/** The pixel formats a specific image source supports. */
pixelFormats: Image_PixelFormat[];
/** The image formats a specific image source supports. */
imageFormats: Image_Format[];
}
export enum ImageSource_ImageType {
/** IMAGE_TYPE_UNKNOWN - Unspecified image type. */
IMAGE_TYPE_UNKNOWN = 0,
/** IMAGE_TYPE_VISUAL - Color or greyscale intensity image. */
IMAGE_TYPE_VISUAL = 1,
/** IMAGE_TYPE_DEPTH - Pixel values represent distances to objects/surfaces. */
IMAGE_TYPE_DEPTH = 2,
UNRECOGNIZED = -1,
}
export function imageSource_ImageTypeFromJSON(
object: any
): ImageSource_ImageType {
switch (object) {
case 0:
case "IMAGE_TYPE_UNKNOWN":
return ImageSource_ImageType.IMAGE_TYPE_UNKNOWN;
case 1:
case "IMAGE_TYPE_VISUAL":
return ImageSource_ImageType.IMAGE_TYPE_VISUAL;
case 2:
case "IMAGE_TYPE_DEPTH":
return ImageSource_ImageType.IMAGE_TYPE_DEPTH;
case -1:
case "UNRECOGNIZED":
default:
return ImageSource_ImageType.UNRECOGNIZED;
}
}
export function imageSource_ImageTypeToJSON(
object: ImageSource_ImageType
): string {
switch (object) {
case ImageSource_ImageType.IMAGE_TYPE_UNKNOWN:
return "IMAGE_TYPE_UNKNOWN";
case ImageSource_ImageType.IMAGE_TYPE_VISUAL:
return "IMAGE_TYPE_VISUAL";
case ImageSource_ImageType.IMAGE_TYPE_DEPTH:
return "IMAGE_TYPE_DEPTH";
case ImageSource_ImageType.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/**
* The camera can be modeled as a pinhole camera described with a matrix.
* Camera Matrix can be constructed by the camera intrinsics:
* [[focal_length.x, skew.x, principal_point.x],
* [[ skew.y, focal_length.y, principal_point.y],
* [[ 0, 0, 1]]
*/
export interface ImageSource_PinholeModel {
/** The camera intrinsics are necessary for descrbing the pinhole camera matrix. */
intrinsics: ImageSource_PinholeModel_CameraIntrinsics | undefined;
}
/** Intrinsic parameters are in pixel space. */
export interface ImageSource_PinholeModel_CameraIntrinsics {
/** The focal length of the camera. */
focalLength: Vec2 | undefined;
/** The optical center in sensor coordinates. */
principalPoint: Vec2 | undefined;
/** The skew for the intrinsic matrix. */
skew: Vec2 | undefined;
}
/** The ListImageSources request message for the robot image service. */
export interface ListImageSourcesRequest {
/** Common request header. */
header: RequestHeader | undefined;
}
/** The ListImageSources response message which contains all known image sources for the robot. */
export interface ListImageSourcesResponse {
/** Common response Header. */
header: ResponseHeader | undefined;
/**
* The set of ImageSources available from this service.
* May be empty if the service serves no cameras (e.g., if no cameras were found on startup).
*/
imageSources: ImageSource[];
}
/** The image request specifying the image source and data format desired. */
export interface ImageRequest {
/** The string name of the image source to get image data from. */
imageSourceName: string;
/**
* Image quality: a number from 0 (worst) to 100 (highest).
* Note that jpeg quality 100 is still lossy.
*/
qualityPercent: number;
/**
* Specify the desired image encoding (e.g. JPEG, RAW). If no format is specified (e.g. FORMAT_UNKNOWN), the image
* service will choose the best format for the data.
*/
imageFormat: Image_Format;
/**
* Optional specification of the desired image dimensions.
* If the original image is 1920x1080, a resize_ratio of (2/3) will return an image with size 1280x720
* The range is clipped to [0.01, 1] while maintaining the original aspect ratio.
* For backwards compatibliity, a value of 0 means no resizing.
*/
resizeRatio: number;
/**
* Specify the desired pixel format (e.g. GREYSCALE_U8, RGB_U8). If no format is specified
* (e.g. PIXEL_FORMAT_UNKNOWN), the image service will choose the best format for the data.
*/
pixelFormat: Image_PixelFormat;
}
/** The GetImage request message which can send multiple different image source requests at once. */
export interface GetImageRequest {
/** Common request header. */
header: RequestHeader | undefined;
/** The different image requests for this rpc call. */
imageRequests: ImageRequest[];
}
/** The image response for each request, that includes image data and image source information. */
export interface ImageResponse {
/**
* The image capture contains the image data and information about the state of the camera and robot
* at the time the image was collected.
*/
shot: ImageCapture | undefined;
/** The source describes general information about the camera source the image data was collected from. */
source: ImageSource | undefined;
/** Return status of the request. */
status: ImageResponse_Status;
}
export enum ImageResponse_Status {
/**
* STATUS_UNKNOWN - UNKNOWN should never be used.
* An internal ImageService issue has happened if UNKNOWN is set.
* None of the other fields are filled out.
*/
STATUS_UNKNOWN = 0,
/** STATUS_OK - Call succeeded at filling out all the fields. */
STATUS_OK = 1,
/** STATUS_UNKNOWN_CAMERA - Image source name in request is unknown. Other fields are not filled out. */
STATUS_UNKNOWN_CAMERA = 2,
/** STATUS_SOURCE_DATA_ERROR - Failed to fill out ImageSource. All the other fields are not filled out. */
STATUS_SOURCE_DATA_ERROR = 3,
/** STATUS_IMAGE_DATA_ERROR - There was a problem with the image data. Only the ImageSource is filled out. */
STATUS_IMAGE_DATA_ERROR = 4,
/**
* STATUS_UNSUPPORTED_IMAGE_FORMAT_REQUESTED - The requested image format is unsupported for the image-source named. The image data will
* not be filled out. Note, if an image request has "FORMAT_UNKNOWN", the service should choose the
* best format to provide the data in.
*/
STATUS_UNSUPPORTED_IMAGE_FORMAT_REQUESTED = 5,
/**
* STATUS_UNSUPPORTED_PIXEL_FORMAT_REQUESTED - The requested pixel format is unsupported for the image-source named. The image data will
* not be filled out. Note, if an image request has "PIXEL_FORMAT_UNKNOWN", the service
* should choose the best format to provide the data in.
*/
STATUS_UNSUPPORTED_PIXEL_FORMAT_REQUESTED = 6,
/** STATUS_UNSUPPORTED_RESIZE_RATIO_REQUESTED - The requested ratio is out of bounds [0,1] or unsupported by the image service */
STATUS_UNSUPPORTED_RESIZE_RATIO_REQUESTED = 7,
UNRECOGNIZED = -1,
}
export function imageResponse_StatusFromJSON(
object: any
): ImageResponse_Status {
switch (object) {
case 0:
case "STATUS_UNKNOWN":
return ImageResponse_Status.STATUS_UNKNOWN;
case 1:
case "STATUS_OK":
return ImageResponse_Status.STATUS_OK;
case 2:
case "STATUS_UNKNOWN_CAMERA":
return ImageResponse_Status.STATUS_UNKNOWN_CAMERA;
case 3:
case "STATUS_SOURCE_DATA_ERROR":
return ImageResponse_Status.STATUS_SOURCE_DATA_ERROR;
case 4:
case "STATUS_IMAGE_DATA_ERROR":
return ImageResponse_Status.STATUS_IMAGE_DATA_ERROR;
case 5:
case "STATUS_UNSUPPORTED_IMAGE_FORMAT_REQUESTED":
return ImageResponse_Status.STATUS_UNSUPPORTED_IMAGE_FORMAT_REQUESTED;
case 6:
case "STATUS_UNSUPPORTED_PIXEL_FORMAT_REQUESTED":
return ImageResponse_Status.STATUS_UNSUPPORTED_PIXEL_FORMAT_REQUESTED;
case 7:
case "STATUS_UNSUPPORTED_RESIZE_RATIO_REQUESTED":
return ImageResponse_Status.STATUS_UNSUPPORTED_RESIZE_RATIO_REQUESTED;
case -1:
case "UNRECOGNIZED":
default:
return ImageResponse_Status.UNRECOGNIZED;
}
}
export function imageResponse_StatusToJSON(
object: ImageResponse_Status
): string {
switch (object) {
case ImageResponse_Status.STATUS_UNKNOWN:
return "STATUS_UNKNOWN";
case ImageResponse_Status.STATUS_OK:
return "STATUS_OK";
case ImageResponse_Status.STATUS_UNKNOWN_CAMERA:
return "STATUS_UNKNOWN_CAMERA";
case ImageResponse_Status.STATUS_SOURCE_DATA_ERROR:
return "STATUS_SOURCE_DATA_ERROR";
case ImageResponse_Status.STATUS_IMAGE_DATA_ERROR:
return "STATUS_IMAGE_DATA_ERROR";
case ImageResponse_Status.STATUS_UNSUPPORTED_IMAGE_FORMAT_REQUESTED:
return "STATUS_UNSUPPORTED_IMAGE_FORMAT_REQUESTED";
case ImageResponse_Status.STATUS_UNSUPPORTED_PIXEL_FORMAT_REQUESTED:
return "STATUS_UNSUPPORTED_PIXEL_FORMAT_REQUESTED";
case ImageResponse_Status.STATUS_UNSUPPORTED_RESIZE_RATIO_REQUESTED:
return "STATUS_UNSUPPORTED_RESIZE_RATIO_REQUESTED";
case ImageResponse_Status.UNRECOGNIZED:
default:
return "UNRECOGNIZED";
}
}
/** The GetImage response message which includes image data for all requested sources. */
export interface GetImageResponse {
/** Common response header. */
header: ResponseHeader | undefined;
/** The ordering of these image responses is defined by the order of the ImageRequests. */
imageResponses: ImageResponse[];
}
function createBaseImage(): Image {
return {
cols: 0,
rows: 0,
data: new Uint8Array(),
format: 0,
pixelFormat: 0,
};
}
export const Image = {
encode(message: Image, writer: _m0.Writer = _m0.Writer.create()): _m0.Writer {
if (message.cols !== 0) {
writer.uint32(16).int32(message.cols);
}
if (message.rows !== 0) {
writer.uint32(24).int32(message.rows);
}
if (message.data.length !== 0) {
writer.uint32(34).bytes(message.data);
}
if (message.format !== 0) {
writer.uint32(40).int32(message.format);
}
if (message.pixelFormat !== 0) {
writer.uint32(48).int32(message.pixelFormat);
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): Image {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseImage();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 2:
message.cols = reader.int32();
break;
case 3:
message.rows = reader.int32();
break;
case 4:
message.data = reader.bytes();
break;
case 5:
message.format = reader.int32() as any;
break;
case 6:
message.pixelFormat = reader.int32() as any;
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): Image {
return {
cols: isSet(object.cols) ? Number(object.cols) : 0,
rows: isSet(object.rows) ? Number(object.rows) : 0,
data: isSet(object.data)
? bytesFromBase64(object.data)
: new Uint8Array(),
format: isSet(object.format) ? image_FormatFromJSON(object.format) : 0,
pixelFormat: isSet(object.pixelFormat)
? image_PixelFormatFromJSON(object.pixelFormat)
: 0,
};
},
toJSON(message: Image): unknown {
const obj: any = {};
message.cols !== undefined && (obj.cols = Math.round(message.cols));
message.rows !== undefined && (obj.rows = Math.round(message.rows));
message.data !== undefined &&
(obj.data = base64FromBytes(
message.data !== undefined ? message.data : new Uint8Array()
));
message.format !== undefined &&
(obj.format = image_FormatToJSON(message.format));
message.pixelFormat !== undefined &&
(obj.pixelFormat = image_PixelFormatToJSON(message.pixelFormat));
return obj;
},
fromPartial<I extends Exact<DeepPartial<Image>, I>>(object: I): Image {
const message = createBaseImage();
message.cols = object.cols ?? 0;
message.rows = object.rows ?? 0;
message.data = object.data ?? new Uint8Array();
message.format = object.format ?? 0;
message.pixelFormat = object.pixelFormat ?? 0;
return message;
},
};
function createBaseCaptureParameters(): CaptureParameters {
return { exposureDuration: undefined, gain: 0 };
}
export const CaptureParameters = {
encode(
message: CaptureParameters,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.exposureDuration !== undefined) {
Duration.encode(
message.exposureDuration,
writer.uint32(10).fork()
).ldelim();
}
if (message.gain !== 0) {
writer.uint32(17).double(message.gain);
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): CaptureParameters {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseCaptureParameters();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.exposureDuration = Duration.decode(reader, reader.uint32());
break;
case 2:
message.gain = reader.double();
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): CaptureParameters {
return {
exposureDuration: isSet(object.exposureDuration)
? Duration.fromJSON(object.exposureDuration)
: undefined,
gain: isSet(object.gain) ? Number(object.gain) : 0,
};
},
toJSON(message: CaptureParameters): unknown {
const obj: any = {};
message.exposureDuration !== undefined &&
(obj.exposureDuration = message.exposureDuration
? Duration.toJSON(message.exposureDuration)
: undefined);
message.gain !== undefined && (obj.gain = message.gain);
return obj;
},
fromPartial<I extends Exact<DeepPartial<CaptureParameters>, I>>(
object: I
): CaptureParameters {
const message = createBaseCaptureParameters();
message.exposureDuration =
object.exposureDuration !== undefined && object.exposureDuration !== null
? Duration.fromPartial(object.exposureDuration)
: undefined;
message.gain = object.gain ?? 0;
return message;
},
};
function createBaseImageCapture(): ImageCapture {
return {
acquisitionTime: undefined,
transformsSnapshot: undefined,
frameNameImageSensor: "",
image: undefined,
captureParams: undefined,
};
}
export const ImageCapture = {
encode(
message: ImageCapture,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.acquisitionTime !== undefined) {
Timestamp.encode(
toTimestamp(message.acquisitionTime),
writer.uint32(242).fork()
).ldelim();
}
if (message.transformsSnapshot !== undefined) {
FrameTreeSnapshot.encode(
message.transformsSnapshot,
writer.uint32(250).fork()
).ldelim();
}
if (message.frameNameImageSensor !== "") {
writer.uint32(42).string(message.frameNameImageSensor);
}
if (message.image !== undefined) {
Image.encode(message.image, writer.uint32(26).fork()).ldelim();
}
if (message.captureParams !== undefined) {
CaptureParameters.encode(
message.captureParams,
writer.uint32(34).fork()
).ldelim();
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): ImageCapture {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseImageCapture();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 30:
message.acquisitionTime = fromTimestamp(
Timestamp.decode(reader, reader.uint32())
);
break;
case 31:
message.transformsSnapshot = FrameTreeSnapshot.decode(
reader,
reader.uint32()
);
break;
case 5:
message.frameNameImageSensor = reader.string();
break;
case 3:
message.image = Image.decode(reader, reader.uint32());
break;
case 4:
message.captureParams = CaptureParameters.decode(
reader,
reader.uint32()
);
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): ImageCapture {
return {
acquisitionTime: isSet(object.acquisitionTime)
? fromJsonTimestamp(object.acquisitionTime)
: undefined,
transformsSnapshot: isSet(object.transformsSnapshot)
? FrameTreeSnapshot.fromJSON(object.transformsSnapshot)
: undefined,
frameNameImageSensor: isSet(object.frameNameImageSensor)
? String(object.frameNameImageSensor)
: "",
image: isSet(object.image) ? Image.fromJSON(object.image) : undefined,
captureParams: isSet(object.captureParams)
? CaptureParameters.fromJSON(object.captureParams)
: undefined,
};
},
toJSON(message: ImageCapture): unknown {
const obj: any = {};
message.acquisitionTime !== undefined &&
(obj.acquisitionTime = message.acquisitionTime.toISOString());
message.transformsSnapshot !== undefined &&
(obj.transformsSnapshot = message.transformsSnapshot
? FrameTreeSnapshot.toJSON(message.transformsSnapshot)
: undefined);
message.frameNameImageSensor !== undefined &&
(obj.frameNameImageSensor = message.frameNameImageSensor);
message.image !== undefined &&
(obj.image = message.image ? Image.toJSON(message.image) : undefined);
message.captureParams !== undefined &&
(obj.captureParams = message.captureParams
? CaptureParameters.toJSON(message.captureParams)
: undefined);
return obj;
},
fromPartial<I extends Exact<DeepPartial<ImageCapture>, I>>(
object: I
): ImageCapture {
const message = createBaseImageCapture();
message.acquisitionTime = object.acquisitionTime ?? undefined;
message.transformsSnapshot =
object.transformsSnapshot !== undefined &&
object.transformsSnapshot !== null
? FrameTreeSnapshot.fromPartial(object.transformsSnapshot)
: undefined;
message.frameNameImageSensor = object.frameNameImageSensor ?? "";
message.image =
object.image !== undefined && object.image !== null
? Image.fromPartial(object.image)
: undefined;
message.captureParams =
object.captureParams !== undefined && object.captureParams !== null
? CaptureParameters.fromPartial(object.captureParams)
: undefined;
return message;
},
};
function createBaseImageSource(): ImageSource {
return {
name: "",
cols: 0,
rows: 0,
depthScale: 0,
pinhole: undefined,
imageType: 0,
pixelFormats: [],
imageFormats: [],
};
}
export const ImageSource = {
encode(
message: ImageSource,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.name !== "") {
writer.uint32(18).string(message.name);
}
if (message.cols !== 0) {
writer.uint32(32).int32(message.cols);
}
if (message.rows !== 0) {
writer.uint32(40).int32(message.rows);
}
if (message.depthScale !== 0) {
writer.uint32(49).double(message.depthScale);
}
if (message.pinhole !== undefined) {
ImageSource_PinholeModel.encode(
message.pinhole,
writer.uint32(66).fork()
).ldelim();
}
if (message.imageType !== 0) {
writer.uint32(72).int32(message.imageType);
}
writer.uint32(82).fork();
for (const v of message.pixelFormats) {
writer.int32(v);
}
writer.ldelim();
writer.uint32(90).fork();
for (const v of message.imageFormats) {
writer.int32(v);
}
writer.ldelim();
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): ImageSource {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseImageSource();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 2:
message.name = reader.string();
break;
case 4:
message.cols = reader.int32();
break;
case 5:
message.rows = reader.int32();
break;
case 6:
message.depthScale = reader.double();
break;
case 8:
message.pinhole = ImageSource_PinholeModel.decode(
reader,
reader.uint32()
);
break;
case 9:
message.imageType = reader.int32() as any;
break;
case 10:
if ((tag & 7) === 2) {
const end2 = reader.uint32() + reader.pos;
while (reader.pos < end2) {
message.pixelFormats.push(reader.int32() as any);
}
} else {
message.pixelFormats.push(reader.int32() as any);
}
break;
case 11:
if ((tag & 7) === 2) {
const end2 = reader.uint32() + reader.pos;
while (reader.pos < end2) {
message.imageFormats.push(reader.int32() as any);
}
} else {
message.imageFormats.push(reader.int32() as any);
}
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): ImageSource {
return {
name: isSet(object.name) ? String(object.name) : "",
cols: isSet(object.cols) ? Number(object.cols) : 0,
rows: isSet(object.rows) ? Number(object.rows) : 0,
depthScale: isSet(object.depthScale) ? Number(object.depthScale) : 0,
pinhole: isSet(object.pinhole)
? ImageSource_PinholeModel.fromJSON(object.pinhole)
: undefined,
imageType: isSet(object.imageType)
? imageSource_ImageTypeFromJSON(object.imageType)
: 0,
pixelFormats: Array.isArray(object?.pixelFormats)
? object.pixelFormats.map((e: any) => image_PixelFormatFromJSON(e))
: [],
imageFormats: Array.isArray(object?.imageFormats)
? object.imageFormats.map((e: any) => image_FormatFromJSON(e))
: [],
};
},
toJSON(message: ImageSource): unknown {
const obj: any = {};
message.name !== undefined && (obj.name = message.name);
message.cols !== undefined && (obj.cols = Math.round(message.cols));
message.rows !== undefined && (obj.rows = Math.round(message.rows));
message.depthScale !== undefined && (obj.depthScale = message.depthScale);
message.pinhole !== undefined &&
(obj.pinhole = message.pinhole
? ImageSource_PinholeModel.toJSON(message.pinhole)
: undefined);
message.imageType !== undefined &&
(obj.imageType = imageSource_ImageTypeToJSON(message.imageType));
if (message.pixelFormats) {
obj.pixelFormats = message.pixelFormats.map((e) =>
image_PixelFormatToJSON(e)
);
} else {
obj.pixelFormats = [];
}
if (message.imageFormats) {
obj.imageFormats = message.imageFormats.map((e) => image_FormatToJSON(e));
} else {
obj.imageFormats = [];
}
return obj;
},
fromPartial<I extends Exact<DeepPartial<ImageSource>, I>>(
object: I
): ImageSource {
const message = createBaseImageSource();
message.name = object.name ?? "";
message.cols = object.cols ?? 0;
message.rows = object.rows ?? 0;
message.depthScale = object.depthScale ?? 0;
message.pinhole =
object.pinhole !== undefined && object.pinhole !== null
? ImageSource_PinholeModel.fromPartial(object.pinhole)
: undefined;
message.imageType = object.imageType ?? 0;
message.pixelFormats = object.pixelFormats?.map((e) => e) || [];
message.imageFormats = object.imageFormats?.map((e) => e) || [];
return message;
},
};
function createBaseImageSource_PinholeModel(): ImageSource_PinholeModel {
return { intrinsics: undefined };
}
export const ImageSource_PinholeModel = {
encode(
message: ImageSource_PinholeModel,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.intrinsics !== undefined) {
ImageSource_PinholeModel_CameraIntrinsics.encode(
message.intrinsics,
writer.uint32(10).fork()
).ldelim();
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): ImageSource_PinholeModel {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseImageSource_PinholeModel();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.intrinsics = ImageSource_PinholeModel_CameraIntrinsics.decode(
reader,
reader.uint32()
);
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): ImageSource_PinholeModel {
return {
intrinsics: isSet(object.intrinsics)
? ImageSource_PinholeModel_CameraIntrinsics.fromJSON(object.intrinsics)
: undefined,
};
},
toJSON(message: ImageSource_PinholeModel): unknown {
const obj: any = {};
message.intrinsics !== undefined &&
(obj.intrinsics = message.intrinsics
? ImageSource_PinholeModel_CameraIntrinsics.toJSON(message.intrinsics)
: undefined);
return obj;
},
fromPartial<I extends Exact<DeepPartial<ImageSource_PinholeModel>, I>>(
object: I
): ImageSource_PinholeModel {
const message = createBaseImageSource_PinholeModel();
message.intrinsics =
object.intrinsics !== undefined && object.intrinsics !== null
? ImageSource_PinholeModel_CameraIntrinsics.fromPartial(
object.intrinsics
)
: undefined;
return message;
},
};
function createBaseImageSource_PinholeModel_CameraIntrinsics(): ImageSource_PinholeModel_CameraIntrinsics {
return { focalLength: undefined, principalPoint: undefined, skew: undefined };
}
export const ImageSource_PinholeModel_CameraIntrinsics = {
encode(
message: ImageSource_PinholeModel_CameraIntrinsics,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.focalLength !== undefined) {
Vec2.encode(message.focalLength, writer.uint32(10).fork()).ldelim();
}
if (message.principalPoint !== undefined) {
Vec2.encode(message.principalPoint, writer.uint32(18).fork()).ldelim();
}
if (message.skew !== undefined) {
Vec2.encode(message.skew, writer.uint32(26).fork()).ldelim();
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): ImageSource_PinholeModel_CameraIntrinsics {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseImageSource_PinholeModel_CameraIntrinsics();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.focalLength = Vec2.decode(reader, reader.uint32());
break;
case 2:
message.principalPoint = Vec2.decode(reader, reader.uint32());
break;
case 3:
message.skew = Vec2.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): ImageSource_PinholeModel_CameraIntrinsics {
return {
focalLength: isSet(object.focalLength)
? Vec2.fromJSON(object.focalLength)
: undefined,
principalPoint: isSet(object.principalPoint)
? Vec2.fromJSON(object.principalPoint)
: undefined,
skew: isSet(object.skew) ? Vec2.fromJSON(object.skew) : undefined,
};
},
toJSON(message: ImageSource_PinholeModel_CameraIntrinsics): unknown {
const obj: any = {};
message.focalLength !== undefined &&
(obj.focalLength = message.focalLength
? Vec2.toJSON(message.focalLength)
: undefined);
message.principalPoint !== undefined &&
(obj.principalPoint = message.principalPoint
? Vec2.toJSON(message.principalPoint)
: undefined);
message.skew !== undefined &&
(obj.skew = message.skew ? Vec2.toJSON(message.skew) : undefined);
return obj;
},
fromPartial<
I extends Exact<DeepPartial<ImageSource_PinholeModel_CameraIntrinsics>, I>
>(object: I): ImageSource_PinholeModel_CameraIntrinsics {
const message = createBaseImageSource_PinholeModel_CameraIntrinsics();
message.focalLength =
object.focalLength !== undefined && object.focalLength !== null
? Vec2.fromPartial(object.focalLength)
: undefined;
message.principalPoint =
object.principalPoint !== undefined && object.principalPoint !== null
? Vec2.fromPartial(object.principalPoint)
: undefined;
message.skew =
object.skew !== undefined && object.skew !== null
? Vec2.fromPartial(object.skew)
: undefined;
return message;
},
};
function createBaseListImageSourcesRequest(): ListImageSourcesRequest {
return { header: undefined };
}
export const ListImageSourcesRequest = {
encode(
message: ListImageSourcesRequest,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): ListImageSourcesRequest {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseListImageSourcesRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = RequestHeader.decode(reader, reader.uint32());
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): ListImageSourcesRequest {
return {
header: isSet(object.header)
? RequestHeader.fromJSON(object.header)
: undefined,
};
},
toJSON(message: ListImageSourcesRequest): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? RequestHeader.toJSON(message.header)
: undefined);
return obj;
},
fromPartial<I extends Exact<DeepPartial<ListImageSourcesRequest>, I>>(
object: I
): ListImageSourcesRequest {
const message = createBaseListImageSourcesRequest();
message.header =
object.header !== undefined && object.header !== null
? RequestHeader.fromPartial(object.header)
: undefined;
return message;
},
};
function createBaseListImageSourcesResponse(): ListImageSourcesResponse {
return { header: undefined, imageSources: [] };
}
export const ListImageSourcesResponse = {
encode(
message: ListImageSourcesResponse,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
ResponseHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
for (const v of message.imageSources) {
ImageSource.encode(v!, writer.uint32(18).fork()).ldelim();
}
return writer;
},
decode(
input: _m0.Reader | Uint8Array,
length?: number
): ListImageSourcesResponse {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseListImageSourcesResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = ResponseHeader.decode(reader, reader.uint32());
break;
case 2:
message.imageSources.push(
ImageSource.decode(reader, reader.uint32())
);
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): ListImageSourcesResponse {
return {
header: isSet(object.header)
? ResponseHeader.fromJSON(object.header)
: undefined,
imageSources: Array.isArray(object?.imageSources)
? object.imageSources.map((e: any) => ImageSource.fromJSON(e))
: [],
};
},
toJSON(message: ListImageSourcesResponse): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? ResponseHeader.toJSON(message.header)
: undefined);
if (message.imageSources) {
obj.imageSources = message.imageSources.map((e) =>
e ? ImageSource.toJSON(e) : undefined
);
} else {
obj.imageSources = [];
}
return obj;
},
fromPartial<I extends Exact<DeepPartial<ListImageSourcesResponse>, I>>(
object: I
): ListImageSourcesResponse {
const message = createBaseListImageSourcesResponse();
message.header =
object.header !== undefined && object.header !== null
? ResponseHeader.fromPartial(object.header)
: undefined;
message.imageSources =
object.imageSources?.map((e) => ImageSource.fromPartial(e)) || [];
return message;
},
};
function createBaseImageRequest(): ImageRequest {
return {
imageSourceName: "",
qualityPercent: 0,
imageFormat: 0,
resizeRatio: 0,
pixelFormat: 0,
};
}
export const ImageRequest = {
encode(
message: ImageRequest,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.imageSourceName !== "") {
writer.uint32(10).string(message.imageSourceName);
}
if (message.qualityPercent !== 0) {
writer.uint32(17).double(message.qualityPercent);
}
if (message.imageFormat !== 0) {
writer.uint32(24).int32(message.imageFormat);
}
if (message.resizeRatio !== 0) {
writer.uint32(33).double(message.resizeRatio);
}
if (message.pixelFormat !== 0) {
writer.uint32(40).int32(message.pixelFormat);
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): ImageRequest {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseImageRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.imageSourceName = reader.string();
break;
case 2:
message.qualityPercent = reader.double();
break;
case 3:
message.imageFormat = reader.int32() as any;
break;
case 4:
message.resizeRatio = reader.double();
break;
case 5:
message.pixelFormat = reader.int32() as any;
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): ImageRequest {
return {
imageSourceName: isSet(object.imageSourceName)
? String(object.imageSourceName)
: "",
qualityPercent: isSet(object.qualityPercent)
? Number(object.qualityPercent)
: 0,
imageFormat: isSet(object.imageFormat)
? image_FormatFromJSON(object.imageFormat)
: 0,
resizeRatio: isSet(object.resizeRatio) ? Number(object.resizeRatio) : 0,
pixelFormat: isSet(object.pixelFormat)
? image_PixelFormatFromJSON(object.pixelFormat)
: 0,
};
},
toJSON(message: ImageRequest): unknown {
const obj: any = {};
message.imageSourceName !== undefined &&
(obj.imageSourceName = message.imageSourceName);
message.qualityPercent !== undefined &&
(obj.qualityPercent = message.qualityPercent);
message.imageFormat !== undefined &&
(obj.imageFormat = image_FormatToJSON(message.imageFormat));
message.resizeRatio !== undefined &&
(obj.resizeRatio = message.resizeRatio);
message.pixelFormat !== undefined &&
(obj.pixelFormat = image_PixelFormatToJSON(message.pixelFormat));
return obj;
},
fromPartial<I extends Exact<DeepPartial<ImageRequest>, I>>(
object: I
): ImageRequest {
const message = createBaseImageRequest();
message.imageSourceName = object.imageSourceName ?? "";
message.qualityPercent = object.qualityPercent ?? 0;
message.imageFormat = object.imageFormat ?? 0;
message.resizeRatio = object.resizeRatio ?? 0;
message.pixelFormat = object.pixelFormat ?? 0;
return message;
},
};
function createBaseGetImageRequest(): GetImageRequest {
return { header: undefined, imageRequests: [] };
}
export const GetImageRequest = {
encode(
message: GetImageRequest,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
RequestHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
for (const v of message.imageRequests) {
ImageRequest.encode(v!, writer.uint32(18).fork()).ldelim();
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): GetImageRequest {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetImageRequest();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = RequestHeader.decode(reader, reader.uint32());
break;
case 2:
message.imageRequests.push(
ImageRequest.decode(reader, reader.uint32())
);
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): GetImageRequest {
return {
header: isSet(object.header)
? RequestHeader.fromJSON(object.header)
: undefined,
imageRequests: Array.isArray(object?.imageRequests)
? object.imageRequests.map((e: any) => ImageRequest.fromJSON(e))
: [],
};
},
toJSON(message: GetImageRequest): unknown {
const obj: any = {};
message.header !== undefined &&
(obj.header = message.header
? RequestHeader.toJSON(message.header)
: undefined);
if (message.imageRequests) {
obj.imageRequests = message.imageRequests.map((e) =>
e ? ImageRequest.toJSON(e) : undefined
);
} else {
obj.imageRequests = [];
}
return obj;
},
fromPartial<I extends Exact<DeepPartial<GetImageRequest>, I>>(
object: I
): GetImageRequest {
const message = createBaseGetImageRequest();
message.header =
object.header !== undefined && object.header !== null
? RequestHeader.fromPartial(object.header)
: undefined;
message.imageRequests =
object.imageRequests?.map((e) => ImageRequest.fromPartial(e)) || [];
return message;
},
};
function createBaseImageResponse(): ImageResponse {
return { shot: undefined, source: undefined, status: 0 };
}
export const ImageResponse = {
encode(
message: ImageResponse,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.shot !== undefined) {
ImageCapture.encode(message.shot, writer.uint32(10).fork()).ldelim();
}
if (message.source !== undefined) {
ImageSource.encode(message.source, writer.uint32(18).fork()).ldelim();
}
if (message.status !== 0) {
writer.uint32(32).int32(message.status);
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): ImageResponse {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseImageResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.shot = ImageCapture.decode(reader, reader.uint32());
break;
case 2:
message.source = ImageSource.decode(reader, reader.uint32());
break;
case 4:
message.status = reader.int32() as any;
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): ImageResponse {
return {
shot: isSet(object.shot) ? ImageCapture.fromJSON(object.shot) : undefined,
source: isSet(object.source)
? ImageSource.fromJSON(object.source)
: undefined,
status: isSet(object.status)
? imageResponse_StatusFromJSON(object.status)
: 0,
};
},
toJSON(message: ImageResponse): unknown {
const obj: any = {};
message.shot !== undefined &&
(obj.shot = message.shot ? ImageCapture.toJSON(message.shot) : undefined);
message.source !== undefined &&
(obj.source = message.source
? ImageSource.toJSON(message.source)
: undefined);
message.status !== undefined &&
(obj.status = imageResponse_StatusToJSON(message.status));
return obj;
},
fromPartial<I extends Exact<DeepPartial<ImageResponse>, I>>(
object: I
): ImageResponse {
const message = createBaseImageResponse();
message.shot =
object.shot !== undefined && object.shot !== null
? ImageCapture.fromPartial(object.shot)
: undefined;
message.source =
object.source !== undefined && object.source !== null
? ImageSource.fromPartial(object.source)
: undefined;
message.status = object.status ?? 0;
return message;
},
};
function createBaseGetImageResponse(): GetImageResponse {
return { header: undefined, imageResponses: [] };
}
export const GetImageResponse = {
encode(
message: GetImageResponse,
writer: _m0.Writer = _m0.Writer.create()
): _m0.Writer {
if (message.header !== undefined) {
ResponseHeader.encode(message.header, writer.uint32(10).fork()).ldelim();
}
for (const v of message.imageResponses) {
ImageResponse.encode(v!, writer.uint32(18).fork()).ldelim();
}
return writer;
},
decode(input: _m0.Reader | Uint8Array, length?: number): GetImageResponse {
const reader = input instanceof _m0.Reader ? input : new _m0.Reader(input);
let end = length === undefined ? reader.len : reader.pos + length;
const message = createBaseGetImageResponse();
while (reader.pos < end) {
const tag = reader.uint32();
switch (tag >>> 3) {
case 1:
message.header = ResponseHeader.decode(reader, reader.uint32());
break;
case 2:
message.imageResponses.push(
ImageResponse.decode(reader, reader.uint32())
);
break;
default:
reader.skipType(tag & 7);
break;
}
}
return message;
},
fromJSON(object: any): GetImageResponse {
return {
header: isSet(object.header)
? ResponseHeader.fromJSON(object.header)
: undefined,
imageResponses: Array.isArray(object?.imageResponses)
? object.imageResponses.map((e: any) => ImageResponse.fromJSON(e))
: [],
};
},
toJSON(message: GetImageResponse): unknown {
const obj: any = {};
message.header !==