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_morphology.cpython-311.pyc
�

d�cw����ddlZddlmZmZmZmZddlZddlmZddl	m
Z
ddlmZGd�d��Z
Gd	�d
��ZGd�d��Zd
�Zd�Zd�Zd�Zd�Zej�dgd���ej�dddg��ej�dddg��d�������Zd�ZdS)�N)�assert_�assert_equal�assert_array_equal�assert_array_almost_equal)�raises)�ndimage�)�typesc��eZdZej�de��d���Zej�de��d���Zej�de��d���Z	ej�de��d���Z
ej�de��d���Zej�de��d���Zd�Z
ej�de��d	���Zej�de��d
���Zej�de��d���Zd�Zej�de��d
���Zej�de��d���Zej�de��d���Zej�de��d���Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zd�Zej�de��d���Zej�de��d���Z ej�de��d���Z!ej�de��d���Z"ej�de��d���Z#ej�de��d���Z$ej�de��d ���Z%ej�de��d!���Z&ej�de��d"���Z'ej�de��d#���Z(ej�de��d$���Z)ej�de��d%���Z*ej�de��d&���Z+ej�de��d'���Z,ej�de��d(���Z-ej�de��d)���Z.ej�de��d*���Z/ej�de��d+���Z0ej�de��d,���Z1ej�de��d-���Z2ej�de��d.���Z3ej�de��d/���Z4ej�de��d0���Z5ej�de��d1���Z6ej�de��d2���Z7ej�de��d3���Z8d4�Z9d5�Z:d6�Z;d7�Z<d8�Z=d9�Z>d:�Z?d;�Z@d<�ZAd=�ZBd>�ZCd?�ZDd@�ZEdA�ZFej�de��dB���ZGej�de��dC���ZHej�de��dD���ZIej�de��dE���ZJej�de��dF���ZKej�de��dG���ZLej�de��dH���ZMej�de��dI���ZNej�de��dJ���ZOej�de��dK���ZPej�de��dL���ZQej�de��dM���ZRej�de��dN���ZSej�de��dO���ZTej�de��dP���ZUej�de��dQ���ZVej�de��dR���ZWej�de��dS���ZXej�de��dT���ZYej�de��dU���ZZej�de��dV���Z[ej�de��dW���Z\ej�de��dX���Z]ej�de��dY���Z^ej�de��dZ���Z_ej�de��d[���Z`ej�de��d\���Zaej�de��d]���Zbd^�Zcd_�Zdd`�Zeda�Zfdb�Zgdc�Zhej�de��dd���Zide�Zjdf�Zkej�de��dg���Zlej�de��dh���Zmej�de��di���Znej�de��dj���Zodk�Zpdl�Zqdm�Zrdn�Zsdo�Ztdp�Zudq�Zvdr�Zwds�Zxdt�Zydu�Zzdv�Z{dw�Z|dx�Z}dy�Z~dz�Zd{�Z�d|�Z�d}�Z�d~�Z�d�Z�d��Z�d��Z�d��Z�d��Z�d��Z�ej�de��d����Z�ej�de��d����Z�ej�de��d����Z�d�S)��TestNdimageMorphology�dtypec��tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|dd���\}}gd�gd�gd�gd�gd�gd�gd�gd�gd�g	}t	||z|��gd�gd	�gd
�gd�gd�gd
�gd�gd�gd�g	gd�gd�gd�gd�gd�gd�gd�gd�gd�g	g}t	||��dS)N�	rrrrrrrrr�	rrrr	r	r	rrr�	rrr	r	r	r	r	rr�	euclideanT��return_indices)	rrr	��rr	rr�	rrr	r�rr	rr�	r	r	r	r	r	r	r	r	r	�	rrrrr	rrrr�	�rrrr	rrrr�	rrrr�rrrr�	�r rr�rrr r �	rrrr!r!r!rrr�	r!r!r!r!r!r!r!r!r!�	rrrrrrrrr�	rr	rrrr rr!r�	rr	rrrrrr!r�	rr	r	rrrr!r!r�	rr	r	r	rr!r!r!r��numpy�arrayr�distance_transform_bfr��selfr
�data�out�ft�expecteds      �E/usr/lib/python3/dist-packages/scipy/ndimage/tests/test_morphology.py�test_distance_transform_bf01z2TestNdimageMorphology.test_distance_transform_bf01s����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���/��k�?C�E�E�E���R�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�1��	"�#��)�X�6�6�6�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�1�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�3��$	"�"�h�/�/�/�/�/�c��tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|dd���\}}gd�gd�gd�gd�gd�gd�gd�gd�gd�g	}t	||��gd�gd	�gd
�gd�gd�gd
�gd�gd�gd�g	gd�gd�gd�gd�gd�gd�gd�gd�gd�g	g}t	||��dS)Nrrr�	cityblockTr�	rrr	rrrr	rr)	rrr	rrrr	rrrr)	rrrrr	rrrr)	rrrrr!rrrr)	r r rr!r!r!rr r r"r#r$r%r&�	rr	r	r	rr!r!r!rr)r-s      r3�test_distance_transform_bf02z2TestNdimageMorphology.test_distance_transform_bf02;s����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���/��k�?C�E�E�E���R�0�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�1��	"�#�x�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�1�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�3��$	"�(�B�/�/�/�/�/r5c��tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|dd���\}}gd�gd�gd�gd�gd�gd�gd�gd�gd�g	}t	||��gd�gd	�gd
�gd�gd�gd
�gd�gd�gd�g	gd�gd�gd�gd�gd�gd�gd�gd�gd�g	g}t	||��dS)Nrrr�
chessboardTr)	rrr	r	rr	r	rrr8rr)	rrrrrrrrr)	rrr rrrr rrrr"r#r$r%�	rr	rrr rrr!r�	rr	r	rrrr!r!r)	rr	r	rrr!r!r!r)	rr	rrrrr!r!r)	rr	rrr rrr!rr)r-s      r3�test_distance_transform_bf03z2TestNdimageMorphology.test_distance_transform_bf03hs����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���/��l�?C�E�E�E���R�0�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�1��	"�#�x�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�1�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�3��$	"�"�h�/�/�/�/�/r5c���tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|d���\}}g}g}tj|jtj���}tj||���|�|��tj|dd�	��}|�|��tj|jtj	���}tj|dd
|���|�|��tj|d���\}}|�|��|�|��tj|jtj���}tj||d
���}|�|��|�|��tj|jtj	���}tj|d
|�
��}|�|��|�|��tj|jtj���}tj|jtj	���}tj||d
|���|�|��|�|��|D]}t||���|D]}t||���dS)Nrrrr	r�r
��	distancesF��return_distancesrT�rEr�indices�rCr�rrG�rCrrG)r*r+rr,�zeros�shape�float64�appendrG�int32r�	r.r
r/�tdt�tft�dts�fts�dtr1s	         r3�test_distance_transform_bf04z2TestNdimageMorphology.test_distance_transform_bf04�s����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���0��a�H�H�H���S�����
�[���5�=�
9�
9�
9���%�d�b�9�9�9�9��
�
�2����
�
*��5��<�<�<���
�
�2����
�]�4�:�U�[�
9�
9�
9���%��5��r�	K�	K�	K�	K��
�
�2�����.���$�$�$���B��
�
�2�����
�
�2����
�[���5�=�
9�
9�
9��
�
*��B�t�5�5�5���
�
�2�����
�
�2����
�]�4�:�U�[�
9�
9�
9��
�
*���r�3�3�3���
�
�2�����
�
�2����
�[���5�=�
9�
9�
9��
�]�4�:�U�[�
9�
9�
9���%��B�t�R�	A�	A�	A�	A��
�
�2�����
�
�2�����	/�	/�B�%�c�2�.�.�.�.��	/�	/�B�%�c�2�.�.�.�.�	/�	/r5c��tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|ddddg���\}}gd�gd�gd�gd	�gd
�gd	�gd�gd�gd�g	}t	||z|��gd�gd�gd�gd
�gd�gd�gd�gd�gd�g	gd�gd�gd�gd�gd�gd�gd�gd�gd�g	g}t	||��dS)NrrrrTr�r�sampling)	rrrrrrrrr)	rrrr�rrrr)	rrrrZ� rZrrrrrrrrr"r#r$r%r&r'r(r)r-s      r3�test_distance_transform_bf05z2TestNdimageMorphology.test_distance_transform_bf05�s����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���/��+�d�a��V�E�E�E���R�/�/�/�/�/�/�/�/�/�0�0�0�2�2�2�0�0�0�/�/�/�/�/�/�/�/�/�1��	"�#��)�X�6�6�6�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�1�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�3��$	"�"�h�/�/�/�/�/r5c��tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|ddddg���\}}gd�gd�gd	�gd
�gd�gd
�gd	�gd�gd�g	}t	||z|��gd�gd�gd
�gd�gd�gd�gd�gd�gd�g	gd�gd�gd�gd�gd�gd�gd�gd�gd�g	g}t	||��dS)NrrrrTrr	rX)	rrrr	rr	rrrr)	rrr	r�	rr	rrr)	rrrrrrrrr)	rrrrrrrrr)	rrrrrrrrr)	r r r r rr r r r )	rrrrr!rrrrr#r$r%)	rr	rrrrrr!rr()	rr	r	r	r!r!r!r!rr&r)r-s      r3�test_distance_transform_bf06z2TestNdimageMorphology.test_distance_transform_bf06�s����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���/��+�d�a��V�E�E�E���R�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�/�1��	"�#��)�X�6�6�6�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�1�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�3��$	"�"�h�/�/�/�/�/r5c���tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	��}tt��5t	j|dd���ddd��dS#1swxYwYdS)NrrrFrD)r*r+�
assert_raises�RuntimeErrorrr,)r.r/s  r3�test_distance_transform_bf07z2TestNdimageMorphology.test_distance_transform_bf07s����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�:�:���<�
(�
(�	�	��)��u�U�
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�A)�)A-�0A-c�x�tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|dd���\}}tj|d��}t||��gd�gd�gd�gd	�gd
�gd�gd�gd
�gd�g	gd�gd�gd�gd�gd�gd�gd�gd�gd�g	g}t||��dS)Nrrrr7Trr�	rrrr	r	r	rrr)	rrrr	r	r	rrr)	rrrrr	rrrr)	r r r r r!r!rr r �	rrrrr!r!rrrr#r$r%r9)	rr	r	r	rr rr!r)	rr	rrrr rr!r�r*r+r�distance_transform_cdtr,r�r.r
r/r0r1�bfr2s       r3�test_distance_transform_cdt01z3TestNdimageMorphology.test_distance_transform_cdt01.s����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���0��+�d�4�4�4���R�
�
*�4��
=�
=��!�"�c�*�*�*�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�1�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�3��$	"�"�h�/�/�/�/�/r5c�x�tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|dd���\}}tj|d��}t||��gd�gd�gd�gd	�gd
�gd�gd�gd
�gd�g	gd�gd�gd�gd�gd�gd�gd�gd�gd�g	g}t||��dS)Nrrrr<Trrre)	rrrrr	rrrr)	rrrrrrrrr)	r r rrr!rrr r rfr#r$r%)	rr	rrrrrr!r)	rr	r	rrrrr!r)	rr	r	r	rrr!r!rr>r=rgris       r3�test_distance_transform_cdt02z3TestNdimageMorphology.test_distance_transform_cdt02Ss����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���0��|�@D�F�F�F���R�
�
*�4��
>�
>��!�"�c�*�*�*�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�1�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�0�2�3��$	"�"�h�/�/�/�/�/r5c���tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|d���\}}g}g}tj|jtj���}tj||���|�|��tj|dd�	��}|�|��tj|jtj���}tj|dd|�
��|�|��tj|d���\}}|�|��|�|��tj|jtj���}tj||d���}|�|��|�|��tj|jtj���}tj|d|���}|�|��|�|��tj|jtj���}tj|jtj���}tj||d|�
��|�|��|�|��|D]}t||���|D]}t||���dS)NrrrTrrArBFrDrFrHrIrJ)
r*r+rrhrKrLrOrNrGrrPs	         r3�test_distance_transform_cdt03z3TestNdimageMorphology.test_distance_transform_cdt03ws����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���1�$�t�L�L�L���S�����
�[���5�;�
7�
7�
7���&�t�r�:�:�:�:��
�
�2����
�
+��5��?�?�?���
�
�2����
�]�4�:�U�[�
9�
9�
9���&��5��r�	K�	K�	K�	K��
�
�2�����/���'�'�'���B��
�
�2�����
�
�2����
�[���5�;�
7�
7�
7��
�
+��B�t�5�5�5���
�
�2�����
�
�2����
�]�4�:�U�[�
9�
9�
9��
�
+���r�3�3�3���
�
�2�����
�
�2����
�[���5�;�
7�
7�
7��
�]�4�:�U�[�
9�
9�
9���&�t�r�6:�B�	H�	H�	H�	H��
�
�2�����
�
�2�����	/�	/�B�%�c�2�.�.�.�.��	/�	/�B�%�c�2�.�.�.�.�	/�	/r5c�J�tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	��}tj|jf|jztj���}t
t��5tj	|dd|���ddd��dS#1swxYwYdS)NrrrrATFrF)
r*r+rK�ndimrLrOrarbrr,)r.r/�indices_outs   r3�test_distance_transform_cdt04z3TestNdimageMorphology.test_distance_transform_cdt04�s$���{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�:�:���k�4�9�,���";�5�;�O�O�O��
�<�
(�
(�	�	��)��!%�$�#�	
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�2B�B�Bc�.�tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|d���\}}tj|d��}t||��|tj|jdd�|j���z
}|�	tj
��}tj|||��tj�
|d	�
��}tj||��t||��dS)NrrrTrrr	rAr)�axis)r*r+r�distance_transform_edtr,rrGrLr
�astyperM�multiply�add�reduce�sqrt)r.r
r/r0r1rjrUs       r3�test_distance_transform_edt01z3TestNdimageMorphology.test_distance_transform_edt01�s>���{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���0��d�K�K�K���R�
�
*�4��
=�
=��!�"�c�*�*�*�
�%�-�������B�H�=�=�=�
=��
�Y�Y�u�}�
%�
%��
��r�2�r�"�"�"�
�Y�
�
�b�q�
�
)�
)��
�
�2�r����!�"�b�)�)�)�)�)r5c���tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|d���\}}g}g}tj|jtj���}tj||���|�|��tj|dd�	��}|�|��tj|jtj	���}tj|d
d|���|�|��tj|d���\}}|�|��|�|��tj|jtj���}tj||d���}|�|��|�|��tj|jtj	���}tj|d|�
��}|�|��|�|��tj|jtj���}tj|jtj	���}tj||d|���|�|��|�|��|D]}t||���|D]}t||���dS)NrrrTrrArBrrDFrFrHrIrJ)r*r+rrvrKrLrMrNrGrOrrPs	         r3�test_distance_transform_edt02z3TestNdimageMorphology.test_distance_transform_edt02�s����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���1�$�t�L�L�L���S�����
�[���5�=�
9�
9�
9���&�t�r�:�:�:�:��
�
�2����
�
+��1�T�;�;�;���
�
�2����
�]�4�:�U�[�
9�
9�
9���&��5��r�	K�	K�	K�	K��
�
�2�����/���'�'�'���B��
�
�2�����
�
�2����
�[���5�=�
9�
9�
9��
�
+��B�t�5�5�5���
�
�2�����
�
�2����
�]�4�:�U�[�
9�
9�
9��
�
+���r�3�3�3���
�
�2�����
�
�2����
�[���5�=�
9�
9�
9��
�]�4�:�U�[�
9�
9�
9���&��B�t�R�	A�	A�	A�	A��
�
�2�����
�
�2�����	/�	/�B�%�c�2�.�.�.�.��	/�	/�B�%�c�2�.�.�.�.�	/�	/r5c���tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|dddg���}tj|ddg���}t||��dS)Nrrrrr�rY�r*r+rr,rvr�r.r
r/�refr0s     r3�test_distance_transform_edt03z3TestNdimageMorphology.test_distance_transform_edt03����{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�;@�A�A���+�D�+��A��O�O�O���,�T�Q��F�C�C�C��!�#�s�+�+�+�+�+r5c���tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	|��}tj|dddg���}tj|ddg���}t||��dS)Nrrrrrr	r�r�r�s     r3�test_distance_transform_edt4z2TestNdimageMorphology.test_distance_transform_edt4r�r5c�P�tjd��}t|dg��dS)NF�)rrvr)r.r0s  r3�test_distance_transform_edt5z2TestNdimageMorphology.test_distance_transform_edt5#s*���,�U�3�3��!�#��t�,�,�,�,�,r5c�8�tjgd�gd�gd�gd�gd�gd�gd�gd�gd�g	��}tj|jtj���}tt��5tj|dd|���ddd��dS#1swxYwYdS)NrrrrATF)rrErC)	r*r+rKrLrMrarbrr,)r.r/�
distances_outs   r3�test_distance_transform_edt6z2TestNdimageMorphology.test_distance_transform_edt6(s���{�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�7�9�:�:����D�J�e�m�D�D�D�
�
�<�
(�
(�	�	��)��#�!&�'�	
�
�
�
�	�	�	�	�	�	�	�	�	�	�	�	����	�	�	�	�	�	s�)B�B�Bc�P�tjdd��}t|d��dS)Nrr	�r�generate_binary_structurer�r.�structs  r3�test_generate_structure01z/TestNdimageMorphology.test_generate_structure01<s*���2�1�a�8�8��!�&�!�,�,�,�,�,r5c�T�tjdd��}t|gd���dS)Nr	�r	r	r	r�r�s  r3�test_generate_structure02z/TestNdimageMorphology.test_generate_structure02@s.���2�1�a�8�8��!�&�)�)�)�4�4�4�4�4r5c�b�tjdd��}t|gd�gd�gd�g��dS)Nrr	�rr	rr�r�r�s  r3�test_generate_structure03z/TestNdimageMorphology.test_generate_structure03D�K���2�1�a�8�8��!�&�9�9�9�+4�9�9�+4�9�9�+6�	7�	7�	7�	7�	7r5c�b�tjdd��}t|gd�gd�gd�g��dS)Nrr�r�r�s  r3�test_generate_structure04z/TestNdimageMorphology.test_generate_structure04Jr�r5c	��gd�gd�gd�g}tj|d��}t|gd�gd�gd�gd�gd�g��dS)Nr�r�r�rrr	rr�rr	r	r	r�r	r	r	r	r	�r�iterate_structurer�r.r�r0s   r3�test_iterate_structure01z.TestNdimageMorphology.test_iterate_structure01Psw���)�)��)�)��)�)����'���2�2��!�#����(7���(7���(7���(7���	(9�	:�	:�	:�	:�	:r5c	��ddgddgddgg}tj|d��}t|gd�gd�gd�gd�gd�g��dS)Nrr	r)rrr	�rr	r	r�r�r�s   r3�test_iterate_structure02z.TestNdimageMorphology.test_iterate_structure02[sw���a�&��a�&��a�&����'���2�2��!�#�	�	�	�(1�	�	�(1�	�	�(1�	�	�(1�	�	�	(3�	4�	4�	4�	4�	4r5c���gd�gd�gd�g}tj|dd��}gd�gd�gd�gd�gd�g}t|d|��t|dddg��dS)	Nr�r�rr	r�r�r�r)rr�rr)r.r�r0r2s    r3�test_iterate_structure03z.TestNdimageMorphology.test_iterate_structure03fs����)�)��)�)��)�)����'���1�5�5��#�O�O�#�O�O�#�O�O�#�O�O�#�O�O�	%��
	"�#�a�&�(�3�3�3��S��V�a��V�$�$�$�$�$r5c�x�tjg|��}tj|��}t	|d��dS�Nr	�r*�onesr�binary_erosionr�r.r
