pub struct Spectrum { /* private fields */ }Implementations§
Source§impl Spectrum
impl Spectrum
pub fn new<T: IntoSpectrumRows>( wavelengths: Vec<f64>, spectra: T, ) -> LuxResult<Self>
pub fn wavelengths(&self) -> &[f64]
pub fn values(&self) -> &[f64]
pub fn spectra(&self) -> &[Vec<f64>]
pub fn spectrum_count(&self) -> usize
pub fn wavelength_count(&self) -> usize
pub fn spacing(&self) -> LuxResult<Vec<f64>>
pub fn into_vec(self) -> Vec<Vec<f64>>
pub fn interpolate_linear(&self, target_wavelengths: &[f64]) -> LuxResult<Self>
pub fn cie_interp_linear( &self, target_wavelengths: &[f64], negative_values_allowed: bool, ) -> LuxResult<Self>
pub fn normalize( &self, mode: SpectrumNormalization, observer: Option<&TristimulusObserver>, ) -> LuxResult<Self>
pub fn normalize_each( &self, modes: &[SpectrumNormalization], observer: Option<&TristimulusObserver>, ) -> LuxResult<Self>
pub fn spd_to_xyz( &self, observer: &TristimulusObserver, relative: bool, ) -> LuxResult<Vec<[f64; 3]>>
pub fn spd_to_ler(&self, observer: &TristimulusObserver) -> LuxResult<Vec<f64>>
pub fn spd_to_ciera(&self) -> LuxResult<Vec<f64>>
pub fn spd_to_ciera_special(&self) -> LuxResult<Vec<Vec<f64>>>
pub fn spd_to_ciera_result(&self) -> LuxResult<Vec<CieRaResult>>
pub fn spd_to_cierf(&self) -> LuxResult<Vec<f64>>
pub fn spd_to_iesrf(&self) -> LuxResult<Vec<f64>>
pub fn spd_to_cierg(&self) -> LuxResult<Vec<f64>>
pub fn spd_to_iesrg(&self) -> LuxResult<Vec<f64>>
pub fn spd_to_cierf_special(&self) -> LuxResult<Vec<Vec<f64>>>
pub fn spd_to_iesrf_special(&self) -> LuxResult<Vec<Vec<f64>>>
pub fn spd_to_cierf_result(&self) -> LuxResult<Vec<CieRfResult>>
pub fn spd_to_iesrf_result(&self) -> LuxResult<Vec<CieRfResult>>
pub fn spd_to_tm30_result(&self) -> LuxResult<Vec<Tm30Result>>
pub fn spd_to_ies_tm30_result(&self) -> LuxResult<Vec<Tm30Result>>
pub fn spectral_mismatch_f1primes( &self, calibration_illuminant: &Spectrum, target_responsivity: &Spectrum, ) -> LuxResult<Vec<f64>>
pub fn spectral_mismatch_correction_factors( &self, detectors: &Spectrum, calibration_illuminant: &Spectrum, target_responsivity: &Spectrum, ) -> LuxResult<Vec<Vec<f64>>>
Trait Implementations§
impl StructuralPartialEq for Spectrum
Auto Trait Implementations§
impl Freeze for Spectrum
impl RefUnwindSafe for Spectrum
impl Send for Spectrum
impl Sync for Spectrum
impl Unpin for Spectrum
impl UnsafeUnpin for Spectrum
impl UnwindSafe for Spectrum
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