IDS peak genericC++ v1.17.0
Loading...
Searching...
No Matches
peak_common_iimageview.hpp
Go to the documentation of this file.
1
5
6#pragma once
7
11
12#include <cstddef>
13#include <cstdint>
14#include <memory>
15
16namespace peak
17{
18namespace common
19{
20
21class Metadata;
22
37{
38public:
39 virtual ~IImageView() = default;
40
47 PEAK_COMMON_NO_DISCARD virtual const uint8_t* GetData() const = 0;
48
55 PEAK_COMMON_NO_DISCARD virtual uint8_t* GetData() = 0;
56
63 PEAK_COMMON_NO_DISCARD virtual std::size_t GetLineStartOffset() const = 0;
64
71 PEAK_COMMON_NO_DISCARD virtual std::size_t GetSizeInBytes() const = 0;
72
80
93
101
108 PEAK_COMMON_NO_DISCARD virtual uint32_t GetWidth() const = 0;
109
116 PEAK_COMMON_NO_DISCARD virtual uint32_t GetHeight() const = 0;
117
124 PEAK_COMMON_NO_DISCARD virtual size_t GetBitsPerPixel() const = 0;
125
132 PEAK_COMMON_NO_DISCARD virtual size_t GetBytesPerLine() const = 0;
133
140 PEAK_COMMON_NO_DISCARD virtual std::shared_ptr<peak::common::Metadata> GetMetadata() = 0;
141
148 PEAK_COMMON_NO_DISCARD virtual std::shared_ptr<const peak::common::Metadata> GetMetadata() const = 0;
149};
150
151} // namespace common
152} // namespace peak
Interface for viewing image pixel data from arbitrary sources.
Definition peak_common_iimageview.hpp:37
virtual PEAK_COMMON_NO_DISCARD peak::common::PixelFormatInfo GetPixelFormatInfo() const =0
Returns a helper object describing the pixel format in detail.
virtual PEAK_COMMON_NO_DISCARD std::size_t GetSizeInBytes() const =0
Returns the total size of the image data in bytes.
virtual ~IImageView()=default
virtual PEAK_COMMON_NO_DISCARD size_t GetBytesPerLine() const =0
Returns the number of bytes in a single image row.
virtual PEAK_COMMON_NO_DISCARD std::size_t GetLineStartOffset() const =0
Returns the byte offset to the first pixel of a line.
virtual PEAK_COMMON_NO_DISCARD uint8_t * GetData()=0
Returns a pointer to the start of the first line that contains valid image data (read-write).
virtual PEAK_COMMON_NO_DISCARD size_t GetBitsPerPixel() const =0
Returns the number of bits that each pixel occupies.
virtual PEAK_COMMON_NO_DISCARD std::shared_ptr< peak::common::Metadata > GetMetadata()=0
Returns the metadata object which can be used to retrieve or set metadata belonging to the image.
virtual PEAK_COMMON_NO_DISCARD const uint8_t * GetData() const =0
Returns a pointer to the start of the first line that contains valid image data (read-only).
virtual PEAK_COMMON_NO_DISCARD peak::common::PixelFormat GetPixelFormat() const =0
Returns the pixel format used by the image.
virtual PEAK_COMMON_NO_DISCARD uint32_t GetHeight() const =0
Returns the height of the image in pixels.
virtual PEAK_COMMON_NO_DISCARD std::shared_ptr< const peak::common::Metadata > GetMetadata() const =0
Returns the metadata object which can be used to retrieve metadata belonging to the image.
virtual PEAK_COMMON_NO_DISCARD Size GetSize() const =0
Returns the overall size of the image (width × height).
virtual PEAK_COMMON_NO_DISCARD uint32_t GetWidth() const =0
Returns the width of the image in pixels.
Type-safe container for image acquisition metadata.
Definition peak_common_metadata.hpp:44
Provides information and utility functions for pixel formats.
Definition peak_common_pixel_format.hpp:234
detail::SizeT< uint32_t > Size
Size with unsigned 32-bit integer dimensions.
Definition peak_common_size.hpp:268
PixelFormat
Enum listing all supported pixel formats and their internal IDs.
Definition peak_common_pixel_format.hpp:59
Root namespace for common types and interfaces shared across multiple libraries.
Definition peak_common_math.hpp:17
The "peak" namespace directly contains convenience functionality like the DeviceManager as well as th...
Definition peak_buffer.hpp:29
#define PEAK_COMMON_NO_DISCARD
Definition peak_common_defines.h:89
Enum holding the possible pixel format names.