r/r0s    r3�test_binary_erosion01z+TestNdimageMorphology.test_binary_erosion01ss9���z�"�e�$�$���$�T�*�*��!�#�q�)�)�)�)�)r5c�|�tjg|��}tj|d���}t	|d��dS�Nr	��border_valuer�r�s    r3�test_binary_erosion02z+TestNdimageMorphology.test_binary_erosion02ys>���z�"�e�$�$���$�T��:�:�:��!�#�q�)�)�)�)�)r5c�|�tjdg|��}tj|��}t	|dg��dS�Nr	rr�r�s    r3�test_binary_erosion03z+TestNdimageMorphology.test_binary_erosion03s=���z�1�#�u�%�%���$�T�*�*��!�#��s�+�+�+�+�+r5c��tjdg|��}tj|d���}t	|dg��dSr�r�r�s    r3�test_binary_erosion04z+TestNdimageMorphology.test_binary_erosion04�sB���z�1�#�u�%�%���$�T��:�:�:��!�#��s�+�+�+�+�+r5c�~�tjdg|��}tj|��}t	|gd���dS)Nrr�r�r�s    r3�test_binary_erosion05z+TestNdimageMorphology.test_binary_erosion05�s?���z�1�#�u�%�%���$�T�*�*��!�#�y�y�y�1�1�1�1�1r5c��tjdg|��}tj|d���}t	|gd���dS�Nrr	r�r�r�r�s    r3�test_binary_erosion06z+TestNdimageMorphology.test_binary_erosion06�sD���z�1�#�u�%�%���$�T��:�:�:��!�#�y�y�y�1�1�1�1�1r5c�~�tjdg|��}tj|��}t	|gd���dS)Nr r�r�r�s    r3�test_binary_erosion07z+TestNdimageMorphology.test_binary_erosion07�s?���z�1�#�u�%�%���$�T�*�*��!�#����7�7�7�7�7r5c��tjdg|��}tj|d���}t	|gd���dS)Nr r	r�r�r�r�s    r3�test_binary_erosion08z+TestNdimageMorphology.test_binary_erosion08�sD���z�1�#�u�%�%���$�T��:�:�:��!�#����7�7�7�7�7r5c��tjdg|��}d|d<tj|��}t	|gd���dS)Nr rr�rrrrrr�r�s    r3�test_binary_erosion09z+TestNdimageMorphology.test_binary_erosion09�sH���z�1�#�u�%�%����Q���$�T�*�*��!�#����7�7�7�7�7r5c��tjdg|��}d|d<tj|d���}t	|gd���dS)Nr rrr	r�)r	rrrr	r�r�s    r3�test_binary_erosion10z+TestNdimageMorphology.test_binary_erosion10�sM���z�1�#�u�%�%����Q���$�T��:�:�:��!�#����7�7�7�7�7r5c��tjdg|��}d|d<gd�}tj||d���}t	|gd���dS)Nr rr�r	rr	r	r��r	rr	rr	r��r.r
r/r�r0s     r3�test_binary_erosion11z+TestNdimageMorphology.test_binary_erosion11�sX���z�1�#�u�%�%����Q�������$�T�6��B�B�B��!�#����7�7�7�7�7r5c��tjdg|��}d|d<gd�}tj||dd���}t	|gd���dS)	Nr rrr�r	����r��origin�rr	rr	r	r�r�s     r3�test_binary_erosion12z+TestNdimageMorphology.test_binary_erosion12�sZ���z�1�#�u�%�%����Q�������$�T�6��"�M�M�M��!�#����7�7�7�7�7r5c��tjdg|��}d|d<gd�}tj||dd���}t	|gd���dS)Nr rrr�r	r��r	r	rr	rr�r�s     r3�test_binary_erosion13z+TestNdimageMorphology.test_binary_erosion13�sZ���z�1�#�u�%�%����Q�������$�T�6��!�L�L�L��!�#����7�7�7�7�7r5c��tjdg|��}d|d<ddg}tj||d���}t	|gd���dS)Nr rrr	r�)r	r	rrr	r�r�s     r3�test_binary_erosion14z+TestNdimageMorphology.test_binary_erosion14�sX���z�1�#�u�%�%����Q���Q����$�T�6��B�B�B��!�#����7�7�7�7�7r5c��tjdg|��}d|d<ddg}tj||dd���}t	|gd���dS)Nr rrr	r�r�)r	rrr	r	r�r�s     r3�test_binary_erosion15z+TestNdimageMorphology.test_binary_erosion15�sZ���z�1�#�u�%�%����Q���Q����$�T�6��"�M�M�M��!�#����7�7�7�7�7r5c��tjddg|��}tj|d���}t	|dgg��dSr�r�r�s    r3�test_binary_erosion16z+TestNdimageMorphology.test_binary_erosion16�sF���z�1�a�&�%�(�(���$�T��:�:�:��!�#���u�-�-�-�-�-r5c��tjddg|��}tj|��}t	|dgg��dSr�r�r�s    r3�test_binary_erosion17z+TestNdimageMorphology.test_binary_erosion17�sA���z�1�a�&�%�(�(���$�T�*�*��!�#���u�-�-�-�-�-r5c��tjddg|��}tj|��}t	|gd�g��dS)Nr	r�rrrr�r�s    r3�test_binary_erosion18z+TestNdimageMorphology.test_binary_erosion18�sC���z�1�a�&�%�(�(���$�T�*�*��!�#�	�	�	�{�3�3�3�3�3r5c��tjddg|��}tj|d���}t	|gd�g��dS)Nr	rr�r�r�r�s    r3�test_binary_erosion19z+TestNdimageMorphology.test_binary_erosion19�sH���z�1�a�&�%�(�(���$�T��:�:�:��!�#�	�	�	�{�3�3�3�3�3r5c��tjddg|��}tj|��}t	|gd�gd�gd�g��dS)Nrr�r�r�r�s    r3�test_binary_erosion20z+TestNdimageMorphology.test_binary_erosion20�s^���z�1�a�&�%�(�(���$�T�*�*��!�#�	�	�	�(1�	�	�(1�	�	�(3�	4�	4�	4�	4�	4r5c��tjddg|��}tj|d���}t	|gd�gd�gd�g��dSr�r�r�s    r3�test_binary_erosion21z+TestNdimageMorphology.test_binary_erosion21�sc���z�1�a�&�%�(�(���$�T��:�:�:��!�#�	�	�	�(1�	�	�(1�	�	�(3�	4�	4�	4�	4�	4r5c���gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd	�gd
�gd�g|��}tj|d���}t	||��dS)
N�rrrrrrrr�rrrrrr	rr�rrrr	r	rrr�rrr	rrr	rr�rr	rrrrrr�rrrrrr	r	r	�rrr	r	r	r	r	r	�rrr	r	r	r	rr�rr	r	r	r	r	r	r�rr	r	rrr	r	rr	r��r*r+rr�r�r.r
r2r/r0s     r3�test_binary_erosion22z+TestNdimageMorphology.test_binary_erosion22s���,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���$�T��:�:�:��!�#�x�0�0�0�0�0r5c��tjdd��}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd	�gd�g|��}tj||d
���}t||��dS)Nrr�r�r�r�r�r�r�r�r	r�)rr�r*r+r�r�r.r
r�r2r/r0s      r3�test_binary_erosion23z+TestNdimageMorphology.test_binary_erosion23s����2�1�a�8�8��,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���$�T�6��B�B�B��!�#�x�0�0�0�0�0r5c���ddgddgg}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd	�gd�gd
�gd�gd�g|��}tj||d���}t	||��dS)
Nrr	r�r��rrrr	r	r	rrr�)rrr	rrrr	rr�r�r�r�r�r�r�s      r3�test_binary_erosion24z+TestNdimageMorphology.test_binary_erosion24,s����a�&��a�&���,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���$�T�6��B�B�B��!�#�x�0�0�0�0�0r5c��gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd	�gd
�gd�gd�gd�g|��}tj||d
���}t	||��dS)Nr�r�r�r�)rrrr	rrrrr�r�r��rrr	r	r	rr	r	�rrr	rr	r	rr�rr	rr	r	r	r	rr�r	r�r�r�s      r3�test_binary_erosion25z+TestNdimageMorphology.test_binary_erosion25Cs���)�)��)�)��)�)���-�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���$�T�6��B�B�B��!�#�x�0�0�0�0�0r5c��gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd	�gd
�gd�gd�gd
�gd�g|��}tj||dd���}t	||��dS)Nr�r�r��rrrrrrrr	�rrrrr	rrr	�rrr	rrrrr�rr	rrr	rrrr�r�r�r�r�r�r	�r�r�r�r�r�s      r3�test_binary_erosion26z+TestNdimageMorphology.test_binary_erosion26[s���)�)��)�)��)�)���-�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���$�T�6��,4�6�6�6��!�#�x�0�0�0�0�0r5c
��gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj||dd�	��}t||��dS�
Nr�r��rrrrrrr�rrrr	rrr�rrr	r	r	rr�rr	r	r	r	r	rr	r�r��
iterations�r*r+�boolrr�r�r.r�r2r/r0s     r3�test_binary_erosion27z+TestNdimageMorphology.test_binary_erosion27ts����)�)��)�)��)�)���*�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�
+���{�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�
3�59�
:�:���$�T�6��01�3�3�3��!�#�x�0�0�0�0�0r5c
�8�gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj|jt��}tj||dd|�	��t||��dS)
Nr�r�r
rrr
r	r�r�r�output�r*r+rrKrLrr�rrs     r3�test_binary_erosion28z+TestNdimageMorphology.test_binary_erosion28�s���)�)��)�)��)�)���*�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�
+���{�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�
3�59�
:�:���k�$�*�d�+�+����t�V�!�*+�C�	9�	9�	9�	9�!�#�x�0�0�0�0�0r5c
��gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj||dd	�
��}t||��dS)Nr�r�r
rrr
�r	r	r	r	r	r	r	r	rrrrs     r3�test_binary_erosion29z+TestNdimageMorphology.test_binary_erosion29�����)�)��)�)��)�)���*�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�
+���{�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�
3�59�
:�:���$�T�6�23��C�C�C��!�#�x�0�0�0�0�0r5c
��gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj|jt��}tj||dd	|�
��t||��tj||dd	|�
��t||��dS)Nr�r�r
rrr
rr	rrrrs     r3�test_binary_erosion30z+TestNdimageMorphology.test_binary_erosion30�sI���)�)��)�)��)�)���*�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�
+���{�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�
3�59�
:�:���k�$�*�d�+�+����t�V�!�*+�C�	9�	9�	9�	9�!�#�x�0�0�0�	��t�V�!�*+�D�	:�	:�	:�	:�!�$��1�1�1�1�1r5c
�:�gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd	�gd
�gd�gd
�gd	�gd�gt��}tj|jt��}tj||dd|d
���t||��dS)Nr�r��rrr	rrrr�rr	r	r	rrr�r	r	r	r	r	rr	r
�rrr	rrrr	rrr
rr	r)r�rrr�rrs     r3�test_binary_erosion31z+TestNdimageMorphology.test_binary_erosion31�s���)�)��)�)��)�)���*�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�
+���{�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�
3�59�
:�:���k�$�*�d�+�+����t�V�!�*+�C��	J�	J�	J�	J�!�#�x�0�0�0�0�0r5c
��gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj||dd�	��}t||��dSr	rrs     r3�test_binary_erosion32z+TestNdimageMorphology.test_binary_erosion32�rr5c
�(�gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd	�gd
�gd
�gd
�gd�gd�gt��}tj||d|d
���}t||��dS)Nr�r�)rrrrrr	r	�rrrrrrr	r
)r	r	r	r	r	rr�r	r	r	r	r	r	rr)rrrr	rrr	rrr	r�)r��maskrr�r.r�r2r*r/r0s      r3�test_binary_erosion33z+TestNdimageMorphology.test_binary_erosion33sG���)�)��)�)��)�)���*�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�
+��&�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�
'���{�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�
3�59�
:�:���$�T�6�23�$�2�O�O�O��!�#�x�0�0�0�0�0r5c
�&�gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj||d|�	��}t||��dS)
Nr�r�r
rr
r�rrr	rr	rrr	)r�r*rr+s      r3�test_binary_erosion34z+TestNdimageMorphology.test_binary_erosion34sE���)�)��)�)��)�)���*�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�
+��&�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�
'���{�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�
3�59�
:�:���$�T�6�23�$�@�@�@��!�#�x�0�0�0�0�0r5c
��gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gt��}gd	�gd
�gd�gd
�gd	�gd�gd�g}tj||��}tj|tj|����}tj||��}tj|jt��}tj	||d
d
|d|���t||��dS)Nr�r�r
rr.rr
rr r!r"r#r	r)r�rrr�r*)r*r+r�logical_and�logical_not�
logical_orrKrLrr�r)r.r�r*r/�tmpr2r0s       r3�test_binary_erosion35z+TestNdimageMorphology.test_binary_erosion35:s����)�)��)�)��)�)���&�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�%�
'���{�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�
3�59�
:�:��%�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�$�
&���$�S�$�/�/�����e�&7��&=�&=�>�>���#�H�c�2�2���k�$�*�d�+�+����t�V�!�*+�C�&.�T�	;�	;�	;�	;�	"�#�x�0�0�0�0�0r5c���gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�gd�g}gd�gd�gd�gd�gd	�gd�gd�gd�g}tjgd�gd
�gd�gd�gd
�gd�gd�gd�g��}tj||��}tj|tj|����}tj||��}tj|||dd���}t||��dS)Nr�r�r��rrr	r	r	rrr)rrr	rr	rrrrrrrr�r�r�r�r�r�r	r)r*r�r�)r*r+r1r2r3rr�r)r.r�r*r4r/r2r0s       r3�test_binary_erosion36z+TestNdimageMorphology.test_binary_erosion36\s����)�)��)�)��)�)���)�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�*��(�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�)���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�7�7���$�S�$�/�/�����e�&7��&=�&=�>�>���#�H�c�2�2���$�T�6��23�H�F�F�F��!�#�x�0�0�0�0�0r5c��tjgd�gd�gd�gt���}tj|��}t	j|||ddd���}t
||u��tt	j||dd���|��dS)Nr�r�rArT)�	structurerrr��brute_force)r:rr�)r*r+r�
zeros_likerr�rr)r.�a�br0s    r3�test_binary_erosion37z+TestNdimageMorphology.test_binary_erosion37s����K����"���"���$�+/�
1�
1�
1��
��Q�����$�Q�!�A�!�26�D�J�J�J����q�������"�1��a�04�
6�
6�
6�
�	�	�	�	�	r5c���tjgd�gd�gd�gt���}d}tt��5tj||���}ddd��dS#1swxYwYdS)Nr�r�rAg@�r)r*r+rra�	TypeErrorrr�)r.r/r�_s    r3�test_binary_erosion38z+TestNdimageMorphology.test_binary_erosion38�s����{�I�I�I�$�9�9�$�9�9�&�-1�3�3�3���
�
�9�
%�
%�	D�	D��&�t�
�C�C�C�A�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D�	D����	D�	D�	D�	D�	D�	Ds�A�A#�&A#c
�`�tjd��}gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj|jt��}t
j||d	||�
��t||��dS�Nrr�r�r
rrr
rr	r)	r*rOr+rrKrLrr�r�r.rr�r2r/r0s      r3�test_binary_erosion39z+TestNdimageMorphology.test_binary_erosion39��#���[��^�^�
��)�)��)�)��)�)���*�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�)�
+���{�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�1�
3�59�
:�:���k�$�*�d�+�+����t�V�!�*4�S�	B�	B�	B�	B�!�#�x�0�0�0�0�0r5c
�`�tjd��}gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj|jt��}t
j||d	||�
��t||��dSrF)	r*�int64r+rrKrLrr�rrGs      r3�test_binary_erosion40z+TestNdimageMorphology.test_binary_erosion40�rIr5c�x�tjg|��}tj|��}t	|d��dSr��r*r�r�binary_dilationrr�s    r3�test_binary_dilation01z,TestNdimageMorphology.test_binary_dilation01�s9���z�"�e�$�$���%�d�+�+��!�#�q�)�)�)�)�)r5c�x�tjg|��}tj|��}t	|d��dS)Nr�r*rKrrOrr�s    r3�test_binary_dilation02z,TestNdimageMorphology.test_binary_dilation02�s9���{�2�u�%�%���%�d�+�+��!�#�q�)�)�)�)�)r5c�|�tjdg|��}tj|��}t	|dg��dSr�rNr�s    r3�test_binary_dilation03z,TestNdimageMorphology.test_binary_dilation03�s=���z�1�#�u�%�%���%�d�+�+��!�#��s�+�+�+�+�+r5c�|�tjdg|��}tj|��}t	|dg��dSr�rRr�s    r3�test_binary_dilation04z,TestNdimageMorphology.test_binary_dilation04�s=���{�A�3��&�&���%�d�+�+��!�#��s�+�+�+�+�+r5c�~�tjdg|��}tj|��}t	|gd���dS�Nrr�rNr�s    r3�test_binary_dilation05z,TestNdimageMorphology.test_binary_dilation05�s?���z�1�#�u�%�%���%�d�+�+��!�#�y�y�y�1�1�1�1�1r5c�~�tjdg|��}tj|��}t	|gd���dS)Nrr�rRr�s    r3�test_binary_dilation06z,TestNdimageMorphology.test_binary_dilation06�s?���{�A�3��&�&���%�d�+�+��!�#�y�y�y�1�1�1�1�1r5c��tjdg|��}d|d<tj|��}t	|gd���dS)Nrr	r�rRr�s    r3�test_binary_dilation07z,TestNdimageMorphology.test_binary_dilation07�sH���{�A�3��&�&����Q���%�d�+�+��!�#�y�y�y�1�1�1�1�1r5c��tjdg|��}d|d<d|d<tj|��}t	|gd���dS)Nr r	rr�rRr�s    r3�test_binary_dilation08z,TestNdimageMorphology.test_binary_dilation08�sQ���{�A�3��&�&����Q����Q���%�d�+�+��!�#����7�7�7�7�7r5c��tjdg|��}d|d<tj|��}t	|gd���dS)Nr r	�r	r	r	rrrRr�s    r3�test_binary_dilation09z,TestNdimageMorphology.test_binary_dilation09�sH���{�A�3��&�&����Q���%�d�+�+��!�#����7�7�7�7�7r5c��tjdg|��}d|d<tj|d���}t	|gd���dS)Nr r	r��r�r�rRr�s    r3�test_binary_dilation10z,TestNdimageMorphology.test_binary_dilation10�sM���{�A�3��&�&����Q���%�d�2�6�6�6��!�#����7�7�7�7�7r5c��tjdg|��}d|d<tj|d���}t	|gd���dS)Nr r	re�r	r	rrrrRr�s    r3�test_binary_dilation11z,TestNdimageMorphology.test_binary_dilation11sM���{�A�3��&�&����Q���%�d�1�5�5�5��!�#����7�7�7�7�7r5c��tjdg|��}d|d<gd�}tj||��}t	|gd���dS)Nr r	r�)r	rr	rrrRr�s     r3�test_binary_dilation12z,TestNdimageMorphology.test_binary_dilation12sS���{�A�3��&�&����Q�������%�d�F�3�3��!�#����7�7�7�7�7r5c��tjdg|��}d|d<gd�}tj||d���}t	|gd���dS)Nr r	r�r�r�rRr�s     r3�test_binary_dilation13z,TestNdimageMorphology.test_binary_dilation13sX���{�A�3��&�&����Q�������%�d�F��C�C�C��!�#����7�7�7�7�7r5c��tjdg|��}d|d<gd�}tj||d���}t	|gd���dS)Nr r	r�r�re)rr	rr	rrRr�s     r3�test_binary_dilation14z,TestNdimageMorphology.test_binary_dilation14sX���{�A�3��&�&����Q�������%�d�F�2�>�>�>��!�#����7�7�7�7�7r5c��tjdg|��}d|d<gd�}tj||dd���}t	|gd���dS)Nr r	r�r��r�r�r�rRr�s     r3�test_binary_dilation15z,TestNdimageMorphology.test_binary_dilation15$sd���{�A�3��&�&����Q�������%�d�F�-/�a�A�A�A��!�#����7�7�7�7�7r5c��tjddg|��}tj|��}t	|dgg��dSr�rNr�s    r3�test_binary_dilation16z,TestNdimageMorphology.test_binary_dilation16-sA���z�1�a�&�%�(�(���%�d�+�+��!�#���u�-�-�-�-�-r5c��tjddg|��}tj|��}t	|dgg��dSr�rRr�s    r3�test_binary_dilation17z,TestNdimageMorphology.test_binary_dilation173sA���{�A�q�6�5�)�)���%�d�+�+��!�#���u�-�-�-�-�-r5c��tjddg|��}tj|��}t	|gd�g��dS)Nr	rr�rNr�s    r3�test_binary_dilation18z,TestNdimageMorphology.test_binary_dilation189sC���z�1�a�&�%�(�(���%�d�+�+��!�#�	�	�	�{�3�3�3�3�3r5c��tjddg|��}tj|��}t	|gd�gd�gd�g��dSrYrNr�s    r3�test_binary_dilation19z,TestNdimageMorphology.test_binary_dilation19?s^���z�1�a�&�%�(�(���%�d�+�+��!�#�	�	�	�(1�	�	�(1�	�	�(3�	4�	4�	4�	4�	4r5c��tjddg|��}d|d<tj|��}t	|gd�gd�gd�g��dS)Nrr	�r	r	r�r�rRr�s    r3�test_binary_dilation20z,TestNdimageMorphology.test_binary_dilation20Gsg���{�A�q�6�5�)�)����T�
��%�d�+�+��!�#�	�	�	�(1�	�	�(1�	�	�(3�	4�	4�	4�	4�	4r5c���tjdd��}tjddg|��}d|d<tj||��}t|gd�gd�gd�g��dS)Nrrr	r|r�)rr�r*rKrOr)r.r
r�r/r0s     r3�test_binary_dilation21z,TestNdimageMorphology.test_binary_dilation21Ps{���2�1�a�8�8���{�A�q�6�5�)�)����T�
��%�d�F�3�3��!�#�	�	�	�(1�	�	�(1�	�	�(3�	4�	4�	4�	4�	4r5c���gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd	�gd
�gd�gd�gd�g|��}tj|��}t	||��dS)Nr��r	r	r	rrrrr�rr	rrrr	rr�rrrr	r	r	r	rr�r�r�r�r�r��r*r+rrOrr�s     r3�test_binary_dilation22z,TestNdimageMorphology.test_binary_dilation22Zs���,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���%�d�+�+��!�#�x�0�0�0�0�0r5c���gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd	�gd
�gd�gd�gd�g|��}tj|d�
��}t	||��dS)N�r	r	r	r	r	r	r	r	)r	r	r	rrrrr	)r	r	rrrr	rr	)r	rrr	r	r	r	r	)r	rr	r	r	r	rr	)r	rr	rrr	rr	r�r�r�r�r�r	r�r�r�s     r3�test_binary_dilation23z,TestNdimageMorphology.test_binary_dilation23os���,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���%�d��;�;�;��!�#�x�0�0�0�0�0r5c���gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd	�gd
�gd�gd�gd�g|��}tj|d�
��}t	||��dS)N�r	r	rrrrrr)r	rrrr	rrrr�)rr	r	r	r	rrr)r	r	r	r	r	r	rrrr�r�r�r�r�r|rer�r�s     r3�test_binary_dilation24z,TestNdimageMorphology.test_binary_dilation24�s���,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���%�d�6�:�:�:��!�#�x�0�0�0�0�0r5c���gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd	�gd
�gd�gd�gd�g|��}tj|dd
���}t	||��dS)N�r	r	rrrrr	r	�r	rrrr	rr	r	r��rr	r	r	r	rr	r	r��rr	rrr	rr	r	r�r�r�r�r�r|r	rqr�r�s     r3�test_binary_dilation25z,TestNdimageMorphology.test_binary_dilation25�s���,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���%�d�6��J�J�J��!�#�x�0�0�0�0�0r5c��tjdd��}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd	�gd
�gd�gd�g|��}tj||��}t||��dS)Nrr�)r	r	r	rr	r	r	r�rrr	r	r	r	r	rr�r�r�r�r�r�)rr�r*r+rOrr�s      r3�test_binary_dilation26z,TestNdimageMorphology.test_binary_dilation26�s����2�1�a�8�8��,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���%�d�F�3�3��!�#�x�0�0�0�0�0r5c���ddgddgg}gd�gd�gd�gd�gd�gd�gd	�gd	�g}tjgd	�gd�gd	�gd�gd
�gd�gd	�gd	�g|��}tj||��}t	||��dS)Nrr	r�r�r�r�r��rr	r	rr	r	rrr�r�r�r�r�s      r3�test_binary_dilation27z,TestNdimageMorphology.test_binary_dilation27�s����a�&��a�&���,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���%�d�F�3�3��!�#�x�0�0�0�0�0r5c��gd�gd�gd�gd�g}tjgd�gd�gd�gd�g|��}tj|d���}t	||��dS)N)r	r	r	r	)r	rrr	)rrrrr	r�r�r�s     r3�test_binary_dilation28z,TestNdimageMorphology.test_binary_dilation28�s��� �L�L� �L�L� �L�L� �L�L�"���{�L�L�L�(�L�L�(�L�L�(�L�L�*�,1�2�2���%�d��;�;�;��!�#�x�0�0�0�0�0r5c���ddgddgg}gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gt��}tj||d���}t||��dS)	Nrr	r��rrrr	r�rrr	r	rr�rrA�r*r+rrrOrrs     r3�test_binary_dilation29z,TestNdimageMorphology.test_binary_dilation29�����a�&��a�&���#�O�O�#�O�O�#�O�O�#�O�O�#�O�O�	%���{�O�O�O�+�O�O�+�O�O�+�O�O�+�O�O�	-�/3�	4�4��
�%�d�F�q�A�A�A��!�#�x�0�0�0�0�0r5c��ddgddgg}gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gt��}tj|jt��}tj||d|���t||��dS)	Nrr	r�r�r�r�r�rr�r*r+rrKrLrrOrrs     r3�test_binary_dilation30z,TestNdimageMorphology.test_binary_dilation30������a�&��a�&���#�O�O�#�O�O�#�O�O�#�O�O�#�O�O�	%���{�O�O�O�+�O�O�+�O�O�+�O�O�+�O�O�	-�/3�	4�4��
�k�$�*�d�+�+�����f��3�G�G�G�G�!�#�x�0�0�0�0�0r5c���ddgddgg}gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gt��}tj||d�	��}t||��dS)
Nrr	r�r�r��r	r	r	r	rr�rrAr�rs     r3�test_binary_dilation31z,TestNdimageMorphology.test_binary_dilation31r�r5c��ddgddgg}gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gt��}tj|jt��}tj||d|�	��t||��dS)
Nrr	r�r�r�r�r�rr�r�rs     r3�test_binary_dilation32z,TestNdimageMorphology.test_binary_dilation32r�r5c��gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gd�gt��}tjgd�gd�gd�gd�gd�gd�gd�gd�gt��}tjgd�gd�gd�gd�gd�gd�gd�gd�gt��}tj||d	|d
���}t||��dS)Nr�r�r�r��rrrrr	r	rrr7r��rrrrrrr	rr�r�rr*r�r�r+s      r3�test_binary_dilation33z,TestNdimageMorphology.test_binary_dilation33.s����)�)��)�)��)�)����;� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� :�<@�A�A���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8<�=�=���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8<�=�=���%�d�F�r�+/�a�A�A�A��!�#�x�0�0�0�0�0r5c�D�gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd	�gd�gd�gt��}tj|jt��}tj||d
|d���}t||��dS)
Nr�r�r��rr	r	rrrrrrr�r�r�r�r�r	r�r�r+s      r3�test_binary_dilation34z,TestNdimageMorphology.test_binary_dilation34Os$���)�)��)�)��)�)���-�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8<�=�=���{�4�:�t�,�,���%�d�F�r�+/�a�A�A�A��!�#�x�0�0�0�0�0r5c��gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd	�gd
�gd�gd�gd�g��}gd�gd�gd�gd�gd�gd�gd�gd�g}tj||��}tj|tj|����}tj||��}tjgd�gd�gd�gd	�gd
�gd�gd�gd�g|��}tj||d
d���}t||��dS)Nr�r�r�r�r�r�r�r�r�r�r�r�r|r	)r*r�r�)r*r+r1r2r3rrOr)r.r
r4r/r*r2r0s       r3�test_binary_dilation35z,TestNdimageMorphology.test_binary_dilation35hs���'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�'�)���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�7�7��)�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�(�*���$�S�$�/�/�����e�&7��&=�&=�>�>���#�H�c�2�2���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���%�d��-3�!�E�E�E��!�#�x�0�0�0�0�0r5c��gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gd�gt��}tjgd�gd�gd�gd�gd�gd�gd�gd�gt��}tjgd�gd�gd�gd�gd�gd�gd�gd�gt��}tj|||d	�
��}t||��dS)Nr�r�r�r�r�r7r�r�r�r*r�)r*r+rr�binary_propagationrr+s      r3�test_binary_propagation01z/TestNdimageMorphology.test_binary_propagation01�s����)�)��)�)��)�)����;� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� :�<@�A�A���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8<�=�=���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8<�=�=���(��v�.2��D�D�D��!�#�x�0�0�0�0�0r5c�B�gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd	�gd�gd�gt��}tj|jt��}tj|||d
���}t||��dS)Nr�r�r�r�rr�r�r�r�r	r�)r*r+rrKrLrr�rr+s      r3�test_binary_propagation02z/TestNdimageMorphology.test_binary_propagation02�s"���)�)��)�)��)�)���-�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8<�=�=���{�4�:�t�,�,���(��v�.2��D�D�D��!�#�x�0�0�0�0�0r5c���gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd	�gd�gd�gd�g|��}tj|��}t	||��dS)
Nr�r�r��rrrrr	r	r	rr�r�r�r��rrr	r	rr	rr)r*r+r�binary_openingrr�s     r3�test_binary_opening01z+TestNdimageMorphology.test_binary_opening01�����,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���$�T�*�*��!�#�x�0�0�0�0�0r5c��tjdd��}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gd�g|��}tj||��}t||��dS)	Nrr�r�)rr	r	r	rrrr�r	r	r	r	r	r	r	rr��rr	r	r	rr	r	rr�)rr�r*r+r�rr�s      r3�test_binary_opening02z+TestNdimageMorphology.test_binary_opening02������2�1�a�8�8��,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���$�T�6�2�2��!�#�x�0�0�0�0�0r5c���gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd	�gd
�gd�gd�gd�gd�gd�g|��}tj|��}t	||��dS)
Nr�r�)rr	r	r	rr	rrr�r�r�r�r�r�r�r�r�)r*r+r�binary_closingrr�s     r3�test_binary_closing01z+TestNdimageMorphology.test_binary_closing01�r�r5c��tjdd��}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd�gd�gd�g|��}tj||��}t||��dS)	Nrr�r�r�r�r�r�r�)rr�r*r+r�rr�s      r3�test_binary_closing02z+TestNdimageMorphology.test_binary_closing02r�r5c
�
�tjgd�gd�gd�gd�gd�gd�gd�gt��}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj|��}t||��dS)Nr�r�r��r*r+rr�binary_fill_holesr�r.r2r/r0s    r3�test_binary_fill_holes01z.TestNdimageMorphology.test_binary_fill_holes01!�����;� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8� 8�
 :�<@�
