vitrio 0.1.4
High-throughput image I/O for Cryo-Electron Microscopy (CryoEM)
Loading...
Searching...
No Matches
image_write.hpp
1// SPDX-License-Identifier: LGPL-2.1-or-later
2
3#pragma once
4
5#include <vitrio/array/const_array.hpp>
6#include <vitrio/array/const_array_ref.hpp>
7#include <vitrio/array/numerical_type.hpp>
8#include <vitrio/export.hpp>
9#include <vitrio/image_file_write_format_selector.hpp>
10#include <vitrio/image_metadata.hpp>
11#include <vitrio/span.hpp>
12
13#include <cstddef>
14#include <memory>
15
16namespace vitrio
17{
18
19class completion;
20
21class image_descriptor;
22class image_location;
23class image_saver;
24
43VITRIO_API
44void write_single(
45 const_array_ref arr,
46 const std::string &path,
47 const image_file_write_format_selector &formats,
48 numerical_type data_type = numerical_type::unknown,
49 const image_metadata &metadata = image_metadata()
50);
51
68VITRIO_API
69void write_stack(
70 const_array_ref arr,
71 const std::string &path,
72 const image_file_write_format_selector &formats,
73 numerical_type data_type = numerical_type::unknown,
74 const image_metadata &metadata = image_metadata()
75);
76
94VITRIO_API
95void write(
96 const_array_ref arr,
97 const std::string &path,
98 const image_file_write_format_selector &formats,
99 const image_descriptor &descriptor,
100 const image_metadata &metadata = image_metadata()
101);
102
134VITRIO_API
135std::shared_ptr<completion> write_batch_async(
136 const image_saver &saver,
137 const_array source,
138 span<const image_location> locations
139);
140
141} // namespace vitrio