403Webshell
Server IP : 35.80.110.71  /  Your IP : 216.73.216.117
Web Server : Apache/2.4.58 (Ubuntu)
System : Linux ip-172-31-21-44 6.17.0-1019-aws #19~24.04.1-Ubuntu SMP Tue Jun 23 18:53:06 UTC 2026 x86_64
User : ubuntu ( 1000)
PHP Version : 8.3.31
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : ON  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/matplotlib/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/matplotlib/tests/__pycache__/test_image.cpython-312.pyc
�

G8�c<��
���ddlmZddlmZddlZddlZddlmZddlZddlZddl	Z
ddlZddl
mZddlmZddlZddlmZmZmZmZmZmZddlmZmZmZmZm Z dd	l!m"Z"m#Z#dd
l$m%Z%m&Z&m'Z'ddl(m)Z*ddl+Z+e#dgd�
�d��Z,e#dgd��d��Z-e#dgddgd��d��Z.e+j^jadddg�e#dgddg��d���Z1d�Z2e+j^jadgd ��e"dg��d!���Z3e"dg��d"��Z4e"�d#��Z5d$�Z6d%�Z7e+j^jad&gd'��d(��Z8e+j^jad&gd)��d*��Z9d+�Z:d,�Z;d-�Z<e#d.gd��d/��Z=d0�Z>e+j^jad1d2d3ggd4fd5d6ggd7fej~d8d9ggd:fd8d;ggd<fd=d=ggd>fg�d?��Z@e#d@gd�
�dA��ZAe#dBgd�
�dC��ZBe#dDgdd�E�dF��ZCe"dg��dG��ZDdH�ZEdI�ZFe#dJgd��dK��ZGe#dLgdddg�M�dN��ZHdO�ZIe#dPgdd�E�dQ��ZJe#dRgd��dS��ZKe"dg��dT��ZLe#dUgddgdd�V�dW��ZMe#dXgdd�E�dY��ZNdZ�ZOe#d[gdd�E�d\��ZPd]�ZQd^�ZRd_�ZSd`�ZTda�ZUdb�ZVe+j^jadceej�dd�ej�de�ej�df�j�dg�fe ej�dd�ej�de�ej�dh�j�di�fg�dj��ZYdk�ZZdl�Z[e#dmgd��dn��Z\e#dogddp�q�dr��Z]ds�Z^dt�Z_e#dugddv�q�dw��Z`e#dxgd��dy��Zadz�Zbe#d{gd��d|��Zce#d}gej��d~k(rdnddd���d���Zed��Zfe+j^jad�d�j��D�cgc]}ej�|���c}�d���Zie#d�gdd�E�d���Zje#d�gdd�E�d���Zke#d�gdd�E�d���Zle+j^jad�ej�ej�d��d��g�d���Zod��Zpd��Zqd��Zrd��Zse+j^jad�d�d�g�e+j^jad�d�d�g�d����Ztd��Zud��Zvd��Zwd��Zxe"�d���Zyd��Zzej2j�d�d���Z|Gd��d�ej��Z~d��Zd��Z�e"dg��d���Z�e+j^jad�d=d8g�e"dg��d����Z�e"�d���Z�e#d�gd�
�d���Z�e#d�gdd���d���Z�e+j^�j
d��e+j^jad�d�d�g�e+j^jad�gd��gd��g�e"d���d������Z�e"dg��d���Z�ycc}w)��)�	ExitStack)�copyN)�Path)�assert_array_equal)�Image)�colors�image�patches�pyplot�style�rcParams)�	AxesImage�	BboxImage�FigureImage�NonUniformImage�PcolorImage)�check_figures_equal�image_comparison)�Bbox�Affine2D�TransformedBbox�
image_interps�mpl20)rc��dtjd<tjd�j	dd�}tj
d�\}\}}}|j
|d��|jd	�|jd�|j
|d
��|jd
�|j
|d��|jd�y)
z5Make the basic nearest, bilinear and bicubic interps.�ztext.kerning_factor�d����nearest��
interpolationzthree interpolations�bilinear�bicubicN)	�pltr
�np�arange�reshape�subplots�imshow�	set_title�
set_ylabel)�X�fig�ax1�ax2�ax3s     �=/usr/lib/python3/dist-packages/matplotlib/tests/test_image.py�test_image_interpsr3s���+,�C�L�L�&�'�
�	�	�#����q�"�%�A��<�<��?��C��#�s�C��J�J�q�	�J�*��M�M�(�)��N�N�9���J�J�q�
�J�+��N�N�:���J�J�q�	�J�*��N�N�9��zinterp_alpha.pngT)�remove_textc�X�tjdd�\}\}}tjd�}tjd�|d<tj
tjdtj���|d<|j|d�	�|j|d
�	�y)z:Test the interpolation of the alpha channel on RGBA images��)rr��rr).r7��dtype�.r�noner!r#N)r%r)r&�zeros�ones�tril�uint8r*)r.�axl�axr�imgs    r2�test_alpha_interprF.s|���l�l�1�a�(�O�C��#�s�
�(�(�9�
�C��'�'�&�/�C��K��'�'�"�'�'�&����9�:�C��K��J�J�s�&�J�)��J�J�s�*�J�-r4�interp_nearest_vs_none�pdf�svg)�
extensionsr5c�D�dtd<tjgd�gd�ggd�gd�ggtj��}t	j
dd	�\}\}}|j
|d
��|jd�|j
|d
��|jd�y)z5Test the effect of "nearest" and "none" interpolationr�savefig.dpi)���� )�z�g��)��r)rT�c�Gr;r7r8r>r!zinterpolation noner zinterpolation nearestN)r
r&�arrayrBr%r)r*r+)r-r.r/r0s    r2�test_interp_nearest_vs_nonerX;s��� �H�]��
���>�?�3� �-�0�2�9;���	C�A��l�l�1�a�(�O�C��#�s��J�J�q��J�'��M�M�&�'��J�J�q�	�J�*��M�M�)�*r4�suppressCompositeF�figimage�png)rJc�P�tjdd��}||_tjtj
d�dztj
d�dz�\}}tj|dz|dzz||zz
�}tjd|dzzd|dzzz�}||dzz}|j|d	d	d
��|j|ddd�dd�fd	dd
��|j|dd�ddd�fdd	d
��|j|ddd�ddd�fddd
��y)
N�r8r8r��figsize�dpigY@r8r�2rr�lower)�xo�yo�origin���)r%�figurerYr&�ix_r'�sinrZ)rYr.�x�y�z�crEs       r2�
test_figimagernMs���*�*�V��
-�C�-�C��
�6�6�"�)�)�C�.�5�(�"�)�)�C�.�3�*>�?�D�A�q�
���q�!�t�a��d�{�Q�q�S� �!�A�
���r�!�Q�$�w��A�q�D�� �!�A�
�a��c�'�C��L�L���q��L�1��L�L��T�r�T�1�W��!��G�L�<��L�L��Q��"��W��#�!�G�L�<��L�L��T�r�T�4�R�4�Z��S�S��L�Ar4c���tj�\}}|jgd��tj�}|j|�|j
d�tj|�y)N)r7r8rr)r%r)�plot�io�BytesIO�savefig�seek�imread)r.�ax�buffers   r2�test_image_python_iorx]sK���l�l�n�G�C���G�G�I��
�Z�Z�\�F��K�K���
�K�K��N��J�J�v�r4z!img_size, fig_size, interpolation))rr8�hanning)rrr )r�
r )r�333333@ry)rg333333"@r c���tjjd�tjd}tjjt
||z�t
||z��}||fD]}|j||��|j�}|jgd��|j|d��|j�}|jgd��|j||��y)N�!N,rL�rrr7r7�antialiasedr!)r&�random�seedr%r
�rand�int�set_size_inchesr)�set_positionr*)	�fig_test�fig_ref�img_size�fig_sizer"r`�Ar.rvs	         r2�test_imshow_antialiasedr�fs����I�I�N�N�8��

