UNPKG

ts-onvif

Version:

Client to ONVIF NVT devices

193 lines (192 loc) 8.74 kB
import { ReferenceToken } from './common'; import { Name, FloatRange, Capabilities } from './onvif'; export type Polarity = 'WhiteHot' | 'BlackHot'; /** * Describes standard Color Palette types, used to facilitate Multi-language support and client display. * "Custom" Type shall be used when Color Palette Name does not match any of the types included in the standard classification. */ export type ColorPaletteType = 'Custom' | 'Grayscale' | 'BlackHot' | 'WhiteHot' | 'Sepia' | 'Red' | 'Iron' | 'Rain' | 'Rainbow' | 'Isotherm'; /** Describes a Color Palette element. */ export interface ColorPalette { /** Unique identifier of this Color Palette. */ token: ReferenceToken; /** * Indicates Color Palette Type. Use tth:ColorPaletteType. * Used for multi-language support and display. */ type: string; /** User readable Color Palette name. */ name: Name; [key: string]: unknown; } /** Type describing a NUC Table element. */ export interface NUCTable { /** Unique identifier of this NUC Table. */ token: ReferenceToken; /** Low Temperature limit for application of NUC Table, in Kelvin. */ lowTemperature?: number; /** High Temperature limit for application of NUC Table, in Kelvin. */ highTemperature?: number; /** User reabable name for the Non-Uniformity Correction (NUC) Table. */ name: Name; [key: string]: unknown; } /** Type describing the Cooler settings. */ export interface Cooler { /** Indicates whether the Cooler is enabled (running) or not. */ enabled: boolean; /** Number of hours the Cooler has been running (unit: hours). Read-only. */ runTime?: number; [key: string]: unknown; } /** * Describes valid ranges for the thermal device cooler settings. * Only applicable to cooled thermal devices. */ export interface CoolerOptions { /** Indicates the Device allows cooler status to be changed from running (Enabled) to stopped (Disabled), and viceversa. */ enabled?: boolean; [key: string]: unknown; } /** * Holds default values that will be used in measurement modules when local parameters are not specified for the module (these are still required for valid temperature calculations). * Having ReflectedAmbientTemperature, Emissivity and DistanceToObject as mandatory ensures minimum parameters are available to obtain valid temperature values. */ export interface RadiometryGlobalParameters { /** Reflected Ambient Temperature for the environment in which the thermal device and the object being measured is located. */ reflectedAmbientTemperature: number; /** Emissivity of the surface of the object on which temperature is being measured. */ emissivity: number; /** Distance from the thermal device to the measured object. */ distanceToObject: number; /** Relative Humidity in the environment in which the measurement is located. */ relativeHumidity?: number; /** Temperature of the atmosphere between the thermal device and the object being measured. */ atmosphericTemperature?: number; /** Transmittance value for the atmosphere between the thermal device and the object being measured. */ atmosphericTransmittance?: number; /** Temperature of the optics elements between the thermal device and the object being measured. */ extOpticsTemperature?: number; /** Transmittance value for the optics elements between the thermal device and the object being measured. */ extOpticsTransmittance?: number; [key: string]: unknown; } /** Describes valid ranges for the different radiometry parameters required for accurate temperature calculation. */ export interface RadiometryGlobalParameterOptions { /** Valid range of temperature values, in Kelvin. */ reflectedAmbientTemperature: FloatRange; /** Valid range of emissivity values for the objects to measure. */ emissivity: FloatRange; /** Valid range of distance between camera and object for a valid temperature reading, in meters. */ distanceToObject: FloatRange; /** Valid range of relative humidity values, in percentage. */ relativeHumidity?: FloatRange; /** Valid range of temperature values, in Kelvin. */ atmosphericTemperature?: FloatRange; /** Valid range of atmospheric transmittance values. */ atmosphericTransmittance?: FloatRange; /** Valid range of temperature values, in Kelvin. */ extOpticsTemperature?: FloatRange; /** Valid range of external optics transmittance. */ extOpticsTransmittance?: FloatRange; [key: string]: unknown; } export interface Configuration { /** Current Color Palette in use by the Thermal Device. */ colorPalette: ColorPalette; /** Polarity configuration of the Thermal Device. */ polarity: Polarity; /** Current Non-Uniformity Correction (NUC) Table in use by the Thermal Device. */ NUCTable?: NUCTable; /** Cooler settings of the Thermal Device. */ cooler?: Cooler; [key: string]: unknown; } export interface Configurations { /** Reference token to the thermal VideoSource. */ token: ReferenceToken; /** Current Thermal Settings for the VideoSource. */ configuration: Configuration; [key: string]: unknown; } export interface RadiometryConfiguration { /** * Global Parameters for Radiometry Measurements. Shall exist if Radiometry Capability is reported, * and Global Parameters are supported by the device. */ radiometryGlobalParameters?: RadiometryGlobalParameters; [key: string]: unknown; } export interface ConfigurationOptions { /** List of Color Palettes available for the requested Thermal VideoSource. */ colorPalette?: ColorPalette[]; /** List of Non-Uniformity Correction (NUC) Tables available for the requested Thermal VideoSource. */ NUCTable?: NUCTable[]; /** Specifies Cooler Options for cooled thermal devices. */ coolerOptions?: CoolerOptions; [key: string]: unknown; } export interface RadiometryConfigurationOptions { /** * Specifies valid ranges and options for the global radiometry parameters used as default parameter values * for temperature measurement modules (spots and boxes). */ radiometryGlobalParameterOptions?: RadiometryGlobalParameterOptions; [key: string]: unknown; } export interface GetServiceCapabilities { } export interface GetServiceCapabilitiesResponse { /** The capabilities of the thermal service are returned in the Capabilities element. */ capabilities: Capabilities; } export interface GetConfigurationOptions { /** Reference token to the VideoSource for which the Thermal Configuration Options are requested. */ videoSourceToken: ReferenceToken; } export interface GetConfigurationOptionsResponse { /** Valid ranges for the Thermal configuration parameters that are categorized as device specific. */ configurationOptions: ConfigurationOptions; } export interface GetConfiguration { /** Reference token to the VideoSource for which the Thermal Settings are requested. */ videoSourceToken: ReferenceToken; } export interface GetConfigurationResponse { /** Thermal Settings for the VideoSource that was requested. */ configuration: Configuration; } export interface GetConfigurations { } export interface GetConfigurationsResponse { /** This element contains a list of thermal VideoSource configurations. */ configurations?: Configurations[]; } export interface SetConfiguration { /** Reference token to the VideoSource for which the Thermal Settings are configured. */ videoSourceToken: ReferenceToken; /** Thermal Settings to be configured. */ configuration: Configuration; } export interface GetRadiometryConfigurationOptions { /** Reference token to the VideoSource for which the Thermal Radiometry Options are requested. */ videoSourceToken: ReferenceToken; } export interface GetRadiometryConfigurationOptionsResponse { /** Valid ranges for the Thermal Radiometry parameters that are categorized as device specific. */ configurationOptions: RadiometryConfigurationOptions; } export interface GetRadiometryConfiguration { /** Reference token to the VideoSource for which the Radiometry Configuration is requested. */ videoSourceToken: ReferenceToken; } export interface GetRadiometryConfigurationResponse { /** Radiometry Configuration for the VideoSource that was requested. */ configuration: RadiometryConfiguration; } export interface SetRadiometryConfiguration { /** Reference token to the VideoSource for which the Radiometry settings are configured. */ videoSourceToken: ReferenceToken; /** Radiometry settings to be configured. */ configuration: RadiometryConfiguration; }