fast::ImagePyramid class

Image pyramid data object.

Data object for storing large images as tiled image pyramids. Storage uses virtual memory enabling the images to be larger than the available RAM.

Base classes

class SpatialDataObject
Abstract base class for all spatial data objects.

Constructors, destructors, conversion operators

~ImagePyramid()

Public functions

auto create(int width, int height, int channels, int patchWidth, int patchHeight) -> std::shared_ptr<ImagePyramid>
auto create(openslide_t* fileHandle, std::vector<ImagePyramidLevel> levels) -> std::shared_ptr<ImagePyramid>
auto create(std::ifstream* stream, std::vector<vsi_tile_header> tileHeaders, std::vector<ImagePyramidLevel> levels, ImageCompression compressionFormat) -> std::shared_ptr<ImagePyramid>
auto create(TIFF* fileHandle, std::vector<ImagePyramidLevel> levels, int channels, bool isOMETIFF) -> std::shared_ptr<ImagePyramid>
auto getNrOfLevels() -> int
auto getLevelWidth(int level) -> int
auto getLevelHeight(int level) -> int
auto getLevelTileWidth(int level) -> int
auto getLevelTileHeight(int level) -> int
auto getLevelTilesX(int level) -> int
auto getLevelTilesY(int level) -> int
auto getLevelScale(int level) -> float
auto getLevelForMagnification(int magnification, float slackPercentage = 0.5f) -> int
Get level for a given magnification.
auto getFullWidth() -> int
auto getFullHeight() -> int
auto getNrOfChannels() const -> int
auto isBGRA() const -> bool
auto usesTIFF() const -> bool
auto isPyramidFullyInitialized() const -> bool
auto usesOpenSlide() const -> bool
auto getTIFFPath() const -> std::string
void setSpacing(Vector3f spacing)
auto getSpacing() const -> Vector3f
auto getAccess(accessType type) -> ImagePyramidAccess::pointer
auto getDirtyPatches() -> std::unordered_set<std::string>
auto isDirtyPatch(const std::string& tileID) -> bool
auto isOMETIFF() const -> bool
void setDirtyPatch(int level, int patchIdX, int patchIdY)
void clearDirtyPatches(std::set<std::string> patches)
void free(ExecutionDevice::pointer device) override
void freeAll() override
auto getTransformedBoundingBox() const -> DataBoundingBox override
auto getBoundingBox() const -> DataBoundingBox override

Function documentation

int fast::ImagePyramid::getLevelForMagnification(int magnification, float slackPercentage = 0.5f)

Get level for a given magnification.

Parameters
magnification Magnification amount (e.g. 40, 20, 10 etc.)
slackPercentage Slack to allow from target magnification, given in percentage of target spacing/magnification. If distance between closest level and target magnification is larger than this, an exception is thrown.
Returns level

bool fast::ImagePyramid::isPyramidFullyInitialized() const

Whether all patches in entire pyramid has been initialized.