InscoperAPI/API/Base/Image/Image.h¶
Namespaces¶
| Name |
|---|
| Inscoper Inscoper namespace. |
Classes¶
| Name | |
|---|---|
| class | Inscoper::Image Image class represents an image with associated metadata. |
Defines¶
Macros Documentation¶
define INSC_IMG_TAG_IMAGE_NUMBER¶
define INSC_IMG_TAG_IMAGE_SUB_NUMBER¶
define INSC_IMG_TAG_ELAPSED_TIME_MS¶
define INSC_IMG_TAG_TIMESTAMP¶
define INSC_IMG_TAG_FRAMES¶
define INSC_IMG_TAG_SLICES¶
define INSC_IMG_TAG_CHANNELS¶
define INSC_IMG_TAG_CHANNEL¶
define INSC_IMG_TAG_POSITION_NAME¶
define INSC_IMG_TAG_FRAME_INDEX¶
define INSC_IMG_TAG_FRAME¶
define INSC_IMG_TAG_SLICE¶
define INSC_IMG_TAG_SLICE_INDEX¶
define INSC_IMG_TAG_PIXEL_SIZE_UM¶
define INSC_IMG_TAG_PIXEL_SIZE¶
define INSC_IMG_TAG_BINNING¶
define INSC_IMG_TAG_SUMMARY¶
define INSC_IMG_TAG_BIT_DEPTH¶
define INSC_IMG_TAG_POSITION_INDEX¶
define INSC_IMG_TAG_X_POSITION¶
define INSC_IMG_TAG_Y_POSITION¶
define INSC_IMG_TAG_Z_POSITION¶
define INSC_IMG_TAG_FOCUS_POSITION¶
define INSC_IMG_TAG_THETA_POSITION¶
define INSC_IMG_TAG_GRAY8¶
define INSC_IMG_TAG_GRAY11¶
define INSC_IMG_TAG_GRAY12¶
define INSC_IMG_TAG_GRAY14¶
define INSC_IMG_TAG_GRAY16¶
define INSC_IMG_TAG_GRAY32¶
define INSC_IMG_TAG_GRAY32_FLOAT¶
define INSC_IMG_TAG_GRAY64_FLOAT¶
define INSC_IMG_TAG_RGB32¶
define INSC_IMG_TAG_RGB64¶
define INSC_IMG_TAG_BGR32¶
define INSC_IMG_TAG_BGR64¶
define INSC_IMG_TAG_TIME_INDEX¶
define INSC_IMG_TAG_TIME¶
define INSC_IMG_TAG_HEIGHT¶
define INSC_IMG_TAG_WIDTH¶
define INSC_IMG_TAG_PIXEL_TYPE¶
define INSC_IMG_TAG_TILE_WIDTH¶
define INSC_IMG_TAG_TILE_HEIGHT¶
define INSC_IMG_TAG_SEQUENCE_NUMBER¶
Source code¶
#ifndef IMAGE_H
#define IMAGE_H
#include <Base/Image/EPixelType.h>
#include <Base/Image/Metadata.h>
#include <Global.h>
#include <map>
#include <memory>
#include <string>
#include <vector>
#define INSC_IMG_TAG_IMAGE_NUMBER "ImageNumber"
#define INSC_IMG_TAG_IMAGE_SUB_NUMBER "ImageSubNumber"
#define INSC_IMG_TAG_ELAPSED_TIME_MS "ElapsedTime-ms"
#define INSC_IMG_TAG_TIMESTAMP "Timestamp"
#define INSC_IMG_TAG_FRAMES "Frames"
#define INSC_IMG_TAG_SLICES "Slices"
#define INSC_IMG_TAG_CHANNELS "Channels"
#define INSC_IMG_TAG_CHANNEL "Channel"
#define INSC_IMG_TAG_POSITION_NAME "PositionName"
#define INSC_IMG_TAG_FRAME_INDEX "FrameIndex"
#define INSC_IMG_TAG_FRAME "Frame"
#define INSC_IMG_TAG_SLICE "Slice"
#define INSC_IMG_TAG_SLICE_INDEX "SliceIndex"
#define INSC_IMG_TAG_PIXEL_SIZE_UM "PixelSizeUm"
#define INSC_IMG_TAG_PIXEL_SIZE "PixelSize"
#define INSC_IMG_TAG_BINNING "Binning"
#define INSC_IMG_TAG_SUMMARY "Summary"
#define INSC_IMG_TAG_BIT_DEPTH "BitDepth"
#define INSC_IMG_TAG_POSITION_INDEX "PositionIndex"
#define INSC_IMG_TAG_X_POSITION "XPosition"
#define INSC_IMG_TAG_Y_POSITION "YPosition"
#define INSC_IMG_TAG_Z_POSITION "ZPosition"
#define INSC_IMG_TAG_FOCUS_POSITION "FocusPosition"
#define INSC_IMG_TAG_THETA_POSITION "ThetaPosition"
#define INSC_IMG_TAG_GRAY8 "GRAY8"
#define INSC_IMG_TAG_GRAY11 "GRAY11"
#define INSC_IMG_TAG_GRAY12 "GRAY12"
#define INSC_IMG_TAG_GRAY14 "GRAY14"
#define INSC_IMG_TAG_GRAY16 "GRAY16"
#define INSC_IMG_TAG_GRAY32 "GRAY32"
#define INSC_IMG_TAG_GRAY32_FLOAT "GRAY32Float"
#define INSC_IMG_TAG_GRAY64_FLOAT "GRAY64Float"
#define INSC_IMG_TAG_RGB32 "RGB32"
#define INSC_IMG_TAG_RGB64 "RGB64"
#define INSC_IMG_TAG_BGR32 "BGR32"
#define INSC_IMG_TAG_BGR64 "BGR64"
#define INSC_IMG_TAG_TIME_INDEX INSC_IMG_TAG_FRAME_INDEX
#define INSC_IMG_TAG_TIME INSC_IMG_TAG_FRAME
#define INSC_IMG_TAG_HEIGHT "Height"
#define INSC_IMG_TAG_WIDTH "Width"
#define INSC_IMG_TAG_PIXEL_TYPE "PixelType"
#define INSC_IMG_TAG_TILE_WIDTH "tileWidth"
#define INSC_IMG_TAG_TILE_HEIGHT "tileHeight"
#define INSC_IMG_TAG_SEQUENCE_NUMBER "SequenceNumber"
namespace Inscoper {
class INSCOPER_EXPORT Image {
public:
Image(const std::vector<unsigned char> &imageData, const std::map<std::string, Inscoper::Metadata> &metadata);
unsigned int getPixelSize() INSCOPER_EXCEPTION;
unsigned int getBitDepth() INSCOPER_EXCEPTION;
unsigned int getWidth() const INSCOPER_EXCEPTION;
unsigned int getHeight() const INSCOPER_EXCEPTION;
Inscoper::EPixelType getPixelType();
void *getImageData();
bool hasMetadata(const std::string &name);
void addMetadata(const std::string &name, const Inscoper::Metadata &value);
void removeMetadata(const std::string &name) INSCOPER_EXCEPTION;
const std::map<std::string, Inscoper::Metadata> &getMetadata() const;
Inscoper::Metadata getMetadata(const std::string &key) const INSCOPER_EXCEPTION;
void setMetadata(const std::map<std::string, Inscoper::Metadata> &metadata);
private:
std::vector<unsigned char> _imageData;
std::map<std::string, Inscoper::Metadata> _metadata;
};
typedef std::shared_ptr<Image> ImagePtr;
} // namespace Inscoper
#endif // IMAGE_H
Updated on 2026-09-03 at 12:14:17 +0200