U
    rhE6                     @  sH   d dl mZ d dlZd dlZd dlmZ d dlmZ G dd deZ	dS )    )annotationsN)Base)expectc                   @  s   e Zd ZeddddZeddddZeddddZeddd	d
ZeddddZeddddZ	eddddZ
eddddZeddddZdS )NonMaxSuppressionNone)returnc                  C  s  t jjddddddgdgd} td	d	d
d
gd	dd
dgd	dd
dgd	dd
dgd	dd
dgd	dd
dgggtj}tddddddgggtj}tdgtj}tdgtj}td	gtj}tdddgdddgdddggtj}t| |||||g|gdd d S )Nr   boxesscoresmax_output_boxes_per_classiou_thresholdscore_thresholdselected_indicesinputsoutputs              ?皙?皙?皙?      $@      &@333333$@333333&@      Y@     @Y@      ?333333?ffffff?      ?333333?   r      Z&test_nonmaxsuppression_suppress_by_IOUr   r   name	onnxhelperZ	make_nodenparrayZastypeZfloat32Zint64r   noder   r	   r
   r   r   r    r-   Q/tmp/pip-unpacked-wheel-xnis5xre/onnx/backend/test/case/node/nonmaxsuppression.py(export_nonmaxsuppression_suppress_by_IOU   sL    





"*z:NonMaxSuppression.export_nonmaxsuppression_suppress_by_IOUc                  C  s  t jjddddddgdgd} td	d	d
d
gd	dd
dgd	dd
dgd	dd
dgd	dd
dgd	dd
dgggtj}tddddddgggtj}tdgtj}tdgtj}tdgtj}tdddgdddggtj}t| |||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   皙?r   Z1test_nonmaxsuppression_suppress_by_IOU_and_scoresr$   r&   r+   r-   r-   r.   3export_nonmaxsuppression_suppress_by_IOU_and_scores:   sL    





""zENonMaxSuppression.export_nonmaxsuppression_suppress_by_IOU_and_scoresc                  C  s  t jjddddddgdgd} td	d	d
d
gd
dd	dgd
dd	dgd
dd	dgd	dd
dgd	dd
dgggtj}tddddddgggtj}tdgtj}tdgtj}td
gtj}tdddgdddgdddggtj}t| |||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r"   r   r#   Z*test_nonmaxsuppression_flipped_coordinatesr$   r&   r+   r-   r-   r.   ,export_nonmaxsuppression_flipped_coordinatesf   sL    





"*z>NonMaxSuppression.export_nonmaxsuppression_flipped_coordinatesc                  C  s  t jjddddddgdgd} td	d	d
d
gd	dd
dgd	dd
dgd	dd
dgd	dd
dgd	dd
dgggtj}tddddddgggtj}tdgtj}tdgtj}td	gtj}tdddgdddggtj}t| |||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!      r   r"   Z(test_nonmaxsuppression_limit_output_sizer$   r&   r+   r-   r-   r.   *export_nonmaxsuppression_limit_output_size   sL    





""z<NonMaxSuppression.export_nonmaxsuppression_limit_output_sizec                  C  s   t jjddddddgdgd} td	d	d
d
gggtj}tdgggtj}tdgtj}tdgtj}td	gtj}tdddggtj}t| |||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r"   r    r   Z!test_nonmaxsuppression_single_boxr$   r&   r+   r-   r-   r.   #export_nonmaxsuppression_single_box   s6    z5NonMaxSuppression.export_nonmaxsuppression_single_boxc                  C  s6  t jjddddddgdgd} td	d	d
d
gd	d	d
d
gd	d	d
d
gd	d	d
d
gd	d	d
d
gd	d	d
d
gd	d	d
d
gd	d	d
d
gd	d	d
d
gd	d	d
d
gg
gtj}tddddddddddg
ggtj}tdgtj}tdgtj}td	gtj}tdddggtj}t| |||||g|gdd d S )Nr   r   r	   r
   r   r   r   r   r   r   r   r"   r    r   Z&test_nonmaxsuppression_identical_boxesr$   r&   r+   r-   r-   r.   (export_nonmaxsuppression_identical_boxes   s\    









z:NonMaxSuppression.export_nonmaxsuppression_identical_boxesc                  C  s  t jjddddddgdgdd	} td
d
ddgd
dddgd
dddgd
dddgd
dddgd
dddgggtj}tddddd
dgggtj}tdgtj}td
gtj}tdgtj}tdddgdddgdddggtj}t| |||||g|gdd d S )Nr   r   r	   r
   r   r   r      )r   r   Zcenter_point_boxr    r   r   r0   g      %@g333333%@g      Y@r   r   r   r!   r"   r   r   r#   Z.test_nonmaxsuppression_center_point_box_formatr$   r&   r+   r-   r-   r.   0export_nonmaxsuppression_center_point_box_format  sN    





"*zBNonMaxSuppression.export_nonmaxsuppression_center_point_box_formatc                  C  s,  t jjddddddgdgd} td	d	d
d
gd	dd
dgd	dd
dgd	dd
dgd	dd
dgd	dd
dgggtj}tddddddgddddddgggtj}tdgtj}tdgtj}td	gtj}tdddgdddgdddgdddggtj}t| |||||g|gdd d S ) Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r3   r   r"   r7   Z"test_nonmaxsuppression_two_classesr$   r&   r+   r-   r-   r.   $export_nonmaxsuppression_two_classes>  s\    





 "z6NonMaxSuppression.export_nonmaxsuppression_two_classesc                  C  sl  t jjddddddgdgd} td	d	d
d
gd	dd
dgd	dd
dgd	dd
dgd	dd
dgd	dd
dggd	d	d
d
gd	dd
dgd	dd
dgd	dd
dgd	dd
dgd	dd
dgggtj}tddddddggddddddgggtj}tdgtj}tdgtj}td	gtj}tdddgdddgdddgdddggtj}t| |||||g|gdd d S ) Nr   r   r	   r
   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r    r!   r3   r   r"   r7   Z"test_nonmaxsuppression_two_batchesr$   r&   r+   r-   r-   r.   $export_nonmaxsuppression_two_batchesn  sj    





	





""z6NonMaxSuppression.export_nonmaxsuppression_two_batchesN)__name__
__module____qualname__staticmethodr/   r1   r2   r4   r5   r6   r8   r9   r:   r-   r-   r-   r.   r      s$   ++++ 1,/r   )

__future__r   Znumpyr)   r'   Zonnx.backend.test.case.baser   Zonnx.backend.test.case.noder   r   r-   r-   r-   r.   <module>   s
   