pub struct SamplingCertificate {
pub thresholds: SamplingThresholds,
pub wavelength_m: f64,
pub samples_per_wavelength_u: f64,
pub samples_per_wavelength_v: f64,
pub samples_per_power_fringe_u: f64,
pub samples_per_power_fringe_v: f64,
pub nearest_point_source_distance_m: Option<f64>,
pub max_envelope_fraction_per_cell: f64,
pub verdict: SamplingVerdict,
}Expand description
Measurements explaining whether a problem is resolved by a sampling plane.
Coherent squared magnitude can contain a worst-case fringe period of
wavelength / 2, so its samples-per-period values are half the carrier
samples-per-wavelength values. For point sources, the envelope bound covers
one complete cell diagonal relative to the nearest point on the finite
plane. A source touching that plane is rejected because no finite 1/r
envelope certificate exists.
Fields§
§thresholds: SamplingThresholdsExplicit thresholds used for this classification.
wavelength_m: f64Unattenuated carrier wavelength.
samples_per_wavelength_u: f64Carrier samples per wavelength along the plane’s u axis.
samples_per_wavelength_v: f64Carrier samples per wavelength along the plane’s v axis.
samples_per_power_fringe_u: f64Samples per worst-case squared-magnitude fringe along u.
samples_per_power_fringe_v: f64Samples per worst-case squared-magnitude fringe along v.
nearest_point_source_distance_m: Option<f64>Distance from a point source to the nearest point on the finite plane.
This is None when the problem has no point source.
max_envelope_fraction_per_cell: f64Conservative maximum fractional 1/r change across one cell.
verdict: SamplingVerdictClassification obtained from every preceding measurement.
Implementations§
Source§impl SamplingCertificate
impl SamplingCertificate
Sourcepub fn measure(
problem: &InterferenceProblem,
plane: &SamplingPlane,
) -> Result<Self, InterferenceError>
pub fn measure( problem: &InterferenceProblem, plane: &SamplingPlane, ) -> Result<Self, InterferenceError>
Measures phase, worst-case power fringes, and point-source envelope.
This performs only constant storage work and iterates over sources; it does not allocate a grid.
Sourcepub fn measure_with_thresholds(
problem: &InterferenceProblem,
plane: &SamplingPlane,
thresholds: SamplingThresholds,
) -> Result<Self, InterferenceError>
pub fn measure_with_thresholds( problem: &InterferenceProblem, plane: &SamplingPlane, thresholds: SamplingThresholds, ) -> Result<Self, InterferenceError>
Measures using caller-supplied, validated classification thresholds.
Trait Implementations§
Source§impl Clone for SamplingCertificate
impl Clone for SamplingCertificate
Source§fn clone(&self) -> SamplingCertificate
fn clone(&self) -> SamplingCertificate
1.0.0 (const: unstable) · Source§fn clone_from(&mut self, source: &Self)
fn clone_from(&mut self, source: &Self)
source. Read more