Iris Whole Slide Imaging
Loading...
Searching...
No Matches
IrisCore.hpp
Go to the documentation of this file.
1
13#include <stdint.h>
14#include <vector>
15#include <map>
16#include <unordered_map>
17#include <thread>
18#include <shared_mutex>
19#include <functional>
20#include "IrisTypes.hpp"
21
22#ifndef IrisCore_h
23#define IrisCore_h
24namespace Iris {
43
59
73
74
83Result viewer_unbind_surface (const Viewer& viewer) noexcept;
84
94Result viewer_window_resized (const Viewer& viewer) noexcept;
95
109Result viewer_open_slide (const Viewer& viewer, const SlideOpenInfo& info) noexcept;
110
116Result viewer_close_slide (const Viewer& viewer) noexcept;
117
124
130Result viewer_engine_zoom (const Viewer& viewer, const ViewerZoomScope&) noexcept;
131
137Result viewer_annotate_slide (const Viewer& viewer, const SlideAnnotation&) noexcept;
138
139// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
140// Iris Slide Image Handler //
141// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
142
161
162// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
163// Data Buffer Wrapper //
164// ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ //
165
180
192Buffer Create_strong_buffer (size_t buffer_size_in_bytes);
193
207Buffer Copy_strong_buffer_from_data (const void* data_ptr, size_t bytes);
208
226Buffer Wrap_weak_buffer_fom_data (const void* const data_ref, size_t bytes);
227
250void* Buffer_write_into_buffer (const Buffer& buffer, size_t bytes);
251
262void Buffer_get_data (const Buffer& buffer, void*& data, size_t& bytes);
271}
272
273#endif /* IrisCore_h */
void * Buffer_write_into_buffer(const Buffer &buffer, size_t bytes)
Write data into a buffer in a safe manner.
Slide create_slide(const SlideOpenInfo &info)
Create an Iris::Slide object encapsulating access to a whole slide image object.
int get_minor_version()
Get the minor version of Iris within the binaries.
Result viewer_window_resized(const Viewer &viewer) noexcept
Inform a viewer that the attached window was resized.
Result viewer_annotate_slide(const Viewer &viewer, const SlideAnnotation &) noexcept
Insert an image slide annotation into the current active slide at the location within the screen.
Buffer Create_strong_buffer()
Create a strong buffer but without memory backing.
Result viewer_close_slide(const Viewer &viewer) noexcept
Close the current slide being viewed by the viewer.
int get_major_version()
Get the major version of Iris within the binaries.
Result viewer_bind_external_surface(const ViewerBindExternalSurfaceInfo &) noexcept
Bind a viewer to an external surface controlled by the calling application.
void Buffer_get_data(const Buffer &buffer, void *&data, size_t &bytes)
Copy-extract the data from the underlying buffer structure.
Viewer create_viewer(const ViewerCreateInfo &) noexcept
Create an Iris viewer instance.
Result viewer_engine_translate(const Viewer &viewer, const ViewerTranslateScope &) noexcept
Translate the scope view when rendering a whole slide image.
Result viewer_open_slide(const Viewer &viewer, const SlideOpenInfo &info) noexcept
Create and open a slide for viewing.
void Buffer_change_strength(const Buffer &buffer, BufferReferenceStrength strength)
Change the strength of an Iris Buffer.
int get_build_number()
Get the build number of these binaries.
Result viewer_engine_zoom(const Viewer &viewer, const ViewerZoomScope &) noexcept
Change the scope view amound when rending a whole slide image.
Buffer Wrap_weak_buffer_fom_data(const void *const data_ref, size_t bytes)
Wrap a weak buffer around foreign data. This wrapper is used for implementing Iris Codec functions on...
Result viewer_unbind_surface(const Viewer &viewer) noexcept
Unbind the external drawing surface controlled by the calling application.
Buffer Copy_strong_buffer_from_data(const void *data_ptr, size_t bytes)
Create a strong buffer and copy the data pointed to by dataptr and bytes in length (in bytes).
Iris Core API Types and Structure Definitions.
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
std::shared_ptr< class __INTERNAL__Slide > Slide
Handle to Slide File and Slide Loading Routines (Slide Loader)
Definition IrisTypes.hpp:86
BufferReferenceStrength
Iris Buffer ownership strength to underlying data. A weak reference only wraps data blocks by referen...
Definition IrisTypes.hpp:43
std::shared_ptr< class __INTERNAL__Buffer > Buffer
Reference counted data object used to wrap datablocks.
Definition IrisTypes.hpp:65
Structure defining requirements to create an image-based slide annotation.
Definition IrisTypes.hpp:184
Parameters required to create an Iris::Slide WSI file handle.
Definition IrisTypes.hpp:299
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
Information to translate the rendered scope view as a fraction of the active view space with directio...
Definition IrisTypes.hpp:133
Information to change the zoom objective.
Definition IrisTypes.hpp:153