pub struct SymmetryHandler;Expand description
Handler for symmetry-based operations on photometric data.
Implementations§
Source§impl SymmetryHandler
impl SymmetryHandler
Sourcepub fn expand_to_full(eulumdat: &Eulumdat) -> Vec<Vec<f64>>
pub fn expand_to_full(eulumdat: &Eulumdat) -> Vec<Vec<f64>>
Expand symmetric data to full 360° distribution.
Takes the stored (reduced) intensity data and expands it based on the symmetry type. Returns a full intensity matrix with all C-planes from 0° to 360°.
Sourcepub fn expand_c_angles(eulumdat: &Eulumdat) -> Vec<f64>
pub fn expand_c_angles(eulumdat: &Eulumdat) -> Vec<f64>
Get the C-plane angles for the full 360° distribution.
Sourcepub fn get_intensity_at(eulumdat: &Eulumdat, c_angle: f64, g_angle: f64) -> f64
pub fn get_intensity_at(eulumdat: &Eulumdat, c_angle: f64, g_angle: f64) -> f64
Get intensity at any C and G angle by interpolation.
This handles symmetry automatically, interpolating between stored data points.
Sourcepub fn polar_to_cartesian(
c_angle: f64,
g_angle: f64,
intensity: f64,
) -> (f64, f64)
pub fn polar_to_cartesian( c_angle: f64, g_angle: f64, intensity: f64, ) -> (f64, f64)
Convert polar coordinates (C, G, intensity) to Cartesian for visualization.
Returns (x, y) coordinates where:
- x axis points right (C=90°, G=90°)
- y axis points up (C=0°, G=90°)
- The returned coordinates are scaled by intensity.
Auto Trait Implementations§
impl Freeze for SymmetryHandler
impl RefUnwindSafe for SymmetryHandler
impl Send for SymmetryHandler
impl Sync for SymmetryHandler
impl Unpin for SymmetryHandler
impl UnsafeUnpin for SymmetryHandler
impl UnwindSafe for SymmetryHandler
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