o
    ॵi1                     @   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   auto_collateN )super__init__)selfr   kwargs	__class__r   n/home/ubuntu/.local/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	   convert_to_ndarrayr   
preprocess)	r   r   r   
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   	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   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   modelscope.metainfor   modelscope.outputsr   modelscope.pipelines.baser   r   modelscope.pipelines.builderr   modelscope.preprocessorsr	   modelscope.utils.constantr
   register_moduletext_driven_segmentationr   r   r   r   r   <module>   s   