403Webshell
Server IP : 217.160.0.135  /  Your IP : 216.73.217.85
Web Server : Apache
System : Linux www 6.18.52-i1-ampere #1203 SMP Mon Sep 14 18:29:59 CEST 2026 aarch64
User : sws1074145052 ( 1074145052)
PHP Version : 8.3.32
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : OFF  |  Sudo : OFF  |  Pkexec : OFF
Directory :  /lib/python3/dist-packages/scipy/ndimage/tests/__pycache__/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /lib/python3/dist-packages/scipy/ndimage/tests/__pycache__/test_measurements.cpython-311.pyc
�

d�c����0�ddlZddlZddlmZmZmZmZm	Z	m
Z
ddlmZ
ddlmZddlmZGd�d��ZGd�d	��Zd
�Zd�Zd�Zd
�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Z d�Z!d�Z"d�Z#d�Z$d�Z%d�Z&d�Z'd�Z(d�Z)d �Z*d!�Z+d"�Z,d#�Z-d$�Z.d%�Z/d&�Z0d'�Z1d(�Z2d)�Z3d*�Z4d+�Z5d,�Z6d-�Z7d.�Z8d/�Z9d0�Z:d1�Z;d2�Z<d3�Z=d4�Z>d5�Z?d6�Z@d7�ZAd8�ZBd9�ZCd:�ZDd;�ZEd<�ZFd=�ZGd>�ZHd?�ZId@�ZJdA�ZKdB�ZLdC�ZMdD�ZNdE�ZOdF�ZPdG�ZQdH�ZRdI�ZSdJ�ZTdK�ZUdL�ZVdM�ZWdN�ZXdO�ZYdP�ZZdQ�Z[dR�Z\dS�Z]dT�Z^dU�Z_dV�Z`dW�ZadX�ZbdY�ZcdZ�Zdd[�Zed\�Zfd]�Zgd^�Zhd_�Zid`�Zjda�Zkdb�Zldc�Zmdd�Znde�Zodf�Zpdg�Zqdh�Zrdi�Zsdj�Ztdk�Zudl�Zvdm�Zwdn�Zxdo�Zydp�Zzdq�Z{dr�Z|ds�Z}dt�Z~du�ZGdv�dw��Z�dS)x�N)�assert_�assert_array_almost_equal�assert_equal�assert_almost_equal�assert_array_equal�suppress_warnings)�raises�)�typesc�0�eZdZdZd�Zd�Zd�Zd�Zd�ZdS)�Test_measurements_statszDndimage._measurements._stats() is a utility used by other functions.c�V�gd�}gd�}ddg}dD]�}tj|���|��}tj|���|��}tj�|||���\}}t
|ddg��t
|dd	g����dS)
N�rr
���rrr
r
rr
�)��rr��labels�indexr��?� @��np�array�reshape�ndimage�
_measurements�_statsr��self�xrr�shp�counts�sumss       �G/usr/lib/python3/dist-packages/scipy/ndimage/tests/test_measurements.py�test_azTest_measurements_stats.test_as����L�L�������A���!�	1�	1�C������#�#�C�(�(�A��X�f�%�%�-�-�c�2�2�F�"�0�7�7��&��8�/�/�L�F�D��v��1�v�.�.�.��t�c�3�Z�0�0�0�0�
	1�	1�c�V�gd�}gd�}ddg}dD]�}tj|���|��}tj|���|��}tj�|||���\}}t
|ddg��t
|dd	g����dS)
Nr�rr�	r-rr-rrrrrrr"s       r(�test_bzTest_measurements_stats.test_bs���
�L�L�������A���!�	1�	1�C������#�#�C�(�(�A��X�f�%�%�-�-�c�2�2�F�"�0�7�7��&��8�/�/�L�F�D��v��1�v�.�.�.��t�c�3�Z�0�0�0�0�
	1�	1r*c�~�gd�}gd�}ddg}dD]�}tj|���|��}tj|���|��}tj�|||d���\}}}t
