o
    wÖiE6  ã                   @  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„ƒZeddd„ƒZeddd„ƒZedd	d
„ƒZeddd„ƒZeddd„ƒZ	eddd„ƒZ
eddd„ƒZeddd„ƒZdS )ÚNonMaxSuppressionÚreturnÚNonec               	   C  óê   t jjdg d¢dgd} t g d¢g d¢g d¢g d¢g d	¢g d
¢gg¡ tj¡}t g d¢gg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t g d¢g d¢g d¢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©ç        r   ç      ð?r   ©r   gš™™™™™¹?r   gš™™™™™ñ?©r   çš™™™™™¹¿r   çÍÌÌÌÌÌì?©r   g      $@r   g      &@©r   ç333333$@r   ç333333&@©r   ç      Y@r   ç     @Y@©r   g      è?ç333333ã?gffffffî?ç      à?g333333Ó?é   r#   r   ©r   r   r$   ©r   r   r   ©r   r   é   Ú&test_nonmaxsuppression_suppress_by_IOU©r   r   Úname©	ÚonnxÚhelperÚ	make_nodeÚnpÚarrayÚastypeÚfloat32Úint64r   ©Únoder
   r   r   r   r   r   © r7   új/home/ubuntu/sommelier/.venv/lib/python3.10/site-packages/onnx/backend/test/case/node/nonmaxsuppression.pyÚ(export_nonmaxsuppression_suppress_by_IOU   óB   ÷úÿÿõ$û
öz:NonMaxSuppression.export_nonmaxsuppression_suppress_by_IOUc               	   C  óä   t jjdg d¢dgd} t g d¢g d¢g d¢g d¢g d	¢g d
¢gg¡ tj¡}t g d¢gg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t g d¢g d¢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&   Ú1test_nonmaxsuppression_suppress_by_IOU_and_scoresr*   r,   r5   r7   r7   r8   Ú3export_nonmaxsuppression_suppress_by_IOU_and_scores:   óB   ÷úÿÿõû
özENonMaxSuppression.export_nonmaxsuppression_suppress_by_IOU_and_scoresc               	   C  r   )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&   r'   Ú*test_nonmaxsuppression_flipped_coordinatesr*   r,   r5   r7   r7   r8   Ú,export_nonmaxsuppression_flipped_coordinatesf   r:   z>NonMaxSuppression.export_nonmaxsuppression_flipped_coordinatesc               	   C  r;   )Nr   r	   r   r   r   r   r   r   r   r   r!   é   r#   r   r%   r&   Ú(test_nonmaxsuppression_limit_output_sizer*   r,   r5   r7   r7   r8   Ú*export_nonmaxsuppression_limit_output_size’   r?   z<NonMaxSuppression.export_nonmaxsuppression_limit_output_sizec                  C  s¾   t jjdg d¢dgd} t g d¢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 g d
¢g¡ tj¡}t| |||||g|gdd d S )Nr   r	   r   r   r   r   r$   r#   r   r&   Ú!test_nonmaxsuppression_single_boxr*   r,   r5   r7   r7   r8   Ú#export_nonmaxsuppression_single_box¾   s,   ÷û
öz5NonMaxSuppression.export_nonmaxsuppression_single_boxc                  C  sö   t jjdg d¢dgd} t g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g d¢g
g¡ tj¡}t g d¢gg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t d	g¡ tj¡}t g d
¢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&   Ú&test_nonmaxsuppression_identical_boxesr*   r,   r5   r7   r7   r8   Ú(export_nonmaxsuppression_identical_boxesß   sR   ÷öÿÿñ
ÿþû
öz:NonMaxSuppression.export_nonmaxsuppression_identical_boxesc               	   C  sì   t jjdg d¢dgdd} t g d¢g d¢g d¢g d	¢g d
¢g d¢gg¡ tj¡}t g d¢gg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t g d¢g d¢g d¢g¡ tj¡}t| |||||g|gdd d S )Nr   r	   r   é   )r   r   Úcenter_point_box)r#   r#   r   r   )r#   r"   r   r   )r#   r<   r   r   )r#   g      %@r   r   )r#   g333333%@r   r   )r#   g      Y@r   r   r!   r$   r#   r   r%   r&   r'   Ú.test_nonmaxsuppression_center_point_box_formatr*   r,   r5   r7   r7   r8   Ú0export_nonmaxsuppression_center_point_box_format  sD   öúÿÿõ$û
özBNonMaxSuppression.export_nonmaxsuppression_center_point_box_formatc               	   C  sö   t jjdg d¢dgd} t g d¢g d¢g d¢g d¢g d	¢g d
¢gg¡ tj¡}t g d¢g d¢gg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t g d¢g d¢g d¢g d¢g¡ tj¡}t| |||||g|gdd d S )Nr   r	   r   r   r   r   r   r   r   r   r!   rB   r#   r   r%   r&   )r   rI   r$   )r   rI   r   Ú"test_nonmaxsuppression_two_classesr*   r,   r5   r7   r7   r8   Ú$export_nonmaxsuppression_two_classes>  sR   ÷úÿÿõÿþÿþû
öz6NonMaxSuppression.export_nonmaxsuppression_two_classesc               
   C  s  t jjdg d¢dgd} t g d¢g d¢g d¢g d¢g d	¢g d
¢gg d¢g d¢g d¢g d¢g d	¢g d
¢gg¡ tj¡}t g d¢gg d¢gg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t dg¡ tj¡}t g d¢g d¢g d¢g d¢g¡ tj¡}t| |||||g|gdd d S )Nr   r	   r   r   r   r   r   r   r   r   r!   rB   r#   r   r%   r&   )rI   r   r$   )rI   r   r   Ú"test_nonmaxsuppression_two_batchesr*   r,   r5   r7   r7   r8   Ú$export_nonmaxsuppression_two_batchesn  s`   ÷ú	ú÷ÿíÿþÿþû
öz6NonMaxSuppression.export_nonmaxsuppression_two_batchesN)r   r   )Ú__name__Ú
__module__Ú__qualname__Ústaticmethodr9   r>   rA   rD   rF   rH   rL   rN   rP   r7   r7   r7   r8   r      s&    ++++ 1,/r   )
Ú
__future__r   Únumpyr0   r-   Úonnx.backend.test.case.baser   Úonnx.backend.test.case.noder   r   r7   r7   r7   r8   Ú<module>   s   