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, ImageCompression compression, DataType dataType) -> std::shared_ptr<ImagePyramid>
auto create(openslide_t* fileHandle, std::vector<ImagePyramidLevel> levels) -> 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(float 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
auto getCompression() const -> ImageCompression
void setCompressionModels(std::shared_ptr<NeuralNetwork> compressionModel, std::shared_ptr<NeuralNetwork> decompressionModel, float outputScaleFactor = 1.0f)
void setCompressionModel(std::shared_ptr<NeuralNetwork> compressionModel)
void setDecompressionModel(std::shared_ptr<NeuralNetwork> decompressionModel, float outputScaleFactor = 1.0f)
auto getCompressionModel() const -> std::shared_ptr<NeuralNetwork>
auto getDecompressionModel() const -> std::shared_ptr<NeuralNetwork>
auto getDecompressionOutputScaleFactor() const -> float
auto getDataType() const -> DataType

Function documentation

int fast::ImagePyramid::getLevelForMagnification(float 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.