Buy me a cup of coffee 

Software development is powered by coffee... if you use any of our open source pojects, it would make my day if you'd buy me a cup (or several). Just click on the coffee cup.

Object Oriented Astronomy

Tags: open-source, astronomy, oo, free software, free, fits

Object Oriented Astronomy

This open source library is a ground-up managed code (C Sharp) implementation of some algorithms and utilities useful to astronomers.

Source code: BitBucket GIT Repository
License: Tigra Astronomy MIT License
Project Home: Tigra Astronomy Open Source projects

Currently, the library contains the following components:

Fundamental types for quantities such as angles, time and some helper classes that don't belong elsewhere.
Classes for computing orbital positions. Currently includes the VSOP87 algorithm for computing the positions of the planets.
Classes for reading, writing and displaying NASA FITS images, data and headers.
A simple Windows Forms application for viewing FITS images and displaying header information. Intended as a code sample for how to use the FITS Reader classes, but may be useful as a quick-and-dirty stand alone image viewer.

NuGet Packages

Install-Package TA.ObjectOrientedAstronomy.FundamentalTypes -Pre 
Install-Package TA.ObjectOrientedAstronomy.OrbitEngines -Pre 
Install-Package TA.ObjectOrientedAstronomy.FlexibleImageTransportSystem -Pre 

FITS Reader/Writer

A set of classes for reading, writing and manipulating FITS files. We make it particularly easy to access values from the FITS header and bind those to properties in your own classes, via the FitsPropertyBinder extension method.

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 and 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.


  • 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.

    *FITS: NASA Flexible Image Transport System *[SIF]: Single Image Fits *[HDU]: Header Data Unit

TeamCity Build Status

Let Us Help You

Find us on Facebook