vitrio 0.1.4
High-throughput image I/O for Cryo-Electron Microscopy (CryoEM)
Loading...
Searching...
No Matches
image_read.hpp
1// SPDX-License-Identifier: LGPL-2.1-or-later
2
3#pragma once
4
5#include <vitrio/array/array.hpp>
6#include <vitrio/array/array_ref.hpp>
7#include <vitrio/array/numerical_type.hpp>
8#include <vitrio/export.hpp>
9#include <vitrio/span.hpp>
10
11#include <memory>
12#include <string>
13
14namespace vitrio
15{
16
17class completion;
18class executor;
19class index_table;
20
21class image_loader;
22class image_location;
23class image_location_grouping;
24class image_reader_provider;
25class image_scratch;
26
43VITRIO_API
44array read(
45 const std::string &key,
46 image_reader_provider &readers,
47 numerical_type data_type = numerical_type::unknown
48);
49
62VITRIO_API
63array read(
64 const image_location &location,
65 image_reader_provider &readers,
66 numerical_type data_type = numerical_type::unknown
67);
68
85VITRIO_API
86void read(
87 array_ref destination,
88 const image_location &location,
89 image_reader_provider &readers
90);
91
120VITRIO_API
121std::shared_ptr<completion> read_batch_async(
122 const image_loader &loader,
123 array destination,
124 span<const image_location> locations
125);
126
160VITRIO_API
161std::shared_ptr<completion> read_patches_async(
162 const image_loader &loader,
163 array destination,
164 const image_location &location,
165 const index_table &centres
166);
167
194VITRIO_API
195std::shared_ptr<completion> prefetch_scratch_async(
196 image_scratch &scratch,
197 std::shared_ptr<image_reader_provider> files,
198 vitrio::executor &executor,
199 const image_location_grouping &locations
200);
201
202} // namespace vitrio
Where a task is handed off to run, now or later.
Definition executor.hpp:26