Started writing tests for upcoming Coordinates API
Added some tests for the Frame API.
Used HelioGraphic frame as a guinea pig, not yet specified how Stonyhurst and Carrington come into the picture.
Will incorporate HelioCentric later as a second frame, similar to how Astropy's tests use ICRS and FK5.
Added import for Six from Astropy.
Added some changes.
1. Corrected astropy.units import.
2. Changed all units to degrees.
3. Changed 'distance' to 'radius'.
4. Removed the test marked to fail because of a different notion of separation than of those frames in Astropy.
Added tests for using `SkyCoord` with SunPy frames.
Added initializer, transformation tests.
String representations of arguments up for debate.
Merge branch 'master' of https://github.com/sunpy/sunpy into coordinates-api-tests
Made minor change for heliocentric coordinates.
Changed parsecs to kilometres.
Started with the creation of low-level frame classes.
1. Created Stonyhurst and Carrington Heliographic frames.
2. Added spherical and cylindrical representations to frame information.
3. Added stub method for calculation of Carrington offset. Need to learn how to calculate it.
4. Assumed that longitude input to Carrington frame will be adjusted according to the offset, which additionally is time dependent - might create complications during transformation?
5. Carrington frame is a subclass of Stonyhurst frame. Thought of using decorator pattern instead, but frame needs to subclass BaseCF(which it does if it subclasses Stonyhurst) to be added to the registry.
Changed representation info.
Removed 'cylindrical' from _frame_specific_representation_info.
Added changes to Heliographic constructors.
1. Removed Carrington frame logic for offset. Need to understand how it works and how it will affect transformations. Degrees can be in the negative, and re-adjusted.
2. Put in logic for use of *args and **kwargs.
Added the Heliocentric system.
Heliocentric coordinates can be in Cartesian and radial representation.
Specified the same in _frame_specific_representation_info.
Added the Helioprojective coordinate system.
1. The default representation is Cartesian, but the units are in degrees!
2. zeta is the z-coordinate in this system and is defined as zeta = D0 - d.
3. In radial representation, although we use Trho, the system must be defined as (Drho, psi) where Trho = Drho + 90 degrees. Need some opinion on how to define this system properly.
Made minor changes as pointed out by Cadair.
Added a few transform methods.
Both HCG to HCS and back are defined as function transforms due to their simplicity.
No matrix operations are involved here.
Incorporated Astropy frame attributes properly.
1. Removed the constructor defintions in the Heliographic frames and switched to defining 'rad' as a frame attribute. Convenient, and allows us to set it during initialization.
2. Inserted d and D0 as frame attributes in the Heliocentric system. These will be used when transforming from Heliocentric Cartesian to Helioprojective Cartesian.
Added transformation between HCC to HPC.
Will re-use transformations from sunpy.wcs in next commit.
Overhauled the conversion framework for Helioprojective(Cartesian) and Heliocentric(Cartesian).
1. Changed RSUN to RSUN_METERS and added a DSUN_METERS.
2. Minor changes to storing the 'rad' attribute in Heliographic frames in kilometers.
3. Changed HPC to HCC and HCC to HPC entirely, with the help of functions in sunpy.wcs. This was the intention all along.
Changes due to units not being right.
1. Changed np.deg2rad(1)/3600 to just np.deg2rad(1), as helioprojective coordinates are in degrees according to the frame class information.
2. Changed x and y in HCC to HPC to the HCC coordinate multiplied by 1000, to bring about a km -> m conversion.
Changed DSUN_METERS to 1AU in meters. DSUN is not diameter of the Sun, but distance from observer to the feature. (defaults to 1AU)
Added transform function for Heliocentric(Cartesian) coordinates to Stonyhurst Heliographic coordinates.
Calculated B0 from heliographic_solar_center().
Calculated Heliographic parameters from formulae in sunpy.wcs.