telescope-0.3.0: Astronomical Observations (FITS, ASDF, WCS, etc)
Safe HaskellSafe-Inferred
LanguageGHC2021

Telescope.Fits.Header

Synopsis

Documentation

newtype Header Source #

The header part of the HDU is vital carrying not only authorship metadata, but also specifying how to make sense of the binary payload that starts 2,880 bytes after the start of the HeaderData.

Constructors

Header 

Fields

Instances

Instances details
Monoid Header Source # 
Instance details

Defined in Telescope.Fits.Header.Header

Semigroup Header Source # 
Instance details

Defined in Telescope.Fits.Header.Header

Show Header Source # 
Instance details

Defined in Telescope.Fits.Encoding.Render

Eq Header Source # 
Instance details

Defined in Telescope.Fits.Header.Header

Methods

(==) :: Header -> Header -> Bool #

(/=) :: Header -> Header -> Bool #

FromHeader Header Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseHeader :: forall (es :: [Effect]). Parser :> es => Header -> Eff es Header Source #

ToHeader Header Source # 
Instance details

Defined in Telescope.Fits.Header.Class

data Value Source #

Value datatype for discriminating valid FITS KEYWORD=VALUE types in an HDU.

Instances

Instances details
Show Value Source # 
Instance details

Defined in Telescope.Fits.Header.Value

Methods

showsPrec :: Int -> Value -> ShowS #

show :: Value -> String #

showList :: [Value] -> ShowS #

Eq Value Source # 
Instance details

Defined in Telescope.Fits.Header.Value

Methods

(==) :: Value -> Value -> Bool #

(/=) :: Value -> Value -> Bool #

keyword :: Text -> Value -> Maybe Text -> HeaderRecord Source #

Construct a keyword HeaderRecord

addComment :: Text -> KeywordRecord -> KeywordRecord Source #

Set the comment of a KeywordRecrod

Parsing Headers

class FromHeader a where Source #

Minimal complete definition

Nothing

Methods

parseHeader :: Parser :> es => Header -> Eff es a Source #

default parseHeader :: (Generic a, GFromHeader (Rep a), Parser :> es) => Header -> Eff es a Source #

Instances

Instances details
FromHeader Header Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseHeader :: forall (es :: [Effect]). Parser :> es => Header -> Eff es Header Source #

FromHeader [HeaderRecord] Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseHeader :: forall (es :: [Effect]). Parser :> es => Header -> Eff es [HeaderRecord] Source #

(AxisOrder ax, KnownText alt) => FromHeader (WCSAxis alt ax) Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseHeader :: forall (es :: [Effect]). Parser :> es => Header -> Eff es (WCSAxis alt ax) Source #

class FromKeyword a where Source #

Methods

parseKeywordValue :: Parser :> es => Value -> Eff es a Source #

Instances

Instances details
FromKeyword CType Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseKeywordValue :: forall (es :: [Effect]). Parser :> es => Value -> Eff es CType Source #

FromKeyword CUnit Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseKeywordValue :: forall (es :: [Effect]). Parser :> es => Value -> Eff es CUnit Source #

FromKeyword Text Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseKeywordValue :: forall (es :: [Effect]). Parser :> es => Value -> Eff es Text Source #

FromKeyword UTCTime Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseKeywordValue :: forall (es :: [Effect]). Parser :> es => Value -> Eff es UTCTime Source #

FromKeyword Bool Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseKeywordValue :: forall (es :: [Effect]). Parser :> es => Value -> Eff es Bool Source #

FromKeyword Double Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseKeywordValue :: forall (es :: [Effect]). Parser :> es => Value -> Eff es Double Source #

FromKeyword Float Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseKeywordValue :: forall (es :: [Effect]). Parser :> es => Value -> Eff es Float Source #

FromKeyword Int Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseKeywordValue :: forall (es :: [Effect]). Parser :> es => Value -> Eff es Int Source #

Creating Headers

class ToHeader a where Source #

Minimal complete definition

Nothing

Methods

toHeader :: a -> Header Source #

default toHeader :: (Generic a, GToHeader (Rep a)) => a -> Header Source #

Instances

Instances details
ToHeader Header Source # 
Instance details

Defined in Telescope.Fits.Header.Class

ToHeader HeaderRecord Source # 
Instance details

Defined in Telescope.Fits.Header.Class

ToHeader a => ToHeader (Maybe a) Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

toHeader :: Maybe a -> Header Source #

ToHeader a => ToHeader [a] Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

toHeader :: [a] -> Header Source #

(AxisOrder ax, KnownText alt) => ToHeader (WCSAxis alt ax) Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

toHeader :: WCSAxis alt ax -> Header Source #

class ToKeyword a where Source #

Minimal complete definition

toKeywordValue

Instances

Instances details
ToKeyword CType Source # 
Instance details

Defined in Telescope.Fits.Header.Class

ToKeyword CUnit Source # 
Instance details

Defined in Telescope.Fits.Header.Class

ToKeyword Text Source # 
Instance details

Defined in Telescope.Fits.Header.Class

ToKeyword UTCTime Source # 
Instance details

Defined in Telescope.Fits.Header.Class

ToKeyword Bool Source # 
Instance details

Defined in Telescope.Fits.Header.Class

ToKeyword Double Source # 
Instance details

Defined in Telescope.Fits.Header.Class

ToKeyword Float Source # 
Instance details

Defined in Telescope.Fits.Header.Class

ToKeyword Int Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Keyword Lookup

lookupKeyword :: Text -> Header -> Maybe Value Source #

Manually look up a keyword from the header

keywords :: Header -> [KeywordRecord] Source #

Return all KeywordRecords from the header, filtering out full-line comments and blanks

newtype HeaderFor a Source #

Constructors

HeaderFor a 

Instances

Instances details
(ToHeader a, Selector s) => GToHeader (M1 S s (K1 R (HeaderFor a) :: k -> Type) :: k -> Type) Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

gToHeader :: forall (p :: k0). M1 S s (K1 R (HeaderFor a)) p -> Header Source #

Re-exports

data LogicalConstant Source #

Direct encoding of a Bool for parsing Value

Constructors

T 
F 

data HeaderRecord Source #

Headers contain lines that are any of the following

KEYWORD = VALUE / inline comment
COMMENT full line comment
(blank)

Instances

Instances details
Show HeaderRecord Source # 
Instance details

Defined in Telescope.Fits.Header.Header

Eq HeaderRecord Source # 
Instance details

Defined in Telescope.Fits.Header.Header

ToHeader HeaderRecord Source # 
Instance details

Defined in Telescope.Fits.Header.Class

FromHeader [HeaderRecord] Source # 
Instance details

Defined in Telescope.Fits.Header.Class

Methods

parseHeader :: forall (es :: [Effect]). Parser :> es => Header -> Eff es [HeaderRecord] Source #

data KeywordRecord Source #

A single 80 character header keyword line of the form: KEYWORD = VALUE / comment KEYWORD=VALUE

Constructors

KeywordRecord 

Fields