wcs 0.4.2

Implementation of the FITS World Coordinate System (WCS)
Documentation
use serde::{Deserialize, Serialize};

#[derive(Debug, Deserialize, Serialize)]
#[serde(rename_all = "UPPERCASE")]
pub struct WCSParams {
    pub ctype1: String,
    pub naxis: i64,
    pub naxis1: Option<i64>,
    pub naxis2: Option<i64>,
    pub naxis3: Option<i64>,
    pub naxis4: Option<i64>,
    pub znaxis1: Option<i64>,
    pub znaxis2: Option<i64>,
    pub znaxis3: Option<i64>,
    pub znaxis4: Option<i64>,
    pub crpix1: Option<f64>,
    pub crpix2: Option<f64>,
    pub crpix3: Option<f64>,
    pub crval1: Option<f64>,
    pub crval2: Option<f64>,
    pub crval3: Option<f64>,
    pub cd1_1: Option<f64>,
    pub cd1_2: Option<f64>,
    pub cd1_3: Option<f64>,
    pub cd2_1: Option<f64>,
    pub cd2_2: Option<f64>,
    pub cd2_3: Option<f64>,
    pub cd3_1: Option<f64>,
    pub cd3_2: Option<f64>,
    pub cd3_3: Option<f64>,
    pub pc1_1: Option<f64>,
    pub pc1_2: Option<f64>,
    pub pc1_3: Option<f64>,
    pub pc2_1: Option<f64>,
    pub pc2_2: Option<f64>,
    pub pc2_3: Option<f64>,
    pub pc3_1: Option<f64>,
    pub pc3_2: Option<f64>,
    pub pc3_3: Option<f64>,
    pub cdelt1: Option<f64>,
    pub cdelt2: Option<f64>,
    pub cdelt3: Option<f64>,
    pub crota1: Option<f64>,
    pub crota2: Option<f64>,
    pub crota3: Option<f64>,
    pub ctype2: Option<String>,
    pub ctype3: Option<String>,
    pub pv1_0: Option<f64>,
    pub pv1_1: Option<f64>,
    pub pv1_2: Option<f64>,
    pub pv2_0: Option<f64>,
    pub pv2_1: Option<f64>,
    pub pv2_2: Option<f64>,
    pub pv2_3: Option<f64>,
    pub pv2_4: Option<f64>,
    pub pv2_5: Option<f64>,
    pub pv2_6: Option<f64>,
    pub pv2_7: Option<f64>,
    pub pv2_8: Option<f64>,
    pub pv2_9: Option<f64>,
    pub pv2_10: Option<f64>,
    pub pv2_11: Option<f64>,
    pub pv2_12: Option<f64>,
    pub pv2_13: Option<f64>,
    pub pv2_14: Option<f64>,
    pub pv2_15: Option<f64>,
    pub pv2_16: Option<f64>,
    pub pv2_17: Option<f64>,
    pub pv2_18: Option<f64>,
    pub pv2_19: Option<f64>,
    pub pv2_20: Option<f64>,
    pub epoch: Option<f64>,
    pub equinox: Option<f64>,
    pub radesys: Option<String>,
    pub lonpole: Option<f64>,
    pub latpole: Option<f64>,
    pub a_order: Option<i64>,
    pub a_0_0: Option<f64>,
    pub a_0_1: Option<f64>,
    pub a_0_2: Option<f64>,
    pub a_0_3: Option<f64>,
    pub a_0_4: Option<f64>,
    pub a_0_5: Option<f64>,
    pub a_0_6: Option<f64>,
    pub a_1_0: Option<f64>,
    pub a_1_1: Option<f64>,
    pub a_1_2: Option<f64>,
    pub a_1_3: Option<f64>,
    pub a_1_4: Option<f64>,
    pub a_1_5: Option<f64>,
    pub a_2_0: Option<f64>,
    pub a_2_1: Option<f64>,
    pub a_2_2: Option<f64>,
    pub a_2_3: Option<f64>,
    pub a_2_4: Option<f64>,
    pub a_3_0: Option<f64>,
    pub a_3_1: Option<f64>,
    pub a_3_2: Option<f64>,
    pub a_3_3: Option<f64>,
    pub a_4_0: Option<f64>,
    pub a_4_1: Option<f64>,
    pub a_4_2: Option<f64>,
    pub a_5_0: Option<f64>,
    pub a_5_1: Option<f64>,
    pub a_6_0: Option<f64>,
    pub b_order: Option<i64>,
    pub b_0_0: Option<f64>,
    pub b_0_1: Option<f64>,
    pub b_0_2: Option<f64>,
    pub b_0_3: Option<f64>,
    pub b_0_4: Option<f64>,
    pub b_0_5: Option<f64>,
    pub b_0_6: Option<f64>,
    pub b_1_0: Option<f64>,
    pub b_1_1: Option<f64>,
    pub b_1_2: Option<f64>,
    pub b_1_3: Option<f64>,
    pub b_1_4: Option<f64>,
    pub b_1_5: Option<f64>,
    pub b_2_0: Option<f64>,
    pub b_2_1: Option<f64>,
    pub b_2_2: Option<f64>,
    pub b_2_3: Option<f64>,
    pub b_2_4: Option<f64>,
    pub b_3_0: Option<f64>,
    pub b_3_1: Option<f64>,
    pub b_3_2: Option<f64>,
    pub b_3_3: Option<f64>,
    pub b_4_0: Option<f64>,
    pub b_4_1: Option<f64>,
    pub b_4_2: Option<f64>,
    pub b_5_0: Option<f64>,
    pub b_5_1: Option<f64>,
    pub b_6_0: Option<f64>,
    pub ap_order: Option<i64>,
    pub ap_0_0: Option<f64>,
    pub ap_0_1: Option<f64>,
    pub ap_0_2: Option<f64>,
    pub ap_0_3: Option<f64>,
    pub ap_0_4: Option<f64>,
    pub ap_0_5: Option<f64>,
    pub ap_0_6: Option<f64>,
    pub ap_1_0: Option<f64>,
    pub ap_1_1: Option<f64>,
    pub ap_1_2: Option<f64>,
    pub ap_1_3: Option<f64>,
    pub ap_1_4: Option<f64>,
    pub ap_1_5: Option<f64>,
    pub ap_2_0: Option<f64>,
    pub ap_2_1: Option<f64>,
    pub ap_2_2: Option<f64>,
    pub ap_2_3: Option<f64>,
    pub ap_2_4: Option<f64>,
    pub ap_3_0: Option<f64>,
    pub ap_3_1: Option<f64>,
    pub ap_3_2: Option<f64>,
    pub ap_3_3: Option<f64>,
    pub ap_4_0: Option<f64>,
    pub ap_4_1: Option<f64>,
    pub ap_4_2: Option<f64>,
    pub ap_5_0: Option<f64>,
    pub ap_5_1: Option<f64>,
    pub ap_6_0: Option<f64>,
    pub bp_order: Option<i64>,
    pub bp_0_0: Option<f64>,
    pub bp_0_1: Option<f64>,
    pub bp_0_2: Option<f64>,
    pub bp_0_3: Option<f64>,
    pub bp_0_4: Option<f64>,
    pub bp_0_5: Option<f64>,
    pub bp_0_6: Option<f64>,
    pub bp_1_0: Option<f64>,
    pub bp_1_1: Option<f64>,
    pub bp_1_2: Option<f64>,
    pub bp_1_3: Option<f64>,
    pub bp_1_4: Option<f64>,
    pub bp_1_5: Option<f64>,
    pub bp_2_0: Option<f64>,
    pub bp_2_1: Option<f64>,
    pub bp_2_2: Option<f64>,
    pub bp_2_3: Option<f64>,
    pub bp_2_4: Option<f64>,
    pub bp_3_0: Option<f64>,
    pub bp_3_1: Option<f64>,
    pub bp_3_2: Option<f64>,
    pub bp_3_3: Option<f64>,
    pub bp_4_0: Option<f64>,
    pub bp_4_1: Option<f64>,
    pub bp_4_2: Option<f64>,
    pub bp_5_0: Option<f64>,
    pub bp_5_1: Option<f64>,
    pub bp_6_0: Option<f64>,
}