�,�,�}�
%�C�
�	�	���s�3��>�*�C��h��,?�@�A��'�"�0�����H�h�/�0�	�	�	�	�B��O�O�L�!��I�I�a�}�I�-�	�	�	�	�B��O�O�L�!��I�I�a�}�I�-r4c�2�tjjd�tjd}tjjt
|dz�t
|dz��}||fD]}|jdd��|j�}|j|d��|jddg�|jddg�|j�}|j|d	��|jddg�|jddg�y)
Nr}rLrr{rr!rzrr )r&r�r�r%r
r�r�r�r)r*�set_xlim�set_ylim)r�r�r`r�r.rvs      r2�test_imshow_zoomr�~s����I�I�N�N�8��

�,�,�}�
%�C�
�	�	���s�3��7�|�S��q��\�2�A��'�"�&�����C��%�&�	�	�	�	�B��I�I�a�}�I�-��K�K��R����K�K��R���	�	�	�	�B��I�I�a�y�I�)��K�K��R����K�K��R��r4c��tjd�tt�jdz}tt�jdz}|jd�}|dj
tj|��|dj
tj|��|jd�}|dj
tj|��|dj
tj|��y)N�default�%baseline_images/pngsuite/basn3p04.png�%baseline_images/test_image/uint16.tifr8rr7)r�user�__file__�parentr)r*r�openr%ru)r�r��png_path�	tiff_path�axss     r2�test_imshow_pilr��s���	�I�I�i���H�~�$�$�'N�N�H��X��%�%�(O�O�I�
�
�
�A�
�C���F�M�M�%�*�*�X�&�'���F�M�M�%�*�*�Y�'�(�
�
�
�1�
�C���F�M�M�#�*�*�X�&�'���F�M�M�#�*�*�Y�'�(r4c�"�tjtjj	tjjt�ddd��}|jtjk(sJ�tj|�dk(sJ�y)N�baseline_images�
test_imagez
uint16.tif���)r%ru�os�path�join�dirnamer�r<r&�uint16�sum�rEs r2�test_imread_pil_uint16r��sc��

�*�*�R�W�W�\�\�"�'�'�/�/�(�";�&��l�D�E�C��9�9��	�	�!�!�!�
�6�6�#�;�)�#�#�#r4c���tjtt�jdz�}|j
tjk(sJ�t
j|�dk(sJ�y)Nr�r�)	r%rurr�r�r<r&r�r�r�s r2�test_imread_fspathr��sP��

�*�*��X���� G�G�I�C��9�9��	�	�!�!�!�
�6�6�#�;�)�#�#�#r4�fmt)r[�jpg�jpeg�tiffc�R�|dv}tjjd�tjjdd�}t	j
�}t
j|||d��t	j
�}t
j|||d��|jd�t
j||��}|jd�t
j||��}|jddd	|zfk(sJ�|jddd	|zfk(sJ�t||�y)
N)r�r�r7i@r8)�formatr`rr�r�r)r&r�r�r�rqrrr%�imsavertru�shaper)r��	has_alpha�data�	buff_dpi1�buff_dpi100�arr_dpi1�
arr_dpi100s       r2�test_imsaver��s����?�*�I��I�I�N�N�1���9�9�>�>�$��"�D��
�
��I��J�J�y�$�s��2��*�*�,�K��J�J�{�D��#�6�
�N�N�1���z�z�)�C�0�H����Q�����K��4�J��>�>�d�A�q�9�}�5�5�5�5�����a��Y��7�7�7�7��x��,r4)r[rH�ps�epsrIc��tjttj�tjddgg�|��y)Nrr7r�)r%r�rr��devnullr&rW)r�s r2�test_imsave_fspathr��s*���J�J�t�B�J�J�����A�q�6�(�!3�C�@r4c��tjjd�dD]�}tjjddd�}t	j
�}t
j|||d��|jd�t
j|�}d|zjd	�}|d
k(r|ddd�}d|zjd	�}t||���y)Nr7)rb�upper�r9r[)rer�rrTrBrbrf)r&r�r�r�rqrrr%r�rtru�astyper)rer��buff�arr_bufs    r2�test_imsave_color_alphar��s����I�I�N�N�1��$�*���y�y�~�~�b�"�a�(���z�z�|���
�
�4��f�U�;��	�	�!���*�*�T�"��
�D�� � ��)���W����"��:�D��w�;�&�&�w�/���4��)�!*r4c��ddlm}tj�}|�}|j	dd�tj|ddgddggdd	|i�
�tj|�}|jddk(sJ�y)Nr)�PngInfo�Software�testr7r8rr[�pnginfo�r��
pil_kwargs)
�PIL.PngImagePluginr�rqrr�add_textr%r�rr��info)r��bufr��ims    r2�test_imsave_pil_kwargs_pngr��sr��*�
�*�*�,�C��i�G����Z��(��J�J�s�a��V�a��V�$���G�(<�>�	���C��B�
�7�7�:��&�(�(�(r4c�\�ddlm}tj�}ddi}t	j
|ddgddggd|�	�t
|�dk(sJ�tj|�}|jj�D��cic]\}}||j|��}}}|d
dk(sJ�ycc}}w)Nr)�TAGS_V2�descriptionz
test imager7r8rr�r��ImageDescription)�PIL.TiffTagsr�rqrrr%r��lenrr��tag_v2�items�name)�TAGSr�r�r��k�v�tagss       r2�test_imsave_pil_kwargs_tiffr��s���,�
�*�*�,�C���.�J��J�J�s�a��V�a��V�$�V�
�K��z�?�a����	���C��B�(*�	�	���(9�:���1�D��G�L�L�!�O�:�D�:��"�#�|�3�3�3��;s�B(�image_alphac�4�tjjd�tjjdd�}t	j
dd�\}\}}}|j
|dd��|j
|dd��|j
|dd	��y)
Nrrr7r��?r>)�alphar"��?r )r&r�r�r�r%r)r*)�Zr.r/r0r1s     r2�test_image_alphar�sw���I�I�N�N�1��
�	�	���q�!��A��<�<��1�-��C��#�s�C��J�J�q��6�J�2��J�J�q��6�J�2��J�J�q��9�J�5r4c��ddlm}tj�\}}|j	tjd�jdd�d��}d\}}|jj||g�\}}|d|j||�}|j|�d	k(sJ�d
\}}|jj||g�\}}|d|j||�}|j|��J�|j�|j	tjd�jdd�d��}d\}}|jj||g�\}}|d|j||�}|j|�d	k(sJ�tj�\}}|j	tjd�jdd�gd��
�}d\}}|jj||g�\}}|d|j||�}|j|�dk(sJ�d\}}|jj||g�\}}|d|j||�}|j|��J�d\}}|jj||g�\}}|d|j||�}|j|��J�t�jd�jd�}	|j	tjd�jdd�|	|jz��}d\}}|jj||g�\}}|d|j||�}|j|�d	k(sJ�y)Nr��
MouseEventrrzr�)re�r9r9�motion_notify_event�,)g333333$@r9rb)rr�rr���extent)��?r��7)��?r�)�{�G�z�?g{�G�z��r8r�)�	transform)rrz)�matplotlib.backend_basesr�r%r)r*r&r'r(�	transDatar��canvas�get_cursor_data�clearr�scale�rotate)
r�r.rvr�rjrk�xdisp�ydisp�event�transs
          r2�test_cursor_datar
