pub struct AnalysisResult {Show 17 fields
pub width: usize,
pub height: usize,
pub source_channels: usize,
pub background: f32,
pub noise: f32,
pub detection_threshold: f32,
pub stars_detected: usize,
pub stars: Vec<StarMetrics>,
pub median_fwhm: f32,
pub median_eccentricity: f32,
pub median_snr: f32,
pub median_hfr: f32,
pub snr_db: f32,
pub snr_weight: f32,
pub psf_signal: f32,
pub trail_r_squared: f32,
pub possibly_trailed: bool,
}Expand description
Full analysis result for an image.
Fields§
§width: usizeImage width (after debayer if applicable).
height: usizeImage height (after debayer if applicable).
source_channels: usizeNumber of source channels: 1 = mono, 3 = color (after debayer).
background: f32Global background level (ADU).
noise: f32Background noise sigma (ADU).
detection_threshold: f32Actual detection threshold used (ADU above background).
stars_detected: usizeTotal stars detected before max_stars cap.
stars: Vec<StarMetrics>Per-star metrics, sorted by flux descending, capped at max_stars.
median_fwhm: f32Median FWHM across all measured stars (pixels).
median_eccentricity: f32Median eccentricity across all measured stars.
median_snr: f32Median per-star SNR.
median_hfr: f32Median half-flux radius (pixels).
snr_db: f32Image-wide SNR in decibels: 20 × log10(mean_signal / noise). Comparable to PixInsight SNRViews.
snr_weight: f32PixInsight-style SNR weight: (MeanDev / noise)².
psf_signal: f32PSF signal: median(star_peaks) / noise.
trail_r_squared: f32Rayleigh R² statistic for directional coherence of star position angles. 0.0 = uniform (no trail), 1.0 = all stars aligned (strong trail). Computed from detection-stage stamp moments on 2θ.
possibly_trailed: boolTrue if the image is likely trailed, based on the Rayleigh test. Uses configurable R² threshold (default 0.5) and eccentricity gate.
Auto Trait Implementations§
impl Freeze for AnalysisResult
impl RefUnwindSafe for AnalysisResult
impl Send for AnalysisResult
impl Sync for AnalysisResult
impl Unpin for AnalysisResult
impl UnsafeUnpin for AnalysisResult
impl UnwindSafe for AnalysisResult
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> 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