o
    *j                     @   s   d dl mZmZ d dlmZ d dlmZ d dlmZm	Z	 d dl
mZ d dlmZ d dlmZ ejejejdG d	d
 d
e	ZdS )    )AnyDict)	Pipelines)
OutputKeys)InputPipeline)	PIPELINES)	LoadImage)Tasks)module_namec                       s   e Zd ZdZdef fddZdedeeef fddZ	deeef deeef fd	d
Z
deeef deeef fddZ  ZS )ImageRestorationPipelinea8   Image Restoration Pipeline .

    Take image_demoireing as an example:
        >>> from modelscope.pipelines import pipeline
        >>> image_demoire = pipeline(Tasks.image_demoireing, model=model_id)
        >>> image_demoire("https://modelscope.oss-cn-beijing.aliyuncs.com/test/images/image_moire.jpg")

    modelc                    s   t  jd|dd| dS )z8
            model: model id on modelscope hub.
        F)r   Zauto_collateN )super__init__)selfr   kwargs	__class__r   s/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/modelscope/pipelines/cv/image_restoration_pipeline.pyr      s   z!ImageRestorationPipeline.__init__inputreturnc                 C   s4   t |}|j\}}}| |}||d< ||d< |S )Nimg_himg_w)r	   Zconvert_to_ndarrayshapeZpreprocessor)r   r   imgr   r   _resultr   r   r   
preprocess   s   

z#ImageRestorationPipeline.preprocessc                 C   s"   |  |}||d |d d}|S )Nr   r   )r   r   r   )r   )r   r   outputr   r   r   r   forward(   s   
z ImageRestorationPipeline.forwardinputsc                 C   s   |d }t j|i}|S )Nr   )r   Z
OUTPUT_IMG)r   r!   dataZoutputsr   r   r   postprocess2   s   
z$ImageRestorationPipeline.postprocess)__name__
__module____qualname____doc__strr   r   r   r   r   r    r#   __classcell__r   r   r   r   r      s    	"	*
r   N)typingr   r   Zmodelscope.metainfor   Zmodelscope.outputsr   Zmodelscope.pipelines.baser   r   Zmodelscope.pipelines.builderr   Zmodelscope.preprocessorsr	   Zmodelscope.utils.constantr
   Zregister_moduleZimage_demoireingZimage_demoirer   r   r   r   r   <module>   s   