|ddg��t
|d	d
g��t
|dd
g����dS)Nrrrr
rT�rr�centeredrrr��?r�r#r$rrr%r&r'�centerss        r(�test_a_centeredz'Test_measurements_stats.test_a_centered,�����L�L�������A���!�	4�	4�C������#�#�C�(�(�A��X�f�%�%�-�-�c�2�2�F�$+�$9�$@�$@��&���%A�%>�%>�!�F�D�'��v��1�v�.�.�.��t�c�3�Z�0�0�0��w��c�
�3�3�3�3�	4�	4r*c�~�gd�}gd�}ddg}dD]�}tj|���|��}tj|���|��}tj�|||d���\}}}t
|ddg��t
|d	d
g��t
|dd
g����dS)Nrr,rr-rTr0rrrr2rr3s        r(�test_b_centeredz'Test_measurements_stats.test_b_centered9r6r*c�~�gd�}gd�}ddg}dD]�}tj|���|��}tj|���|��}tj�|||d���\}}}t
|ddg��t
|d	d
g��t
|dd
g����dS)Nr)�r:�"@r;r:r;rTr0rrrr2rr3s        r(�test_nonint_labelsz*Test_measurements_stats.test_nonint_labelsFs����L�L��%�%�%���c�
��!�	4�	4�C������#�#�C�(�(�A��X�f�%�%�-�-�c�2�2�F�$+�$9�$@�$@��&���%A�%>�%>�!�F�D�'��v��1�v�.�.�.��t�c�3�Z�0�0�0��w��c�
�3�3�3�3�	4�	4r*N)	�__name__�
__module__�__qualname__�__doc__r)r.r5r8r<�r*r(r
r
se������N�N�
1�
1�
1�1�1�1�4�4�4�4�4�4�4�4�4�4�4r*r
c��eZdZdZd�ZdS)�Test_measurements_selectzEndimage._measurements._select() is a utility used by other functions.c��gd�}gd�ddgfgd�ddgfgd�dd	gfg}|D�]&\}}tj�|||�
��}tt	|��dk��tj�|||d���}tt	|��dk��t|ddd
g��tj�|||d���}tt	|��dk��t|dddg��tj�|||dd���}tt	|��dk��t|dddg��t|dddg��t
|djjd��tj�|||dd���}tt	|��dk��t|ddd
g��t|dddg��t
|djjd����(dS)N)rr
rrrrr
r,r-)r:r:�@rEr:rErT)rr�find_maxr)rr�find_minr)rrrG�find_min_positions��i)rrrF�find_max_positions)	rr �_selectr�lenrr�dtype�kind)r#r$�casesrr�results      r(�
test_basicz#Test_measurements_select.test_basicWsk���L�L��
�\�\�A�q�6�"�
�\�\�A�q�6�"�
!�
!�
!�C��:�.�
��
#�	4�	4�M�F�E��*�2�2��&��3�/�/�F��C��K�K�1�$�%�%�%��*�2�2��&���3�>�>�F��C��K�K�1�$�%�%�%��v�a�y�1�a�&�1�1�1��*�2�2��&���3�>�>�F��C��K�K�1�$�%�%�%��v�a�y�1�a�&�1�1�1��*�2�2��&���#'�3�)�)�F�
�C��K�K�1�$�%�%�%��v�a�y�1�a�&�1�1�1��v�a�y�1�a�&�1�1�1������-�s�3�3�3��*�2�2��&���#'�3�)�)�F�
�C��K�K�1�$�%�%�%��v�a�y�1�a�&�1�1�1��v�a�y�1�a�&�1�1�1������-�s�3�3�3�3�3	4�	4r*N)r=r>r?r@rRrAr*r(rCrCTs)������O�O� 4� 4� 4� 4� 4r*rCc��tjg��}tj|��\}}t	|d��t|d��dS�Nr
�r�onesr�labelrr��data�out�ns   r(�test_label01r\zsH��
�7�2�;�;�D�
�]�4�
 �
 �F�C���c�1�%�%�%���A�����r*c��tjg��}tj|��\}}t	|d��t|d��dS)Nr�r�zerosrrWrrrXs   r(�test_label02r`�sH��
�8�B�<�<�D�
�]�4�
 �
 �F�C���c�1�%�%�%���A�����r*c��tjdg��}tj|��\}}t	|dg��t|d��dSrTrUrXs   r(�test_label03rb�sL��
�7�A�3�<�<�D�
�]�4�
 �
 �F�C���c�A�3�'�'�'���A�����r*c��tjdg��}tj|��\}}t	|dg��t|d��dS�Nr
rr^rXs   r(�test_label04re�sL��
�8�Q�C�=�=�D�
�]�4�
 �
 �F�C���c�A�3�'�'�'���A�����r*c��tjdg��}tj|��\}}t	|gd���t|d��dS)N�)r
r
r
r
r
r
rUrXs   r(�test_label05rh�sN��
�7�A�3�<�<�D�
�]�4�
 �
 �F�C���c�?�?�?�3�3�3���A�����r*c��tjgd���}tj|��\}}t	|gd���t|d��dS)N)r
rr
r
rr
�r
rrrrrIrI�rrrrWrrrXs   r(�test_label06rl�sX��
�8�&�&�&�'�'�D�
�]�4�
 �
 �F�C���c�#5�#5�#5�6�6�6���A�����r*c
���tjgd�gd�gd�gd�gd�gd�g��}tj|��\}}t	|gd�gd�gd�gd�gd�gd�g��t|d��dS)N�rrrrrrrrkrXs   r(�test_label07ro�����
�8�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�)�*�*�D��]�4�
 �
 �F�C���c�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$8�9�9�9���A�����r*c
���tjgd�gd�gd�gd�gd�gd�g��}tj|��\}}t	|gd�gd�gd�gd�gd�gd	�g��t|d
��dS�N�r
rrrrr�rrr
r
rr�rrr
r
r
r�r
r
rrrr�rrrr
r
r�rrrrrr�rrrrrr�rIrIrrrr�rrrrrrrrkrXs   r(�test_label08r|�rpr*c
��tjgd�gd�gd�gd�gd�gd�g��}tjdd��}tj||��\}}t|gd�gd�gd�gd	�gd	�gd
�g��t
|d��dS)Nrsrtrurvrwrrxry)rrrrrr)rrrrIrIrrI�rrr�generate_binary_structurerWrr�rY�structrZr[s    r(�test_label09r��s���
�8�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�)�*�*�D��
.�q�!�
4�
4�F�
�]�4��
(�
(�F�C���c�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$8�9�9�9���A�����r*c��tjgd�gd�gd�gd�g��}tjdd��}tj||��\}}t|gd�gd�gd�gd�g��t
|d��dS)Nrn)rr
r
rr
r)rr
r
r
r
rrr
r~r�s    r(�test_label10r��s���
�8�'�'�'�'�'�'�'�'�'�'�'�'�)�*�*�D��
.�q�!�
4�
4�F�
�]�4��
(�
(�F�C���c�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$6�$8�9�9�9���A�����r*c
��tD]t}tjgd�gd�gd�gd�gd�gd�g|��}tj|��\}}gd�gd�gd�gd�gd�gd	�g}t||��t
|d
���udSrr�rrrrrWrr��typerYrZr[�expecteds     r(�test_label11r��s��������x�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�-�
/3�4�4����t�$�$���Q�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�(��	"�#�x�0�0�0��Q�������r*c
��tD]s}tjgd�gd�gd�gd�gd�gd�g|��}tj||���}gd�gd�gd�gd	�gd	�gd
�g}t||��t
|d���tdS)Nrsrtrurvrw��outputrxryrzr{rr�)r�rYr[r�s    r(�test_label11_inplacer��s��������x�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�-�
/3�4�4��
�M�$�t�,�,�,��&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�(��	"�$��1�1�1��Q�������r*c	���tD]n}tjgd�gd�gd�gd�gd�g|��}tj|��\}}gd�gd�gd�gd�gd�g}t||��t
|d���odS)N)rrrrr
r
)rrrrrr
)rrr
rr
r
)rrr
r
r
r
rwr
r�r�s     r(�test_label12r�s����
�
���x�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�	-�/3�	4�4��
��t�$�$���Q�&�&�&�&�&�&�&�&�&�&�&�&�&�&�&�	(��
	"�#�x�0�0�0��Q������
�
r*c���tD]h}tjgd�gd�gd�gd�g|��}tj|��\}}gd�gd�gd�gd�g}t||��t
|d���idS)N)r
rr
r
r
rr
r
r
rr
)r
r
r
rr
r
r
rr
r
r
)r
rrrrrrrrrr
)r
r
r
r
r
r
r
r
r
r
r
r
r�r�s     r(�test_label13r�s��������x�:�:�:�:�:�:�:�:�:�:�:�:�<��	���
��t�$�$���Q�5�5�5�5�5�5�5�5�5�5�5�5�7��	"�#�x�0�0�0��Q�������r*c���tjdg��}tD]O}tjdg|���}t	j||���}t
|d��t|d���PdS)Nrg�rNr�r
)rrVrr_rrWrr�rY�tr�r[s    r(�test_label_output_typedr�-sw��
�7�A�3�<�<�D�
������1�#�Q�'�'�'���M�$�v�.�.�.��!�&�!�,�,�,��Q������	�r*c��tjdg��}tD]8}tj||���\}}t|d��|j|ksJ��9dS)Nrgr�r
)rrVrrrWrrNr�s    r(�test_label_output_dtyper�6sh��
�7�A�3�<�<�D�
�!�!���M�$�q�1�1�1�	���!�&�!�,�,�,��|�q� � � � � �!�!r*c���tjdg��}tD]A}tjdg|��}t	t
tftj||����BdS)Nrg�
r�)	rrVrr_�
assert_raises�RuntimeError�
ValueErrorrrW)rYr�r�s   r(�test_label_output_wrong_sizer�>si��
�7�A�3�<�<�D�
�:�:����2�$��"�"���|�Z�0��m�T�&�	:�	:�	:�	:�	:�:�:r*c
��tjtj�tj�t��dd����}tjtj�tj�t��dd����}tjtj�tj�t��dd����}|�d��}|�d��}|�d��}d}t|j	d��D]x}||dd�dd�f}t|j	d��D]L}||dd�dd�f}ttj||��d||dd�dd�f��|dz
}�M�ydS)	NrYzlabel_inputs.txtzlabel_strels.txtzlabel_results.txt)����r�)r�rIrIrr
)
r�loadtxt�os�path�join�dirname�__file__r�range�shaperrrW)rY�strels�results�rrJ�d�j�ss        r(�test_label_structuring_elementsr�Fs���
�:�b�g�l�l�2�7�?�?��$�$��-�/�/�0�0�D�
�Z�����
�����!�!�6�+=�?�?�@�@�F��j�����
�����!�!�6�+>�@�@�A�A�G��<�<�
�#�#�D�
�^�^�J�
'�
'�F��o�o�j�)�)�G�	�A�
�4�:�a�=�
!�
!������A�A�A�q�q�q��M���v�|�A��'�'�	�	�A��q�!�!�!�Q�Q�Q�w��A����q�!�,�,�Q�/���A�A�A�q�q�q��1A�B�B�B�
��F�A�A�	��r*c��dd�}tjtj��tjd��krSd}tj�tj|�����|��}||��dSdS)N�ffffff�?rc��||k}t|j��}tj|tj||����\}}tj|��}dS)N)rMr�rrWr�find_objects)�img�thresh�size�mask�rank�la�co�_s        r(�SEztest_ticket_742.<locals>.SEZsU���V�|���4�:������t�&�@��t�L�L�N�N���B�� ��$�$���r*rJ)rI��r�)r�r)rrN�intp�random�rand�prodr)r�r��as   r(�test_ticket_742r�Ys~��%�%�%�%�
�x�����B�H�S�M�M�)�)����I�N�N�2�7�5�>�>�*�*�2�2�5�9�9��
��1������	*�)r*c���tjd��}d|dd�dd�f<d|dd�dd�f<d|d<d|d<d|d<tj|tjd	����ddksJ�dS)
z/Github issue #3025 - improper merging of labels)�<i@r
N�i)�$r�)�#i)r�i)rIrI)rr_rrWrV)r�s r(�test_gh_issue_3025r�hs���
�����A��A�a�a�a��#��g�J��A�a�a�a����g�J��A�g�J��A�g�J��A�g�J��=��B�G�F�O�O�,�,�Q�/�1�4�4�4�4�4�4r*c��tj�dd��}tj|dk��\}}t|jtjtjfv��tj	|��dS)Nr�r2)
rr�r�rrWrrN�int32�int64r�)�
test_arrayrW�no_featuress   r(�test_label_default_dtyper�sse�������B�'�'�J� ��z�C�'7�8�8��E�;��E�K�B�H�b�h�/�/�0�0�0��������r*c��tjgt���}tj|��}t|dgk��dS)Nr�rA)rrV�intrr�r�rYrZs  r(�test_find_objects01r�{s@��
�7�2�S�!�!�!�D�
�
�t�
$�
$�C��C�B�4�K�����r*c��tjgt���}tj|��}t|gk��dS)Nr�)rr_r�rr�rr�s  r(�test_find_objects02r��s>��
�8�B�c�"�"�"�D�
�
�t�
$�
$�C��C�2�I�����r*c��tjdgt���}tj|��}t|t
ddd��fg��dS)Nr
r�r�rrVr�rr�r�slicer�s  r(�test_find_objects03r���P��
�7�A�3�c�"�"�"�D�
�
�t�
$�
$�C����a��D�)�)�+�,�-�-�-�-�-r*c��tjdgt���}tj|��}t|g��dS)Nr
r�)rr_r�rr�rr�s  r(�test_find_objects04r��s>��
�8�Q�C�s�#�#�#�D�
�
�t�
$�
$�C���b�����r*c��tjdgt���}tj|��}t|t
ddd��fg��dS)Nrgr�rr�r�s  r(�test_find_objects05r��r�r*c
���tjgd���}tj|��}t	|tddd��ftddd��ftddd��fg��dS)Nrjrr
rrrgr�rrrr�rr�r�s  r(�test_find_objects06r��s���
�8�&�&�&�'�'�D�
�
�t�
$�
$�C����a��D�)�)�+��a��D�)�)�+��a��D�)�)�+�-�.�.�.�.�.r*c	��tjgd�gd�gd�gd�gd�gd�g��}tj|��}t	|g��dS)Nrn)rrrr�rr�s  r(�test_find_objects07r��sv��
�8�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�)�*�*�D��
�t�
$�
$�C���b�����r*c��tjgd�gd�gd�gd�gd�gd�g��}tj|��}t	|tddd��tddd��ftddd��td	d
d��ftdd
d��tdd	d��ftd
dd��tdd
d��fg��dS)Nrsrxryrzr{rr
rIrrgrr�r�s  r(�test_find_objects08r��s��
�8�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�)�*�*�D��
�t�
$�
$�C����a��D�)�)�5��A�t�+<�+<�=��a��D�)�)�5��A�t�+<�+<�=��a��D�)�)�5��A�t�+<�+<�=��a��D�)�)�5��A�t�+<�+<�=�?�@�@�@�@�@r*c�b�tjgd�gd�gd�gd�gd�gd�g��}tj|��}t	|tddd��tddd��ftddd��td	d
d��fdtd
dd��tdd
d��fg��dS)Nrsrxryrnr{rr
rIrrgrr�r�s  r(�test_find_objects09r��s���
�8�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�)�*�*�D��
�t�
$�
$�C����a��D�)�)�5��A�t�+<�+<�=��a��D�)�)�5��A�t�+<�+<�=���a��D�)�)�5��A�t�+<�+<�=�?�@�@�@�@�@r*c	�t�tjgd�gd�gd�gd�gd�gd�g��}tj|d���}gd�}t	t|�����|��i}|D]}tj||k��||<�tj|d���}t	||��d	S)
z Test dictionary keys and entriesrsrxryrnr{r)�ignore_value)r
rrN)rrr�
value_indicesr�list�keys�where)rY�vi�	true_keys�truevi�ks     r(�test_value_indices01r��s���
�8�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�)�*�*�D�
�	�t�!�	4�	4�	4�B��	�	�I���b�g�g�i�i���)�,�,�,�
�F�
�(�(���H�T�Q�Y�'�'��q�	�	�	�	�t�!�	4�	4�	4�B���V�����r*c���tjdtj���}d}tt|���5tj|��ddd��dS#1swxYwYdS)zTest input checking)rgrr�z(Parameter 'arr' must be an integer array)�matchN)rr_�float32r�r�rr�)rY�msgs  r(�test_value_indices02r��s���
�8�F�"�*�-�-�-�D�
4�C�	�z��	-�	-�	-�$�$���d�#�#�#�$�$�$�$�$�$�$�$�$�$�$�$����$�$�$�$�$�$s�A�A�"Ac���dD]�}tjddgzddgzzddgzztj����|��}tj|��}tj|��}tt|�	����t|����|D]0}tj
||k��}t|||���1��dS)z2Test different input array shapes, from 1-D to 4-D))r�)�r)rIrIr)rIrIrr�r
rrIr�N)rrr�r�uniquerr�rr�r�r�)r�r��trueKeysr�r��trueNdxs      r(�test_value_indices03r�s���:�)�)���H�b�!��f�R���V�m�B��s�F�*�2�8�<�<�<�D�D�U�K�K���9�Q�<�<��
�
"�1�
%�
%���T�"�'�'�)�)�_�_�d�8�n�n�5�5�5��	)�	)�A��h�q�A�v�&�&�G���A���(�(�(�(�	)�)�)r*c��tD];}tjg|��}tj|��}t|d���<dS)Nr:)rrrr�sumr�r��inputr�s   r(�
test_sum01r�sN���"�"�����T�"�"����U�#�#���V�S�!�!�!�!�"�"r*c��tD]=}tjddg|��}tj|��}t|d���>dS)Nrrr:)rrr_rrrrs   r(�
test_sum02r�sR���"�"����!�Q���&�&����U�#�#���V�S�!�!�!�!�"�"r*c��tD];}tjg|��}tj|��}t|d���<dS)Nr)rrrVrrrrs   r(�
test_sum03r	�sN���)�)�����D�!�!����U�#�#���F�C�(�(�(�(�)�)r*c��tD]=}tjddg|��}tj|��}t|d���>dS)Nr
r�@�rrrrrrrs   r(�
test_sum04r
sR���)�)����!�Q���&�&����U�#�#���F�C�(�(�(�(�)�)r*c��tD]A}tjddgddgg|��}tj|��}t|d���BdS)Nr
rrIrg$@rrs   r(�
test_sum05rs[���*�*����1�a�&�1�a�&�)�4�0�0����U�#�#���F�D�)�)�)�)�*�*r*c���tjgt��}tD]=}tjg|��}t	j||���}t
|d���>dS)N�rr:�rr�boolrrrr�rr�rr�s    r(�
test_sum06rsd��
�X�b�$�
�
�F��"�"�����T�"�"����U�6�2�2�2���V�S�!�!�!�!�"�"r*c���tjddgt��}tD]?}tjddg|��}tj||���}t|d���@dS)Nrrrr:)rrVrrr_rrrrs    r(�
test_sum07rsl��
�W�a��V�T�
"�
"�F��"�"����!�Q���&�&����U�6�2�2�2���V�S�!�!�!�!�"�"r*c���tjddgt��}tD]?}tjddg|��}t	j||���}t
|d���@dS)Nr
rrrrrrs    r(�
test_sum08r#sl��
�X�q�!�f�d�
#�
#�F��"�"����!�Q���&�&����U�6�2�2�2���V�S�!�!�!�!�"�"r*c���tjddgt��}tD]C}tjddgddgg|��}t	j||���}t
|d���DdS)Nr
rrrIrr�@)rrrrrrrrs    r(�
test_sum09r+su��
�X�q�!�f�d�
#�
#�F��)�)����1�a�&�1�a�&�)�4�0�0����U�6�2�2�2���F�C�(�(�(�(�)�)r*c���tjddgt��}tjddgddggt��}tj||���}t|d��dS�Nr
rrrIrr�@)rrrrrr�rrr�s   r(�
test_sum10r!3s_��
�X�q�!�f�d�
#�
#�F��H�q�!�f�q�!�f�%�t�,�,�E�
�[��v�
.�
.�
.�F����$�$�$�$�$r*c���tjddgtj��}tD]D}tjddgddgg|��}t	j||d���}t
|d���EdS)Nr
rrIrr�@)rr�int8rrrrrs    r(�
test_sum11r%:s���
�X�q�!�f�b�g�
&�
&�F��)�)����1�a�&�1�a�&�)�4�0�0����U�6�#$�&�&�&���F�C�(�(�(�(�	)�)r*c���tjddgddggtj��}tD]H}tjddgddgg|��}t	j||gd����}t
|gd����IdS�Nr
rrrI�r�rr)rr:g@)rrr$rrrrrs    r(�
test_sum12r*Cs���
�X��1�v��1�v�&���
0�
0�F��;�;����1�a�&�1�a�&�)�4�0�0����U�6����C�C�C��!�&�/�/�/�:�:�:�:�;�;r*c�V�tjddgddggtj��}tD]{}tjddgddgg|��}t	j||gd����}t	j||gd����}||k���sJ�t|gd����|dSr')	rrr$rrr�
sum_labels�allr)rr�r�
output_sum�
output_labelss     r(�test_sum_labelsr0Ks���
�X��1�v��1�v�&���
0�
0�F��B�B����1�a�&�1�a�&�)�4�0�0���[��v�Y�Y�Y�G�G�G�
��*��&�	�	�	�3�3�3�
��m�+�0�0�2�2�2�2�2�!�-����A�A�A�A�B�Br*c���tjddgt��}tD]C}tjddgddgg|��}t	j||���}t
|d���DdSr)rrrrr�meanrrs    r(�test_mean01r3Wsu��
�X�q�!�f�d�
#�
#�F��)�)����1�a�&�1�a�&�)�4�0�0����e�F�3�3�3���F�C�(�(�(�(�)�)r*c���tjddgt��}tjddgddggt��}tj||���}t|d��dS�Nr
rrrIrrr)rrrrr2rr s   r(�test_mean02r6_s_��
�X�q�!�f�d�
#�
#�F��H�q�!�f�q�!�f�%�t�,�,�E�
�\�%��
/�
/�
/�F����$�$�$�$�$r*c���tjddg��}tD]D}tjddgddgg|��}tj||d���}t|d���EdS)Nr
rrIrrr)rrrrr2rrs    r(�test_mean03r8fs|��
�X�q�!�f�
�
�F��)�)����1�a�&�1�a�&�)�4�0�0����e�F�$%�'�'�'���F�C�(�(�(�(�	)�)r*c��tjddgddggtj��}tjd���5tD]w}tjddgddgg|��}tj||gd����}t|d	dgd
dg��ttj	|d�����x	ddd��dS#1swxYwYdS)Nr
rr�ignore�r-rIr(rrr�@)
rrr$�errstaterrr2rr�isnanrs    r(�test_mean04r?os'��
�X��1�v��1�v�&���
0�
0�F�	���	"�	"�	"�)�)��	)�	)�D��H�q�!�f�q�!�f�-�t�4�4�E��\�%��(1�	�	�3�3�3�F�%�f�a��V�n�s�C�j�A�A�A��B�H�V�A�Y�'�'�(�(�(�(�	)�)�)�)�)�)�)�)�)�)�)�)�)����)�)�)�)�)�)s�BC	�	C
�C
c���tjddgt��}tD]C}tjddgddgg|��}t	j||���}t
|d���DdSr5)rrrrr�minimumrrs    r(�test_minimum01rBz�u��
�X�q�!�f�d�
#�
#�F��)�)����1�a�&�1�a�&�)�4�0�0�����v�6�6�6���F�C�(�(�(�(�)�)r*c���tjddgt��}tjddgddggt��}tj||���}t|d��dS�Nr
rrrrr)rrrrrArr s   r(�test_minimum02rF��_��
�X�q�!�f�d�
#�
#�F��H�q�!�f�q�!�f�%�t�,�,�E�
�_�U�6�
2�
2�
2�F����$�$�$�$�$r*c���tjddg��}tD]D}tjddgddgg|��}tj||d���}t|d���EdS)Nr
rrIrrr)rrrrrArrs    r(�test_minimum03rI��|��
�X�q�!�f�
�
�F��)�)����1�a�&�1�a�&�)�4�0�0�����v�'(�*�*�*���F�C�(�(�(�(�	)�)r*c���tjddgddgg��}tD]H}tjddgddgg|��}tj||gd����}t|gd����IdS)Nr
rrIr�rrIr)r)rrr:)rrrrrArrs    r(�test_minimum04rM����
�X��1�v��1�v�&�
'�
'�F��;�;����1�a�&�1�a�&�)�4�0�0�����v�'0�y�y�2�2�2��!�&�/�/�/�:�:�:�:�	;�;r*c���tjddgt��}tD]C}tjddgddgg|��}t	j||���}t
|d���DdS)Nr
rrrIrrr)rrrrr�maximumrrs    r(�test_maximum01rQ�rCr*c���tjddgt��}tjddgddggt��}tj||���}t|d��dSrE)rrrrrPrr s   r(�test_maximum02rS�rGr*c���tjddg��}tD]D}tjddgddgg|��}tj||d���}t|d���EdS)Nr
rrIrrr)rrrrrPrrs    r(�test_maximum03rU�rJr*c���tjddgddgg��}tD]H}tjddgddgg|��}tj||gd����}t|gd����IdS)Nr
rrIrrLr)rrr:)rrrrrPrrs    r(�test_maximum04rW�rNr*c�v�tjgd���}ttj|��d��dS)N)������r�r�)rrrrrP)r$s r(�test_maximum05r[�s5��
�������A�����#�#�R�(�(�(�(�(r*c���tjgd�gd�gd�gd�g��}tjgd�gd�gd�gd�g��}tj||gd��	��}t	|gd
���dS)N�r
rrr
�rgrIrr�rrrr��r-rIrr�r
r
rr�rrrr�rIrIrr)r
rrIr)r<rr#)rrr�medianr�r�rr�s   r(�
test_median01rf�s���
��,�,�,��,�,��,�,��,�,� �	!�	!�A��X�|�|�|�#�|�|�#�|�|�#�|�|�%�&�&�F��^�A�f�I�I�I�
>�
>�
>�F��f�o�o�o�6�6�6�6�6r*c��tjgd�gd�gd�gd�g��}tj|��}t	|d��dS)Nr]r^r_r`r�rrrrdr�r�r�s  r(�
test_median02rj�sZ��
��,�,�,��,�,��,�,��,�,� �	!�	!�A��^�A�
�
�F����$�$�$�$�$r*c���tjgd�gd�gd�gd�g��}tjgd�gd�gd�gd�g��}tj||���}t	|d	��dS)
Nr]r^r_r`rarbrcrrrhres   r(�
test_median03rl�s���
��,�,�,��,�,��,�,��,�,� �	!�	!�A��X�|�|�|�#�|�|�#�|�|�#�|�|�%�&�&�F��^�A�f�
-�
-�
-�F����$�$�$�$�$r*c��tjddgt���}tj|tjd��dg���}t
|dg��dS)Nr
r��rrr)r�asarrayrrrdrVrris  r(�test_median_gh12836_boolrp�sR��
�
�A�q�6��&�&�&�A�
�^�A�b�g�d�m�m�A�3�
?�
?�
?�F��f�s�e�,�,�,�,�,r*c��tjddgtj���}tj|tjd��dg���}t
|dg��dS)N�A�Fr�rnr
rg�P@)rror$rrdrVrris  r(�test_median_no_int_overflowrt�sT��
�
�B��8�2�7�+�+�+�A�
�^�A�b�g�d�m�m�A�3�
?�
?�
?�F��f�t�f�-�-�-�-�-r*c��tjd���5tD]�}tjg|��}t	��5}|�td��tj|��}ddd��n#1swxYwYttj
|������	ddd��dS#1swxYwYdS�Nr:r;zMean of empty slice)rr=rrr�filter�RuntimeWarningr�variancerr>�r�r�supr�s    r(�test_variance01r|�s>��	���	"�	"�	"�&�&��	&�	&�D��H�R��&�&�E�"�$�$�
1���
�
�>�+@�A�A�A� �)�%�0�0��
1�
1�
1�
1�
1�
1�
1�
1�
1�
1�
1����
1�
1�
1�
1�
�B�H�V�$�$�%�%�%�%�	&�&�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&�&�&�5�-B:�0A?�3B:�?B�B:�B�%B:�:B>�B>c��tD]<}tjdg|��}tj|��}t|d���=dS�Nr
r:�rrrrryrrs   r(�test_variance02r��sQ���)�)����!��d�#�#���!�%�(�(���F�C�(�(�(�(�)�)r*c��tD]=}tjddg|��}tj|��}t|d���>dS�Nr
rIrr�rs   r(�test_variance03r�sS���)�)����!�Q���&�&���!�%�(�(���F�C�(�(�(�(�)�)r*c��tjddgt��}tj|��}t|d��dS)Nr
rg�?)rrrrryr�rr�s  r(�test_variance04r�s=���H�a��V�T�"�"�E�
�
�e�
$�
$�F����%�%�%�%�%r*c��gd�}tD]?}tjgd�|��}tj||d��}t|d���@dS�N)rrrI)r
rIr)rrr�rs    r(�test_variance05r�s`��
�Y�Y�F��)�)�������D�)�)���!�%���3�3���F�C�(�(�(�(�)�)r*c��gd�}tjd���5tD]C}tjgd�|��}t	j||gd���}t
|gd����D	ddd��dS#1swxYwYdS�N)rrrIrIrr:r;)r
rIr)r�r))rrIr)rrr:)rr=rrrryrrs    r(�test_variance06r�s���
�_�_�F�	���	"�	"�	"�?�?��	?�	?�D��H�-�-�-�t�4�4�E��%�e�V�Y�Y�Y�?�?�F�%�f�o�o�o�>�>�>�>�	?�?�?�?�?�?�?�?�?�?�?�?�?����?�?�?�?�?�?��AA4�4A8�;A8c��tjd���5tD]�}tjg|��}t	��5}|�td��tj|��}ddd��n#1swxYwYttj
|������	ddd��dS#1swxYwYdSrv)rr=rrrrwrxr�standard_deviationrr>rzs    r(�test_standard_deviation01r�"s>��	���	"�	"�	"�&�&��	&�	&�D��H�R��&�&�E�"�$�$�
;���
�
�>�+@�A�A�A� �3�E�:�:��
;�
;�
;�
;�
;�
;�
;�
;�
;�
;�
;����
;�
;�
;�
;�
�B�H�V�$�$�%�%�%�%�	&�&�&�&�&�&�&�&�&�&�&�&�&����&�&�&�&�&�&r}c��tD]<}tjdg|��}tj|��}t|d���=dSr�rrrrr�rrs   r(�test_standard_deviation02r�,sQ���)�)����!��d�#�#���+�E�2�2���F�C�(�(�(�(�)�)r*c��tD]O}tjddg|��}tj|��}t|tjd�����PdSr�)rrrrr�r�sqrtrs   r(�test_standard_deviation03r�3s[���2�2����!�Q���&�&���+�E�2�2���F�B�G�C�L�L�1�1�1�1�2�2r*c��tjddgt��}tj|��}t|d��dS)Nr
rr2)rrrrr�rr�s  r(�test_standard_deviation04r�:s=���H�a��V�T�"�"�E�
�
'��
.�
.�F����$�$�$�$�$r*c��gd�}tD]?}tjgd�|��}tj||d��}t|d���@dSr�r�rs    r(�test_standard_deviation05r�@s`��
�Y�Y�F��)�)�������D�)�)���+�E�6�1�=�=���F�C�(�(�(�(�)�)r*c��gd�}tjd���5tD]C}tjgd�|��}t	j||gd���}t
|gd����D	ddd��dS#1swxYwYdSr��rr=rrrr�rrs    r(�test_standard_deviation06r�Hs���
�_�_�F�	���	"�	"�	"�?�?��	?�	?�D��H�-�-�-�t�4�4�E��/��v�y�y�y�I�I�F�%�f�o�o�o�>�>�>�>�	?�?�?�?�?�?�?�?�?�?�?�?�?����?�?�?�?�?�?r�c��dg}tjd���5tD]@}tjdg|��}t	j||dg��}t
|dg���A	ddd��dS#1swxYwYdS)Nr
r:r;gl�� `y�rr�rs    r(�test_standard_deviation07r�Qs����S�F�	���	"�	"�	"�3�3��	3�	3�D��H�k�]�D�1�1�E��/��v��s�C�C�F�%�f�q�c�2�2�2�2�	3�3�3�3�3�3�3�3�3�3�3�3�3����3�3�3�3�3�3s�A	A0�0A4�7A4c���tjddgt��}tD]C}tjddgddgg|��}t	j||���}t
|d���DdS)Nr
rrrIrr�rr)rrrrr�minimum_positionrrs    r(�test_minimum_position01r�Zsv��
�X�q�!�f�d�
#�
#�F��%�%����1�a�&�1�a�&�)�4�0�0���)�%��?�?�?���V�V�$�$�$�$�%�%r*c��tD]D}tjgd�gd�gd�g|��}tj|��}t|d���EdS�N�rgrrrg�rIr�rr�r
rgr
r
�r
r�rrrrr�rrs   r(�test_minimum_position02r�b�m���%�%����,�,�,�&�,�,�&�,�,�(�)-�/�/���)�%�0�0���V�V�$�$�$�$�%�%r*c��tjgd�gd�gd�gt��}tj|��}t|d��dSr��rrrrr�rr�s  r(�test_minimum_position03r�k�W���H�l�l�l�"�l�l�"�l�l�$�%)�
+�
+�E��
%�e�
,�
,�F���� � � � � r*c��tjgd�gd�gd�gt��}tj|��}t|d��dS)Nr�)rIr�r
rr�r�r�r�s  r(�test_minimum_position04r�sr�r*c��gd�}tD]E}tjgd�gd�gd�g|��}tj||��}t|d���FdS)N�r
rrrr�r�)r
rgrrI)rrr�rs    r(�test_minimum_position05r�{�x��
�\�\�F��%�%����,�,�,�&�,�,�&�,�,�(�)-�/�/���)�%��8�8���V�V�$�$�$�$�%�%r*c��gd�}tD]F}tjgd�gd�gd�g|��}tj||d��}t|d���GdS)N�r
rrIrr�r�r�r�rr
r�rs    r(�test_minimum_position06r���z��
�\�\�F��%�%����,�,�,�&�,�,�&�,�,�(�)-�/�/���)�%���;�;���V�V�$�$�$�$�%�%r*c���gd�}tD]d}tjgd�gd�gd�g|��}tj||ddg��}t|dd��t|d	d
���edS)Nr�r�r�r�rrIrr�r
r�r�rs    r(�test_minimum_position07r�����
�\�\�F��(�(����,�,�,�&�,�,�&�,�,�(�)-�/�/���)�%��+,�a�&�2�2���V�A�Y��'�'�'��V�A�Y��'�'�'�'�(�(r*c���tjddgt��}tD]C}tjddgddgg|��}t	j||���}t
|d���DdS)Nr
rrrIrr)r
r)rrrrr�maximum_positionrrs    r(�test_maximum_position01r��s}��
�X�q�!�f�d�
#�
#�F��%�%����1�a�&�1�a�&�)�4�0�0���)�%�17�9�9�9���V�V�$�$�$�$�	%�%r*c��tD]D}tjgd�gd�gd�g|��}tj|��}t|d���EdS)Nr��rIr�r)rr�r��rrrrr�rrs   r(�test_maximum_position02r��r�r*c��tjgd�gd�gd�gt��}tj|��}t|d��dS)Nr�r�r�r�)rrrrr�rr�s  r(�test_maximum_position03r��r�r*c��gd�}tD]E}tjgd�gd�gd�g|��}tj||��}t|d���FdS)Nr�r�r�r��r
r
r�rs    r(�test_maximum_position04r��r�r*c��gd�}tD]F}tjgd�gd�gd�g|��}tj||d��}t|d���GdS)Nr�r�r�r�r
r�r�rs    r(�test_maximum_position05r��r�r*c���gd�}tD]d}tjgd�gd�gd�g|��}tj||ddg��}t|dd��t|dd	���edS)
Nr�r�r�r�r
rrr�r�r�rs    r(�test_maximum_position06r��r�r*c�
�tjgd���}tD]d}tjgd�gd�gd�g|��}tj||ddg��}t|dd��t|d	d
���edS)N)rr<r:�@r�r�r�rr�rr�r
)rrI)rrrrr�rrs    r(�test_maximum_position07r��s���
�X�*�*�*�
+�
+�F��(�(����,�,�,�&�,�,�&�,�,�(�)-�/�/���)�%��+.��*�6�6���V�A�Y��'�'�'��V�A�Y��'�'�'�'�(�(r*c��tjddgt��}tD]�}tjddgddgg|��}t	j||���}t	j||���}t	j||���}t	j||���}t	j	||���}t|||||f����dS)Nr
rrrIrr)rrrrr�extremarArPr�r�r�rr�r�output1�output2�output3�output4�output5s        r(�test_extrema01r��s���
�X�q�!�f�d�
#�
#�F��	D�	D����1�a�&�1�a�&�)�4�0�0���/�%��7�7�7���/�%��7�7�7���/�%��7�7�7���*�5�28�:�:�:���*�5�28�:�:�:���W�w���'�B�C�C�C�C�	D�	Dr*c��tjddg��}tD]�}tjddgddgg|��}tj||d���}tj||d���}tj||d���}tj||d���}tj||d���}t|||||f����dS)Nr
rrIrr)
rrrrr�rArPr�r�rr�s        r(�test_extrema02r��s��
�X�q�!�f�
�
�F��D�D����1�a�&�1�a�&�)�4�0�0���/�%��()�+�+�+���/�%��()�+�+�+���/�%��()�+�+�+���*�5�28��C�C�C���*�5�28��C�C�C���W�w���'�B�C�C�C�C�D�Dr*c�.�tjddgddgg��}tD]�}tjddgddgg|��}tj||gd����}tj||gd����}tj||gd����}tj||gd����}tj||gd����}t|d|��t|d|��t|d|��t|d|����dS)Nr
rrIrrLrr)
rrrrr�rArPr�r�rr�s        r(�test_extrema03r�sU��
�X��1�v��1�v�&�
'�
'�F��7�7����1�a�&�1�a�&�)�4�0�0���/�%��(1�	�	�3�3�3���/�%��(1�	�	�3�3�3���/�%��(1�	�	�3�3�3���*�5�28�	�	�	�K�K�K���*�5�28�	�	�	�K�K�K��!�'�!�*�g�6�6�6�!�'�!�*�g�6�6�6�!�'�!�*�g�6�6�6�!�'�!�*�g�6�6�6�6�7�7r*c��gd�}tD]�}tjgd�gd�gd�g|��}tj||ddg��}tj||ddg��}tj||ddg��}tj||ddg��}tj||ddg��}t|d|��t|d|��t|d|��t|d|����dS)	Nr�r�r�r�r
rrrI)
rrrrr�rArPr�r�rr�s        r(�test_extrema04r�s%��
�\�\�F��7�7����,�,�,�&�,�,�&�,�,�(�)-�/�/���/�%��!�Q��8�8���/�%��!�Q��8�8���/�%��!�Q��8�8���*�5�&�,-�q�6�3�3���*�5�&�,-�q�6�3�3��!�'�!�*�g�6�6�6�!�'�!�*�g�6�6�6�!�'�!�*�g�6�6�6�!�'�!�*�g�6�6�6�6�7�7r*c��ddg}tD]A}tjddgddgg|��}tj|��}t||���BdS)Nr:r
r�rrrr�center_of_massr�r�r�rr�s    r(�test_center_of_mass01r�(�e���S�z�H��4�4����1�a�&�1�a�&�)�4�0�0���'��.�.��!�&�(�3�3�3�3�4�4r*c��ddg}tD]A}tjddgddgg|��}tj|��}t||���BdSrdr�r�s    r(�test_center_of_mass02r�0�e���1�v�H��4�4����1�a�&�1�a�&�)�4�0�0���'��.�.��!�&�(�3�3�3�3�4�4r*c��ddg}tD]A}tjddgddgg|��}tj|��}t||���BdS)Nrr
r�r�s    r(�test_center_of_mass03r�8r�r*c��ddg}tD]A}tjddgddgg|��}tj|��}t||���BdSrdr�r�s    r(�test_center_of_mass04r�@r�r*c��ddg}tD]A}tjddgddgg|��}tj|��}t||���BdS)Nr2r
r�r�s    r(�test_center_of_mass05r�Hr�r*c��ddg}tjddgddggt��}tj|��}t||��dS)Nr2r
rrI�rrrrr�r�r�rr�s   r(�test_center_of_mass06r�PsO���S�z�H��H�q�!�f�q�!�f�%�t�,�,�E�
�
#�E�
*�
*�F��f�h�/�/�/�/�/r*c��ddg}ddg}tjddgddggt��}tj||��}t||��dS)Nr
rr2r:rrIr��rr�rr�s    r(�test_center_of_mass07r�WsZ����V�F��S�z�H��H�q�!�f�q�!�f�%�t�,�,�E�
�
#�E�6�
2�
2�F��f�h�/�/�/�/�/r*c��ddg}ddg}tjddgddggt��}tj||d��}t||��dS)Nr
rr2rrgrIr�r�s    r(�test_center_of_mass08r�_s\����V�F��S�z�H��H�q�!�f�q�!�f�%�t�,�,�E�
�
#�E�6�1�
5�
5�F��f�h�/�/�/�/�/r*c��ddg}ddg}tjddgddggt��}tj||ddg��}t||��dS)Nr
r)r2r:)r2rr�r�s    r(�test_center_of_mass09r�gsa����V�F��J�'�H��H�q�!�f�q�!�f�%�t�,�,�E�
�
#�E�6�A�q�6�
:�
:�F��f�h�/�/�/�/�/r*c��tjd��}tjd��}tj|ddd��}t||��dS)Nr�r)rrV�aranger�	histogramrr�s   r(�test_histogram01r�osH���w�r�{�{�H��I�b�M�M�E�
�
�u�a��R�
0�
0�F��f�h�/�/�/�/�/r*c��gd�}gd�}tjgd���}tj|ddd|d��}t	||��dS)N)r
r
r
r
rrrr)rrrr
r
)r
r
rIrrIrIrIrIrrrgr
�rrrr�rr�s    r(�test_histogram02rvs\��
%�
%�
%�F����H��H�-�-�-�.�.�E�
�
�u�a��A�v�q�
9�
9�F��f�h�/�/�/�/�/r*c���gd�}gd�}gd�}tjgd���}tj|ddd|d��}t	|d|��t	|d	|��dS)
N)r
rr
r
rrrr)rr
rr
r
)rrrrIr)r
r
rIrrIrgrIrIrrrgr�r
r)r�	expected1�	expected2rr�s     r(�test_histogram03r~s}��
%�
%�
%�F����I����I��H�-�-�-�.�.�E�
�
�u�a��A�v�v�
>�
>�F��f�Q�i��3�3�3��f�Q�i��3�3�3�3�3r*c��tjgd�gd�gd�g��}tjgd�gd�gd�g��}tj||ddg���}t	|d	d
g��tj||ddg���}t	|ddg��tj||ddg���}t|tjddg����tj	||ddg���}t	|d	d
g��tj
||ddg���}t	|d
dg��tj||ddg���}t	|dd
g��dS)N)rgrrrr)r)r-rrr)rrrrIrg)r
r
rrr)rrrrrr
rrrErr<rrgrIr-)rrrr2rryr�rr�rdrArP)r��lblr2�var�std�med�min�maxs        r(�test_stat_funcs_2dr�sl��
��/�/�/�?�?�?�O�O�O�D�E�E�A�
�(�O�O�O�_�_�_�o�o�o�F�
G�
G�C��<��#�a��V�4�4�4�D��t�c�3�Z�(�(�(�
�
�1�S��A��
7�
7�
7�C��s�S�#�J�'�'�'�
�
$�Q�s�1�a�&�
A�
A�
A�C��c�2�7�C��:�#6�#6�7�7�7�
�.��3�q�!�f�
5�
5�
5�C��s�S�#�J�'�'�'�
�/�!�C��1�v�
6�
6�
6�C��s�Q��F�#�#�#�
�/�!�C��1�v�
6�
6�
6�C��s�Q��F�#�#�#�#�#r*c�>�eZdZd�Zd�Zd�Zd�Zd�Zd�Zd�Z	d�Z
d	S)
�TestWatershedIftc�v�tjgd�gd�gd�gd�gd�gd�gd�gd�gtj��}tjgd�gd�gd�gd�gd�gd�gd�gd�gtj��}t	j||gd�gd�gd�g���}gd�gd	�gd	�gd	�gd	�gd	�gd�gd�g}t
||��dS)
N�rrrrrrr�rr
r
r
r
r
r�rr
rrrr
r�r�rrrrrr�rrrr
rrr�r
r
r
��	structure�r�r�r�r�r�r�r��r�r
r
r
r
r
r��rr�uint8r$r�
watershed_iftr�r#rY�markersrZr�s     r(�test_watershed_ift01z%TestWatershedIft.test_watershed_ift01�sq���x�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�0�24��;�;���(�2�2�2�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�3�57�G�=�=���#�D�'�i�i�i�>G�i�i�>G�i�i�>I�J�J�J��1�0�0�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�0�0�0�0�0�0�2��	"�#�x�0�0�0�0�0r*c�`�tjgd�gd�gd�gd�gd�gd�gd�gd�gtj��}tjgd�gd�gd�gd�gd�gd�gd�gd�gtj��}t	j||��}gd�gd�gd�gd�gd�gd�gd�gd�g}t
||��dS)	Nrrrrrr)r�r�r
r
r
r�r�rrrs     r(�test_watershed_ift02z%TestWatershedIft.test_watershed_ift02�sI���x�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�0�24��;�;���(�2�2�2�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�3�57�G�=�=���#�D�'�2�2��0�0�0�-�-�-�+�+�+�+�+�+�+�+�+�-�-�-�0�0�0�0�0�0�2��	"�#�x�0�0�0�0�0r*c
�N�tjgd�gd�gd�gd�gd�gd�gd�gtj��}tjgd�gd�gd�gd�gd�gd�gd�gtj��}t	j||��}gd�gd�gd�gd�gd�gd�gd�g}t
||��dS)	Nrr�rr
rr
rr
r�rrrrrIrr�rrrrrrr�r)r�r�rr�rIr�r��r�rrrIrIrIr�rrs     r(�test_watershed_ift03z%TestWatershedIft.test_watershed_ift03�s.���x�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�
0�24��
;�;���(�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�2�2�2�
4�68�W�
>�>���#�D�'�2�2��0�0�0�.�.�.�+�+�+�+�+�+�+�+�+�.�.�.�0�0�0�
2��	"�#�x�0�0�0�0�0r*c
�d�tjgd�gd�gd�gd�gd�gd�gd�gtj��}tjgd�gd�gd�gd�gd�gd�gd�gtj��}t	j||gd�gd�gd�g���}gd�gd	�gd	�gd	�gd	�gd	�gd�g}t
||��dS)
Nrrr%r&r'rrrr(rrs     r(�test_watershed_ift04z%TestWatershedIft.test_watershed_ift04��S���x�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�
0�24��
;�;���(�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�2�2�2�
4��7�$�$���#�D�'�/8�y�y�/8�y�y�/8�y�y�/:�;�;�;��1�0�0�+�+�+�+�+�+�+�+�+�+�+�+�+�+�+�0�0�0�
2��	"�#�x�0�0�0�0�0r*c
�d�tjgd�gd�gd�gd�gd�gd�gd�gtj��}tjgd�gd�gd�gd�gd�gd�gd�gtj��}t	j||gd�gd�gd�g���}gd�gd	�gd	�gd	�gd	�gd	�gd�g}t
||��dS)
Nrrr%)rrrIrrrrr'rrr)r�rIrIrrrr�rrs     r(�test_watershed_ift05z%TestWatershedIft.test_watershed_ift05r,r*c	�R�tjgd�gd�gd�gd�gd�gd�gtj��}tjgd�gd�gd�gd�gd�gd�gtj��}t	j||gd�gd�gd�g���}gd�gd�gd�gd�gd	�gd	�g}t
||��dS)
Nrrrrrrrrrrrs     r(�test_watershed_ift06z%TestWatershedIft.test_watershed_ift06/s8���x�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�0�
24��;�;���(�2�2�2�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�3�
57�G�=�=���#�D�'�/8�y�y�/8�y�y�/8�y�y�/:�;�;�;��,�+�+�+�+�+�+�+�+�+�+�+�0�0�0�0�0�0�2��	"�#�x�0�0�0�0�0r*c	�.�d}tj|tj���}|���}tjgd�gd�gd�gd�gd�gd�gtj��|d<tjgd�gd�gd�gd�gd�gd�gtj��}tj|tj���}|���}tj||gd	�gd	�gd	�g|�
��gd�gd�gd�gd�gd�gd�g}t||��dS)
N)r�rr�rrr.rrr)rr�rr)
rr_r�	transposerr$�int16rrr�r#r�rYr rZr�s      r(�test_watershed_ift07z%TestWatershedIft.test_watershed_ift07Hs������x��R�X�.�.�.���~�~�����H�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�3�5�
79�h�@�@��S�	��(�2�2�2�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�3�
57�G�=�=���h�u�B�H�-�-�-���m�m�o�o����d�G�)2���)2���)2���)4�&)�		*�	*�	*�	*�
,�+�+�+�+�+�+�+�+�+�+�+�0�0�0�0�0�0�2��	"�#�x�0�0�0�0�0r*c��d}tjddgddggtj��}tjddgddggtj��}t	j||��}ddgddgg}t
||��dS)Nr�rr
)rr�uint16r$rrrr4s      r(�test_watershed_ift08z%TestWatershedIft.test_watershed_ift08gs������x�#�q���Q��!�"$�)�-�-���(�Q��F���F�$�%'�W�.�.���#�D�'�2�2����F���F���!�#�x�0�0�0�0�0r*N)r=r>r?r!r#r)r+r.r0r5r9rAr*r(rr�s�������1�1�1�<1�1�1�81�1�1�21�1�1�:1�1�1�:1�1�1�21�1�1�>
1�
1�
1�
1�
1r*r)��os.pathr��numpyr�
numpy.testingrrrrrr�pytestr	r��
scipy.ndimager�rr
rCr\r`rbrerhrlror|r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rrrr	r
rrrrrr!r%r*r0r3r6r8r?rBrFrIrMrQrSrUrWr[rfrjrlrprtr|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�r�r�r�r�r�r�r�r�r�r�r�r�rrrrrAr*r(�<module>r@s�����������.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�+�*�*�*�*�*�������������B4�B4�B4�B4�B4�B4�B4�B4�J#4�#4�#4�#4�#4�#4�#4�#4�L���������������������"���"���$������&���&���"
�
�
� ���!�!�!�:�:�:����&���5�5�5� � � �������.�.�.����.�.�.�.�.�.����@�@�@�@�@�@����($�$�$�	)�	)�	)�"�"�"�"�"�"�)�)�)�)�)�)�*�*�*�"�"�"�"�"�"�"�"�"�)�)�)�%�%�%�)�)�)�;�;�;�	B�	B�	B�)�)�)�%�%�%�)�)�)�)�)�)�)�)�)�%�%�%�)�)�)�;�;�;�)�)�)�%�%�%�)�)�)�;�;�;�)�)�)�
7�
7�
7�%�%�%�
%�
%�
%�-�-�-�.�.�.�&�&�&�)�)�)�)�)�)�&�&�&�)�)�)�?�?�?�&�&�&�)�)�)�2�2�2�%�%�%�)�)�)�?�?�?�3�3�3�%�%�%�%�%�%�!�!�!�!�!�!�%�%�%�%�%�%�	(�	(�	(�%�%�%�%�%�%�!�!�!�%�%�%�%�%�%�	(�	(�	(�
(�
(�
(�D�D�D�D�D�D�"7�7�7�(7�7�7�&4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�4�4�4�$�$�$�.Q1�Q1�Q1�Q1�Q1�Q1�Q1�Q1�Q1�Q1r*

Youez - 2016 - github.com/yon3zu
LinuXploit