1#ifndef DUNE_COPASI_TIFF_GRAYSCALE_HH
2#define DUNE_COPASI_TIFF_GRAYSCALE_HH
6#include <function2/function2.hpp>
25 struct TIFFGrayscaleRow
35 TIFFGrayscaleRow(
const TIFFFile& tiff,
const std::size_t& row);
46 [[nodiscard]]
double operator[](
const std::size_t& col)
const;
53 [[nodiscard]] std::size_t
size()
const;
60 [[nodiscard]] std::size_t row()
const;
66 fu2::unique_function<std::size_t(std::size_t)
const noexcept>
77 explicit TIFFGrayscale(
const std::filesystem::path& filename, std::size_t max_cache = 8);
87 const TIFFGrayscaleRow&
operator[](std::size_t row)
const;
102 [[nodiscard]]
double operator()(
double pos_x,
double pos_y)
noexcept;
109 [[nodiscard]] std::size_t
size()
const;
116 [[nodiscard]] std::size_t
rows()
const;
123 [[nodiscard]] std::size_t
cols()
const;
133 const TIFFGrayscaleRow& cache(std::size_t row)
const;
136 mutable std::deque<TIFFGrayscaleRow> _row_cache;
137 std::size_t _max_cache;
This class describes a tiff grayscale.
Definition: tiff_grayscale.hh:21
const TIFFGrayscaleRow & operator[](std::size_t row) const
Array indexer row operator.
std::size_t rows() const
The size of rows for this file.
double operator()(double pos_x, double pos_y) noexcept
TIFF value by position call operator.
TIFFGrayscale(const std::filesystem::path &filename, std::size_t max_cache=8)
Constructs a new instance.
std::size_t size() const
The size of rows for this file.
std::size_t cols() const
The size of cols for this file.
Definition: axis_names.hh:7
Simple tiff file interface.
Definition: tiff_file.hh:18