vitrio 0.1.4
High-throughput image I/O for Cryo-Electron Microscopy (CryoEM)
Loading...
Searching...
No Matches
image_loader.hpp
1// SPDX-License-Identifier: LGPL-2.1-or-later
2
3#pragma once
4
5#include <vitrio/export.hpp>
6
7#include <memory>
8
9namespace vitrio
10{
11
12class array;
13class completion;
14
15class image_transaction_plan;
16class image_transfer_sanitizer;
17
30class VITRIO_API image_loader
31{
32public:
33 image_loader() noexcept;
34 image_loader(const image_loader &other) = delete;
35 image_loader(image_loader &&other) = delete;
36 virtual ~image_loader();
37
38 image_loader& operator=(const image_loader &other) = delete;
39 image_loader& operator=(image_loader &&other) = delete;
40
59 virtual std::shared_ptr<completion> load(
60 array destination,
61 const image_transaction_plan &plan,
62 std::shared_ptr<const image_transfer_sanitizer> sanitizer
63 ) const = 0;
64};
65
66} // namespace vitrio
A multidimensional array of numbers in host memory.
Definition array.hpp:37
Loads the regions of a transaction plan into one array.
Definition image_loader.hpp:31
virtual std::shared_ptr< completion > load(array destination, const image_transaction_plan &plan, std::shared_ptr< const image_transfer_sanitizer > sanitizer) const =0
Load every region a transaction plan names.
List of regions to transfer between many files and one array.
Definition image_transaction_plan.hpp:33