pub struct AnalysisResult {Show 19 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,
pub measured_fwhm_kernel: f32,
pub median_beta: Option<f32>,
}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 with valid PSF measurements (statistics computed from all).
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.
measured_fwhm_kernel: f32Measured FWHM from adaptive two-pass detection (pixels). This is the FWHM used for the final matched filter kernel. If the first-pass FWHM was within 30% of 3.0, this equals 3.0.
median_beta: Option<f32>Median Moffat β across all stars (None if Moffat fitting not used). Typical range: 2.0-5.0 for real optics. Lower = broader wings.
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