s<��3��l�l�n�G�C��	���2�9�9�S�>�)�)�"�b�1�'��	B�B��D�A�q��<�<�)�)�1�a�&�1�L�E�5��,�c�j�j�%��G�E�
���e�$��*�*�*��D�A�q��<�<�)�)�1�a�&�1�L�E�5��,�c�j�j�%��G�E�
���e�$�,�,�,��H�H�J�	���2�9�9�S�>�)�)�"�b�1�'��	B�B��D�A�q��<�<�)�)�1�a�&�1�L�E�5��,�c�j�j�%��G�E�
���e�$��*�*�*��l�l�n�G�C��	���2�9�9�S�>�)�)�"�b�1�:J��	K�B��D�A�q��<�<�)�)�1�a�&�1�L�E�5��,�c�j�j�%��G�E�
���e�$��*�*�*��D�A�q��<�<�)�)�1�a�&�1�L�E�5��,�c�j�j�%��G�E�
���e�$�,�,�,��D�A�q��<�<�)�)�1�a�&�1�L�E�5��,�c�j�j�%��G�E�
���e�$�,�,�,�
�J���Q��&�&�s�+�E�	���2�9�9�S�>�)�)�"�b�1�"�R�\�\�1�
�
3�B��D�A�q��<�<�)�)�1�a�&�1�L�E�5��,�c�j�j�%��G�E�
���e�$��*�*�*r4z
data, texti'i'z[10001.000]g�rh��|�?g/�$���?z[0.123]r7r8�[]g�?z[1.0000000000000000]rfz[-1.0000000000000000]c��ddlm}tj�\}}|j	|�}|j
j
ddg�\}}|d|j||�}|j|j|��|k(sJ�y)Nrr�r�)
r�r�r%r)r*r�r�r��format_cursor_datar�)	r��textr�r.rvr�r�r�r�s	         r2�test_format_cursor_datarTsx��4��l�l�n�G�C��	���4��B��<�<�)�)�1�a�&�1�L�E�5��,�c�j�j�%��G�E�
� � ��!3�!3�E�!:�;�t�C�C�Cr4�
image_clipc���ddgddgg}tj�\}}|j|�}tjdd|j
��}|j
|�y)Nr7r8rr9�rr)�radiusr�)r%r)r*r
�Circler��
set_clip_path)�dr.rvr��patchs     r2�test_image_cliprgsT��
�Q��!�Q���A��l�l�n�G�C��	���1��B��N�N�6�!�r�|�|�D�E����U�r4�image_cliprectc���tj�\}}ddgddgg}|j|d��}tjddd|j
j��}|j|�y)	Nr7r8rr9�rrrrr��r7r7)�xy�width�heightr�)r%r)r*r
�	Rectangle�axesr�r)r.rvrr��rects     r2�test_image_cliprectrqsg���l�l�n�G�C��
�Q��!�Q���A�	���1�\��	*�B������1����0A�0A�C�D����T�r4r*)r5rc���tj�\}}tjd�j	d�}|j|dd��|j
dd�|jdd�y)Nr�rzrzr#�r7r8r7r8�r"r�rr)r%r)r&r'r(r*r�r��r.rv�arrs   r2�test_imshowr }sW���l�l�n�G�C��
�)�)�C�.�
 �
 ��
*�C��I�I�c��L�I�A��K�K��1���K�K��1�r4c��tjd�jd�}|j�}|j	|dd�dd�dfdd��|jdd�|j
dd�|j�}|j	|dd��|jdd�|j
dd�y)Nr)rzrzr7rr#rrr)r&r'r(r)r*r�r�)r�r�rrvs    r2�test_imshow_10_10_1r"�s���
�)�)�C�.�
 �
 ��
-�C�	�	�	�	�B��I�I�c�!�Q��'�l�*�\�I�J��K�K��1���K�K��1��	�	�	�	�B��I�I�c��L�I�A��K�K��1���K�K��1�r4c��tj�\}}tjd�j	d�}tjt�5|j|�ddd�y#1swYyxYw)N��)rzrzr8�	r%r)r&r'r(�pytest�raises�	TypeErrorr*rs   r2�test_imshow_10_10_2r)��U���l�l�n�G�C��
�)�)�C�.�
 �
 ��
-�C�	���y�	!��
�	�	�#�������A0�0A9c��tj�\}}tjd�j	d�}tjt�5|j|�ddd�y#1swYyxYw)Ni�)rzrzrr%rs   r2�test_imshow_10_10_5r-�r*r+�no_interpolation_originc��tjd�\}}|djtjd�jd�dd��|djtjd�jd�d�	�y)
Nr8rr)r8rarbr>)rer"r7r!)r%r)r*r&r'r()r.r�s  r2�test_no_interpolation_originr0�si���|�|�A��H�C����F�M�M�"�)�)�C�.�(�(��1�'� &��(���F�M�M�"�)�)�C�.�(�(��1��M�Hr4�image_shift)r5rJc
�@�tdd�D��cgc]%}tdd�D�cgc]
}d|zd|zz��c}��'}}}d}d}tj�\}}|j|t	j
�d||ddf��|j
d�ycc}wcc}}w)Nr7rg�M��k&Ag���k&Ar>)�normr"r��auto)�ranger%r)r*r�LogNorm�
set_aspect)rkrj�imgData�tMin�tMaxr.rvs       r2�test_image_shiftr;�s���?D�Q��}�M�!�u�Q��}�5�!��A���A��
�5�M�G�M��D��D��l�l�n�G�C���I�I�g�F�N�N�,�F��D�!�S�)��+��M�M�&���6��Ms�B�B�B�Bc��tjddg��}|jgd�d��}tjtj
d�d�j
dd	�}|j|d
gd�dd
��}dx}}|j||g�|j||g�|jg�|jg�tj�}|j|d��|jd�tj |�}t#|dd�df�\}}}	}
t#|dd�df�\}}}	}
|dk7sJd��y)Nr7�r_r~F)�frameon��r�	r�����rzrCrzr>�gray)rer�r"�cmapr8)rr7r)�	facecolorrrfrz.Expected a non-green edge - but sadly, it was.)r%rg�add_axesr&�tiler'r(r*r�r��
set_xticks�
set_yticksrqrrrsrtrur�)r.rvr�r�rjrkr��r�g�b�as           r2�test_image_edgesrO�s(��

�*�*�a��V�
$�C�	���l�E��	2�B�
�7�7�2�9�9�R�=�"�%�-�-�b�!�4�D�	���4��0B�!'�f�
�
6�B�
�I�A���K�K�!��Q����K�K�!��Q����M�M�"���M�M�"��
�*�*�,�C��K�K��y�K�)��H�H�Q�K�	���C��B��R��1��X��J�A�q�!�Q��R��2��Y��J�A�q�!�Q���8�E�E�E�8r4�image_composite_backgroundc��tj�\}}tjd�j	dd�}|j|gd���|j|gd���|j
d�|jddg�y)	Nr?r9r)rr8r@rr�)r9rr@r)r7rrr�r)r%r)r&r'r(r*�
set_facecolorr�rs   r2�test_image_composite_backgroundrS�sk���l�l�n�G�C��
�)�)�B�-�
�
��1�
%�C��I�I�c�-�I�(��I�I�c�-�I�(����^�$��K�K��B��r4�image_composite_alphac��tj�\}}tjd�}d|dd�dd�df<tjtj
ddd�tj
ddd�ddd�f�|dd�dd�df<tjd	�}d|dd�dd�df<d|dd�dd�df<tjtj
ddd�tj
ddd�ddd�f�dd�tjf|dd�dd�df<|j|gd
�d��|j|gd
�d��|j|gd���|j|gd���|j|gd�d��|j|gd�d��|jd�|jddg�|jddg�y)z{
    Tests that the alpha value is recognized and correctly applied in the
    process of compositing images together.
    )��r9r7Nrg�������?皙�����?rfr)rWrVr9)r7r8rr�333333�?)r�r�)r8rrr�333333�?)rr9rrr�)rrr7r8)rrr8r)rrrr9)rr�rr7r)r%r)r&r?�concatenater'�newaxisr*rRr�r�)r.rvr�arr2s    r2�test_image_composite_alphar^�s����l�l�n�G�C��
