vitrio 0.1.4
High-throughput image I/O for Cryo-Electron Microscopy (CryoEM)
Loading...
Searching...
No Matches
detector_event_image_reader_provider.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_provider.hpp>
8#include <vitrio/platform.hpp>
9
10#include <memory>
11#include <string>
12
13namespace vitrio
14{
15
16class detector_event_renderer;
17class detector_event_timeline_reader_provider;
18
37{
38public:
49 std::shared_ptr<detector_event_timeline_reader_provider> events,
50 detector_event_fractionation fractionation,
51 std::shared_ptr<const detector_event_renderer> renderer
52 );
53
55
63 std::shared_ptr<const image_reader>
64 acquire(const std::string &key) override;
65
66private:
67 VITRIO_STD_MEMBER_INTERFACE
68 std::shared_ptr<detector_event_timeline_reader_provider> m_events;
69 VITRIO_STD_MEMBER_INTERFACE
70 detector_event_fractionation m_fractionation;
71 VITRIO_STD_MEMBER_INTERFACE
72 std::shared_ptr<const detector_event_renderer> m_renderer;
73};
74
75} // namespace vitrio
How the time of an acquisition is cut into fractions.
Definition detector_event_fractionation.hpp:28
A provider that reads acquisitions of detector events as movies, each fraction of an acquisition rend...
Definition detector_event_image_reader_provider.hpp:37
std::shared_ptr< const image_reader > acquire(const std::string &key) override
Get the reader a key names.
detector_event_image_reader_provider(std::shared_ptr< detector_event_timeline_reader_provider > events, detector_event_fractionation fractionation, std::shared_ptr< const detector_event_renderer > renderer)
Construct a provider rendering acquisitions as given.
Interface to serve image_reader given a key.
Definition image_reader_provider.hpp:26