U
    e»{jÞ  ã                   @   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
   ú_/var/www/html/bwave/python/venv/lib/python3.8/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   3   s    zBaseWCSWrapper.pixel_boundsc                 C   s   | j jS r   )r   Úpixel_axis_namesr   r
   r
   r   r   7   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   C   s    z!BaseWCSWrapper.serialized_classesc                 G   s   d S r   r
   )r   Zpixel_arraysr
   r
   r   Úpixel_to_world_valuesG   s    z$BaseWCSWrapper.pixel_to_world_valuesc                 G   s   d S r   r
   )r   Zworld_arraysr
   r
   r   Úworld_to_pixel_valuesK   s    z$BaseWCSWrapper.world_to_pixel_valuesc                 C   s   t  | ¡› dt| ƒ› �S )NÚ
)ÚobjectÚ__repr__Ústrr   r
   r
   r   r   O   s    zBaseWCSWrapper.__repr__c                 C   s   t | ƒS r   )r   r   r
   r
   r   Ú__str__R   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   