Source code for astropy.wcs.wcsapi.wrappers.base
import abc
from astropy.wcs.wcsapi import BaseLowLevelWCS, wcs_info_str
[docs]class BaseWCSWrapper(BaseLowLevelWCS, metaclass=abc.ABCMeta):
"""
A base wrapper class for things that modify Low Level WCSes.
This wrapper implements a transparent wrapper to many of the properties,
with the idea that not all of them would need to be overridden in your
wrapper, but some probably will.
Parameters
----------
wcs : `astropy.wcs.wcsapi.BaseLowLevelWCS`
The WCS object to wrap
"""
def __init__(self, wcs, *args, **kwargs):
self._wcs = wcs
@property
def pixel_n_dim(self):
return self._wcs.pixel_n_dim
@property
def world_n_dim(self):
return self._wcs.world_n_dim
@property
def world_axis_physical_types(self):
return self._wcs.world_axis_physical_types
@property
def world_axis_units(self):
return self._wcs.world_axis_units
@property
def world_axis_object_components(self):
return self._wcs.world_axis_object_components
@property
def world_axis_object_classes(self):
return self._wcs.world_axis_object_classes
@property
def pixel_shape(self):
return self._wcs.pixel_shape
@property
def pixel_bounds(self):
return self._wcs.pixel_bounds
@property
def pixel_axis_names(self):
return self._wcs.pixel_axis_names
@property
def world_axis_names(self):
return self._wcs.world_axis_names
@property
def axis_correlation_matrix(self):
return self._wcs.axis_correlation_matrix
@property
def serialized_classes(self):
return self._wcs.serialized_classes
[docs] @abc.abstractmethod
def pixel_to_world_values(self, *pixel_arrays):
pass
[docs] @abc.abstractmethod
def world_to_pixel_values(self, *world_arrays):
pass
def __repr__(self):
return f"{object.__repr__(self)}\n{str(self)}"
def __str__(self):
return wcs_info_str(self)