pub enum FrameSchedule {
Sequential,
BrightfieldFirst,
SpiralOut,
RandomShuffle {
seed: u64,
},
SnrWeighted,
}Variants§
Sequential
BrightfieldFirst
SpiralOut
RandomShuffle
SnrWeighted
Highest empirical shot-noise SNR first. This requires measurements and
is applied by Self::order_for_problem; Self::order retains
sequential order because a compiled model alone contains no signal data.
Implementations§
Source§impl FrameSchedule
impl FrameSchedule
Sourcepub fn order(&self, model: &ImagePlaneModel, iteration: usize) -> Vec<usize>
pub fn order(&self, model: &ImagePlaneModel, iteration: usize) -> Vec<usize>
Returns a model-only frame order.
Self::SnrWeighted cannot be estimated from model geometry, so this
method returns sequential order for that variant. Reconstruction runners
use Self::order_for_problem and therefore have access to measurements.
Sourcepub fn order_for_problem<M: MeasurementRead>(
&self,
problem: &ReconstructionProblem<M>,
iteration: usize,
) -> Result<Vec<usize>>
pub fn order_for_problem<M: MeasurementRead>( &self, problem: &ReconstructionProblem<M>, iteration: usize, ) -> Result<Vec<usize>>
Returns a frame order using both the model and measured intensities.
The SNR-weighted schedule ranks frames by
frame_weight * sqrt(mean(max(measured - known_background, 0))) over
unmasked pixels. This is an empirical Poisson shot-noise proxy, not a
camera-noise calibration. Zero-weight or fully masked frames are placed
last, and equal scores retain ascending frame-index order.
Trait Implementations§
Source§impl Clone for FrameSchedule
impl Clone for FrameSchedule
Source§fn clone(&self) -> FrameSchedule
fn clone(&self) -> FrameSchedule
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more