A�A���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�
6�8<�
=�=���'��-�-��!�#�x�0�0�0�0�0r5c
�
�tjgd�gd�gd�gd�gd�gd�gd�gt��}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj|��}t||��dS)Nr�r�r�r�r�r�s    r3�test_binary_fill_holes02z.TestNdimageMorphology.test_binary_fill_holes023r�r5c
�
�tjgd�gd�gd�gd�gd�gd�gd�gt��}tjgd�gd�gd�gd�gd�gd�gd�gt��}tj|��}t||��dS)Nr�r)rr	r	r	rr	r	r	)rrr	rrr	r	r	)rr	rr	rr	r	r	)rr	rr	rr	rr	r�r�s    r3�test_binary_fill_holes03z.TestNdimageMorphology.test_binary_fill_holes03Er�r5c��tjgd�gd�gd�g��}gd�gd�g}tj||���}t	gd�gd�gd	�g|��dS)
N�rrr r	r�r!rr^rr �r rrr!r	r��r	r	r��	footprint�rrr	r	r	�rrr	rr	�r r rrr	�r*r+r�grey_erosionr�r.r+r�rs    r3�test_grey_erosion01z)TestNdimageMorphology.test_grey_erosion01Ws�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��%�e�y�A�A�A��!�?�?�?�#2�?�?�#2�?�?�#4�5;�	=�	=�	=�	=�	=r5c��tjgd�gd�gd�g��}gd�gd�g}tj|||���t	gd�gd�gd	�g|��dS)
Nr�r�r�r�r�)r�rr�r�r�r�)r.r+r�s   r3�test_grey_erosion01_overlapz1TestNdimageMorphology.test_grey_erosion01_overlapas�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	���U�i��F�F�F�F�!�?�?�?�#2�?�?�#2�?�?�#4�5:�	<�	<�	<�	<�	<r5c��tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}t	gd�gd	�gd
�g|��dS)Nr�r�r�r�r�r��r�r:r�r�r�r��r.r+r�r:rs     r3�test_grey_erosion02z)TestNdimageMorphology.test_grey_erosion02k�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��%�e�y�09�;�;�;��!�?�?�?�#2�?�?�#2�?�?�#4�5;�	=�	=�	=�	=�	=r5c��tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}t	gd�gd	�gd
�g|��dS)Nr�r�r�r�r�r�r�rh)r	rrrr)rrrrrr�r�s     r3�test_grey_erosion03z)TestNdimageMorphology.test_grey_erosion03wr�r5c��tjgd�gd�gd�g��}gd�gd�g}tj||���}t	gd�gd�gd	�g|��dS)
Nr�r�r�r�r�r��r!r!r^r^r �r!r^rr^r!�rrrr!r!�r*r+r�
grey_dilationrr�s    r3�test_grey_dilation01z*TestNdimageMorphology.test_grey_dilation01�s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��&�u�	�B�B�B��!�?�?�?�#2�?�?�#2�?�?�#4�5;�	=�	=�	=�	=�	=r5c��tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}t	gd�gd	�gd
�g|��dS)Nr�r�r�r�r�r�r�r�r�r�r�r�s     r3�test_grey_dilation02z*TestNdimageMorphology.test_grey_dilation02�s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��&�u�	�1:�<�<�<��!�?�?�?�#2�?�?�#2�?�?�#4�5;�	=�	=�	=�	=�	=r5c��tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}t	gd�gd	�gd
�g|��dS)Nr�r�r�r�r�r�r�)rr�
r�r)rr�r^r�r)r^r^r^rrr�r�s     r3�test_grey_dilation03z*TestNdimageMorphology.test_grey_dilation03�s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��&�u�	�1:�<�<�<��!�#4�#4�#4�#4�#4�#4�#2�?�?�#4�5;�	=�	=�	=�	=�	=r5c���tjgd�gd�gd�g��}gd�gd�g}tj||���}tj||���}tj||���}t
||��dS�Nr�r�r�r�r�r��r*r+rr�r��grey_openingr�r.r+r�r4r2rs      r3�test_grey_opening01z)TestNdimageMorphology.test_grey_opening01�s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��"�5�I�>�>�>���(��	�B�B�B���%�e�y�A�A�A��!�(�F�3�3�3�3�3r5c�
�tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}tj|||���}tj|||���}t
||��dS�Nr�r�r�r�r�r�r�r��r.r+r�r:r4r2rs       r3�test_grey_opening02z)TestNdimageMorphology.test_grey_opening02�s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��"�5�I�-6�8�8�8���(��	�3<�>�>�>���%�e�y�09�;�;�;��!�(�F�3�3�3�3�3r5c���tjgd�gd�gd�g��}gd�gd�g}tj||���}tj||���}tj||���}t
||��dSr��r*r+rr�r��grey_closingrr�s      r3�test_grey_closing01z)TestNdimageMorphology.test_grey_closing01�s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��#�E�Y�?�?�?���'��y�A�A�A���%�e�y�A�A�A��!�(�F�3�3�3�3�3r5c�
�tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}tj|||���}tj|||���}t
||��dSr�rr�s       r3�test_grey_closing02z)TestNdimageMorphology.test_grey_closing02�s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��#�E�Y�.7�9�9�9���'��y�2;�=�=�=���%�e�y�09�;�;�;��!�(�F�3�3�3�3�3r5c�T�tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}tj|||���}||z
}tj|j|j��}tj||||���t||��dS�	Nr�r�r�r�r�r�r��r�r:r)
r*r+rr�r�rKrLr
�morphological_gradientr�r.r+r�r:�tmp1�tmp2r2rs        r3�test_morphological_gradient01z3TestNdimageMorphology.test_morphological_gradient01�s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��$�U�i�/8�:�:�:���#�E�Y�.7�9�9�9���$�;����U�[�%�+�6�6���&�u�	�1:�6�	K�	K�	K�	K�!�(�F�3�3�3�3�3r5c��tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}tj|||���}||z
}tj|||���}t
||��dSr�)r*r+rr�r�r
rrs        r3�test_morphological_gradient02z3TestNdimageMorphology.test_morphological_gradient02�s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��$�U�i�/8�:�:�:���#�E�Y�.7�9�9�9���$�;���/���:C�E�E�E��!�(�F�3�3�3�3�3r5c�`�tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}tj|||���}||zd|zz
}tj|j|j��}tj||||�	��t||��dS)
Nr�r�r�r�r�r�r�rr	)
r*r+rr�r�rKrLr
�morphological_laplacerrs        r3�test_morphological_laplace01z2TestNdimageMorphology.test_morphological_laplace01�s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��$�U�i�/8�:�:�:���#�E�Y�.7�9�9�9���$�;��U��*����U�[�%�+�6�6���%�e�y�09�&�	J�	J�	J�	J�!�(�F�3�3�3�3�3r5c� �tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}tj|||���}||zd|zz
}tj|||���}t
||��dS)	Nr�r�r�r�r�r�r�r)r*r+rr�r�rrrs        r3�test_morphological_laplace02z2TestNdimageMorphology.test_morphological_laplace02s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��$�U�i�/8�:�:�:���#�E�Y�.7�9�9�9���$�;��U��*���.�u�	�9B�D�D�D��!�(�F�3�3�3�3�3r5c�&�tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}||z
}tj|j|j��}tj||||���t||��dSr)	r*r+rr�rKrLr
�white_tophatrr�s       r3�test_white_tophat01z)TestNdimageMorphology.test_white_tophat01s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��"�5�I�-6�8�8�8���3�;����U�[�%�+�6�6����U�i�'0��	A�	A�	A�	A�!�(�F�3�3�3�3�3r5c���tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}||z
}tj|||���}t||��dSr�)r*r+rr�rrr�s       r3�test_white_tophat02z)TestNdimageMorphology.test_white_tophat02!s�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��"�5�I�-6�8�8�8���3�;���%�e�y�09�;�;�;��!�(�F�3�3�3�3�3r5c
�f�tjgd�gd�gd�gd�gd�gd�gd�gtj���}tjdtj���}tjgd�gd�gd�gd	�gd
�gd	�gd�gtj���}t	j||���}t
||��dS)
N�r	rrrrrrr
�rr	r	r	rr	rr(rA�rr)rr	r	rrrr)r	rrr	r	r	r)rr	r	rrrr	)rr	r	rr	rr	)rrrr	r	r	r	�r:)r*r+�bool_r�rrr�r.r+r:r2rs     r3�test_white_tophat03z)TestNdimageMorphology.test_white_tophat03.�����2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�2�
4�<A�;�
H�H�H���J�v�U�[�9�9�9�	��;� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5� 5�
 7�?D�k�
K�K�K���%�e�y�A�A�A���8�V�,�,�,�,�,r5c���tjdtj���}tjdtj���}tj|tj���}t
j|||���dS�Nr rAr)r:r)r*�eyer r��
empty_likerMrr�r.r+r:rs    r3�test_white_tophat04z)TestNdimageMorphology.test_white_tophat04B�e���	�!�5�;�/�/�/���J�v�U�[�9�9�9�	��!�%�u�}�=�=�=����U�i��G�G�G�G�G�Gr5c�&�tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}||z
}tj|j|j��}tj||||���t||��dSr)	r*r+rrrKrLr
�black_tophatrr�s       r3�test_black_tophat01z)TestNdimageMorphology.test_black_tophat01Js�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��"�5�I�-6�8�8�8����;����U�[�%�+�6�6����U�i�'0��	A�	A�	A�	A�!�(�F�3�3�3�3�3r5c���tjgd�gd�gd�g��}gd�gd�g}gd�gd�g}tj|||���}||z
}tj|||���}t||��dSr�)r*r+rrr,rr�s       r3�test_black_tophat02z)TestNdimageMorphology.test_black_tophat02Xs�����_�_�_�,�_�_�,�_�_�.�/�/���Y�Y�	�	�	�*�	��Y�Y�	�	�	�*�	��"�5�I�-6�8�8�8����;���%�e�y�09�;�;�;��!�(�F�3�3�3�3�3r5c
�f�tjgd�gd�gd�gd�gd�gd�gd�gtj���}tjdtj���}tjgd�gd�gd�gd�gd	�gd�gd
�gtj���}t	j||���}t
||��dS)Nrr
rr(rAr)rr	r	r	r	r	r	)r	rrrrrr	)r	rrrr	rr	r)r)r*r+r r�rr,rr!s     r3�test_black_tophat03z)TestNdimageMorphology.test_black_tophat03er#r5c���tjdtj���}tjdtj���}tj|tj���}t
j|||���dSr%)r*r&r r�r'rMrr,r(s    r3�test_black_tophat04z)TestNdimageMorphology.test_black_tophat04yr*r5c�6�gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd�gd�gd	�gd	�gd�g|��}tj|jt��}tj|||�
��t||��dS)Nr�r�r�)rr	rrrrbr�)rrr	r	r	r�)rr	r	r	r	�r)r*r+rKrLrr�binary_hit_or_missrr�s      r3�test_hit_or_miss01z(TestNdimageMorphology.test_hit_or_miss01�s����)�)��)�)��)�)���$�O�O�#�O�O�#�O�O�#�O�O�#�O�O�#�O�O�#�O�O�#�O�O�%���{�O�O�O�+�O�O�+�O�O�+�O�O�+�O�O�+�O�O�+�O�O�+�O�O�-�/4�5�5���k�$�*�d�+�+���"�4���<�<�<�<�!�(�C�0�0�0�0�0r5c���gd�gd�gd�g}gd�gd�gd�gd�g}tjgd�gd�gd�gd�g|��}tj||��}t	||��dS)Nr�r�r�r��rr	rrr	r	r	r)r	r	r	rrr	rrr��r*r+rr6rr�s      r3�test_hit_or_miss02z(TestNdimageMorphology.test_hit_or_miss02�s����)�)��)�)��)�)���-�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���(��v�6�6��!�(�C�0�0�0�0�0r5c��gd�gd�gd�g}gd�gd�gd�g}gd�gd�gd�gd�gd�gd�gd�gd�g}tjgd�gd�gd�gd	�gd
�gd�gd�gd�g|��}tj|||��}t	||��dS)
Nr�r�r�r�rr9r�r�r�r�r�r�r:)r.r
�struct1�struct2r2r/r0s       r3�test_hit_or_miss03z(TestNdimageMorphology.test_hit_or_miss03�s���9�9��9�9��9�9����9�9��9�9��9�9���-�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�,�.���{�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4�6�8=�>�>���(��w��@�@��!�(�C�0�0�0�0�0r5N)��__name__�
__module__�__qualname__�pytest�mark�parametrizer
r4r:r?rVr\r_rcrkrmrorsr|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�rrrrrrr$r&r,r/r5r8r?rDrHrLrPrSrUrWrZr\r^r`rcrfrirkrmrorrrtrvrxrzr}rr�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�rrrrrrrrrr"r)r-r/r1r3r7r;r?�r5r3rrs�������[���W�e�,�,�*0�*0�-�,�*0�X�[���W�e�,�,�*0�*0�-�,�*0�X�[���W�e�,�,�*0�*0�-�,�*0�X�[���W�e�,�,�./�./�-�,�./�`�[���W�e�,�,�)0�)0�-�,�)0�V�[���W�e�,�,�)0�)0�-�,�)0�V��� �[���W�e�,�,�"0�"0�-�,�"0�H�[���W�e�,�,�!0�!0�-�,�!0�F�[���W�e�,�,�./�./�-�,�./�`���(�[���W�e�,�,�*�*�-�,�*�.�[���W�e�,�,�./�./�-�,�./�`�[���W�e�,�,�,�,�-�,�,��[���W�e�,�,�,�,�-�,�,�-�-�-�
���(-�-�-�5�5�5�7�7�7�7�7�7�	:�	:�	:�	4�	4�	4�%�%�%��[���W�e�,�,�*�*�-�,�*�
�[���W�e�,�,�*�*�-�,�*�
�[���W�e�,�,�,�,�-�,�,�
�[���W�e�,�,�,�,�-�,�,�
�[���W�e�,�,�2�2�-�,�2�
�[���W�e�,�,�2�2�-�,�2�
�[���W�e�,�,�8�8�-�,�8�
�[���W�e�,�,�8�8�-�,�8�
�[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�.�.�-�,�.�
�[���W�e�,�,�.�.�-�,�.�
�[���W�e�,�,�4�4�-�,�4�
�[���W�e�,�,�4�4�-�,�4�
�[���W�e�,�,�4�4�-�,�4��[���W�e�,�,�4�4�-�,�4��[���W�e�,�,�1�1�-�,�1�(�[���W�e�,�,�1�1�-�,�1�*�[���W�e�,�,�1�1�-�,�1�,�[���W�e�,�,�1�1�-�,�1�.�[���W�e�,�,�1�1�-�,�1�01�1�1�,1�1�1�.1�1�1�,2�2�2�81�1�1�.1�1�1�,1�1�1�:1�1�1�: 1� 1� 1�D!1�!1�!1�F���D�D�D�1�1�1�01�1�1�0�[���W�e�,�,�*�*�-�,�*�
�[���W�e�,�,�*�*�-�,�*�
�[���W�e�,�,�,�,�-�,�,�
�[���W�e�,�,�,�,�-�,�,�
�[���W�e�,�,�2�2�-�,�2�
�[���W�e�,�,�2�2�-�,�2�
�[���W�e�,�,�2�2�-�,�2��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�8�8�-�,�8��[���W�e�,�,�.�.�-�,�.�
�[���W�e�,�,�.�.�-�,�.�
�[���W�e�,�,�4�4�-�,�4�
�[���W�e�,�,�4�4�-�,�4��[���W�e�,�,�4�4�-�,�4��[���W�e�,�,�4�4�-�,�4��[���W�e�,�,�1�1�-�,�1�(�[���W�e�,�,�1�1�-�,�1�(�[���W�e�,�,�1�1�-�,�1�(�[���W�e�,�,�1�1�-�,�1�(�[���W�e�,�,�1�1�-�,�1�*�[���W�e�,�,�1�1�-�,�1�,�[���W�e�,�,�
1�
1�-�,�
1�1�1�1�"1�1�1�$1�1�1�"1�1�1�$1�1�1�B1�1�1�2�[���W�e�,�,�&1�&1�-�,�&1�P1�1�1�B1�1�1�2�[���W�e�,�,�1�1�-�,�1�(�[���W�e�,�,�1�1�-�,�1�*�[���W�e�,�,�1�1�-�,�1�(�[���W�e�,�,�1�1�-�,�1�*1�1�1�$1�1�1�$1�1�1�$=�=�=�<�<�<�
=�
=�
=�
=�
=�
=�=�=�=�
=�
=�
=�
=�
=�
=�4�4�4�4�4�4�4�4�4�4�4�4�4�4�4� 
4�
4�
4�4�4�4� 
4�
4�
4�4�4�4�4�4�4�-�-�-�(H�H�H�4�4�4�4�4�4�-�-�-�(H�H�H��[���W�e�,�,�1�1�-�,�1�0�[���W�e�,�,�
1�
1�-�,�
1��[���W�e�,�,�1�1�-�,�1�1�1r5rc� �eZdZd�Zd�Zd�ZdS)�
TestDilateFixc�(�tjgd�gd�gd�gd�gd�gtj���|_tjd��|_tj|j|j���}|�tj��|_dS)Nr�r�r�rArr)	r*r+�uint8r��sq3x3rrO�view�
dilated3x3)r.rMs  r3�setup_methodzTestDilateFix.setup_method�s����[�/�/�/�"1�/�/�"1�/�/�"1�/�/�"1�/�/�	"3�;@�+�	G�G�G��
��Z��'�'��
��,�T�Z�4�:�N�N�N�
�$�/�/�%�+�6�6����r5c�v�tj|j|j���}t	||jdz��dS)Nrr	)rr�r+rKrrM�r.�results  r3�test_dilation_square_structurez,TestDilateFix.test_dilation_square_structure�s8���&�t�z�T�Z�H�H�H��!�&�$�/�A�*=�>�>�>�>�>r5c�f�tj|jd���}t||j��dS)Nr)�size)rr�r+rrMrPs  r3�test_dilation_scalar_sizez'TestDilateFix.test_dilation_scalar_size�s1���&�t�z��:�:�:��!�&�$�/�:�:�:�:�:r5N)r@rArBrNrRrUrFr5r3rHrH�sA������
7�
7�
7�?�?�?�
;�;�;�;�;r5rHc� �eZdZd�Zd�Zd�ZdS)�TestBinaryOpeningClosingc�8�tjdt���}d|dd�dd�f<d|d<||_tjd��|_t
j|j|jddd��|_t
j	|j|jddd��|_
dS)	N)r r rATr	r)rrrr)r*rKrr+r�rKrr��
opened_oldr��
closed_old)r.r=s  r3rNz%TestBinaryOpeningClosing.setup_method�s����K��d�+�+�+����!�A�#�q��s�(����$����
��Z��'�'��
�!�0���T�Z�12�D�!�=�=���!�0���T�Z�12�D�!�=�=����r5c
�z�tj|j|jdddddd��}t	||j��dS�Nr	rF)rr�r+rKrrY)r.�
opened_news  r3�test_opening_new_argumentsz3TestBinaryOpeningClosing.test_opening_new_arguments��A���+�D�J��
�A�t�,-�t�Q��?�?�
��:�t��7�7�7�7�7r5c
�z�tj|j|jdddddd��}t	||j��dSr\)rr�r+rKrrZ)r.�
closed_news  r3�test_closing_new_argumentsz3TestBinaryOpeningClosing.test_closing_new_arguments�r_r5N)r@rArBrNr^rbrFr5r3rWrW�sA������	=�	=�	=�8�8�8�
8�8�8�8�8r5rWc��tjdg��}tttj|d���tttj|d���dS�Nr	g�?rA��?)r*r�rarBrr��r/s r3�)test_binary_erosion_noninteger_iterationsrg��M���:�q�c�?�?�D��)�W�3�T�c�J�J�J�J��)�W�3�T�c�J�J�J�J�J�Jr5c��tjdg��}tttj|d���tttj|d���dSrd)r*r�rarBrrOrfs r3�*test_binary_dilation_noninteger_iterationsrj�sM���:�q�c�?�?�D��)�W�4�d�s�K�K�K�K��)�W�4�d�s�K�K�K�K�K�Kr5c��tjdg��}tttj|d���tttj|d���dSrd)r*r�rarBrr�rfs r3�)test_binary_opening_noninteger_iterationsrl	rhr5c��tjdg��}tttj|d���tttj|d���dSrd)r*r�rarBrr�rfs r3�)test_binary_closing_noninteger_iterationsrn	rhr5c�,�tjdg��}tj|dd���tj|dt	d�����ksJ�tj|dd���tj|dt	d�����ksJ�dS)Nr	rre)rr;r�)r*r�rr�rrfs r3�;test_binary_closing_noninteger_brute_force_passes_when_truerp	s����:�q�c�?�?�D��!�������	�	����S�	�	�	J�	J�	J�K�K�K�K��!�������	�	����S�	�	�	J�	J�	J�K�K�K�K�K�Kr5�function)r�rOr�r�rr r;FTc�p�tj�d��}|�ddd����t
��}t
t|��}|���}||||���}t||��|||||���t||��dS)N�{rr�d��low�highrT)r;r)r;rr)
r*�random�RandomState�randintrwr�getattrr�copyr)rqrr;�rstater/�ndi_func�	data_origr2s        r3�test_binary_input_as_outputr�#	s����\�
%�
%�c�
*�
*�F��>�>�a�a�c�>�2�2�9�9�$�?�?�D��w��)�)�H��	�	���I��x��+�*�M�M�M�H��t�Y�'�'�'�
�H�T�{�z�$�O�O�O�O��x��&�&�&�&�&r5c�`�tj�d��}|�ddd����t
��}|���}tj|��}t||��tj||���t||��dS)Nrsrrrtrur5)
r*rxryrzrwrr|rr6r)r}r/rr2s    r3�'test_binary_hit_or_miss_input_as_outputr�8	s���
�\�
%�
%�c�
*�
*�F��>�>�a�a�c�>�2�2�9�9�$�?�?�D��	�	���I��)�$�/�/�H��t�Y�'�'�'���t�D�1�1�1�1��x��&�&�&�&�&r5)r*�
numpy.testingrrrrrCrra�scipyr�r
rrHrWrgrjrlrnrprDrEr�r�rFr5r3�<module>r�s�������6�6�6�6�6�6�6�6�6�6�6�6�
�
�
�
�*�*�*�*�*�*�������������w"1�w"1�w"1�w"1�w"1�w"1�w"1�w"1�tE;�;�;�;�;�;�;�;�08�8�8�8�8�8�8�8�0K�K�K�L�L�L�K�K�K�K�K�K�
K�
K�
K������M�M�M���������1�v�.�.��������
�6�6�'�'�7�6�/�.�	��'�'�'�'�'�'r5

Youez - 2016 - github.com/yon3zu
LinuXploit