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§
Sourcefn frame_count(&self) -> usize
fn frame_count(&self) -> usize
Returns the number of acquisition frames.
Sourcefn image_shape(&self) -> (usize, usize)
fn image_shape(&self) -> (usize, usize)
Returns low-resolution image shape as (height, width).
Sourcefn frame(&self, index: usize) -> Result<impl Deref<Target = [f64]> + '_>
fn frame(&self, index: usize) -> Result<impl Deref<Target = [f64]> + '_>
Borrows or shares a row-major intensity frame by zero-based acquisition index.
Sourcefn frame_weight(&self, index: usize) -> Result<f64>
fn frame_weight(&self, index: usize) -> Result<f64>
Returns a frame’s non-negative reconstruction weight.
Sourcefn frame_mask(&self, index: usize) -> Result<Option<&[u8]>>
fn frame_mask(&self, index: usize) -> Result<Option<&[u8]>>
Borrows an optional row-major binary validity mask for one frame.
Sourcefn frame_metadata(&self) -> &[FrameMetadata]
fn frame_metadata(&self) -> &[FrameMetadata]
Borrows metadata in acquisition-frame order.
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.