vitrio 0.1.4
High-throughput image I/O for Cryo-Electron Microscopy (CryoEM)
Loading...
Searching...
No Matches
detector_event_image_reader.hpp
1// SPDX-License-Identifier: LGPL-2.1-or-later
2
3#pragma once
4
5#include <vitrio/detector_event_fractionation.hpp>
6#include <vitrio/export.hpp>
7#include <vitrio/image_reader.hpp>
8#include <vitrio/platform.hpp>
9
10#include <memory>
11
12namespace vitrio
13{
14
15class detector_event_renderer;
16class detector_event_timeline_reader;
17
35class VITRIO_API detector_event_image_reader final
36 : public image_reader
37{
38public:
51 std::shared_ptr<const detector_event_timeline_reader> events,
52 detector_event_fractionation fractionation,
53 std::shared_ptr<const detector_event_renderer> renderer
54 );
55
57
64
65 const image_descriptor& get_descriptor() const noexcept override;
66
67 const image_metadata& get_metadata() const noexcept override;
68
75 void read(
76 array_ref destination,
77 const image_transfer_plan &regions
78 ) const override;
79
80private:
81 class implementation;
82 VITRIO_STD_MEMBER_INTERFACE
83 std::unique_ptr<implementation> m_implementation;
84};
85
86} // namespace vitrio
A reference to a multidimensional array that does not keep it alive.
Definition array_ref.hpp:32
How the time of an acquisition is cut into fractions.
Definition detector_event_fractionation.hpp:28
Reads an acquisition of detector events as a movie of the images its fractions render into.
Definition detector_event_image_reader.hpp:37
const detector_event_fractionation & get_fractionation() const noexcept
Get the fractionation the acquisition is read with.
detector_event_image_reader(std::shared_ptr< const detector_event_timeline_reader > events, detector_event_fractionation fractionation, std::shared_ptr< const detector_event_renderer > renderer)
Construct a reader rendering the fractions of an acquisition.
The shape and data type of the values an image file holds.
Definition image_descriptor.hpp:28
What a file states beyond its shape and data type, such as how its samples map onto physical space.
Definition image_metadata.hpp:17
Abstract read-only view of one image file.
Definition image_reader.hpp:37
The regions to transfer between one file and one array.
Definition image_transfer_plan.hpp:34