Skip to content

cds-astro/cds-fitstable-rust

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

24 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

fitstable

A native, full Rust, library to read tabular data in FITS files.

About

The library is dedicate to read table (ASCII or BINARY) in FITS file, in pure Rust. For a similar library, to read images, see fitsrs. This work is exploratory, testing design choices, and could be merged in fitsrs in the future.

It is used in:

  • the fitstable command line, possibly reaching more than 1.2 GB/s in BINTABLE to CSV conversion (depending on the level of parallelism and I/O capabilities of the machine)

Standalone

See fitstable-cli for a standalone command line tool. Among the features, you get a multi-threaded FITS to CSV conversion.

The standalone code also serve as an example of how to use the library.

ToDo

  • Implement a Reader for streamed data (heap ignored)
    • Remark: for stream reading, it would have been better to put the BINTABLE heap before the main table so that one could have kept it in memory (or write it in a temporary file) to access the data when reading pointers pointing to it reading the main table. But
  • Implement writers
    • Remark: stream writing is not possible in FITS size the size of the result must be known in advance (the number of rows is writen in the header.
  • Add test with a large variety of FITS file
  • Implement ASCIITABLE
  • Implement display according to TDISP

Disclaimer

This library is very young and requires testing on various FITS files! If you have exotic files, please send them to us! We are looking for BINTABLE FITS files:

  • using SCALE and OFFSET;
  • using ARRAYS;
  • using the HEAP.

Acknowledgements

If you use this code and work in a scientific public domain (especially astronomy), please acknowledge its usage and the CDS who developed it. It may help us in promoting our work to our financiers.

License

So far, we adopt the conservative LGPL license, but hope to change it in favor of a dual Apache/MIT license in the future. Please contact us if you wish to use this code.

Contribution

No direct contribution accepted so far.

About

A native, full Rust, library to read tabular data in FITS files

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages