U
    ;4ha  ã                   @  sF   d dl mZ d dlZd dlmZ G dd„ dejƒZG dd„ deƒZdS )é    )ÚannotationsN)ÚExchangeObjectc                   @  s*   e Zd ZdZejdddddœdd„ƒZdS )	ÚFilterz<
    Used to apply filter to content of ExchangeObject.
    Nr   údict | None©ÚdataÚextraÚreturnc                 C  s   t ‚dS )z¬
        Run the filtering.

        Arguments:
            data: ExchangeObject containing some data.

        Returns:
            ExchangeObject: filtered data.
        N)ÚNotImplementedError©Úselfr   r   © r   úO/root/miniconda3/envs/cl2/lib/python3.8/site-packages/monai/fl/utils/filters.pyÚ__call__   s    zFilter.__call__)N)Ú__name__Ú
__module__Ú__qualname__Ú__doc__ÚabcÚabstractmethodr   r   r   r   r   r      s   r   c                   @  s$   e Zd ZdZdddddœdd„ZdS )	ÚSummaryFilterz;
    Summary filter to show content of ExchangeObject.
    Nr   r   r   c                 C  s   t d| ¡ › ƒ |S )zã
        Example filter that doesn't filter anything but only prints data summary.

        Arguments:
            data: ExchangeObject containing some data.

        Returns:
            ExchangeObject: filtered data.
        zSummary of ExchangeObject: )ÚprintÚsummaryr   r   r   r   r   ,   s    zSummaryFilter.__call__)N)r   r   r   r   r   r   r   r   r   r   '   s   r   )Ú
__future__r   r   Zmonai.fl.utils.exchange_objectr   ÚABCr   r   r   r   r   r   Ú<module>   s   