vitrio 0.1.4
High-throughput image I/O for Cryo-Electron Microscopy (CryoEM)
Loading...
Searching...
No Matches
detector_event_renderer.hpp
1// SPDX-License-Identifier: LGPL-2.1-or-later
2
3#pragma once
4
5#include <vitrio/array/numerical_type.hpp>
6#include <vitrio/export.hpp>
7
8#include <cstddef>
9#include <vector>
10
11namespace vitrio
12{
13
14class array_ref;
15
16class detector_event_timeline;
17class detector_event_timeline_descriptor;
18
34{
35public:
36 detector_event_renderer() noexcept;
40
42 operator=(const detector_event_renderer &other) = delete;
44 operator=(detector_event_renderer &&other) = delete;
45
55 virtual std::vector<std::size_t> get_image_extents(
57 ) const = 0;
58
67 virtual numerical_type get_data_type() const noexcept = 0;
68
92 virtual void render(
93 const detector_event_timeline_descriptor &descriptor,
94 const detector_event_timeline &events,
95 array_ref destination
96 ) const = 0;
97};
98
99} // namespace vitrio
A reference to a multidimensional array that does not keep it alive.
Definition array_ref.hpp:32
Abstract way of turning the events of a detector into an image.
Definition detector_event_renderer.hpp:34
virtual numerical_type get_data_type() const noexcept=0
Get the data type images are worked out in.
virtual std::vector< std::size_t > get_image_extents(const detector_event_timeline_descriptor &events) const =0
Get the extents of the images rendered from an acquisition.
What is fixed for one acquisition of a detector that counts events: the grid its events are placed on...
Definition detector_event_timeline_descriptor.hpp:32
The events a detector counted over a stretch of time.
Definition detector_event_timeline.hpp:39