pyref_ccd

Crates.iopyref_ccd
lib.rspyref_ccd
version0.2.3
sourcesrc
created_at2024-08-25 01:28:59.069932
updated_at2024-08-28 06:13:23.688331
descriptionRust library to analyze fits files from the CCD camera for the PyRef project
homepage
repositoryhttps://github.com/WSU-Carbon-Lab/pyref-ccd
max_upload_size
id1350690
size499,909
Harlan D Heilman (HarlanHeilman)

documentation

https://docs.rs/pyref-ccd/

README

Rust Backend for accessing CCD data in FITS files

This crate is a light wrapper over the astrors crate. It provides a simple interface to access CCD data in FITS files.

Usage

use pyref_ccd::*;
use std::path::Path;

fn main() {
    let path = "path/to/fits/file.fits";
    let df = read_fits(path).unwrap();
    println!("{:?}", df);

    // Or to load all data in a directory

    let path = "path/to/directory";
    let all_df = read_experiment(path, ExperimentType::Xrr).unwrap();
    println!("{:?}", all_df);
}

output:

┌──────────────┬─────────────────┬─────────────────────────┬──────────┬─────────────────────────────────┐
│ Sample Theta ┆ Beamline Energy ┆ Higher Order Suppressor ┆ EXPOSURE ┆ Image                           │
│ ---          ┆ ---             ┆ ---                     ┆ ---      ┆ ---                             │
│ f64          ┆ f64             ┆ f64                     ┆ f64      ┆ list[list[u32]]                 │
╞══════════════╪═════════════════╪═════════════════════════╪══════════╪═════════════════════════════════╡
│ 60.0         ┆ 249.99291       ┆ 5.500053                ┆ 1.0      ┆ [[33356, 33372, … 33365], [333… │
│ 56.112       ┆ 249.996694      ┆ 5.500053                ┆ 1.0      ┆ [[33367, 33368, … 33395], [333… │
└──────────────┴─────────────────┴─────────────────────────┴──────────┴─────────────────────────────────┘
┌──────────────┬─────────────────┬─────────────────────────┬──────────┬─────────────────────────────────┐
│ Sample Theta ┆ Beamline Energy ┆ Higher Order Suppressor ┆ EXPOSURE ┆ Image                           │
│ ---          ┆ ---             ┆ ---                     ┆ ---      ┆ ---                             │
│ f64          ┆ f64             ┆ f64                     ┆ f64      ┆ list[list[u32]]                 │
╞══════════════╪═════════════════╪═════════════════════════╪══════════╪═════════════════════════════════╡
│ 60.0         ┆ 249.99291       ┆ 5.500053                ┆ 1.0      ┆ [[33356, 33372, … 33365], [333… │
│ 0.0          ┆ 249.998585      ┆ 7.799547                ┆ 0.001    ┆ [[33352, 33347, … 33347], [333… │
│ 0.0          ┆ 249.996694      ┆ 7.800023                ┆ 0.001    ┆ [[33317, 33324, … 33327], [333… │
│ 0.0          ┆ 249.99291       ┆ 7.800023                ┆ 0.001    ┆ [[33354, 33359, … 33351], [333… │
│ 0.0          ┆ 249.99291       ┆ 7.800023                ┆ 0.001    ┆ [[33332, 33358, … 33330], [333… │
│ …            ┆ …               ┆ …                       ┆ …        ┆ …                               │
│ 40.556       ┆ 250.008062      ┆ 5.500053                ┆ 1.0      ┆ [[33366, 33358, … 33355], [333… │
│ 44.444       ┆ 250.008062      ┆ 5.500053                ┆ 1.0      ┆ [[33367, 33358, … 33350], [333… │
│ 48.334       ┆ 250.009961      ┆ 5.500053                ┆ 1.0      ┆ [[33363, 33344, … 33352], [333… │
│ 52.222       ┆ 249.998585      ┆ 5.500053                ┆ 1.0      ┆ [[33366, 33369, … 33359], [333… │
│ 56.112       ┆ 249.996694      ┆ 5.500053                ┆ 1.0      ┆ [[33367, 33368, … 33395], [333… │
└──────────────┴─────────────────┴─────────────────────────┴──────────┴─────────────────────────────────┘
Commit count: 76

cargo fmt