�(�(�;�
�C��C��1�a��L��>�>�	���1�c�3�	����1�a��!5�d��d�!;�<�>�C��1�a��L�
�8�8�K� �D��D��A�q��M��D��A�q��M��N�N�	���1�c�3�	����1�a��!5�d��d�!;�<�>�>?����m�M�D��A�q��M��I�I�c�,�c�I�2��I�I�c�,�c�I�2��I�I�c�,�I�'��I�I�d�<�I�(��I�I�d�<�s�I�3��I�I�d�<�s�I�3����^�$��K�K��A����K�K��A��r4c��tjd�jd�}||fD]�}|j�}|j	|t
jjgd��|jf��|j	|t
jjgd��|jf����d|_	y)NrA�rr)r�rr7)r7r)�	clip_path)r�r7r8)r8r7T)
r&r'r(�add_subplotr*�mplr�rr�rY)r�r��tr.rvs     r2�#test_clip_path_disables_compositingrg�s���
�	�	�!����V�$�A��'�"�/��
�_�_�
��
�	�	�!����
�
�.F� G� "��� .�	�	/�
�	�	�!����
�
�.F� G� "��� .�	�	/�	/�!%�G�r4�rasterize_10dpi)rJr5rc��tjddgddgg�}tjddd��\}}|dj	|�|djddgddgdd	�
�|dj
dd�
�|djddgddgd��|dj
dd�
�|D]B}|jg�|jg�|jddjd��Ddtd<y)Nr7r8rr9)rr7r=rg4@T)�	linewidth�
rasterizedra)rfr8��xlim�ylim)rjFrzrL)r&�asarrayr%r)r*rp�setrIrJ�spines�set_visibler
)rEr.r�rvs    r2�test_rasterize_dpirss���
�*�*�q�!�f�q�!�f�%�
&�C��|�|�A�q�&�1�H�C����F�M�M�#����F�K�K��A���A��#�$�K�?���F�J�J�F��J�)���F�K�K��A���A��#�K�.���F�J�J�F��J�)��(��
�
�
�b��
�
�
�b��
�	�	�!�� � ��'�(�
!�H�]�r4�bbox_image_invertedc	��tjd�jd�}tj�\}}tt
tddgddgg�|j�d��}|j|�|jd�|jdd�|jdd�|j|�tjd�}tt
tdd	gd
dgg�|jj �d��}|j|�|jd�|j|�y)Nrrrr r!FrzrX皙�����?rYr�)r&r'r(r%r)rrrr��set_data�set_clip_onr�r��
add_artist�identityrg�transFigure)r	r.rv�bbox_ims    r2�test_bbox_image_invertedr}$s
��
�I�I�c�N�"�"�8�,�E��l�l�n�G�C�����s�C�j�1�a�&�1�2�B�L�L�A��!�G����U��������K�K��3���K�K��3���M�M�'���K�K��O�E����s�C�j�3��+�-F�(G�(*�	�	�(=�(=�?�&/�1�G����U��������M�M�'�r4c���tjgd�gd�gd�gd�g�}tjdd��\}}|j	gd��|jd	d
�|j
d	d
�|j|gd�d�
�}|jj�|jj}|j|�}t|j�ddgddgg�y)N)r�r�r�r�)rXg�������?r�皙�����?)rZrY�rv)�ffffff�?��������?rrZrrr^r~rr7)rr�rvr�r )r�r"i�r$i�i�)r&rWr%r)r�r�r�r*r��draw�renderer�get_window_extentr�
get_points)r�r.rv�im_objr��im_bboxs      r2�$test_get_window_extent_for_AxisImager�=s���

���*�,A�'�)=�?�
@�B��l�l�8��5�G�C���O�O�L�!��K�K��1���K�K��1��
�Y�Y�
�'�y��B�F��J�J�O�O���z�z�"�"�H��&�&�x�0�G��w�)�)�+�s�C�j�3��*�-E�Fr4zzoom_and_clip_upper_origin.pngc���tjd�}|jd�}tj�\}}|j|�|j
dd�|jdd�y)Nrr�@��)r&r'r(r%r)r*r�r�)r	r.rvs   r2�test_zoom_and_clip_upper_originr�RsV��
�I�I�c�N�E��M�M�(�#�E��l�l�n�G�C���I�I�e���K�K��T���K�K��c�r4c�d�tj�}t|�}|jd�y)N�Blues)r%�gcar�set_cmap�rvr�s  r2�test_nonuniformimage_setcmapr�^s#��	����B�	��	�B��K�K��r4c��tj�}t|�}|jtj��y�N)r%r�r�set_norm�	Normalizer�s  r2�test_nonuniformimage_setnormr�ds)��	����B�	��	�B��K�K��
�
�� r4c�N�tjdd��}td�D]#}tjddd�dz||dd�f<�%t	j
dd�}|j
|j��tj�\}}|j|�y)	NrrBr;rzr�r�rT�L)r&r@r5�linspacer�new�putdata�flattenr%r)r*)�imd�ir�r.rvs     r2�test_jpeg_2dr�js���
�'�'�(�'�
*�C�
�2�Y�4���K�K��S�"�-��3��A�q�D�	�4�	���3��	!�B��J�J�s�{�{�}���l�l�n�G�C���I�I�b�Mr4c���tjdd��tjdt��}tj
ddd�|d<tj|�tj�}tj|d	d
d��|jd�tj|�}t|jd
��}d|cxkrdksJ�J�|jd�}|dk(sJ�y)Nr�,r^)r�r�r9r;r�r�r=�redr�)rFr�r`r����r)�rr)r%rgr&r?�floatr�rZrqrrrsrtrr�r��	getcolors�getpixel)r�r�r	�
num_colors�corner_pixels     r2�test_jpeg_alphar�us����J�J�v�3�'�
���-�u�	-�B����S�#�s�+�B�v�J��L�L���
�:�:�<�D��K�K���e��=��I�I�a�L��J�J�t��E��U�_�_�S�)�*�J��*�#��#�#�#�#�#��>�>�&�)�L��;�&�&�&r4c���tj�}t|�}tjdt
��j
d�}|j|�d|d<|jddk(sJd��y�Nr?r;�r9r�������#@rr�
value changed)	r%r�rr&r'r�r(rw�_A)rvr�rls   r2�test_axesimage_setdatar��s`��	����B�	�2��B�
�	�	�"�E�"�*�*�6�2�A��K�K��N��A�d�G�
�5�5��;�!��,�_�,�r4c���tj�}t|�}tjdt
��j
d�}|j|�d|d<|jddk(sJd��yr�)	r%�gcfrr&r'r�r(rwr�)r.r�rls   r2�test_figureimage_setdatar��sa��

�'�'�)�C�	�S�	�B�
�	�	�"�E�"�*�*�6�2�A��K�K��N��A�d�G�
�5�5��;�!��,�_�,�r4zimage_cls,x,y,a�@�@g(@r�g@)rr8c�p�tj�}||�}|j|||�dx|d<x|d<|d<|jd|jdcxk(r|j
dcxk(rdk(sJd��Jd��|j|||j
g|j�d����y)Nr�rrr�rf)r%r�rwr��_Ax�_Ayr(r�)�	image_clsrjrkrNrvr�s      r2�test_setdata_xyar��s���

����B�	�2��B��K�K��1�a����A�a�D��1�Q�4�!�D�'�
�5�5��;�"�&�&��)�5�r�v�v�a�y�5�A�5�F��F�5�F��F�5��K�K��1�a�i�i��!�'�'��2��/�0r4c��ddlm}tjj	d�tjjdd�}t
jdd�\}}|dj|�}|dj|�}t
j||d��t
j||d��tj�}t
j|d��tj|j��}|j|�}d}|jd	�D]}	|�|	d
}�|	d
|k7s�J�y)Nr)�ElementTreerzr7r8)rvrIr�r	r)�	xml.etreer�r&r�r�r�r%r)�
pcolormesh�colorbarrqrrrs�getvalue�parse�iter)
r�r�r.rv�p1�p2r��treerr	s
          r2�test_minimized_rasterizedr��s��&��I�I�N�N�1��
