88{
89 const auto& state =
m_window->get_state();
90 const uint32_t w = state.current_width;
91 const uint32_t
h = state.current_height;
92 const uint32_t c =
m_window->get_create_info().container_format.color_channels;
93 const size_t sz =
static_cast<size_t>(w) *
h * c;
94
96
100 static_cast<uint64_t
>(
h),
101 static_cast<uint64_t>(w),
102 static_cast<uint64_t>(c) },
104
107 slot =
std::vector<uint8_t>(sz, 0
U);
108
112 flag.
store(true,
std::memory_order_relaxed);
113
116}
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.