telescope-0.3.0: src/Telescope/Fits.hs
{- |
Module: Telescope.Fits
Copyright: (c) 2024 Sean Hess
License: BSD3
Maintainer: Sean Hess <shess@nso.edu>
Stability: experimental
Portability: portable
Read, and Write FITS (Flexible Image Transport System) files
@
import Data.ByteString qualified as BS
import Telescope.Fits
test :: IO ()
test = do
inp <- BS.readFile "samples/simple2x3.fits"
f <- decode inp
print f.primaryHDU
print $ lookupKeyword \"BTYPE\" f.primaryHDU.header
a <- decodeArray @Ix2 @Int f.primaryHDU.dataArray
print $ size a
print $ a !> 0
@
-}
module Telescope.Fits
( decode
, encode
, decodeDataArray
, encodeDataArray
-- * Headers
, lookupKeyword
, Header
, Value (..)
, LogicalConstant (..)
-- * Parsing Headers
, FromHeader (..)
, FromKeyword (..)
, Parser
, runParser
-- * Writing Headers
, ToKeyword (..)
, ToHeader (..)
-- * Types
, Fits (..)
, KeywordRecord (..)
, DataHDU (..)
, BinTableHDU (..)
, DataArray (..)
, Extension (..)
, Axis
, Axes
, Major (..)
, BitPix (..)
-- * Generate
, addComment
, dataArray
, emptyDataArray
-- * Visualize
, heatmap
, writeImage
-- * Exports from Data.Massiv.Array
, Array
, D
, Ix1
, Ix2
, Ix3
, Ix4
, Ix5
, size
, (!>)
, (!?>)
, (<!)
, (<!?)
, (<!>)
, Dim (..)
-- , test
) where
import Data.Massiv.Array (Array, D, Dim (..), Ix1, Ix2, Ix3, Ix4, Ix5, size, (!>), (!?>), (<!), (<!>), (<!?))
import Data.Massiv.Array.IO (writeImage)
import Telescope.Data.Array (heatmap)
import Telescope.Data.Axes
import Telescope.Data.Parser (Parser, runParser)
import Telescope.Fits.BitPix
import Telescope.Fits.DataArray
import Telescope.Fits.Encoding
import Telescope.Fits.HDU
import Telescope.Fits.Header