44 return "VA_SINGLE_ARRAY_DOWNSCALED";
49static std::map<std::string, int> for_each_mode_as_string = {
77 std::unique_ptr<TileStorage>
storage);
93 bool deep_copy =
false);
96 bool copy_src_data =
true);
100 float get(
int global_i,
int global_j)
const;
103 void set(
int global_i,
int global_j,
float v);
127 size_t bins = 1024)
const;
131 void remap(
float vmin,
Declaration of the Array class for 2D floating-point arrays with various mathematical operations and ...
Array class, helper to manipulate 2D float array with "(i, j)" indexing.
Definition array.hpp:32
Header file for filter-related functions and classes.
Custom logger utility with spdlog-like formatting and source location.
Definition algebra.hpp:23
std::string to_string(StorageMode m)
Definition tile_storage.hpp:37
void copy_data(VirtualArray &src, VirtualArray &dst, const ComputeMode &cm)
Definition virtual_array.cpp:552
StorageMode
Definition tile_storage.hpp:30
@ VA_RAM
Definition tile_storage.hpp:31
ForEachMode
Definition virtual_array.hpp:29
@ VA_SINGLE_ARRAY_DOWNSCALED
Definition virtual_array.hpp:33
@ VA_DISTRIBUTED
Definition virtual_array.hpp:31
@ VA_SEQUENTIAL
Definition virtual_array.hpp:30
@ VA_SINGLE_ARRAY
Definition virtual_array.hpp:32
Definition virtual_array.hpp:56
float k_cutoff
Definition virtual_array.hpp:60
int stride
Definition virtual_array.hpp:59
ForEachMode mode
Definition virtual_array.hpp:57
bool trim_storage
Definition virtual_array.hpp:58
Definition tile_region.hpp:38
Definition virtual_array.hpp:68
Array to_array_dbg() const
Definition virtual_array.cpp:524
glm::ivec2 local_indices(const TileRegion ®ion, int global_i, int global_j) const
Definition virtual_array.cpp:316
TileRegion tile_region_from_tile_coords(int tile_x, int tile_y) const
Definition virtual_array.cpp:421
size_t live_memory_bytes() const
Definition virtual_array.cpp:545
int get_ntiles() const
Definition virtual_array.cpp:284
void inverse(const ComputeMode &cm)
Definition virtual_array_processing.cpp:17
int halo
Definition virtual_array.hpp:159
glm::ivec2 tile_shape
Definition virtual_array.hpp:158
TileRegion tile_region_from_global_index(int global_i, int global_j) const
Definition virtual_array.cpp:411
glm::vec2 range(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:76
void copy_from(VirtualArray &src, const ComputeMode &cm, bool copy_src_data=true)
Definition virtual_array.cpp:59
void from_array_bilinear(const Array &array, const ComputeMode &cm)
Definition virtual_array.cpp:137
void smooth_overlap_buffers()
Definition virtual_array.cpp:342
void from_array_bicubic(const Array &array, const ComputeMode &cm)
Definition virtual_array.cpp:179
glm::vec4 bbox
Definition virtual_array.hpp:157
float min(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:57
std::vector< float > unique_values(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:230
Array to_array(const glm::ivec2 &array_shape, const ComputeMode &cm) const
Definition virtual_array.cpp:480
float max(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:32
void trim_storage() const
Definition virtual_array.cpp:535
float get(int global_i, int global_j) const
Definition virtual_array.cpp:221
glm::vec2 range_percentile(float p_low, float p_high, const ComputeMode &cm, size_t bins=1024) const
Definition virtual_array_processing.cpp:101
void remap(float vmin, float vmax, const ComputeMode &cm)
Definition virtual_array_processing.cpp:178
void set(int global_i, int global_j, float v)
Definition virtual_array.cpp:333
glm::ivec2 shape
Definition virtual_array.hpp:156
std::unique_ptr< VirtualArray > clone(const ComputeMode &cm, bool deep_copy=false)
Definition virtual_array.cpp:75
void from_array(const Array &array, const ComputeMode &cm)
Definition virtual_array.cpp:104
std::unique_ptr< TileStorage > storage
Definition virtual_array.hpp:160
float mean(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:51
glm::ivec2 get_max_tiles() const
Definition virtual_array.cpp:232
glm::vec2 tile_region_global_position(const TileRegion ®ion) const
Definition virtual_array.cpp:462
float get_bilinear(float x, float y) const
Definition virtual_array.cpp:240
size_t live_tile_count() const
Definition virtual_array.cpp:540
void fill(float value, const ComputeMode &cm)
Definition virtual_array.cpp:96
float get_nearest(float x, float y) const
Definition virtual_array.cpp:270
std::string info_string(const ComputeMode &cm, int indent=0) const
Definition virtual_array.cpp:290
float sum(const ComputeMode &cm) const
Definition virtual_array_processing.cpp:199
glm::ivec2 tile_region_global_indices(const TileRegion ®ion) const
Definition virtual_array.cpp:472