use std::path::PathBuf;
use std::str::FromStr;
use astroimsim_geometry::coordinate_system::{CoordinateSystem, Coordinates};
use astroimsim_geometry::grid2d::GRID2D;
use clap::Parser;
use convolve2d::Matrix;
use astroimsim_data::prelude::{Load, PSF};
use astroimsim_data::psf::Load::FromValue;
use crate::detector::{Detector, EffectType};
use crate::psf_grid::PsfGrid;
use crate::spatial_effect::SpatialEffect;
pub mod psf;
pub mod psf_grid;
pub mod detector;
pub mod point_sources;
pub mod spatial_effect;
pub mod test;
pub fn main() {
let coord = CoordinateSystem{
x_axis: (1.0,0.0),
y_axis: (0.0,1.0),
center: (0.0, 0.0),
label: "fuv",
};
let mut grid = GRID2D::new_empty(
(18,18), (0.2,0.2), (-0.56, -0.06), 0.1, Coordinates::RELATIVE(coord)
);
grid.label = "fuv".to_string();
let mut fuv_psf = PsfGrid::new(
"FUV PSF grid".to_string(),
grid,
"/Users/mayabasu/Desktop/uvex/FUV_PSF".to_string(),
("XFLD".to_string(), "YFLD".to_string()));
fuv_psf.load_data_frames(64,64);
}