o
    *j1                     @   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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 )TextDrivenSegmentationPipeline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   {/var/www/html/Deteccion_Ine/venv/lib/python3.10/site-packages/modelscope/pipelines/cv/text_driven_segmentation_pipleline.pyr      s   z'TextDrivenSegmentationPipeline.__init__inputreturnc           	      C   s>   t |d }| j|\}}}}}||||||d d}|S )Nimagetext)imgori_hori_wcrop_hcrop_wr   )r	   Zconvert_to_ndarrayr   
preprocess)	r   r   r   Z
img_tensorr   r   r   r   resultr   r   r   r      s   z)TextDrivenSegmentationPipeline.preprocessc                 C   s:   | j |d |d }||d |d |d |d d}|S )Nr   r   r   r   r   r   )datar   r   r   r   )r   Z	inference)r   r   outputsr    r   r   r   forward$   s   z&TextDrivenSegmentationPipeline.forwardinputsc                 C   s6   | j |d |d |d |d |d }tj|i}|S )Nr!   r   r   r   r   )r   postprocessr   ZMASKS)r   r$   r!   r"   r   r   r   r%   /   s   
z*TextDrivenSegmentationPipeline.postprocess)__name__
__module____qualname__strr   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text_driven_segmentationr   r   r   r   r   <module>   s   