a
    ߙfb                     @   s,   d dl mZmZ dgZG dd dedZdS )    )ABCMetaabstractmethod
NDDataBasec                   @   s|   e Zd ZdZedd Zeedd Zeedd Zeedd	 Z	eed
d Z
eedd Zeedd ZdS )r   aj  Base metaclass that defines the interface for N-dimensional datasets
    with associated meta information used in ``astropy``.

    All properties and ``__init__`` have to be overridden in subclasses. See
    `NDData` for a subclass that defines this interface on `numpy.ndarray`-like
    ``data``.

    See also: https://docs.astropy.org/en/stable/nddata/

    c                 C   s   d S )N selfr   r   9lib/python3.9/site-packages/astropy/nddata/nddata_base.py__init__   s    zNDDataBase.__init__c                 C   s   dS )zThe stored dataset.
        Nr   r   r   r   r   data   s    zNDDataBase.datac                 C   s   dS )zMask for the dataset.

        Masks should follow the ``numpy`` convention that **valid** data points
        are marked by ``False`` and **invalid** ones with ``True``.
        Nr   r   r   r   r   mask"   s    zNDDataBase.maskc                 C   s   dS )zUnit for the dataset.
        Nr   r   r   r   r   unit,   s    zNDDataBase.unitc                 C   s   dS )z7World coordinate system (WCS) for the dataset.
        Nr   r   r   r   r   wcs3   s    zNDDataBase.wcsc                 C   s   dS )zWAdditional meta information about the dataset.

        Should be `dict`-like.
        Nr   r   r   r   r   meta:   s    zNDDataBase.metac                 C   s   dS )zUncertainty in the dataset.

        Should have an attribute ``uncertainty_type`` that defines what kind of
        uncertainty is stored, such as ``"std"`` for standard deviation or
        ``"var"`` for variance.
        Nr   r   r   r   r   uncertaintyC   s    	zNDDataBase.uncertaintyN)__name__
__module____qualname____doc__r   r	   propertyr
   r   r   r   r   r   r   r   r   r   r      s*   
)	metaclassN)abcr   r   __all__r   r   r   r   r   <module>   s   