Iris Whole Slide Imaging
|
This documentation relates to the Iris whole slide imaging (WSI) platform API written and maintained by the authors of Iris.
Iris comprises multiple modules that can be implemented into whole slide viewer (WSV) solutions in a piece-wise manner. Many of these optional modules perform tasks that could be performed by other external frameworks, such as performing networking routines, drawing user interfaces, or WSI file decoding. The Iris modules allow for direct integration with the rendering engine and thus are preferred by the authors of Iris but are by no means exclusive; rather we feel it is the programmer's imperative to implement whatever framework they find most effective for the given circumstances.
There are three (3) requirements for the successful implementation of Iris:
Iris Core is called from within the Iris namespace and is implemented by constructing an Iris::Viewer instance.
This viewer will operate as the primary API handle for all subsequent core and optional module calls. An Iris::Viewer is created by calling the Iris::create_viewer(const Iris::ViewerCreateInfo&) method. The viewer is created in an inactive state and The viewer is initalized once bound to a drawable surface, such as an operating system window, via a call to the viewer_bind_external_surface(const ViewerBindExternalSurfaceInfo&) method. Calls to interface with the engine are made as part of the remaining API methods defined in IrisCore.hpp.
For publications related to Iris and explaining the functionality / architectures of the various WSI modules, please reference the following patents and publications:
Landvater, R. E. (2023). Patent No. US-20230334621-A1. Retrieved from https://patents.google.com/patent/US20230334621A1
Landvater, R., & Balis, U. (2024). As Fast as Glass: A Next Generation Digital Pathology Rendering Engine. United States and Canadian Academy of Pathology 113th Annual Meeting Abstracts. Laboratory Investigation, 104(3), 101595. https://doi.org/10.1016/j.labinv.2024.101595