import { Vec2, SE3Pose } from "../geometry"; import _m0 from "protobufjs/minimal"; export declare const protobufPackage = "bosdyn.api.spot_cam"; export interface Camera { /** Identifier for the camera. */ name: string; /** Resolution of the sensor, where x = width and y = height. */ resolution: Vec2 | undefined; /** * The frame name for the parent frame of this camera. This frame will show up in the FrameTreeSnapshot * grabbed from the payload registration service. */ baseFrameName: string; /** * 'base_tfrom_sensor' defines the transform from the specific camera to the named base from. * This is deprecated in favor of 'base_tform_sensor' which follows the intended naming convention * and FrameTree directionality convention of the Spot system as defined in geometry.proto. * * @deprecated */ baseTfromSensor: SE3Pose | undefined; /** The transform from the named base frame to this specific camera */ baseTformSensor: SE3Pose | undefined; /** Physical cameras */ pinhole: Camera_PinholeIntrinsics | undefined; /** Only synthetic spherical panoramas */ spherical: Camera_SphericalLimits | undefined; } export interface Camera_PinholeIntrinsics { /** Focal_length in pixels */ focalLength: Vec2 | undefined; /** Center point in pixels */ centerPoint: Vec2 | undefined; /** * The following 4 parameters are radial distortion coefficeints to 4 orders. * See: https://en.wikipedia.org/wiki/Distortion_(optics)#Software_correction * If all 4 of these values are 0, do not apply any correction. */ k1: number; k2: number; k3: number; k4: number; } /** * Spherical limits are the minimum and maximum angle of the image. * IE the upper left pixel is at min_angle.x, min_angle.y * and the lower right pixel is at max_angle.x, max_angle.y * for a full-FOV image this will be (-180, 90) and (180, -90) */ export interface Camera_SphericalLimits { minAngle: Vec2 | undefined; maxAngle: Vec2 | undefined; } export declare const Camera: { encode(message: Camera, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Camera; fromJSON(object: any): Camera; toJSON(message: Camera): unknown; fromPartial]: never; }) | undefined; baseFrameName?: string | undefined; baseTfromSensor?: ({ position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } & { position?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_1 in Exclude]: never; }) | undefined; rotation?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } & { [K_2 in Exclude]: never; }) | undefined; } & { [K_3 in Exclude]: never; }) | undefined; baseTformSensor?: ({ position?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; } | undefined; rotation?: { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } | undefined; } & { position?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; } & { [K_4 in Exclude]: never; }) | undefined; rotation?: ({ x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } & { x?: number | undefined; y?: number | undefined; z?: number | undefined; w?: number | undefined; } & { [K_5 in Exclude]: never; }) | undefined; } & { [K_6 in Exclude]: never; }) | undefined; pinhole?: ({ focalLength?: { x?: number | undefined; y?: number | undefined; } | undefined; centerPoint?: { x?: number | undefined; y?: number | undefined; } | undefined; k1?: number | undefined; k2?: number | undefined; k3?: number | undefined; k4?: number | undefined; } & { focalLength?: ({ x?: number | undefined; y?: number | undefined; } & { x?: number | undefined; y?: number | undefined; } & { [K_7 in Exclude]: never; }) | undefined; centerPoint?: ({ x?: number | undefined; y?: number | undefined; } & { x?: number | undefined; y?: number | undefined; } & { [K_8 in Exclude]: never; }) | undefined; k1?: number | undefined; k2?: number | undefined; k3?: number | undefined; k4?: number | undefined; } & { [K_9 in Exclude]: never; }) | undefined; spherical?: ({ minAngle?: { x?: number | undefined; y?: number | undefined; } | undefined; maxAngle?: { x?: number | undefined; y?: number | undefined; } | undefined; } & { minAngle?: ({ x?: number | undefined; y?: number | undefined; } & { x?: number | undefined; y?: number | undefined; } & { [K_10 in Exclude]: never; }) | undefined; maxAngle?: ({ x?: number | undefined; y?: number | undefined; } & { x?: number | undefined; y?: number | undefined; } & { [K_11 in Exclude]: never; }) | undefined; } & { [K_12 in Exclude]: never; }) | undefined; } & { [K_13 in Exclude]: never; }>(object: I): Camera; }; export declare const Camera_PinholeIntrinsics: { encode(message: Camera_PinholeIntrinsics, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Camera_PinholeIntrinsics; fromJSON(object: any): Camera_PinholeIntrinsics; toJSON(message: Camera_PinholeIntrinsics): unknown; fromPartial]: never; }) | undefined; centerPoint?: ({ x?: number | undefined; y?: number | undefined; } & { x?: number | undefined; y?: number | undefined; } & { [K_1 in Exclude]: never; }) | undefined; k1?: number | undefined; k2?: number | undefined; k3?: number | undefined; k4?: number | undefined; } & { [K_2 in Exclude]: never; }>(object: I): Camera_PinholeIntrinsics; }; export declare const Camera_SphericalLimits: { encode(message: Camera_SphericalLimits, writer?: _m0.Writer): _m0.Writer; decode(input: _m0.Reader | Uint8Array, length?: number): Camera_SphericalLimits; fromJSON(object: any): Camera_SphericalLimits; toJSON(message: Camera_SphericalLimits): unknown; fromPartial]: never; }) | undefined; maxAngle?: ({ x?: number | undefined; y?: number | undefined; } & { x?: number | undefined; y?: number | undefined; } & { [K_1 in Exclude]: never; }) | undefined; } & { [K_2 in Exclude]: never; }>(object: I): Camera_SphericalLimits; }; declare type Builtin = Date | Function | Uint8Array | string | number | boolean | undefined; export declare type DeepPartial = T extends Builtin ? T : T extends Array ? Array> : T extends ReadonlyArray ? ReadonlyArray> : T extends {} ? { [K in keyof T]?: DeepPartial; } : Partial; declare type KeysOfUnion = T extends T ? keyof T : never; export declare type Exact = P extends Builtin ? P : P & { [K in keyof P]: Exact; } & { [K in Exclude>]: never; }; export {}; //# sourceMappingURL=camera.d.ts.map