o
    F‚ia  ã                   @  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	„ƒZdS )ÚFilterz<
    Used to apply filter to content of ExchangeObject.
    NÚdatar   Úextraúdict | NoneÚreturnc                 C  s   t ‚)z¬
        Run the filtering.

        Arguments:
            data: ExchangeObject containing some data.

        Returns:
            ExchangeObject: filtered data.
        )ÚNotImplementedError©Úselfr   r   © r   úP/root/miniconda3/envs/fpt/lib/python3.10/site-packages/monai/fl/utils/filters.pyÚ__call__   s   zFilter.__call__©N©r   r   r   r   r   r   )Ú__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	„ZdS )ÚSummaryFilterz;
    Summary filter to show content of ExchangeObject.
    Nr   r   r   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__r   r   )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
   