# Overview

```
```

A set of classes for reading, writing and manipulating NASA Flexible Image Transport System (FITS) files.

The aim is ultimately to be able to read and write all of the header and data array formats that are set out in the latest FITS standard documentation. At the time of writing, this was FITS v4.0 July 2016 DRAFT.

Initially, we will concentrate on building a `FitsReader` class and being able to read a Primary HDU containing a single image data array ("SIF" of Single Image FITS format).

Next we'll add the ability to transform the raw data array into a `Bitmap` so it can be more easily displayed and manipulated.

Then we will add the ability to modify and create new files and write them out to disk with a `FitsWriter` class.

Once we can both read and write SIF files, we'll add additional data array types and the ability to work with multiple Extensions/HDUs.

# Orbit Engine

## Problem Statement

Calculate the position in space of the Earth relative to the Sun for a given date, time Give the answer in both cartesian coordinates (X,Y,Z) and sperical coordinates (Latitude, Longitude and Radius).

Use a reference implementation to verify the results.

## Assumptions

• Epoch J2000 is assumed unless otherwise stated.
• We are going to use VSOP87 but may want to use other orbit engines in the future, so we will need to keep things loosely coupled.

# ToDo List

• Calculate the position in space of Earth using VSOP87 in both spherical and rectangular coordinates
• Calculate rectangular coordinates
• Calculate spherical coordinates
• Calculate the 6 latitude terms, L0 to L5 (L0 done).
• Make ComputeL0 general purpose by passing in 'alpha' and the VSOP87 data.
• Compute latitude L in radians as (the sum of the series (Ln*rho^n)) / 100000000.0
for n from 0 to 5
.
• Calculate Longitude (B) in a similar way
• Calculate Radius (R) in AU in a similar way
• Orbit Engine - method is hard coded for Earth. How do we get this to work independent of the body being computed?
• How to represent the Sun and Earth?
• Read the VSOP87 data from a text file instead of having it hard coded.