Iris Whole Slide Imaging
Loading...
Searching...
No Matches
IrisTypes.hpp
Go to the documentation of this file.
1
17#ifndef IrisTypes_h
18#define IrisTypes_h
19
20namespace Iris {
25enum Result : uint32_t {
26 IRIS_SUCCESS = 0,
27 IRIS_FAILURE = 0x00000001,
28 IRIS_UNINITIALIZED = 0x00000002,
29};
65using Buffer = std::shared_ptr<class __INTERNAL__Buffer>;
79using Viewer = std::shared_ptr <class __INTERNAL__Viewer>;
86using Slide = std::shared_ptr<class __INTERNAL__Slide>;
87
117 const Viewer viewer = nullptr;
118#if defined _WIN32
119 HINSTANCE instance = NULL;
120 HWND window = NULL;
121#elif defined __APPLE__
122 const void* layer = nullptr;
123#endif
124};
135 float x_translate = 0.f;
137 float y_translate = 0.f;
139 float x_velocity = 0.f;
141 float y_velocity = 0.f;
142};
155 float increment = 0.f;
157 float x_location = 0.5f;
159 float y_location = 0.5f;
160};
166 ANNOTATION_FORMAT_UNDEFINED = -1,
167 ANNOTATION_FORMAT_PNG,
168 ANNOTATION_FORMAT_JPEG,
169};
186 AnnotationFormat format = ANNOTATION_FORMAT_UNDEFINED;
188 float x_offset = 0.f;
190 float y_offset = 0.f;
192 float width = 0.f;
194 float height = 0.f;
197};
207 uint32_t xTiles = 1;
209 uint32_t yTiles = 1;
211 float scale = 1.f;
213 float downsample = 1.f;
214};
215using LayerExtents = std::vector<LayerExtent>;
221struct Extent {
223 uint32_t width = 1;
225 uint32_t height = 1;
227 LayerExtents layers;
228};
254 const char* filePath;
264 enum : uint8_t {
265 SLIDE_TYPE_UNKNOWN, //< Unknown file encoding
266 SLIDE_TYPE_IRIS, //< Iris Codec File
267 SLIDE_TYPE_OPENSLIDE, //< Vendor specific file (ex SVS)
268 } type = SLIDE_TYPE_UNKNOWN;
269
270};
278 const char* slideID;
279};
300 enum : uint8_t {
301 SLIDE_OPEN_UNDEFINED, // Default / invalid file
302 SLIDE_OPEN_LOCAL, // Locally accessible / Mapped File
303 SLIDE_OPEN_NETWORK, // Sever hosted slide file
304 } type = SLIDE_OPEN_UNDEFINED;
305 union {
314 };
315 // ~~~~~~~~~~~~~ OPTIONAL FEATURES ~~~~~~~~~~~~~~~ //
326 size_t capacity = 1000;
327};
328using LambdaPtr = std::function<void()>;
329using LambdaPtrs = std::vector<LambdaPtr>;
330} // END IRIS NAMESPACE
331
332#endif /* IrisTypes_h */
std::shared_ptr< class __INTERNAL__Viewer > Viewer
Access point to Iris API and controls all elements of Iris viewspace.
Definition IrisTypes.hpp:79
Result
Result flags returned by Iris as part of API calls.
Definition IrisTypes.hpp:25
Format
Image channel byte order in little-endian format.
Definition IrisTypes.hpp:235
@ FORMAT_R8G8B8
8-bit red, 8-bit green, 8-bit blue, no alpha
Definition IrisTypes.hpp:241
@ FORMAT_R8G8B8A8
8-bit red, 8-bit green, 8-bit blue, 8-bit alpha
Definition IrisTypes.hpp:245
@ FORMAT_B8G8R8A8
8-bit blue, 8-bit green, 8-bit red, 8-bit alpha
Definition IrisTypes.hpp:243
@ FORMAT_B8G8R8
8-bit blue, 8-bit green, 8-bit red, no alpha
Definition IrisTypes.hpp:239
@ FORMAT_UNDEFINED
Invalid format indicating a format was not selected.
Definition IrisTypes.hpp:237
std::shared_ptr< class __INTERNAL__Slide > Slide
Handle to Slide File and Slide Loading Routines (Slide Loader)
Definition IrisTypes.hpp:86
AnnotationFormat
Defines the image encoding format for an image annotation.
Definition IrisTypes.hpp:165
BufferReferenceStrength
Iris Buffer ownership strength to underlying data. A weak reference only wraps data blocks by referen...
Definition IrisTypes.hpp:43
@ REFERENCE_WEAK
Only wraps access to the data. No ownership or ability to resize underlying pointer.
Definition IrisTypes.hpp:45
@ REFERENCE_STRONG
Full ownership. Will free data on buffer destruction. Can resize underlying pointer.
Definition IrisTypes.hpp:47
std::shared_ptr< class __INTERNAL__Buffer > Buffer
Reference counted data object used to wrap datablocks.
Definition IrisTypes.hpp:65
The extent, in pixels, of a whole side image file.
Definition IrisTypes.hpp:221
uint32_t width
Top (lowest power) layer width extent in screen pixels.
Definition IrisTypes.hpp:223
uint32_t height
Top (lowest power) layer height in screen pixels.
Definition IrisTypes.hpp:225
LayerExtents layers
Slide objective layer extent list.
Definition IrisTypes.hpp:227
Slide objective layer extent detailing the extent of each objective layer in the number of 256 pixel ...
Definition IrisTypes.hpp:205
float scale
How magnified this level is relative to the unmagnified size of the tissue.
Definition IrisTypes.hpp:211
float downsample
Reciprocal scale factor relative to the most zoomed level (for OpenSlide compatibility)
Definition IrisTypes.hpp:213
uint32_t xTiles
Number of horizontal 256 pixel tiles.
Definition IrisTypes.hpp:207
uint32_t yTiles
Number of vertical 256 pixel tiles.
Definition IrisTypes.hpp:209
Information to open a slide file located on a local volume.
Definition IrisTypes.hpp:253
enum Iris::LocalSlideOpenInfo::@0 type
Local slide file encoding type.
Information needed to open a server-hosted slide file.
Definition IrisTypes.hpp:277
Structure defining requirements to create an image-based slide annotation.
Definition IrisTypes.hpp:184
float height
Number of vertical (y) pixels in the image annotation.
Definition IrisTypes.hpp:194
Buffer data
Encoded pixel data that comprises the image, width wide and hight tall.
Definition IrisTypes.hpp:196
float x_offset
x-offset of the current scope view window where the image starts [0,1.f]
Definition IrisTypes.hpp:188
AnnotationFormat format
AnnotationFormat of the image data to be rendered.
Definition IrisTypes.hpp:186
float width
Number of horizontal (x) pixels in the image annotation.
Definition IrisTypes.hpp:192
float y_offset
y-offset of the current scope view window where the image starts [0,1.f]
Definition IrisTypes.hpp:190
Parameters required to create an Iris::Slide WSI file handle.
Definition IrisTypes.hpp:299
NetworkSlideOpenInfo network
Information for opening a network hosted file.
Definition IrisTypes.hpp:313
LocalSlideOpenInfo local
Information for opening a file on the local machine.
Definition IrisTypes.hpp:309
size_t capacity
This is the default slide cache capacity.
Definition IrisTypes.hpp:326
System specific binding information to configure Iris' rendering engine for the given operating syste...
Definition IrisTypes.hpp:116
Defines necesary runtime parameters for starting the Iris rendering engine.
Definition IrisTypes.hpp:97
const char * ApplicationName
Informs the rendering engine of the calling application's name.
Definition IrisTypes.hpp:99
uint32_t ApplicationVersion
Informs the engine of the calling application version.
Definition IrisTypes.hpp:101
const char * ApplicationBundlePath
provides the executable location. This is needed for runtime loading of application files such as UI ...
Definition IrisTypes.hpp:104
Information to translate the rendered scope view as a fraction of the active view space with directio...
Definition IrisTypes.hpp:133
float y_velocity
Velocity of translation (suggested [0,2]) in the horizontal.
Definition IrisTypes.hpp:141
float x_translate
Fraction of horizontal viewspace to translate [-1,1](-left, +right)
Definition IrisTypes.hpp:135
float x_velocity
Horizontal translation velocity (suggested [0,2])
Definition IrisTypes.hpp:139
float y_translate
Fraction of vertical viewspace to translate [-1,1](-left, +right)
Definition IrisTypes.hpp:137
Information to change the zoom objective.
Definition IrisTypes.hpp:153
float y_location
Vertical location of zoom origin.
Definition IrisTypes.hpp:159
float increment
Fraction of current zoom amount by which to increase or decrease.
Definition IrisTypes.hpp:155
float x_location
Horizontal location of zoom origin (towards or way from this point)
Definition IrisTypes.hpp:157