�9�9�>�>�"�b�!�D��l�l�1�a� �G�C��	�A��	�	�$�	�B�	�A��	�	�$�	�B��L�L���1����L�L���1���
�:�:�<�D��K�K��U�#�
�:�:�d�m�m�o�&�D����T�"�D��E����7�#����=��'�N�E��W�~��&��u�r4c���tt�jdz}dtjdk(rdndz|j�j
�z}tjtd��5tj|�ddd�tjj|�5}tj|�ddd�y#1swY�GxYw#1swYyxYw)Nr�zfile:�win32z///�zPlease open the URL��match)rr�r��sys�platform�resolve�as_posixr&r'�
ValueErrorr%ru�urllib�request�urlopen)r��url�files   r2�test_load_from_urlr��s�����>� � �#J�J�D���|�|�w�.�e�B�8�
�\�\�^�
$�
$�
&�'�C�
���z�)>�	?���
�
�3���	���	�	��	$����
�
�4���������s�1C
�.C�
C�C"�log_scale_imagec���tjd�}d|ddd�<tj�\}}|j	|gd�dddd��|jd	�
�y)Nrr7r8)r7rr7r�viridisrfr4)r�rE�vmax�vmin�aspect�log)�yscale)r&r?r%r)r*rp)r�r.rvs   r2�test_log_scale_imager��sY��
�����A�
�A�c��c�F��l�l�n�G�C���I�I�a�(�y�q�r�����F�F�%�F�r4�rotate_imagegffffff�?)r5�tolc��d}tjdd|�x}}tj||�\}}tj|dz|dzzdz�dtjzz}tj|dz
dzdz|dz
dzdzzdz�dtjzdzdzz}||z
}tjdd�\}}	|	j|dd	d
gd�d�
�}
t�jd�|	jz}|
j|�|
j�\}}
}}|	j||
|
||g|||||gdd|��|	jdd�|	jdd�y)Nr���r�r8r7��?r�r>r�rb)���r9���r8T)r"rErer��clip_on�zr--r)�lwr�rrr9)r&r'�meshgrid�exp�pir%r)r*r�
rotate_degr��
set_transform�
get_extentrpr�r�)�deltarjrkr-�Y�Z1�Z2r�r.r/�im1�trans_data2�x1�x2�y1�y2s                r2�test_rotate_imager��s}���E��I�I�d�C��'�'�A��
�;�;�q�!��D�A�q�	���!�Q�$��A��+���"�	#�q�2�5�5�y�	1�B�
�&�&�Q��U�c�M�A�%�!�a�%�3���(:�:�;�a�?�
@��r�u�u�9�s�?�S� �"�B�
�R��A��|�|�A�q�!�H�C��

�*�*�Q�f�9�#�*�D��:�C��*�'�'��+�c�m�m�;�K����k�"��^�^�%�N�B��B���H�H�b�"�b�"�b�
!�B��B��B�#7��1�"�
�$��L�L��A���L�L��A�r4c��tj�}tjd�}t	j
||d��|j
d�t	j|�}|jdd|jk(sJ�y)N)i�iAr[r�rr8)	rqrrr&r?r%r�rtrur�)r�r�rEs   r2�test_image_preserve_sizers`��
�:�:�<�D�	���*�	�B��J�J�t�R��&��I�I�a�L�

�*�*�T�
�C��9�9�R�a�=�B�H�H�$�$�$r4c�^�d}tj|t�}tj||fd��}tj
|gd��}|j
�|j|�|j|ddd��tj�}|j|d	�
�|jd�tj|�}|jdk(sJ�ttj |dd�dd�dft"�tj|t"�ddd
��y)N�F)r_r>)r�r�r�r�r rbr4)r"rer�r7)r`r)rrr9rf)r&rzr�r%rg�Axes�set_axis_offrGr*rqrrrsrtrur�rro�bool)�nr�r.rvr�rEs      r2�test_image_preserve_size2rs���	�A�
�;�;�q�%� �D�

�*�*�a��V�U�
3�C�	���#�+�	,�B��O�O���L�L����I�I�d�)�G�F�I�K�
�:�:�<�D��K�K��!�K���I�I�a�L�

�*�*�T�
�C��9�9�	�!�!�!��r�z�z�#�a��A�g�,��5��{�{�1�d�+�D�b�D�1�3r4zmask_image_over_under.pngr�c
���dtjd<d}tjdd|�x}}tj||�\}}tj
|dz|dzzdz�dtjzz}tj
|dz
dzdz|dz
d	zdzzdz�dtjzd	zdzz}d
||z
z}tjjjddd
��}tjj|dkD|�}	tjdd�\}
\}}|j|	d|tjddd��dgd���}
|j!d�|
j#|
dd|d
��|j|	d|tj$gd�dd��dgd���}
|j!d�|
j#|
dd d|d
�!�y)"NFzpcolormesh.snapg�������?r�r�r8r7r�r�rzrKrLrM��over�under�bad�333333�?r#g�r�)r�r��cliprb)r�rr�r)r"rEr3rer�zGreen=low, Red=high, Blue=bad�both�
horizontal)�extend�orientationrvr�r )rfr�g������ɿrrvr�r7r�)�ncolorsrzWith BoundaryNorm�proportional)r�spacingrrvr�)r%r
r&r'r�r�r��cmrD�
with_extremes�ma�masked_wherer)r*rr�r+r��BoundaryNorm)r�rjrkr-r�r�r�r��palette�Zmr.r/r0r�s              r2�test_mask_image_over_underr(s���',�C�L�L�"�#��E��I�I�d�C��'�'�A��
�;�;�q�!��D�A�q�	���!�Q�$��A��+���"�	#�q�2�5�5�y�	1�B�
�&�&�Q��U�c�M�A�%�!�a�%�3���(:�:�;�a�?�
@��r�u�u�9�s�?�S� �"�B�
�B��G��A��f�f�k�k�'�'�S���'�E�G�	���	�	�A��G�Q�	'�B��l�l�1�a�(�O�C��#�s�	���B�j� ��)�)�t�#�E�J�"�>�
�
;�B��M�M�1�2��L�L��F�����$�

���B�i� ��,�,�-M�58�u�F�"�>�	
�
;�B�
�M�M�%�&��L�L��F�N�)�c�"��>r4�
mask_imagec��tjdd�\}\}}tjd�}tj|dd�dd�f<|j|d��tjdt��}d|dd�dd�f<tjjtjdtj��|�}|j|d��y)Nr7r8r:r r!r;T)r%r)r&r@�nanr*r?rr�masked_arrayr�)r.r/r0r�s    r2�test_mask_imager#Js����l�l�1�a�(�O�C��#�s�
�����A��&�&�A�a��c�1�Q�3�h�K��J�J�q�	�J�*�
����t�$�A��A�a��c�1�Q�3�h�K�
�����2�7�7�6����;�Q�?�A��J�J�q�	�J�*r4c���tjdtj�}tj�\}}|j|�|jj�y)Nr])r&�fullr!r%r)r*r��	draw_idle)r�r.rvs   r2�test_mask_image_allr'\s@��
�7�7�6�2�6�6�"�D��l�l�n�G�C���I�I�d�O��J�J���r4zimshow_endianess.pngc�t�tjd�}tj||�\}}tj|dz
|dz
�}t	j
dd�\}\}}t
ddd��}|j|jd	�fi|��|j|jd
�fi|��y)Nrzrr7r8rbr r�)rer"rEz<f8z>f8)	r&r'r��hypotr%r)�dictr*r�)rjr-r�r�r.r/r0�kwargss        r2�test_imshow_endianessr,ds���
�	�	�"�
�A�
�;�;�q�!��D�A�q�
����Q���A���A��l�l�1�a�(�O�C��#�s�
��	�	�
J�F��C�J�J�q�x�x���)�&�)��C�J�J�q�x�x���)�&�)r4�imshow_masked_interpolation�x86_64r�)r�r5rc���tjdjddd��}d}tjd||zdz
�	�}tj||zt�
�j||�}d|d<d
|d<t
j|d<tj|�jd�}d|d<t
jj||�}tjdd�\}}t!t"j$�}|j'd�t)||j+��D]<\}}	|	j-|�|	j/||||��|	j1d��>y)Nr�rKrMr�r
rrr7�r�r�r;rfr:gj�@)r@r)r@r@rT)rr@rrr)r3rEr"�off)re�	colormapsrrr�r&r'r�r(�inf�
zeros_liker�rr"r%r)�sorted�mimage�	_interpd_�remove�zip�ravelr+r*�axis)
rE�Nrr��maskr.�ax_grid�interps�interprvs
          r2� test_imshow_masked_interpolationrArs:��
