mod field;
pub use field::{Field, Saturation, SaveOptions};
mod pixel_scale;
pub use pixel_scale::PixelScale;
mod field_of_view;
pub use field_of_view::FieldOfView;
mod field_builder;
pub use field_builder::FieldBuilder;
mod polychromatic;
pub use polychromatic::PolychromaticField;
mod seeing_limited;
pub use seeing_limited::SeeingLimitedField;
mod observing_mode;
pub use observing_mode::{Intensity, Observing};
use serde::Serialize;
mod intensity;
pub use intensity::FieldImage;
mod serpkl;
pub trait Builder<F> {
fn build(self) -> F;
}
#[derive(Debug, Serialize)]
pub enum DiffractionLimited {}
#[derive(Debug, Serialize)]
pub enum SeeingLimited {}
#[derive(Debug, Serialize)]
pub enum AdaptiveOptics {}
pub trait ObservingModes: Serialize {}
impl ObservingModes for DiffractionLimited {}
impl ObservingModes for SeeingLimited {}
impl ObservingModes for AdaptiveOptics {}
pub trait DiffractionModes: ObservingModes {}
impl DiffractionModes for DiffractionLimited {}
pub trait SeeingModes: ObservingModes {}
impl SeeingModes for SeeingLimited {}
impl SeeingModes for AdaptiveOptics {}