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;