Crate fitsrs

Source
Expand description

This crate implements a fits image parser

§Examples

Basic usage:

use std::fs::File;
use std::io::BufReader;

use fitsrs::{Fits, HDU, ImageData, Pixels};

let f = File::open("samples/fits.gsfc.nasa.gov/HST_FOC.fits").unwrap();
let reader = BufReader::new(f);
let mut hdu_list = Fits::from_reader(reader);
let hdu = hdu_list.next();
if let Some(Ok(HDU::Primary(hdu))) = hdu {
    let xtension = hdu.get_header().get_xtension();
    let naxis1 = *xtension.get_naxisn(1).unwrap() as usize;
    let naxis2 = *xtension.get_naxisn(2).unwrap() as usize;

    let image = hdu_list.get_data(&hdu);
    if let Pixels::F32(it) = image.pixels() {
        let data = it.collect::<Vec<_>>();
        assert_eq!(data.len(), naxis1 * naxis2);
    } else {
        panic!("expected data block containing f32");
    }
}

Re-exports§

pub use async_fits::AsyncFits;
pub use file::FITSFile;
pub use fits::Fits;
pub use hdu::data::bintable::BinaryTableData;
pub use hdu::data::bintable::DataValue;
pub use hdu::data::bintable::TableData;
pub use hdu::data::bintable::TableRowData;
pub use hdu::data::image::ImageData;
pub use hdu::data::image::Pixels;
pub use hdu::data::iter::It;
pub use hdu::AsyncHDU;
pub use hdu::HDU;

Modules§

async_fits
card
error
file
fits
hdu
wcs