vitrio 0.1.4
High-throughput image I/O for Cryo-Electron Microscopy (CryoEM)
Loading...
Searching...
No Matches
image_file_write_format.hpp
1// SPDX-License-Identifier: LGPL-2.1-or-later
2
3#pragma once
4
5#include <vitrio/export.hpp>
6#include <vitrio/image_file_format_suitability.hpp>
7#include <vitrio/image_writer.hpp>
8
9#include <memory>
10#include <string>
11
12namespace vitrio
13{
14
15class image_descriptor;
16class image_metadata;
17class image_file_probe;
18
28{
29public:
30 image_file_write_format() noexcept;
34
36 operator=(const image_file_write_format &other) = delete;
38 operator=(image_file_write_format &&other) = delete;
39
45 virtual std::string get_name() const = 0;
46
58 virtual image_file_format_suitability
59 get_suitability(const image_file_probe &probe) const = 0;
60
81 virtual std::shared_ptr<image_writer> open(
82 const image_file_probe &probe,
83 const image_descriptor &descriptor,
84 const image_metadata &metadata
85 ) const = 0;
86};
87
88} // namespace vitrio
The shape and data type of the values an image file holds.
Definition image_descriptor.hpp:28
Inmutable brief representation of a file.
Definition image_file_probe.hpp:28
The ability of one image file format to be written.
Definition image_file_write_format.hpp:28
virtual std::string get_name() const =0
Get the name of this format.
virtual image_file_format_suitability get_suitability(const image_file_probe &probe) const =0
Report how well this format fits a file.
virtual std::shared_ptr< image_writer > open(const image_file_probe &probe, const image_descriptor &descriptor, const image_metadata &metadata) const =0
Create a file and open it for writing.
What a file states beyond its shape and data type, such as how its samples map onto physical space.
Definition image_metadata.hpp:17