83{
84 const auto& state =
m_window->get_state();
85 const uint32_t w = state.current_width;
86 const uint32_t
h = state.current_height;
87 const uint32_t c =
m_window->get_create_info().container_format.color_channels;
88 const size_t sz =
static_cast<size_t>(w) *
h * c;
89
91
95 static_cast<uint64_t
>(
h),
96 static_cast<uint64_t>(w),
97 static_cast<uint64_t>(c) },
99
102 slot =
std::vector<uint8_t>(sz, 0
U);
103
107 flag.
store(true,
std::memory_order_relaxed);
108
111}
std::shared_ptr< Core::Window > m_window
std::vector< std::vector< float > > m_normalised_cache
std::vector< DataVariant > m_processed_data
std::vector< std::atomic< bool > > m_normalised_dirty
ContainerDataStructure m_structure
std::vector< DataVariant > m_data
uint32_t m_frame_capacity
@ VIDEO_COLOR
4D video (time + 2D + color)
@ ROW_MAJOR
C/C++ style (last dimension varies fastest)
std::shared_ptr< T > store(std::shared_ptr< T > obj)
Transfer ownership of an existing object to the persistent store for process lifetime.
std::vector< DataDimension > dimensions
static ContainerDataStructure image_interleaved()
Create structure for interleaved image data.
static std::vector< DataDimension > create_dimensions(DataModality modality, const std::vector< uint64_t > &shape, MemoryLayout layout=MemoryLayout::ROW_MAJOR)
Create dimension descriptors for a data modality.