
    9im                         S SK JrJrJrJrJr  S SKrSSKJ	r	  SSK
Jr  SSKJr  SSKJr  SS	KJr  S
SKJr  S
SKJr  \R,                   " S S\5      5       r\	" S5       " S S\5      5       rg)    )AnyDictListOptionalUnionN   )pipeline_requires_extra   )InstanceSegResult)	benchmark)	HPIConfig)PaddlePredictorOption   )(AutoParallelImageSimpleInferencePipeline)BasePipelinec                      ^  \ rS rSrSr    SS\S\S\S\S\	\
\\\4   \4      S	S4U 4S
 jjjr SS\
\\\   \R                   \\R                      4   S\
\S4   S	\4S jjrSrU =r$ )_InstanceSegmentationPipeline   zInstance Segmentation PipelineNconfigdevice	pp_optionuse_hpip
hpi_configreturnc                 r   > [         TU ]  X#XES9  US   S   nU R                  U5      U l        US   U l        g)ah  
Initializes the class with given configurations and options.

Args:
    config (Dict): Configuration dictionary containing model and other parameters.
    device (str): The device to run the prediction on. Default is None.
    pp_option (PaddlePredictorOption): Options for PaddlePaddle predictor. Default is None.
    use_hpip (bool, optional): Whether to use the high-performance
        inference plugin (HPIP) by default. Defaults to False.
    hpi_config (Optional[Union[Dict[str, Any], HPIConfig]], optional):
        The default high-performance inference configuration dictionary.
        Defaults to None.
)r   r   r   r   
SubModulesInstanceSegmentation	thresholdN)super__init__create_modelinstance_segmentation_modelr   )selfr   r   r   r   r   "instance_segmentation_model_config	__class__s          z/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/paddlex/inference/pipelines/instance_segmentation/pipeline.pyr    &_InstanceSegmentationPipeline.__init__    sW    * 	 	 	
 .4L-A".
* ,0+<+<.,
( <KH    inputr   c              +   >   #    U R                  XS9 Sh  vN   g N7f)a  Predicts instance segmentation results for the given input.

Args:
    input (str | list[str] | np.ndarray | list[np.ndarray]): The input image(s) or path(s) to the images.
    threshold (Union[float, None]): The threshold value to filter out low-confidence predictions. Default is None.
    **kwargs: Additional keyword arguments that can be passed to the function.

Returns:
    InstanceSegResult: The predicted instance segmentation results.
)r   N)r"   )r#   r)   r   kwargss       r&   predict%_InstanceSegmentationPipeline.predictA   s       33E3OOOs   )r"   r   )NNFNN)__name__
__module____qualname____firstlineno____doc__r   strr   boolr   r   r   r   r    r   npndarrayfloatr   r,   __static_attributes____classcell__)r%   s   @r&   r   r      s    (
 +/AEII I )	I
 I U4S>9#<=>I 
I IH )-PS$s)RZZbjj1AABP %P
 
P Pr(   r   cvc                   .    \ rS rSrSr\S 5       rS rSrg)InstanceSegmentationPipelineT   instance_segmentationc                     [         $ r.   )r   )r#   s    r&   _pipeline_cls*InstanceSegmentationPipeline._pipeline_clsX   s    ,,r(   c                 2    US   S   R                  SS5      $ )Nr   r   
batch_size   )get)r#   r   s     r&   _get_batch_size,InstanceSegmentationPipeline._get_batch_size\   s     l#$:;??aPPr(    N)	r/   r0   r1   r2   entitiespropertyrA   rG   r9   rI   r(   r&   r=   r=   T   s    &H- -Qr(   r=   )typingr   r   r   r   r   numpyr6   
utils.depsr	   #models.instance_segmentation.resultr   utils.benchmarkr   	utils.hpir   utils.pp_optionr   	_parallelr   baser   time_methodsr   r=   rI   r(   r&   <module>rV      sn    4 3  2 D ( " 4 @  4PL 4P 4Pn Q#K Q Qr(   