Newer
Older
use opossum::spectrum::{create_visible_spectrum, Spectrum};
use uom::si::{f64::Length, length::nanometer};
fn main() -> Result<(), OpossumError> {
let mut s = Spectrum::new(
Length::new::<nanometer>(400.0)..Length::new::<nanometer>(450.0),
Length::new::<nanometer>(0.1),
s.add_lorentzian_peak(
Length::new::<nanometer>(415.0),
Length::new::<nanometer>(3.2),
2.0,
)?;
Length::new::<nanometer>(400.0)..Length::new::<nanometer>(450.0),
Length::new::<nanometer>(2.1),
s2.add_lorentzian_peak(
Length::new::<nanometer>(430.0),
Length::new::<nanometer>(1.2),
0.5,
)?;
Length::new::<nanometer>(400.0)..Length::new::<nanometer>(450.0),
Length::new::<nanometer>(0.05),
s3.add_lorentzian_peak(
Length::new::<nanometer>(420.0),
Length::new::<nanometer>(0.3),
0.02,
)?;
let s4 = Spectrum::from_csv("NE03B.csv")?;
let mut s5 = create_visible_spectrum();
s5.resample(&s4);
s5.to_plot("ne03b.svg");