diff --git a/.gitignore b/.gitignore index de104d3fd..5b1593b8c 100644 --- a/.gitignore +++ b/.gitignore @@ -35,3 +35,4 @@ githooks/pre-commit # PyCharm specific files .idea +.vscode/settings.json diff --git a/osi_common.proto b/osi_common.proto index f093193c2..7ab5852ec 100644 --- a/osi_common.proto +++ b/osi_common.proto @@ -491,3 +491,30 @@ message StatePoint // optional Orientation3d orientation = 3; } +// +// \brief Detailed WavelengthRange message. +// +// Defines the start (minimum) and the end (maximum) values of the wavelength. +// Additionally, the number of samples within this range is defined in this message. +// +message WavelengthData +{ + // The start, or the minimum wavelength value. + // + // Unit: m + // + optional double start = 1; + + // The end, or the maximum wavelength value. + // + // Unit: m + // + optional double end = 2; + + // Number of samples to be considered within the defined wavelength range. + // The number of samples includes the start and the end values that are defined in this message, starting from the "start" value. + // \note This defines the number of wavelengths to be computed during simulation, not to be confused with samples_per_pixel. + // + optional double samples_number = 3; +} + diff --git a/osi_sensorviewconfiguration.proto b/osi_sensorviewconfiguration.proto index 0e133b2b1..3df348a54 100644 --- a/osi_sensorviewconfiguration.proto +++ b/osi_sensorviewconfiguration.proto @@ -706,6 +706,34 @@ message CameraSensorViewConfiguration // repeated ChannelFormat channel_format = 8; + // Number of samples per pixel. + // + // \note This is a characteristic of the ray tracing engine of the + // environment simulation, not a direct characteristic of the sensor. + // + // \rules + // is_greater_than_or_equal_to: 1 + // \endrules + // + optional uint32 samples_per_pixel = 9; + + // Maximum number of interactions to take into account. + // + // \note This is a characteristic of the ray tracing engine of the + // environment simulation, not a direct characteristic of the sensor. + // + // \rules + // is_greater_than_or_equal_to: 1 + // \endrules + // + optional uint32 max_number_of_interactions = 10; + + // In use-cases where a spectral ray-tracer is used, this message + // determines the range of the wavelength and its desired number + // of samples. + // + repeated WavelengthData wavelength_data = 11; + // Channel format. // enum ChannelFormat @@ -752,29 +780,72 @@ message CameraSensorViewConfiguration // CHANNEL_FORMAT_RGB_F32_LIN = 9; - // Bayer RGGB Channels UINT8 FP Linear. + // Bayer BGGR Channels UINT8 FP Linear. // CHANNEL_FORMAT_BAYER_BGGR_U8_LIN = 10; - // Bayer RGGB Channels UINT16 FP Linear. + // Bayer BGGR Channels UINT16 FP Linear. // CHANNEL_FORMAT_BAYER_BGGR_U16_LIN = 11; - // Bayer RGGB Channels UINT32 FP Linear. + // Bayer BGGR Channels UINT32 FP Linear. // CHANNEL_FORMAT_BAYER_BGGR_U32_LIN = 12; - // Bayer RGGB Channels Single Precision FP Linear. + // Bayer BGGR Channels Single Precision FP Linear. // CHANNEL_FORMAT_BAYER_BGGR_F32_LIN = 13; - // TBD: Further channel permutations and padding (e.g. RGBZ, - // BGR, BAYER_RGGB/GBRG/GRBG/...), non-BAYER filters, non-linear - // encodings, ... - } + // Bayer RGGB Channels UINT8 FP Linear. + // + CHANNEL_FORMAT_BAYER_RGGB_U8_LIN = 14; - // TBD: Optical (and other) effects to apply to image, etc. - // + // Bayer RGGB Channels UINT16 FP Linear. + // + CHANNEL_FORMAT_BAYER_RGGB_U16_LIN = 15; + + // Bayer RGGB Channels UINT32 FP Linear. + // + CHANNEL_FORMAT_BAYER_RGGB_U32_LIN = 16; + + // Bayer RGGB Channels Single Precision FP Linear. + // + CHANNEL_FORMAT_BAYER_RGGB_F32_LIN = 17; + + // Red Clear Clear Clear Channels UINT8 FP Linear. + // + CHANNEL_FORMAT_RCCC_U8_LIN = 18; + + // Red Clear Clear Clear Channels UINT16 FP Linear. + // + CHANNEL_FORMAT_RCCC_U16_LIN = 19; + + // Red Clear Clear Clear Channels UINT32 FP Linear. + // + CHANNEL_FORMAT_RCCC_U32_LIN = 20; + + // Red Clear Clear Clear Channels Single Precision FP Linear. + // + CHANNEL_FORMAT_RCCC_F32_LIN = 21; + + // Red Clear Clear Blue Channels UINT8 FP Linear. + // + CHANNEL_FORMAT_RCCB_U8_LIN = 22; + + // Red Clear Clear Blue Channels UINT16 FP Linear. + // + CHANNEL_FORMAT_RCCB_U16_LIN = 23; + + // Red Clear Clear Blue Channels UINT32 FP Linear. + // + CHANNEL_FORMAT_RCCB_U32_LIN = 24; + + // Red Clear Clear Blue Channels Single Precision FP Linear. + // + CHANNEL_FORMAT_RCCB_F32_LIN = 25; + + } + } //