pub struct IlluminationCalibration {
pub parameters: PlanarArrayCalibrationParameters,
pub optimizer: BoundedFiniteDifferenceOptimizer,
pub loss_type: LossType,
}Expand description
Serializable physical illumination-calibration configuration.
Fields§
§parameters: PlanarArrayCalibrationParametersExplicit physical and multiplicative parameter selection.
optimizer: BoundedFiniteDifferenceOptimizerNarrow deterministic bounded optimizer settings.
loss_type: LossTypeCanonical measurement-domain data loss; amplitude MSE is the default.
Implementations§
Source§impl IlluminationCalibration
impl IlluminationCalibration
Sourcepub fn new(parameters: PlanarArrayCalibrationParameters) -> Self
pub fn new(parameters: PlanarArrayCalibrationParameters) -> Self
Creates a calibrator using bounded finite differences and amplitude MSE.
Sourcepub fn optimizer(self, optimizer: BoundedFiniteDifferenceOptimizer) -> Self
pub fn optimizer(self, optimizer: BoundedFiniteDifferenceOptimizer) -> Self
Replaces bounded optimizer settings.
Sourcepub fn loss_type(self, loss_type: LossType) -> Self
pub fn loss_type(self, loss_type: LossType) -> Self
Replaces the reused reconstruction measurement-domain loss.
Sourcepub fn validate_for(&self, illumination: &Illumination) -> Result<()>
pub fn validate_for(&self, illumination: &Illumination) -> Result<()>
Validates configuration against an initial illumination.
Sourcepub fn initialize(
&self,
illumination: &Illumination,
optics: &Optics,
) -> Result<IlluminationCalibrationState>
pub fn initialize( &self, illumination: &Illumination, optics: &Optics, ) -> Result<IlluminationCalibrationState>
Creates checkpointable absolute and normalized state for illumination.
Sourcepub fn calibrate<M: MeasurementRead>(
&self,
measurements: &M,
optics: &Optics,
initial_illumination: &Illumination,
object_spectrum: ArrayView2<'_, Complex64>,
pupil: &Pupil,
model: &mut ImagePlaneModel,
outer_steps: usize,
) -> Result<IlluminationCalibrationState>
pub fn calibrate<M: MeasurementRead>( &self, measurements: &M, optics: &Optics, initial_illumination: &Illumination, object_spectrum: ArrayView2<'_, Complex64>, pupil: &Pupil, model: &mut ImagePlaneModel, outer_steps: usize, ) -> Result<IlluminationCalibrationState>
Calibrates physical illumination for a fixed reconstructed object and pupil.
model must have been compiled from initial_illumination; it is refreshed in
place and can be reused immediately. outer_steps repeats the configured bounded
phase and must be positive. Joint object/illumination reconstruction is provided by
crate::algorithms::JointReconstruction.
Trait Implementations§
Source§impl Clone for IlluminationCalibration
impl Clone for IlluminationCalibration
Source§fn clone(&self) -> IlluminationCalibration
fn clone(&self) -> IlluminationCalibration
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read moreSource§impl Debug for IlluminationCalibration
impl Debug for IlluminationCalibration
Source§impl<'de> Deserialize<'de> for IlluminationCalibration
impl<'de> Deserialize<'de> for IlluminationCalibration
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>,
Source§impl PartialEq for IlluminationCalibration
impl PartialEq for IlluminationCalibration
Source§fn eq(&self, other: &IlluminationCalibration) -> bool
fn eq(&self, other: &IlluminationCalibration) -> bool
self and other values to be equal, and is used by ==.Source§impl Serialize for IlluminationCalibration
impl Serialize for IlluminationCalibration
impl StructuralPartialEq for IlluminationCalibration
Auto Trait Implementations§
impl Freeze for IlluminationCalibration
impl RefUnwindSafe for IlluminationCalibration
impl Send for IlluminationCalibration
impl Sync for IlluminationCalibration
impl Unpin for IlluminationCalibration
impl UnsafeUnpin for IlluminationCalibration
impl UnwindSafe for IlluminationCalibration
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
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> ⓘ
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> ⓘ
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