�=�=��#�1�1�s�#�3�1�O�D�
�A����a�a��c�!�e�,�A�
�9�9�Q�q�S��&�.�.�q�!�4�D��D��J��D��K��6�6�D��L�
�=�=���%�%�f�-�D��D��K�
�5�5���d�D�)�D��<�<��1�%�L�C���V�%�%�&�G��N�N�=�!��'�7�=�=�?�3��
���
���V��
�	�	�$�Q�T��	�@�
�����r4c�V�tjddgdtjgg�y)Nr7r8r)r%r*r&r!�r4r2�test_imshow_no_warn_invalidrD�s���J�J��A���B�F�F��$�%r4r<zu2 u4 i2 i4 i8 f4 f8c�D�tjd|��jd�}|jdk7r|dz}|dk}|dkD}|jdk(r|dz}t	j
�\}}|j
|�j�}||dk(j�sJ�|jdk(r4||d	k(j�sJ�|jjdk(sJ�y||dk(j�sJ�|jtjk(sJ�y)
Nr�r;)rzrzr�urzrrT�fr7)r&r'r(�kindr%r)r*�	get_array�allr<rB)r<r�too_low�too_high�_rv�outs       r2�$test_imshow_clips_rgb_to_valid_rangerO�s	��
�)�)�C�u�
%�
-�
-�k�
:�C��z�z�S���r�	���A�g�G��S�y�H��z�z�S���C�i���L�L�N�E�A�r�
�)�)�C�.�
"�
"�
$�C���L�A��"�"�$�$�$��z�z�S���H�
��"�'�'�)�)�)��y�y�~�~��$�$�$��H�
��$�)�)�+�+�+��y�y�B�H�H�$�$�$r4zimshow_flatfield.pngc��tj�\}}|jtjd�d��}|jdd�y)Nr:r r!r�r�)r%r)r*r&r@�set_clim�r.rvr�s   r2�test_imshow_flatfieldrS�s9���l�l�n�G�C��	���2�7�7�6�?�)��	<�B��K�K��C�r4zimshow_bignumbers.pngc���dtd<tj�\}}tjgd�gd�gtj
��}|j
|�}|jdd�y)Nr �image.interpolation)r7r8g��mB)rr7r9r;rr)r
r%r)r&rW�uint64r*rQ�r.rvrE�pcs    r2�test_imshow_bignumbersrY�sR��&/�H�
"�#��l�l�n�G�C��
�(�(�L�)�,�B�I�I�
>�C�	���3��B��K�K��1�r4zimshow_bignumbers_real.pngc��dtd<tj�\}}tjgd�gd�g�}|j|�}|j
dd�y)Nr rU)r�r�g��M��D)r�r�r�rr)r
r%r)r&rWr*rQrWs    r2�test_imshow_bignumbers_realr[�sN��'0�H�
"�#��l�l�n�G�C��
�(�(�O�\�2�
3�C�	���3��B��K�K��1�r4�	make_normc�,�tjd�S�Nr7)r�
SymLogNormrCr4r2�<lambda>r`�s��V�
�
�q�
!�r4c�,�tjd�Sr^)r�	PowerNormrCr4r2r`r`�s��V�
�
�a�
 �r4c���tj�\}}tjtd��5|jgg|���}ddd�j
gd��|jj�tjt�5|j|jj��ddd�y#1swY��xYw#1swYyxYw)Nz.Attempting to set identical low and high xlimsr��r3)���rrer)
r%r)r&�warns�UserWarningr*�
set_extentr�r�r'�RuntimeError�
make_image�get_renderer)r\r.rvr�s    r2�test_empty_imshowrl�s����l�l�n�G�C��	���k�L�
N�/�
�Y�Y��t�)�+�Y�
.��/��M�M�.�!��J�J�O�O��	���|�	$�1�
�
�
�c�j�j�-�-�/�0�1�1�
/�/��1�1�s�C�*C�C�C#c���tj�\}}|jtjdtj
���|jj�y)Nr`r;)r%r)r*r&r?�float16r�r��r.rvs  r2�test_imshow_float16rp�s:���l�l�n�G�C���I�I�b�h�h�v�R�Z�Z�0�1��J�J�O�O�r4c��tj�\}}|jtjdtj
���tjtj
tjd�r
t�ntjt�5|jj�ddd�y#1swYyxYw)Nr`r;�equiv)r%r)r*r&r?�
longdouble�can_cast�float64rr&rfrgr�r�ros  r2�test_imshow_float128rv�sy���l�l�n�G�C���I�I�b�h�h�v�R�]�]�3�4����R�]�]�B�J�J��H�)�+��|�|�K�(��	�
�
�������s�"C�Cc��tj�\}}|jtjddgddggt
���y)NTFr;)r%r)r*r&rWrros  r2�test_imshow_boolrx�s5���l�l�n�G�C���I�I�b�h�h��u�
��t�}�5�T�B�Cr4c���tj�\}}|jtjdtj
��|jj�y)Nr)r%r)r*r&r%r!r�r�ros  r2�test_full_invalidrz�s:���l�l�n�G�C���I�I�b�g�g�h����'�(��J�J�O�O�r4zfmt,counted)r�s colorimage)rIs<imagezcomposite_image,count)Tr7)Fr8c�(�tjtjddd�tjddd��\}}tj|dz�}t	j
�\}}|j
dd�|j|gd���|j|ddd	�gd
���|tjd<tj�}	|j|	|��|	j�j|�|k(sJ�y)
Nrerr7r8rr�rr7rr7r�rf)r8rrr7zimage.composite_imager�)r&r�r'rir%r)r�r*r
rqrrrsr��count)
r��counted�composite_imager}r-r�r�r.rvr�s
          r2�test_compositer��s����;�;�r�y�y��Q��*�B�I�I�b�!�Q�,?�@�D�A�q�
���q�A�v��A��l�l�n�G�C���K�K��1���I�I�a��I�%��I�I�a��"��g�l�I�+�,;�C�L�L�(�)�
�*�*�,�C��K�K��C�K� ��<�<�>����(�E�1�1�1r4c���tj�\}}|jdggd��|j�|j	�|j�|j
�cxk(rdk(sJ�J�y)Nrr|r�ra)r%r)r*�relim�	autoscale�get_xlim�get_ylimros  r2�
test_relimr�s\���l�l�n�G�C���I�I��s�e�L�I�)��H�H�J��L�L�N�
�;�;�=�B�K�K�M�3�V�3�3�3�3�3r4c�r�tj�\}}|j�|jddgddggdddd��}|j	dd��|j
j
�tj|j
j��d	dd
�fdk(j�sJ�y)Nrr4rBrDF)r�r�rEr�rarl.r)r%r)rr*rpr�r�r&rW�buffer_rgbarJrRs   r2�test_unclippedr�s����l�l�n�G�C���O�O��	���Q��F�Q��F�#�F�;M���
�
/�B��F�F��V�F�$��J�J�O�O��
�H�H�S�Z�Z�+�+�-�.�s�B�Q�B�w�7�1�<�A�A�C�C�Cr4c�6�tjd�\}}|D]}|j��|djddgddggdd��}|j	d�|j|dj�tj�}|j|d�	�h|j��d
hk(sJ�|djd��tj�}|j|d�	�|j�|j�k7sJ�y)
Nr8r7rrr4r|)r�r��rgbar�rT)rfr)rn)r%r)rr*r�set_clip_box�bboxrqrrrsr�rp)r.r�rvr��
buf_before�	buf_afters      r2�test_respects_bboxr�"s����|�|�A��H�C�����
�����	�Q�����A���A��'��|��	L�B����T���O�O�C��F�K�K� �����J��K�K�
�6�K�*�#�Z�
 �
 �
"�#��v�-�-�-���F�J�J�G�J���
�
��I��K�K�	�&�K�)���� �I�$6�$6�$8�8�8�8r4c��tj�\}}|jtjd��}tj
j
dgdg��}|j|�dk(sJ�tj
j
dgdg��}|j|�dk(sJ�tj}|j|�dk(sJ�y)	Nr�rT�r=rFz[0]z[nan])	r%r)r*r&r?rr"rr!)r.rvr�r�s    r2�test_image_cursor_formattingr�4s����l�l�n�G�C��	���2�8�8�F�#�	$�B�
�5�5���q�c����/�D�
� � ��&�$�.�.�.�
�5�5���q�c����0�D�
� � ��&�%�/�/�/�
�6�6�D�
� � ��&�'�1�1�1r4c���tjdd�}tj||�\}}tjd|dz
dzz|dz
z�}||j	�z}t
jd}|j�}|j|||d�	�|j�}|tj�|��}	||	d
<|j|	d��y)
zPer-pixel alpha channel test.rr7r�r�r8g[��(\�?r�r )r�rEr").rfr!N)r&r�r�r��maxrer2rdr*rr�)
r�r�rj�xx�yy�zzr�rErvr�s
          r2�test_image_array_alphar�Cs���	���A�q��A�
�[�[��A�
�F�B��	�����S��Q��'�2��=�9�	:�B������M�E��=�=��#�D�	�	�	�	�B��I�I�b��D�	�I�B�	�	�	�	�B��"�� � �"�2�&�'�D��D��M��I�I�d�)�I�,r4c��tjtd��5tjtjd�ddg��ddd�y#1swYyxYw)Nzalpha must be a float, two-dr�r]r7)r�)r&r'r(r%r*r&r?rCr4r2�!test_image_array_alpha_validationr�VsA��	���y�(F�	G�3��
�
�2�8�8�F�#�A�q�6�2�3�3�3�s�-A�Ac��ttjd�}|jd��t	j
dd��}|j
gd��}tjgd�gt�	�}|j|d
|dd��}|jd
�|jj�|j|jj�dd}|j!|j#|dggdzzj$j'���dzj)t*�}tj,||k(�sJ�y)N�autumn_r�	lightgrey)�color)gffffff�?rXrr^r~)rfrfrfrrrr�+�O�_�Br7rfrfrfrrr�"r;r4r)r�rEr�r�r1r7rzrT)rrer2�	set_underr%rgrGr&rWr�r*r;r�r�rjr�rEr3�Tr:r�r�rJ)rEr.rvr�r��
from_image�direct_computations       r2�test_exact_vminr�[s����
�
�j�)�*�D��N�N��N�%��*�*�Z�S�
1�C�	���l�	#�B�
�8�8�	M�N���D�

