pub trait MeasurementRead: Sync {
// Required methods
fn frame_count(&self) -> usize;
fn image_shape(&self) -> (usize, usize);
fn frame_len(&self) -> usize;
fn frame(&self, index: usize) -> Result<impl Deref<Target = [f64]> + '_>;
fn frame_weight(&self, index: usize) -> Result<f64>;
fn frame_mask(&self, index: usize) -> Result<Option<&[u8]>>;
fn frame_metadata(&self) -> &[FrameMetadata];
fn validate(&self) -> Result<()>;
}Expand description
Read-only measurement access used by reconstruction algorithms.
Implementations retain responsibility for storage, caching, preprocessing, and mutation. The opaque frame view may borrow directly from the implementation or own a shared cache handle.
Required Methods§
fn frame_count(&self) -> usize
fn image_shape(&self) -> (usize, usize)
fn frame_len(&self) -> usize
fn frame(&self, index: usize) -> Result<impl Deref<Target = [f64]> + '_>
fn frame_weight(&self, index: usize) -> Result<f64>
fn frame_mask(&self, index: usize) -> Result<Option<&[u8]>>
fn frame_metadata(&self) -> &[FrameMetadata]
fn validate(&self) -> Result<()>
Dyn Compatibility§
This trait is not dyn compatible.
In older versions of Rust, dyn compatibility was called "object safety", so this trait is not object safe.