pub struct LEDSphere {
pub angles: Vec<(f64, f64)>,
pub radius: f64,
pub center_offset: (f64, f64, f64),
pub orientation_radians: (f64, f64, f64),
pub angular_corrections: Option<Vec<(f64, f64)>>,
pub wavelength_override: Option<f64>,
pub illumination_order: Option<Vec<usize>>,
pub intensity_weights: Option<Vec<f64>>,
}Expand description
Fixed LEDs mounted on a spherical surface around the sample.
Each angle is (theta, phi) in radians. theta is the polar angle from
the positive optical (z) axis and phi is the azimuth from positive x
toward positive y. The sphere pose is applied as Rz * Ry * Rx.
Fields§
§angles: Vec<(f64, f64)>§radius: f64§center_offset: (f64, f64, f64)Sphere-centre displacement (x, y, z) from the sample, in metres.
orientation_radians: (f64, f64, f64)Rigid mount rotation (rx, ry, rz) in radians.
angular_corrections: Option<Vec<(f64, f64)>>Optional per-LED (delta_theta, delta_phi) placement corrections.
wavelength_override: Option<f64>§illumination_order: Option<Vec<usize>>§intensity_weights: Option<Vec<f64>>Implementations§
Source§impl LEDSphere
impl LEDSphere
pub fn new(angles: Vec<(f64, f64)>, radius: f64) -> Self
pub fn center_offset(self, offset: (f64, f64, f64)) -> Self
pub fn orientation_deg(self, degrees: (f64, f64, f64)) -> Self
pub fn angular_corrections(self, corrections: Vec<(f64, f64)>) -> Self
pub fn wavelength_override(self, wavelength: f64) -> Self
pub fn illumination_order(self, order: Vec<usize>) -> Self
pub fn intensity_weights(self, weights: Vec<f64>) -> Self
pub fn validate(&self) -> Result<()>
Trait Implementations§
Source§impl<'de> Deserialize<'de> for LEDSphere
impl<'de> Deserialize<'de> for LEDSphere
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 IlluminationSource for LEDSphere
impl IlluminationSource for LEDSphere
fn k_vectors(&self, optics: &Optics) -> Result<Vec<KVector>>
Source§fn frame_gains(&self) -> Result<Option<Vec<f64>>>
fn frame_gains(&self) -> Result<Option<Vec<f64>>>
Optional multiplicative intensity gain for each compiled frame.
Source§fn multiplexing_matrix(&self) -> Result<Option<MultiplexingMatrix>>
fn multiplexing_matrix(&self) -> Result<Option<MultiplexingMatrix>>
Optional incoherent source weights for each measured frame.
Auto Trait Implementations§
impl Freeze for LEDSphere
impl RefUnwindSafe for LEDSphere
impl Send for LEDSphere
impl Sync for LEDSphere
impl Unpin for LEDSphere
impl UnsafeUnpin for LEDSphere
impl UnwindSafe for LEDSphere
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