Conversions#

The madcubapy.coordinates package offers a set of utility functions to convert between several coordinate systems.

Convert pixels between FITS and Python standards#

The python_to_fits() and fits_to_python() functions let the user convert one or several points between FITS and python standards.

>>> from madcubapy.coordinates import python_to_fits
>>> points = np.array([[20, 35], [30, 40]])
>>> python_to_fits(points)
[[21 36]
 [31 41]]

Convert points between world coordinates and pixels in an map#

The world_to_pixel() and pixel_to_world() functions let the user convert points between world coordinates and pixel coordinates of a certain map object (MadcubaMap or CCDData).

>>> from madcubapy.io import MadcubaMap
>>> from madcubapy.coordinates import pixel_to_world, world_to_pixel
>>> madcubamap = MadcubaMap.read("example_cube.fits")
>>> points = np.array([[20, 35], [30, 40]])
>>> world_points = pixel_to_world(points, madcubamap, origin=0)
>>> world_points
[[248.09917019 -24.47990265]
 [248.09898095 -24.47981654]] deg
>>> pixel_points = world_to_pixel(world_points, madcubamap, origin=0)
>>> pixel_points
[[20, 35],
 [30, 40]])

Convert arcs in the sky between angular units and pixels#

The angle_to_pixels() and pixels_to_angle() functions let the user convert angles in the sky to pixel lengths of a certain map object (MadcubaMap or CCDData), and vice versa.

>>> from madcubapy.io import MadcubaMap
>>> from madcubapy.coordinates import angle_to_pixels, pixels_to_angle
>>> madcubamap = MadcubaMap.read("example_cube.fits")
>>> length = (2 * u.arcsec, 1 * u.arcsec)
>>> pixel_lengths = angle_to_pixels(length, madcubamap, origin=0)
>>> pixel_lengths
[-32.25806455, -16.12903227]
>>> angles = pixels_to_angle(pixel_lengths, madcubamap, origin=0)
>>> angles
[0.00055556 0.00027778] deg