pub struct AcquisitionPlan { /* private fields */ }Expand description
Sparse source-to-frame acquisition structure.
Predicted intensity is gain[f] * sum_s(weight[f,s] * power[s] * I_s).
Source contributions are mutually incoherent; every multiplier acts on
intensity rather than field amplitude and is not automatically normalized.
Implementations§
Source§impl AcquisitionPlan
impl AcquisitionPlan
Sourcepub fn all_sources(source_count: usize) -> Result<Self>
pub fn all_sources(source_count: usize) -> Result<Self>
Creates one unit-gain frame per source in natural order.
Sourcepub fn sequential(order: Vec<usize>) -> Result<Self>
pub fn sequential(order: Vec<usize>) -> Result<Self>
Creates one unit-gain frame per listed source.
The order may omit or repeat sources. Index range is checked when the
complete Illumination is resolved.
Sourcepub fn from_sparse(frames: Vec<IlluminationFrame>) -> Result<Self>
pub fn from_sparse(frames: Vec<IlluminationFrame>) -> Result<Self>
Canonicalizes sparse frames by merging duplicates and removing zero weights.
Sourcepub fn from_dense(weights: Vec<Vec<f64>>) -> Result<Self>
pub fn from_dense(weights: Vec<Vec<f64>>) -> Result<Self>
Converts a dense (frames, sources) matrix to canonical sparse storage.
Sourcepub fn frame_count(&self) -> usize
pub fn frame_count(&self) -> usize
Returns the number of acquired frames.
Sourcepub fn frames(&self) -> &[IlluminationFrame]
pub fn frames(&self) -> &[IlluminationFrame]
Borrows canonical sparse frames.
Trait Implementations§
Source§impl Clone for AcquisitionPlan
impl Clone for AcquisitionPlan
Source§fn clone(&self) -> AcquisitionPlan
fn clone(&self) -> AcquisitionPlan
Returns a duplicate of the value. Read more
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
Performs copy-assignment from
source. Read moreSource§impl Debug for AcquisitionPlan
impl Debug for AcquisitionPlan
Source§impl<'de> Deserialize<'de> for AcquisitionPlan
impl<'de> Deserialize<'de> for AcquisitionPlan
Source§fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
fn deserialize<__D>(__deserializer: __D) -> Result<Self, __D::Error>where
__D: Deserializer<'de>,
Deserialize this value from the given Serde deserializer. Read more
Source§impl PartialEq for AcquisitionPlan
impl PartialEq for AcquisitionPlan
Source§fn eq(&self, other: &AcquisitionPlan) -> bool
fn eq(&self, other: &AcquisitionPlan) -> bool
Tests for
self and other values to be equal, and is used by ==.Source§impl Serialize for AcquisitionPlan
impl Serialize for AcquisitionPlan
impl StructuralPartialEq for AcquisitionPlan
Auto Trait Implementations§
impl Freeze for AcquisitionPlan
impl RefUnwindSafe for AcquisitionPlan
impl Send for AcquisitionPlan
impl Sync for AcquisitionPlan
impl Unpin for AcquisitionPlan
impl UnsafeUnpin for AcquisitionPlan
impl UnwindSafe for AcquisitionPlan
Blanket Implementations§
Source§impl<T> BorrowMut<T> for Twhere
T: ?Sized,
impl<T> BorrowMut<T> for Twhere
T: ?Sized,
Source§fn borrow_mut(&mut self) -> &mut T
fn borrow_mut(&mut self) -> &mut T
Mutably borrows from an owned value. Read more
Source§impl<T> CloneToUninit for Twhere
T: Clone,
impl<T> CloneToUninit for Twhere
T: Clone,
Source§impl<T> IntoEither for T
impl<T> IntoEither for T
Source§fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
fn into_either(self, into_left: bool) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left is true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read moreSource§fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
fn into_either_with<F>(self, into_left: F) -> Either<Self, Self> ⓘ
Converts
self into a Left variant of Either<Self, Self>
if into_left(&self) returns true.
Converts self into a Right variant of Either<Self, Self>
otherwise. Read more