���4��T����	D�B��G�G�E�N��J�J�O�O�����s�z�z�2�2�3�A�6�q�9�J�	�������1�#����,�/�/�5�5�7�8�9�C�?��f�S�k��
�6�6�*� 2�2�3�3�3r4c�@��eZdZd�Zd�Z�fd�Zd�Zed��Z�xZ	S)�
QuantityNDc�\�tj|�j|�}||_|Sr�)r&ro�view�units)�cls�input_arrayr��objs    r2�__new__zQuantityND.__new__}s'���j�j��%�*�*�3�/����	��
r4c�(�t|dd�|_y�Nr�)�getattrr�)�selfr�s  r2�__array_finalize__zQuantityND.__array_finalize__�s���S�'�4�0��
r4c���t|dd�}tt|�|�}t	|t�s|�t||�}|Sr�)r��superr��__getitem__�
isinstance)r��itemr��ret�	__class__s    �r2r�zQuantityND.__getitem__�sB�����g�t�,���J��1�$�7���c�:�&�%�*;��S�%�(�C��
r4c��t||�}d|vrtSt|�dk(r0|d}t|dd�}|tj|�fi|��}�nXt|�dk(�rC|d}|d}	t|dd�}
t|	dd�}|
�|n|
}
|�|
n|}|tj
tjfvr|
|k7rt�|
}n�|tjk(r|
�d|��}n�|tjk(r	|
�d|�d	�}ng|tjtjtjtjtjtjfvrd}ntS||j!tj"�|	j!tj"�fi|��}ntS|�tj$|�}|St'||�}|S)
NrNr7rr��
dimensionlessr8�*z/(�))r��NotImplementedr�r&ro�add�subtractr��multiply�divide�greater�
greater_equal�equal�	not_equal�less�
less_equalr��ndarrayrWr�)r��ufunc�method�inputsr+�func�i0�unit�out_arr�i1�u0�u1s            r2�__array_ufunc__zQuantityND.__array_ufunc__�s����u�f�%���F�?�!�!��v�;�!�����B��2�w��8�D��2�:�:�b�>�4�V�4�G�
��[�A�
����B����B���W�o�6�B���W�o�6�B��z��r�B��z��r�B��������-�-���8�$�$����"�+�+�%���Q�r�d�|���"�)�)�#���R��t�1�~���2�:�:�r�'7�'7��8�8�R�\�\��7�7�B�M�M�3�3���%�%��2�7�7�2�:�:�.�����
�
�0C�N�v�N�G�!�!��<��h�h�w�'�G���!��$�/�G��r4c�@�|jtj�Sr�)r�r&r�)r�s r2r�zQuantityND.v�s���y�y����$�$r4)
�__name__�
__module__�__qualname__r�r�r�r��propertyr��
__classcell__)r�s@r2r�r�|s,����
1��%�N�%��%r4r�c��tddgd�}|dd\}}tj|jtjddg�k(�sJ�|j
dk(sJ�tj||zjtjdg�k(�sJ�||zj
dk(sJ�||zj
dk(sJ�t
jt�5|tdd�zddd�y#1swYyxYw)Nr7r8�mrzm*mzm/(m)�s)	r�r&rJr�ror�r&r'r�)�q�q0�q1s   r2�test_quantityndr��s����A�q�6�3��A�
�q�T�F�B��
�6�6�!�#�#����Q��F�+�+�,�,�,��7�7�c�>��>�
�6�6�2��7�+�+����Q�C��0�1�1�1���G�?�?�e�#�#�#���G�?�?�g�%�%�%�	���z�	"� �
�Z��3�
�� � � �s�C6�6C?c���ttjd�d�}tj�\}}|j|�|jj�y)Nr]r�)r�r&r@r%r)r*r�r�)rr.rvs   r2�test_imshow_quantityndr��s>��
�R�W�W�V�_�c�
*�C��l�l�n�G�C���I�I�c�N��J�J�O�O�r4c��tjddtj��}d|dd�dd�f<tjj	|d��}d	|j
dd�dd�f<tjd
jd��}|j�}|j|tjd
d��dd|��}|jtjdd���|j|tjd
d��dd|��}|jtjdd���|jdd��|j�}|j|tjdd��dd|��|j|tjdd��dd|��|jdd��y)Nr:r7r;rfrr8Fr�Tr��w�rr�r0rr )r3r�r"rEr�)rrzrrz�rrzrl)r&r%rurrWr=rer2rr)r*rr6r�r�rp)r�r�r��masked_datarErvr�s       r2�test_norm_changer��s����7�7�6�1�B�J�J�/�D��D��1��a��L��%�%�+�+�d��+�/�K�!%�K���Q�q�S�!�A�#�X���=�=��#�1�1��1�<�D�	�	�	�	�B�	���4�f�n�n�#�A�>�&�i�d�
�
L�B��K�K�� � �b�q�1�2�	���;�V�^�^��1�%E�(�	��
�
N�B��K�K�� � �b�q�1�2��F�F��g�F�&�	�	�	�	�B��I�I�d��)�)�r��:�!����G��I�I�k�� 0� 0�b�q� A�#�9�4��I��F�F��g�F�&r4rjc�.�tjd|tj��}d|dd�dd�f<|j�}|j	|tjd|j���dd	�
�tjd|tj��}d|dd�dd�f<|j�}tjd	jd�
�}|j	|tjd|j���d|�
�y)Nr:r;g@��x�Drr8r7r0r r�)r3r"rEi�r�r�)r&r%rur)r*rr6r�rer2rr�)r�r�rjr�rvrEs      r2�test_huge_range_logr��s����7�7�6�1�B�J�J�/�D��D��1��a��L�	�	�	�	�B��I�I�d����Q�T�X�X�Z�@�%�I��7��7�7�6�1�B�J�J�/�D��D��1��a��L�	�	�	�	�B��=�=��#�1�1��1�<�D��I�I�d��)�)�q�t�x�x�z�B�%�D��2r4c
�R�|jdd�}|jdd�}ddgddggddgddggddgddggf}gd�}tt||��D�]O\}\}}||j|�||j	|�||j|�||j|dddddd�	�||j
d
d�||jdd
�||jj�||jjd�||jjd
�||jjtjdgd�d���||j jtjdgd�d�����Ry)Nr7rr)r@r?�mixedr r�r��Greys)r"r�rerEr�r�r�r�g�������?rrA)r7r8rrzT)�nbins�steps�integer)r)�	enumerater9r+�spyr*r�r��xaxis�tick_top�title�set_y�set_ticks_position�set_major_locator�mticker�MaxNLocator�yaxis)	r�r��ax_test�ax_ref�	plot_data�plot_titlesr�rlr�s	         r2�test_spy_boxr�s�������1�%�G�
�
�
�a��
#�F��Q��!�Q���
�Q��!�Q���
�Q��!�Q����I�
-�K�"�3�y�+�#>�?�
�
��:�A�u���
���U�#���
���q���q�	���E�"��q�	����)�#*�7��!"��	�	,�	�q�	���4��%��q�	���3��%��q�	��� � �"��q�	�����d�#��q�	���*�*�6�2��q�	���)�)����a�}�d�K�	
�	�q�	���)�)����a�}�d�K�	
�
r4znonuniform_and_pcolor.pngc��tjd��jddd��}t|ddg�D]�\}}t	||��}|jt
jd�d	zt
jd�d	zt
jd
�jd��|j|���|d	jt
jd�d	zt
jd�d	zt
jd
�jd��|D]$}|j�|jd�
��&y)Nr`r=rT)�sharex�shareyr r#r!r8rAr9r�)rm)
r%rgr)r9rrwr&r'r(�	add_image�
pcolorfastrrp)r�rvr"r�s    r2�test_nonuniform_and_pcolorrs
��

�*�*�V�
$�
-�
-�a��T�
-�
J�C� ��y�*�&=�>����M�
�R�}�
=��
���B�I�I�a�L�A�%�r�y�y��|�q�'8��I�I�a�L�(�(��0�	2�
���R��	�
��F���
�	�	�!����2�9�9�Q�<�1�,�b�i�i��l�.B�.B�6�.J�L����
����
���G���r4zrgba_antialias.png)rr5c��tjdddddd��\}}d}tj||f�}d|ddd�dd�f<tj|�|zdz
}tj|�|zdz
}tj
||�\}}tj|dz|dzz�}d	}	d
}
tjtjdz|	|z|
|dzzdzzz�}d|dt|dz��dd�f|dt|dz��dd�fdk<d|dt|dz��dd�f|dt|dz��dd�fd
k<|dd�t|dz�d�f|dd�t|dz�d�f<tj|dd�dd�f<d|dd�dd�f<d|dd�dd�f<d|dd�dd�f<d|dd�dd�f<ttjj�}|jd�|jd�|j!�}|dj#|d|dd��|dj%|dzdz
|dzdzg�|dj'|dzdz|dzd	z
g�|dj#|d|dd��|dj#|dd |dd�!�|d"j#|dd#|dd�!�y)$Nr8)�@rFT)r_rr	�constrained_layout�rfr�rz�Krr7rYrrag��.A�F�Zg��.�r������yellow�cyanrr g333333�r)r"rEr�r��rr�)r"�interpolation_stagerEr�r�rr�)r%r)r&r@r'r��sqrtrir�r��NaNrr�RdBu_r�set_overr�r�r*r�r�)
r.r�r<�aarjrkr-r��R�f0r�rNrEs
             r2�test_rgba_antialiasr!.s����|�|�A�q�*�U�#(�T�C�H�C���A�	���!�Q���B��B�s��s�A�v�J�
�	�	�!��q��3��A�
�	�	�!��q��3��A�
�;�;�q�!��D�A�q�
����1��q�!�t���A�	�B�
�A�
���r�u�u�q�y�B��F�Q��A��X��\�1�2�3�A�.0�A�i�s�1�Q�3�x�i��l�O�A�i�s�1�Q�3�x�i��l�O�c�)�*�-.�A�i�s�1�Q�3�x�i��l�O�A�i�s�1�Q�3�x�i��l�O�c�)�*���C��!��H�I���B�q�#�a��c�(�)�|���v�v�B�r�"�u�b��e�|���B�r�"�u�b��e�|���B�r�"�u�b��e�|���B�r�"�u�c�#�g�~���B�r�"�u�c�#�g�~������
�
��D��M�M�(���N�N�6��

�+�+�-�C���F�M�M�"�I�D�t�#�M�N���F�O�O�Q�q�S��V�Q�q�S��V�$�%���F�O�O�Q�q�S��V�Q�q�S��V�$�%���F�M�M�"�I�D�t�#�M�N���F�M�M�"�M�v��$�S��2�
��F�M�M�"�M�v��$�S��2r4z<ignore:Data with more than .* cannot be accurately displayedrer�rbzdim, size, msg)�rowi�z2\*\*23 columns)�coliz2\*\*24 rows)r[c	�$�|j�}|j�}tjd|dzf�}d|dd�|jdzd�f<|dk(r|j}|j|ddddd|��}	t
jtd	|�d
���5|jj�ddd�tjd�}d|dd�df<|dk(r|j}|j|ddddd|��}	y#1swY�QxYw)
Nr7r8r#rr4r|r>)r�r�r�r�r"rezData with more than z  cannot be accurately displayed.r�rc)r)r&r?�sizer�r*r&rfrgr�r�)
r�r��dimr%�msgrerrrWr�s
          r2�test_large_imager(gs�����!�G�
�
�
�
�F��H�H�a����]�#�E�!"�E�!�U�Z�Z�1�_�
�
��
�e�|�����	����A�A�%�l�&,�%�
�
'�B�

���k�2�3�%�8.�.�
/��	�������

�H�H�V��E��E�!�Q�$�K�
�e�|�����	���u�1�1�V�*�%+�$�
�
&�B���s�D�Dc���tjjdd�dzdz}|jdd�}|dj	|d��|dj	|dd	�
�|dj	|d��|d
j	|ddd��|dj	|ddd��|jdd�}|dj	|tj���|dj	|tjd	����|dj	|tjd����|d
j	|tjddd����|dj	|dd��t|djdj�t
jk(sJ�tjt�5|dj	|d��ddd�y#1swYyxYw)Nrzg�������?rXr7rrr�rdrv)r3r�r8�symlogrrYr�)r3r�r�r9�logit)r�)�	linthresh)r,r�r�)rYr�)r3�clim�foobar)r&r�r�r)r*rr6r_�type�imagesr3r&r'r�)r�r�rf�axts�axrss     r2�test_str_normsr3�s���
�	�	���r�2���#�b�(�A����Q��"�D���G�N�N�1�5�N�!���G�N�N�1�5�r�N�*���G�N�N�1�8�N�$���G�N�N�1�8�"�2�N�6���G�N�N�1�7��"�N�5����A�q�!�D���G�N�N�1�6�>�>�+�N�,���G�N�N�1�6�>�>�r�2�N�3���G�N�N�1�6�,�,�q�9�N�:���G�N�N�1�6�,�,�q�r��K�N�L���G�N�N�1�7��N�2���Q����q�!�&�&�'�6�>�>�9�9�9�	���z�	"�)��Q����q�x��(�)�)�)�s�G.�.G7)��
contextlibrrrqr��pathlibrr�r��urllib.requestr��numpyr&�
numpy.testingr�PILr�
matplotlibrerr	r6r
rr%rr
�matplotlib.imagerrrrr�matplotlib.testing.decoratorsrr�matplotlib.transformsrrr�matplotlib.ticker�tickerr�r&r3rFrX�mark�parametrizernrxr�r�r�r�r�r�r�r�r�r�r�rr!rrrr r"r)r-r0r;rOrSr^rgrsr}r�r�r�r�r�r�r�r�r'r(r�r�r�r�r�rrrr#r'r,�machinerArD�splitr<rOrSrYr[r�r6rlrprvrxrzr�r�r�r�r�r�r��contextr�r�r�r�r�r�r�rrr!�filterwarningsr(r3)r�s0r2�<module>rFs��� ��	�	���
���,���F�F�<�<�O�A�A�#�
��?�#�7�3��4��&�%�&�D�9�	.�:�	.��+�,�#�U�^��?�
+�?�
+� �����,�u�d�m�<��:�,�E�5�>�:�B�;�=�B�������'������(�.�)��.����(��)��"��	)��	)�$�$������� >�?�-�@�-�D������ B�C�A�D�A�*�2)�4��=�/�t�4�6�5�6�D+�N�������%�.�	�=�)���,���#�
�6�6�1�a�.�	�4� ��g�,��/�0�
�r�(��,�-���D��D��<�.��0��1���#�$�G�4��5���8�*�$�g�>��?�����(��)�����,�-�4�@�I�A�I��=�/�t����O��P��F�8�/�0�"�'�3��3���*�+��>��?��4���(�%�)�%��$�%�#�U�^��W�N�!�N�!�:�(�)�t�7�K��L��0G�*�3�4�"�'�3��3���!��'�0-�-�������	�	����2��	��	�	�"�
�y�r�y�y��~�'=�'=�f�'E�	G�	�	����2��	��	�	�"�
�y�r�y�y��}�'<�'<�V�'D�	F���1��1��B��$�%�4�8��9���>�"��$�?��@��6	%�3�,�.�/�T�s�K�>�L�>�B�<�.�d�3�+�4�+�"��)�*��=�
*�>�
*��0�1�+�8�+�+�-��9�a�t�"�'�3��3��B&�������#9�#?�#?�#A�
B�a�h�b�h�h�q�k�
B�D�%�D�%�&�)�*��G�L��M���*�+��W�M��N���/�0�"�'�3��3������������^�^�!� �"�#�	1�
#�	1���D�
�������0�2D�E�G������0�9�j�2I�J�
2�K�G�
2� 4�	D�9�$2���-��-�$3�
�����7��4��4�@9%����9%�x	 �����(�'�)�'�6������r�1�g�&����(�2�)�'�2�$��
��
�@�.�/�w�?��@���'�(��"�$�22�$�22�n�����=�>�������G�W�#5�6�������9�6�8�9��	�*�&�+�9�7�>�&�>���(�)�)�)��gCs�=Y4

Youez - 2016 - github.com/yon3zu
LinuXploit