a
    ߙfb                     @   s2   d dl Z d dlmZmZ G dd dee jdZdS )    N)BaseLowLevelWCSwcs_info_strc                   @   s   e Zd ZdZdd Zedd Zedd Zedd	 Zed
d Z	edd Z
edd Zedd Zedd Zedd Zedd Zedd Zedd Zejdd Zejdd Zd d! Zd"d# Zd$S )%BaseWCSWrapperaq  
    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
    c                 O   s
   || _ d S N)_wcs)selfZwcsargskwargs r
   ?lib/python3.9/site-packages/astropy/wcs/wcsapi/wrappers/base.py__init__   s    zBaseWCSWrapper.__init__c                 C   s   | j jS r   )r   pixel_n_dimr   r
   r
   r   r      s    zBaseWCSWrapper.pixel_n_dimc                 C   s   | j jS r   )r   world_n_dimr   r
   r
   r   r      s    zBaseWCSWrapper.world_n_dimc                 C   s   | j jS r   )r   world_axis_physical_typesr   r
   r
   r   r      s    z(BaseWCSWrapper.world_axis_physical_typesc                 C   s   | j jS r   )r   world_axis_unitsr   r
   r
   r   r   "   s    zBaseWCSWrapper.world_axis_unitsc                 C   s   | j jS r   )r   world_axis_object_componentsr   r
   r
   r   r   &   s    z+BaseWCSWrapper.world_axis_object_componentsc                 C   s   | j jS r   )r   world_axis_object_classesr   r
   r
   r   r   *   s    z(BaseWCSWrapper.world_axis_object_classesc                 C   s   | j jS r   )r   pixel_shaper   r
   r
   r   r   .   s    zBaseWCSWrapper.pixel_shapec                 C   s   | j jS r   )r   pixel_boundsr   r
   r
   r   r   2   s    zBaseWCSWrapper.pixel_boundsc                 C   s   | j jS r   )r   pixel_axis_namesr   r
   r
   r   r   6   s    zBaseWCSWrapper.pixel_axis_namesc                 C   s   | j jS r   )r   world_axis_namesr   r
   r
   r   r   :   s    zBaseWCSWrapper.world_axis_namesc                 C   s   | j jS r   )r   axis_correlation_matrixr   r
   r
   r   r   >   s    z&BaseWCSWrapper.axis_correlation_matrixc                 C   s   | j jS r   )r   serialized_classesr   r
   r
   r   r   B   s    z!BaseWCSWrapper.serialized_classesc                 G   s   d S r   r
   )r   Zpixel_arraysr
   r
   r   pixel_to_world_valuesF   s    z$BaseWCSWrapper.pixel_to_world_valuesc                 G   s   d S r   r
   )r   Zworld_arraysr
   r
   r   world_to_pixel_valuesJ   s    z$BaseWCSWrapper.world_to_pixel_valuesc                 C   s   t |  dt|  S )N
)object__repr__strr   r
   r
   r   r   N   s    zBaseWCSWrapper.__repr__c                 C   s   t | S r   )r   r   r
   r
   r   __str__Q   s    zBaseWCSWrapper.__str__N)__name__
__module____qualname____doc__r   propertyr   r   r   r   r   r   r   r   r   r   r   r   abcabstractmethodr   r   r   r    r
   r
   r
   r   r      s@   













r   )	metaclass)r&   Zastropy.wcs.wcsapir   r   ABCMetar   r
   r
   r
   r   <module>   s   