25 #include "ImportExport.h" 28 #include "libCZI_Pixels.h" 29 #include "libCZI_Metadata.h" 92 this->backGroundColor.
r = this->backGroundColor.
g = this->backGroundColor.
b = std::numeric_limits<float>::quiet_NaN();
94 this->drawTileBorder =
false;
95 this->sceneFilter.reset();
146 inline std::shared_ptr<libCZI::IBitmapData>
Get(
int xPos,
int yPos,
int width,
int height,
const IDimCoordinate* planeCoordinate,
const Options* pOptions) {
return this->
Get(
libCZI::IntRect{ xPos,yPos,width,height }, planeCoordinate, pOptions); }
157 inline std::shared_ptr<libCZI::IBitmapData>
Get(
libCZI::PixelType pixeltype,
int xPos,
int yPos,
int width,
int height,
const IDimCoordinate* planeCoordinate,
const Options* pOptions) {
return this->
Get(pixeltype,
libCZI::IntRect{ xPos,yPos,width,height }, planeCoordinate, pOptions); }
187 this->drawTileBorder =
false;
188 this->backGroundColor.
r = this->backGroundColor.
g = this->backGroundColor.
b = std::numeric_limits<float>::quiet_NaN();
189 this->sceneFilter.reset();
261 this->drawTileBorder =
false;
262 this->backGroundColor.
r = this->backGroundColor.
g = this->backGroundColor.
b = std::numeric_limits<float>::quiet_NaN();
263 this->sceneFilter.reset();
318 void Clear() { this->drawTileBorder =
false; }
339 static void ComposeSingleChannelTiles(
340 std::function<
bool(
int index, std::shared_ptr<libCZI::IBitmapData>& src,
int& x,
int& y)> getTiles,
344 const ComposeSingleTileOptions* pOptions);
396 void Clear() { std::memset(
this, 0,
sizeof(*
this)); }
409 static void ComposeMultiChannel_Bgr24(
413 const ChannelInfo* channelInfos);
424 static std::shared_ptr<IBitmapData> ComposeMultiChannel_Bgr24(
427 const ChannelInfo* channelInfos);
441 std::vector<std::shared_ptr<libCZI::IBitmapData>>::iterator srcBitmapsIterator,
444 std::vector<IBitmapData*> vecBm; vecBm.reserve(channelCount);
445 for (
int i = 0; i < channelCount; ++i)
447 vecBm.emplace_back((*srcBitmapsIterator).get());
448 ++srcBitmapsIterator;
451 return ComposeMultiChannel_Bgr24(channelCount, &vecBm[0], channelInfos);
PixelType
An enum representing a pixel-type.
Definition: libCZI_Pixels.h:126
bool sortByM
Definition: libCZI_Compositor.h:80
Definition: libCZI_Pixels.h:166
std::shared_ptr< libCZI::IIndexSet > sceneFilter
If specified, only subblocks with a scene-index contained in the set will be considered.
Definition: libCZI_Compositor.h:87
Definition: libCZI_Compositor.h:239
static std::shared_ptr< IBitmapData > ComposeMultiChannel_Bgr24(int channelCount, std::vector< std::shared_ptr< libCZI::IBitmapData >>::iterator srcBitmapsIterator, const ChannelInfo *channelInfos)
Definition: libCZI_Compositor.h:439
Composition operations are found in this class: multi-tile compositor and multi-channel compositor...
Definition: libCZI_Compositor.h:307
The base interface (all accessor-interface must derive from this).
Definition: libCZI_Compositor.h:45
bool drawTileBorder
Definition: libCZI_Compositor.h:84
std::shared_ptr< libCZI::IIndexSet > sceneFilter
If specified, only subblocks with a scene-index contained in the set will be considered.
Definition: libCZI_Compositor.h:182
void Clear()
Clears this object to its blank state.
Definition: libCZI_Compositor.h:259
Options for the libCZI::Compositors::ComposeSingleChannelTiles function.
Definition: libCZI_Compositor.h:311
virtual std::shared_ptr< libCZI::IBitmapData > Get(const libCZI::IntRect &roi, const libCZI::IDimCoordinate *planeCoordinate, const PyramidLayerInfo &pyramidInfo, const libCZI::ISingleChannelPyramidLayerTileAccessor::Options *pOptions)=0
Rgb8Color color
The tinting color to be used given as RGB24.
Definition: libCZI_Compositor.h:350
float whitePoint
Definition: libCZI_Compositor.h:381
std::uint8_t pyramidLayerNo
The pyramid layer number.
Definition: libCZI_Compositor.h:201
bool drawTileBorder
Definition: libCZI_Compositor.h:253
int lookUpTableElementCount
Definition: libCZI_Compositor.h:389
RgbFloatColor backGroundColor
Definition: libCZI_Compositor.h:175
AccessorType
Values that represent the accessor types.
Definition: libCZI_Compositor.h:37
Definition: libCZI_Compositor.h:361
A structure representing an R-G-B-color triple (as bytes).
Definition: libCZI_Pixels.h:110
virtual std::shared_ptr< libCZI::IBitmapData > Get(const libCZI::IntRect &roi, const libCZI::IDimCoordinate *planeCoordinate, float zoom, const libCZI::ISingleChannelScalingTileAccessor::Options *pOptions)=0
std::shared_ptr< libCZI::IBitmapData > Get(int xPos, int yPos, int width, int height, const IDimCoordinate *planeCoordinate, const Options *pOptions)
Definition: libCZI_Compositor.h:146
The scaling-single-channel-tile accessor (associated interface: ISingleChannelScalingTileAccessor).
float r
The red component.
Definition: libCZI_Pixels.h:120
std::shared_ptr< libCZI::IIndexSet > sceneFilter
If specified, only subblocks with a scene-index contained in the set will be considered.
Definition: libCZI_Compositor.h:256
float weight
The weight of the channel.
Definition: libCZI_Compositor.h:364
Definition: libCZI_Compositor.h:198
Interface used to represent a coordinate (in the space of the dimensions identified by DimensionIndex...
Definition: libCZI_DimCoordinate.h:54
Definition: libCZI_Compositor.h:66
RgbFloatColor backGroundColor
Definition: libCZI_Compositor.h:249
bool drawTileBorder
Definition: libCZI_Compositor.h:179
This structure defines the tinting color.
Definition: libCZI_Compositor.h:347
The single-channel-tile accessor (associated interface: ISingleChannelTileAccessor).
RgbFloatColor backGroundColor
Definition: libCZI_Compositor.h:76
Options for controlling the composition operation.
Definition: libCZI_Compositor.h:70
virtual std::shared_ptr< libCZI::IBitmapData > Get(const libCZI::IntRect &roi, const IDimCoordinate *planeCoordinate, const Options *pOptions)=0
Gets the tile composite of the specified plane and the specified ROI. The pixeltype is determined by ...
float g
The green component.
Definition: libCZI_Pixels.h:121
Options used for this accessor.
Definition: libCZI_Compositor.h:243
void Clear()
Clears this object to its blank/initial state.
Definition: libCZI_Compositor.h:318
A rectangle (with integer coordinates).
Definition: libCZI_Pixels.h:32
A structure representing an R-G-B-color triple (as floats).
Definition: libCZI_Pixels.h:118
float blackPoint
Definition: libCZI_Compositor.h:376
External interfaces, classes, functions and structs are found in the namespace "libCZI".
Definition: libCZI.h:44
void Clear()
All members are set to zero.
Definition: libCZI_Compositor.h:396
virtual libCZI::IntSize CalcSize(const libCZI::IntRect &roi, float zoom) const =0
std::shared_ptr< libCZI::IBitmapData > Get(libCZI::PixelType pixeltype, int xPos, int yPos, int width, int height, const IDimCoordinate *planeCoordinate, const Options *pOptions)
Definition: libCZI_Compositor.h:157
const std::uint8_t * ptrLookUpTable
Definition: libCZI_Compositor.h:393
float b
The blue component.
Definition: libCZI_Pixels.h:122
A structure representing a size (width and height) in integers.
Definition: libCZI_Pixels.h:103
The single-channel-pyramidlayer-tile accessor (associated interface: ISingleChannelPyramidLayerTileAc...
std::uint8_t minificationFactor
Factor by which adjacent pyramid-layers are shrunk. Commonly used in CZI are 2 or 3...
Definition: libCZI_Compositor.h:200
Options used for this accessor.
Definition: libCZI_Compositor.h:169
bool drawTileBorder
Definition: libCZI_Compositor.h:315
bool enableTinting
Definition: libCZI_Compositor.h:368
TintingColor tinting
The tinting color (only examined if enableTinting is true).
Definition: libCZI_Compositor.h:371
Definition: libCZI_Compositor.h:165
void Clear()
Clears this object to its blank state.
Definition: libCZI_Compositor.h:185
void Clear()
Clears this object to its blank state.
Definition: libCZI_Compositor.h:90