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

d�c����ddlZddlZddlmZmZmZmZmZmZddl	Z	ddl	m
Zddlm
Z
ddlmZdZdddd	d
dd�ZGd
�d��Zd�ZdS)�N)�assert_�assert_equal�assert_array_equal�assert_array_almost_equal�assert_allclose�suppress_warnings)�raises�)�types��-���q=�reflect�	symmetric�wrap�edge�constant)�mirrorr
�grid-mirror�	grid-wrap�nearest�
grid-constantc�'�eZdZej�ddgd�fdgd�fdgd�fdgd	�fd
gd�fdgd
�fdgd�fg��d���Zej�ddgd�fdgd�fdgd�fdgd�fd
gd�fdgd�fdgd�fg��d���Zej�dgd���ej�ded����d�����Z	ej�dedd����ej�de
��d�����Zej�dedd����ej�de
��d�����Zej�dedd����ej�de
��d �����Z
ej�dedd����ej�de
��d!�����Zej�dedd����ej�de
��d"�����Zej�ded#d����d$���Zej�ded#d����d%���Zej�ded#d����d&���Zej�ded#d����d'���Zej�ded#d����ej�dejejg��d(�����Zej�ded#d����d)���Zej�ded#d����d*���Zej�ded#d����d+���Zej�ded#d����d,���Zej�ded#d����d-���Zej�ded#d����d.���Zej�ded#d����d/���Zej�ded#d����d0���Zej�ded#d����d1���Z ej�ded#d����d2���Z!ej�ded#d����d3���Z"ej�ded#d����d4���Z#ej�ded#d����d5���Z$ej�ded#d����d6���Z%ej�ded#d����d7���Z&ej�ded#d����d8���Z'd9�Z(ej�dgd:���ej�ded����d;�����Z)d<�Z*d=�Z+ej�ded#d����ej�dejejg��d>�����Z,ej�ded#d����d?���Z-d@�Z.dA�Z/dB�Z0ej�1dCe2j3vpej4d#��j5dDkdE�F��dG���Z6ej�ded#d����dH���Z7ej�ded#d����dI���Z8ej�ded#d����dJ���Z9ej�ded#d����dK���Z:ej�ded#d����ej�dejejg��dL�����Z;ej�ded#d����dM���Z<ej�ded#d����dN���Z=ej�ded#d����dO���Z>ej�ded#d����dP���Z?ej�ded#d����dQ���Z@ej�ded#d����dR���ZAej�ded#d����dS���ZBej�ded#d����dT���ZCej�ded#d����dU���ZDej�ded#d����dV���ZEej�ded#d����dW���ZFej�ded#d����dX���ZGej�ded#d����dY���ZHej�ded#d����dZ���ZIej�ded#d����d[���ZJej�ded#d����d\���ZKej�ded#d����d]���ZLej�ded#d����d^���ZMej�ded#d����d_���ZNej�ded#d����d`���ZOej�ded#d����da���ZPdb�ZQdc�ZRdd�ZSde�ZTdf�ZUej�dggdh���ej�ded#d����di�����ZVej�ded#d����dj���ZWej�ded#d����dk���ZXej�ded#d����dl���ZYej�ded#d����dm���ZZej�ded#d����dn���Z[ej�ded#d����ej�dejejg��do�����Z\ej�ded#d����ej�dddg��ej�dejejg��dp�������Z]ej�ded#d����dq���Z^ej�ded#d����dr���Z_ej�ded#d����ds���Z`ej�ded#d����dt���Zaej�dggdh���ej�ded#d����du�����Zbej�dggdh���ej�ded#d����dv�����Zcdw�Zdej�ded#d����dx���Zeej�ded#d����ej�dydzd{g��d|�����Zfej�dgd:���ej�ded����d}�����Zgej�ded#d����d~���Zhd�Zid��Zjej�ded#d����ej�dejejg��d������Zkd��Zld��Zmd��Znej�d�gd����ej�dgd����d������Zoej�d�d�d�g��ej�d�gd����ej�dgd����d��������Zpej�dddg��d����Zqej�ded#d����d����Zrej�ded#d����d����Zsej�ded#d����ej�dejejg��d������Ztej�ded#d����d����Zuej�ded#d����d����Zvej�ded#d����d����Zwej�ded#d����d����Zxej�ded#d����d����Zyd��Zzd��Z{d��Z|d�S)��TestNdimageInterpolationzmode, expected_valuer)��?�@�@�rrrr)rrrrrrrr)rrrrrrrr)rrrrrrrr
)rrrrrrrr)rrr���rrrr)rrrrrrrc��d�}tjgd���}t|tj||d|dd�����dS)Nc��|ddzfS)Nr��?���xs �H/usr/lib/python3/dist-packages/scipy/ndimage/tests/test_interpolation.py�shiftz7TestNdimageInterpolation.test_boundaries.<locals>.shift&����a�D�3�J�=� �)r
���@r)�r
)�cval�mode�output_shape�order��numpy�arrayr�ndimage�geometric_transform��selfr-�expected_valuer%�datas     r$�test_boundariesz(TestNdimageInterpolation.test_boundariesso��	!�	!�	!��{�=�=�=�)�)�����'��e�"�4�59��
D�
D�
D�	E�	E�	E�	E�	Er')r
r
r(r))r)r
r(r))rr
r(r))r(r
r(r))rr
r(r)c
��d�}tjgd���}t|tj||d|d�����dS)Nc��|ddz
fS)Nrg�������?r!r"s r$r%z8TestNdimageInterpolation.test_boundaries2.<locals>.shift:r&r'�r
r(r)rr�r)r,r-r.r0r5s     r$�test_boundaries2z)TestNdimageInterpolation.test_boundaries2/se��	!�	!�	!��{�<�<�<�(�(�����'��e�"�4�59�
;�
;�
;�	<�	<�	<�	<�	<r'r-)rr
rrrrr/�c�v�tjddt���}tjddd���}t	j||g||���}d	}t�|��}tj|||�
��}t	j|||zg||���}	|dkrdnd
}
t||	d|
���dS)z$Tests based on examples from gh-2640i����r+��dtypei�����i�)�num�r/r-� �r-rg�h㈵��>r�H�����z>)�rtol�atolN)
r1�arange�float�linspacer3�map_coordinates�ndimage_to_numpy_mode�get�padr)r6r-r/r8r#�y�npad�pad_mode�padded�expectedrJs           r$�test_boundary_spline_accuracyz6TestNdimageInterpolation.test_boundary_spline_accuracyCs����|�B���/�/�/���N�2�r�t�,�,�,���#�D�1�#�U��F�F�F����(�,�,�T�2�2����4��H�5�5�5���*�6�D�1�H�:�U�04�6�6�6����.�.�t�t�E����8�$�T�:�:�:�:�:�:r'r(rBc�|�tjg|��}tj||���}t	|d��dS)N�r/r
�r1�onesr3�
spline_filterr�r6rBr/r8�outs     r$�
test_spline01z&TestNdimageInterpolation.test_spline01Ws@���z�"�e�$�$���#�D��6�6�6��!�#�q�)�)�)�)�)r'c��tjdg|��}tj||���}t	|dg��dS�Nr
rY)r1r2r3r\rr]s     r$�
test_spline02z&TestNdimageInterpolation.test_spline02^sD���{�A�3��&�&���#�D��6�6�6��!�#��s�+�+�+�+�+r'c�~�tjg|��}tj|||���}t	|d��dS)N��outputr
rZr]s     r$�
test_spline03z&TestNdimageInterpolation.test_spline03esB���z�"�e�$�$���#�D�%��>�>�>��!�#�q�)�)�)�)�)r'c��tjdg|��}tj||��}t	|gd���dS)Nr�r
r
r
r
rZr]s     r$�
test_spline04z&TestNdimageInterpolation.test_spline04lsC���z�1�#�u�%�%���#�D�%�0�0��!�#�|�|�|�4�4�4�4�4r'c��tjddg|��}tj||���}t	|gd�gd�gd�gd�g��dS)NrrYrhrZr]s     r$�
test_spline05z&TestNdimageInterpolation.test_spline05ssl���z�1�a�&�%�(�(���#�D��6�6�6��!�#����(4���(4���(4���(6�	7�	7�	7�	7�	7r'rc��tjdg��}d�}tj|||j|���}t|dg��dS)Nr
c��|S�Nr!r"s r$�mappingzDTestNdimageInterpolation.test_geometric_transform01.<locals>.mapping�����Hr'rY�r1r2r3r4�shaper�r6r/r8ror^s     r$�test_geometric_transform01z3TestNdimageInterpolation.test_geometric_transform01}s^���{�A�3����	�	�	��)�$����05�7�7�7��!�#��s�+�+�+�+�+r'c��tjdg��}d�}tj|||j|���}t|gd���dS)Nrc��|Srnr!r"s r$rozDTestNdimageInterpolation.test_geometric_transform02.<locals>.mapping�rpr'rYrh�r1r[r3r4rrrrss     r$�test_geometric_transform02z3TestNdimageInterpolation.test_geometric_transform02�s^���z�1�#����	�	�	��)�$����05�7�7�7��!�#�|�|�|�4�4�4�4�4r'c��tjdg��}d�}tj|||j|���}t|gd���dS)Nrc��|ddz
fS�Nrr
r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform03.<locals>.mapping�����a�D�1�H�;�r'rY�rr
r
r
rwrss     r$�test_geometric_transform03z3TestNdimageInterpolation.test_geometric_transform03�s^���z�1�#����	�	�	��)�$����05�7�7�7��!�#�|�|�|�4�4�4�4�4r'c��tjgd���}d�}tj|||j|���}t|gd���dS)N�rr
r)r(c��|ddz
fSr{r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform04.<locals>.mapping�r|r'rY�rrr
r)rqrss     r$�test_geometric_transform04z3TestNdimageInterpolation.test_geometric_transform04�sb���{�<�<�<�(�(��	�	�	��)�$����05�7�7�7��!�#�|�|�|�4�4�4�4�4r'c�"�tjgd�gd�gd�g|���}tjgd�gd�gd�g|���}|jjdkr|d|zz}|d|zz}d�}t	j|||j|���}t||��dS)NrhrAr}�c��?c�(�|d|ddz
fSr{r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform05.<locals>.mapping�����a�D�!�A�$��(�#�#r'rY)r1r2rB�kindr3r4rrr)r6r/rBr8rVror^s       r$�test_geometric_transform05z3TestNdimageInterpolation.test_geometric_transform05�s����{�L�L�L�(�L�L�(�L�L�*�16�8�8�8���;���� ,��� ,��� .�5:�<�<�<���:�?�c�!�!��B��I��D���X�
�%�H�	$�	$�	$��)�$����05�7�7�7��!�#�x�0�0�0�0�0r'c��tjgd�gd�gd�g��}d�}tj|||j|���}t|gd�gd�gd�g��dS)	Nr��r+r?���r)r�r)r?c�(�|d|ddz
fSr{r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform06.<locals>.mapping�r�r'rYr��rr+r?r��rr)r�r)rqrss     r$�test_geometric_transform06z3TestNdimageInterpolation.test_geometric_transform06�����{�L�L�L�(�L�L�(�L�L�*�+�+��	$�	$�	$��)�$����05�7�7�7��!�#����(4���(4���(6�	7�	7�	7�	7�	7r'c��tjgd�gd�gd�g��}d�}tj|||j|���}t|gd�gd�gd�g��dS)Nr�r�r�c�(�|ddz
|dfSr{r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform07.<locals>.mapping�����a�D�1�H�a��d�#�#r'rY�rrrrrqrss     r$�test_geometric_transform07z3TestNdimageInterpolation.test_geometric_transform07�r�r'c��tjgd�gd�gd�g��}d�}tj|||j|���}t|gd�gd�gd�g��dS)	Nr�r�r�c�.�|ddz
|ddz
fSr{r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform08.<locals>.mapping�����a�D�1�H�a��d�Q�h�'�'r'rYr�r�r�rqrss     r$�test_geometric_transform08z3TestNdimageInterpolation.test_geometric_transform08�s����{�L�L�L�(�L�L�(�L�L�*�+�+��	(�	(�	(��)�$����05�7�7�7��!�#����(4���(4���(6�	7�	7�	7�	7�	7r'c���tjgd�gd�gd�g��}d�}|dkrtj||���}n|}tj|||j|d���}t
|gd	�gd
�gd�g��dS)Nr�r�r�c�.�|ddz
|ddz
fSr{r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform10.<locals>.mapping�r�r'r
rYF�r/�	prefilterr�r�r�)r1r2r3r\r4rrr)r6r/r8ro�filteredr^s      r$�test_geometric_transform10z3TestNdimageInterpolation.test_geometric_transform10�s����{�L�L�L�(�L�L�(�L�L�*�+�+��	(�	(�	(�
�A�I�I��,�T��?�?�?�H�H��H��)�(�G�T�Z�05��H�H�H��!�#����(4���(4���(6�	7�	7�	7�	7�	7r'c��tjdgtj��}d�}tj||dg|���}t|gd���dS)Nr(c��|ddzfS�Nrr(r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform13.<locals>.mappings���a�D�A�I�<�r'rrYrh)r1r[�float64r3r4rrss     r$�test_geometric_transform13z3TestNdimageInterpolation.test_geometric_transform13�s]���z�1�#�u�}�-�-��	 �	 �	 ��)�$��!��E�J�J�J��!�#�|�|�|�4�4�4�4�4r'c�j�gd�}d�}tj||dg|���}t|gd���dS)N�r
r�r(r?r)r+rrc��d|dzfS)Nr(rr!r"s r$rozDTestNdimageInterpolation.test_geometric_transform14.<locals>.mappings����!��H�;�r'rrYr<�r3r4rrss     r$�test_geometric_transform14z3TestNdimageInterpolation.test_geometric_transform14sS��'�'�'��	�	�	��)�$��!��E�J�J�J��!�#�|�|�|�4�4�4�4�4r'c�|�gd�}d�}tj||dg|���}t|ddd�gd���dS)Nr<c��|ddzfSr�r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform15.<locals>.mappingr|r'r�rYr(r�rss     r$�test_geometric_transform15z3TestNdimageInterpolation.test_geometric_transform15s[���|�|��	�	�	��)�$��!��E�J�J�J��!�#�c�c��c�(�L�L�L�9�9�9�9�9r'c��gd�gd�gd�g}d�}tj||d|���}t|ddgd	d
gddgg��dS)
Nr<�r�r?r+r��g"@�
��c�(�|d|ddzfS�Nrr
r(r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform16.<locals>.mapping!r�r'�r)r(rYr
r)r�r+�	r�r�rss     r$�test_geometric_transform16z3TestNdimageInterpolation.test_geometric_transform16sz��������!�!�!�#��	$�	$�	$��)�$���05�7�7�7��!�#��A���A���B��'@�A�A�A�A�Ar'c�x�gd�gd�gd�g}d�}tj||d|���}t|gd�g��dS)Nr<r��r�r�r�r�c�(�|ddz|dfS�Nrr(r
r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform17.<locals>.mapping.r�r'�r
rrYr�rss     r$�test_geometric_transform17z3TestNdimageInterpolation.test_geometric_transform17(sk�����������!��	$�	$�	$��)�$���05�7�7�7��!�#����~�6�6�6�6�6r'c�x�gd�gd�gd�g}d�}tj||d|���}t|ddgg��dS)	Nr<r�r�c�.�|ddz|ddzfSr�r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform18.<locals>.mapping;r�r'�r
r(rYr
r)r�rss     r$�test_geometric_transform18z3TestNdimageInterpolation.test_geometric_transform185sk�����������!��	(�	(�	(��)�$���05�7�7�7��!�#��A��x�0�0�0�0�0r'c��gd�gd�gd�g}d�}tj||d|���}t|dddd�f|��dS)	Nr<r�r�c�(�|d|ddzfSr�r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform19.<locals>.mappingHr�r'�r)r�rY.r(r�rss     r$�test_geometric_transform19z3TestNdimageInterpolation.test_geometric_transform19Bss�����������!��	$�	$�	$��)�$���05�7�7�7��!�#�c�3�3�Q�3�h�-��6�6�6�6�6r'c��gd�gd�gd�g}d�}tj||d|���}t|ddd�df|��dS)	Nr<r�r�c�(�|ddz|dfSr�r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform20.<locals>.mappingUr�r'�r?rrYr(.r�rss     r$�test_geometric_transform20z3TestNdimageInterpolation.test_geometric_transform20Oss�����������!��	$�	$�	$��)�$���05�7�7�7��!�#�c�c��c�3�h�-��6�6�6�6�6r'c��gd�gd�gd�g}d�}tj||d|���}t|ddd�ddd�f|��dS)Nr<r�r�c�.�|ddz|ddzfSr�r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform21.<locals>.mappingbr�r'�r?r�rYr(r�rss     r$�test_geometric_transform21z3TestNdimageInterpolation.test_geometric_transform21\sy�����������!��	(�	(�	(��)�$���05�7�7�7��!�#�c�c��c�3�3�Q�3�h�-��6�6�6�6�6r'c���tjgd�gd�gd�gtj��}d�}d�}tj||d|���}tj||d|���}t||��dS)	Nr<r�r�c�.�|ddz|ddzfSr�r!r"s r$�mapping1zETestNdimageInterpolation.test_geometric_transform22.<locals>.mapping1or�r'c�.�|ddz|ddzfSr�r!r"s r$�mapping2zETestNdimageInterpolation.test_geometric_transform22.<locals>.mapping2rr�r'r�rY�r)r)r1r2r�r3r4r)r6r/r8r�r�r^s      r$�test_geometric_transform22z3TestNdimageInterpolation.test_geometric_transform22is����{�L�L�L�(�L�L�+�O�O�-�.3�m�=�=��	(�	(�	(�	(�	(�	(��)�$��*0��?�?�?���)�#�x�*0��?�?�?��!�#�t�,�,�,�,�,r'c��gd�gd�gd�g}d�}tj||d|���}|�tj��}t|ddg��dS)	Nr<r�r�c��d|ddzfS)Nr
rr(r!r"s r$rozDTestNdimageInterpolation.test_geometric_transform23.<locals>.mapping�����q��t�a�x�=� r'�r(rYr�r+)r3r4�astyper1�int32rrss     r$�test_geometric_transform23z3TestNdimageInterpolation.test_geometric_transform23{su�����������!��	!�	!�	!��)�$���U�K�K�K���j�j���%�%��!�#��1�v�.�.�.�.�.r'c	�~�gd�gd�gd�g}d�}tj||d|dddi�	��}t|d
dg��dS)Nr<r�r�c��||d|zfS)Nrr!)r#�a�bs   r$rozDTestNdimageInterpolation.test_geometric_transform24.<locals>.mapping�r�r'r�)r
r�r()r/�extra_arguments�extra_keywordsr�r+r�rss     r$�test_geometric_transform24z3TestNdimageInterpolation.test_geometric_transform24�st�����������!��	!�	!�	!��)��'�4�u�d���8�%�%�%��	"�#��1�v�.�.�.�.�.r'c���tjgd�gd�gt���}d�}tjgd�gd�g��}tt	j||dd�	��|��dS)
N�r
r(r)�rr�r?rAc�.�|ddz
|ddz
fS)Nrr r
r!r"s r$rozWTestNdimageInterpolation.test_geometric_transform_grid_constant_order1.<locals>.mapping�����a�D�3�J�!�A�$��*�-�-r'�g�?g�?��?�r�g@r*rr
�r-r/)r1r2rLrr3r4)r6r#ro�expected_results    r$�-test_geometric_transform_grid_constant_order1zFTestNdimageInterpolation.test_geometric_transform_grid_constant_order1�s����K����"���$�+0�
2�
2�
2��	.�	.�	.� �+�'9�'9�'9�'9�'9�'9�';�<�<��!��'��7��./�
1�
1�
1��	
�	
�	
�	
�	
r')rrrrr
c��tjdt����dd��}d�}d}t�|��}tj|||���}tt||��g|j	z��}tj||||���|}	ttj||||���|	d�	��dS)
N�rAr�c�.�|ddz
|ddzfS)Nr皙�����?r
gffffff@r!r"s r$rozLTestNdimageInterpolation.test_geometric_transform_vs_padded.<locals>.mapping�r�r'�rGr�rH�rI)
r1rKrL�reshaperOrPrQ�tuple�slice�ndimr3r4r)
r6r/r-r#rorSrT�xp�center_slicer�s
          r$�"test_geometric_transform_vs_paddedz;TestNdimageInterpolation.test_geometric_transform_vs_padded�s���
�L��E�*�*�*�2�2�2�r�:�:��	.�	.�	.�
��(�,�,�T�2�2��
�Y�q�$�X�
.�
.�
.���e�D�4�%�0�0�1�A�F�:�;�;��!�5���d�%�1�1�1�1=�?��	��'��7��.3�
5�
5�
5���		
�	
�	
�	
�	
�	
r'c��tjdg��}d�}|j|j���tj|��tj|���|j�����fD]6}t
j|||j|���}|�|n|}t|dg���7dS)Nr
c��|Srnr!r"s r$rozcTestNdimageInterpolation.test_geometric_transform_endianness_with_output_parameter.<locals>.mapping�rpr'rd)
r1r2rB�newbyteorder�
empty_liker�r3r4rrr)r6r8ror^�returned�results      r$�9test_geometric_transform_endianness_with_output_parameterzRTestNdimageInterpolation.test_geometric_transform_endianness_with_output_parameter�s����{�A�3����	�	�	��J��
� 7� 7� 9� 9��$�T�*�*��$�T�*�*�1�1�$�*�2I�2I�2K�2K�L�L�N�	3�	3�C��2�4��$�*�:=�?�?�?�H�$�,�S�S�(�F�%�f�q�c�2�2�2�2�
	3�	3r'c���tjdg��}d�}tj||d���}t	|jtjd��u��t
|dg��dS)Nr
c��|Srnr!r"s r$rozUTestNdimageInterpolation.test_geometric_transform_with_string_output.<locals>.mapping�rpr'�frd)r1r2r3r4rrBr)r6r8ror^s    r$�+test_geometric_transform_with_string_outputzDTestNdimageInterpolation.test_geometric_transform_with_string_output�sr���{�A�3����	�	�	��)�$���D�D�D����	�U�[��-�-�-�.�.�.�!�#��s�+�+�+�+�+r'c�D�tjgd�gd�gd�g��}tjgd�gd�gd�g��}|jjdkr|d|zz
}|d|zz
}tj|j��}|d	z}t
j|||�
��}t||��dS)Nr�r�r�r�r�r�r�r�r
rY)	r1r2rBr��indicesrrr3rNr)r6r/rBr8rV�idxr^s       r$�test_map_coordinates01z/TestNdimageInterpolation.test_map_coordinates01�s����{�L�L�L�(�L�L�(�L�L�*�+�+���;���� ,��� ,��� .�/�/���:�?�c�!�!��"�t�)�#�D��"�x�-�/�H��m�D�J�'�'���q����%�d�C�u�=�=�=��!�#�x�0�0�0�0�0r'c��tjgd�gd�gd�g��}tj|jtj��}|dz}tj|d|���}tj|||���}t||��dS)Nr�r�r�r rY)	r1r2rrrr�r3r%rNr)r6r/r8r�out1�out2s      r$�test_map_coordinates02z/TestNdimageInterpolation.test_map_coordinates02�s����{�L�L�L�(�L�L�(�L�L�*�+�+���m�D�J��
�6�6���s�
���}�T�3�e�4�4�4���&�t�S��>�>�>��!�$��-�-�-�-�-r'c
�P�tjgd�gd�gd�gd���}tj|j��dz
}t	j||��}t
|gd�gd�gd	�g��t
|t	j|d
����tj|ddd�j��dz
}t	j|ddd�|��}t
|gd�gd�g��t
|t	j|ddd�d
����tj|dd�ddd�fj��dz
}t	j|dd�ddd�f|��}t
|ddgdd
gddgg��t
|t	j|dd�ddd�fd
����dS)Nr�r�r��FrYr
r�r�r��r
r
r(rrr+)r1r2rrrr3rNrr%�r6r8rr^s    r$�test_map_coordinates03z/TestNdimageInterpolation.test_map_coordinates03�s����{�L�L�L�(�L�L�(�L�L�*�14�6�6�6���m�D�J�'�'�!�+���%�d�C�0�0��!�#����(4���(4���(6�	7�	7�	7�	"�#�w�}�T�6�'B�'B�C�C�C��m�D���1��I�O�,�,�q�0���%�d�3�3�Q�3�i��5�5��!�#����(4���(6�	7�	7�	7�!�#�w�}�T�#�#�A�#�Y��'G�'G�H�H�H��m�D����C�C�a�C��L�.�/�/�!�3���%�d�1�1�1�c�c��c�6�l�C�8�8��!�#��A���A���A��'?�@�@�@�!�#�w�}�T�!�!�!�S�S�q�S�&�\�6�'J�'J�K�K�K�K�Kr'c���tjddgddgg��}tjddgddgg��}tj|j��}|dz}|j|j���tj|��tj|���|j�����fD]/}tj	|||���}|�|n|}t||���0dS)Nr
r(r+r?rrd)r1r2rrrrBrrr�r3rNr)r6r8rVrr^rrs       r$�5test_map_coordinates_endianness_with_output_parameterzNTestNdimageInterpolation.test_map_coordinates_endianness_with_output_parameters����{�Q��F�Q��F�+�,�,���;��A���A��/�0�0���m�D�J�'�'���q����J��J�#�#�%�%���X�&�&���X�&�&�-�-�h�n�.I�.I�.K�.K�L�L�	
�	8�	8�C��.�t�S��E�E�E�H�$�,�S�S�(�F�%�f�h�7�7�7�7�	8�	8r'c��tjdgg��}tj|j��}t	j||d���}t
|jtjd��u��t|dgg��dS�Nr
rrd)	r1r2rrrr3rNrrBrrs    r$�'test_map_coordinates_with_string_outputz@TestNdimageInterpolation.test_map_coordinates_with_string_outputsv���{�Q�C�5�!�!���m�D�J�'�'���%�d�C��<�<�<����	�U�[��-�-�-�.�.�.�!�#���u�-�-�-�-�-r'�win32r�z2do not run on 32 bit or windows (no sparse memory))�reasonc�,�	d}tj|dztj����||��}d||dz
d�|dz
d�f<t	j||dz
g|dz
ggd���dS#t$r}tjd	��|�d}~wwxYw)
Ni0ur(rArr)rr
rYzNot enough memory available)	r1�empty�float32r�r3rN�MemoryError�pytest�skip)r6�nr��es    r$�test_map_coordinates_large_dataz8TestNdimageInterpolation.test_map_coordinates_large_data$s���
	D��A���A�q�D��
�6�6�6�>�>�q�!�D�D�A� !�A�a�!�e�f�f�a�!�e�f�f�n���#�A��S��	�A��G�9�'=�Q�G�G�G�G�G�G���	D�	D�	D��+�;�<�<�!�C�����	D���s�A+A/�/
B�9B�Bc��tjdg��}tj|dgg|���}t	|dg��dSra�r1r2r3�affine_transformr�r6r/r8r^s    r$�test_affine_transform01z0TestNdimageInterpolation.test_affine_transform012sF���{�A�3�����&�t�q�c�U�%�@�@�@��!�#��s�+�+�+�+�+r'c��tjdg��}tj|dgg|���}t	|gd���dS)Nrr
rYrh�r1r[r3r)rr*s    r$�test_affine_transform02z0TestNdimageInterpolation.test_affine_transform028sF���z�1�#�����&�t�q�c�U�%�@�@�@��!�#�|�|�|�4�4�4�4�4r'c��tjdg��}tj|dggd|���}t	|gd���dS)Nrr
rrYr}r-r*s    r$�test_affine_transform03z0TestNdimageInterpolation.test_affine_transform03>sH���z�1�#�����&�t�q�c�U�B�e�D�D�D��!�#�|�|�|�4�4�4�4�4r'c��tjgd���}tj|dggd|���}t	|gd���dS)Nr�r
rrYr�r(r*s    r$�test_affine_transform04z0TestNdimageInterpolation.test_affine_transform04DsL���{�<�<�<�(�(���&�t�q�c�U�B�e�D�D�D��!�#�|�|�|�4�4�4�4�4r'c�"�tjgd�gd�gd�g|���}tjgd�gd�gd�g|���}|jjdkr|d|zz}|d|zz}t	j|ddgddggddg|�	��}t
||��dS)
NrhrAr}r�r�r
rrrY)r1r2rBr�r3r)r�r6r/rBr8rVr^s      r$�test_affine_transform05z0TestNdimageInterpolation.test_affine_transform05Js����{�L�L�L�(�L�L�(�L�L�*�16�8�8�8���;���� ,��� ,��� .�5:�<�<�<���:�?�c�!�!��B��I��D���X�
�%�H��&�t�q�!�f�q�!�f�-=�()�2�w�e�=�=�=��!�#�x�0�0�0�0�0r'c��tjgd�gd�gd�g��}tj|ddgddggddg|���}t	|gd�gd	�gd
�g��dS)Nr�r�r�r
rrrYr�r�r�r(r*s    r$�test_affine_transform06z0TestNdimageInterpolation.test_affine_transform06Zs����{�L�L�L�(�L�L�(�L�L�*�+�+���&�t�q�!�f�q�!�f�-=�()�2�w�e�=�=�=��!�#����(4���(4���(6�	7�	7�	7�	7�	7r'c��tjgd�gd�gd�g��}tj|ddgddggddg|���}t	|gd�gd�gd�g��dS)	Nr�r�r�r
rrrYr�r(r*s    r$�test_affine_transform07z0TestNdimageInterpolation.test_affine_transform07es����{�L�L�L�(�L�L�(�L�L�*�+�+���&�t�q�!�f�q�!�f�-=�(*�A�w�e�=�=�=��!�#����(4���(4���(6�	7�	7�	7�	7�	7r'c��tjgd�gd�gd�g��}tj|ddgddggddg|���}t	|gd�gd	�gd
�g��dS)Nr�r�r�r
rrrYr�r�r�r(r*s    r$�test_affine_transform08z0TestNdimageInterpolation.test_affine_transform08ps����{�L�L�L�(�L�L�(�L�L�*�+�+���&�t�q�!�f�q�!�f�-=�(*�B�x�u�>�>�>��!�#����(4���(4���(6�	7�	7�	7�	7�	7r'c���tjgd�gd�gd�g��}|dkrtj||���}n|}tj|ddgddggddg|d�	��}t|gd
�gd�gd�g��dS)
Nr�r�r�r
rYrrFr�r�r�r�)r1r2r3r\r)r�r6r/r8r�r^s     r$�test_affine_transform09z0TestNdimageInterpolation.test_affine_transform09{s����{�L�L�L�(�L�L�(�L�L�*�+�+��
�A�I�I��,�T��?�?�?�H�H��H��&�x�1�a�&�1�a�&�1A�(*�B�x�u�16�8�8�8��	"�#����(4���(4���(6�	7�	7�	7�	7�	7r'c��tjdgtj��}tj|dggd|���}t|gd���dS)Nr(r r=)r.r/�r
r
r
r)r1r[r�r3r)rr*s    r$�test_affine_transform10z0TestNdimageInterpolation.test_affine_transform10�sU���z�1�#�u�}�-�-���&�t�s�e�W�4�-2�4�4�4��!�#�|�|�|�4�4�4�4�4r'c�h�gd�}tj|dggdd|���}t|gd���dS)Nr�r(rr=rYr<�r3r)rr*s    r$�test_affine_transform11z0TestNdimageInterpolation.test_affine_transform11�sF��'�'�'���&�t�q�c�U�A�t�5�I�I�I��!�#�|�|�|�4�4�4�4�4r'c�z�gd�}tj|dggdd|���}t|ddd�gd���dS)Nr<r r�r�rYr(rCr*s    r$�test_affine_transform12z0TestNdimageInterpolation.test_affine_transform12�sN���|�|���&�t�s�e�W�a��U�K�K�K��!�#�c�c��c�(�L�L�L�9�9�9�9�9r'c��gd�gd�gd�g}tj|ddgddggdd|���}t|dd	gd
dgdd
gg��dS)Nr<r�r�r
rr(r�rYr)r�r+r�r�rCr*s    r$�test_affine_transform13z0TestNdimageInterpolation.test_affine_transform13�sz��������!�!�!�#���&�t�q�!�f�q�!�f�-=�q�&�-2�4�4�4��!�#��A���A���B��'@�A�A�A�A�Ar'c��gd�gd�gd�g}tj|ddgddggdd|���}t|gd�g��dS)	Nr<r�r�r(rr
r�rYrCr*s    r$�test_affine_transform14z0TestNdimageInterpolation.test_affine_transform14�sk�����������!���&�t�q�!�f�q�!�f�-=�q�&�-2�4�4�4��!�#����~�6�6�6�6�6r'c��gd�gd�gd�g}tj|ddgddggdd|���}t|dd	gg��dS)
Nr<r�r�r(rr�rYr
r)rCr*s    r$�test_affine_transform15z0TestNdimageInterpolation.test_affine_transform15�sk�����������!���&�t�q�!�f�q�!�f�-=�q�&�-2�4�4�4��!�#��A��x�0�0�0�0�0r'c��gd�gd�gd�g}tj|ddgddggdd|�	��}t|d
ddd�f|��dS)Nr<r�r�r
�rr r�rY.r(rCr*s    r$�test_affine_transform16z0TestNdimageInterpolation.test_affine_transform16�ss�����������!���&�t�q�#�h��C��-A�1�'-�U�<�<�<��!�#�c�3�3�Q�3�h�-��6�6�6�6�6r'c��gd�gd�gd�g}tj|ddgddggdd|���}t|ddd	�d
f|��dS)Nr<r�r�r rr
r�rYr(.rCr*s    r$�test_affine_transform17z0TestNdimageInterpolation.test_affine_transform17�ss�����������!���&�t�s�A�h��A��-?��'-�U�<�<�<��!�#�c�c��c�3�h�-��6�6�6�6�6r'c��gd�gd�gd�g}tj|ddgddggdd|���}t|ddd�ddd�f|��dS)	Nr<r�r�r rr�rYr(rCr*s    r$�test_affine_transform18z0TestNdimageInterpolation.test_affine_transform18�sy�����������!���&�t�s�A�h��C��-A�1�'-�U�<�<�<��!�#�c�c��c�3�3�Q�3�h�-��6�6�6�6�6r'c���tjgd�gd�gd�gtj��}tj|ddgddggdd|���}tj|ddgddggdd	|���}t||��dS)
Nr<r�r�r rr�rY�@r�)r1r2r�r3r)rr*s    r$�test_affine_transform19z0TestNdimageInterpolation.test_affine_transform19�s����{�L�L�L�(�L�L�+�O�O�-�.3�m�=�=���&�t�s�A�h��C��-A�1�'-�U�<�<�<���&�s�c�1�X��3�x�,@�!�'-�U�<�<�<��!�#�t�,�,�,�,�,r'c�z�gd�gd�gd�g}tj|dgdggdd|���}t|dd	g��dS)
Nr<r�r�rr(r�rYr
r)rCr*s    r$�test_affine_transform20z0TestNdimageInterpolation.test_affine_transform20��d�����������!���&�t�q�c�A�3�Z��D�-2�4�4�4��!�#��1�v�.�.�.�.�.r'c�z�gd�gd�gd�g}tj|dgdggdd|���}t|dd	g��dS)
Nr<r�r�r(rr�rYr
r�rCr*s    r$�test_affine_transform21z0TestNdimageInterpolation.test_affine_transform21�rZr'c��tjgd���}tj|dggdgd|���}t	|gd���dS)Nr�r(r)r)rY�rr
r(r(r*s    r$�test_affine_transform22z0TestNdimageInterpolation.test_affine_transform22�sY���{�<�<�<�(�(���&�t�q�c�U�R�D�$�-2�4�4�4��!�#�y�y�y�1�1�1�1�1r'c��tjgd���}tj|dggdgd|���}t	|ddd�gd���dS)Nr�r rrFrYr(r�r(r*s    r$�test_affine_transform23z0TestNdimageInterpolation.test_affine_transform23�sc���{�<�<�<�(�(���&�t�s�e�W�r�d�D�-2�4�4�4��!�#�c�c��c�(�L�L�L�9�9�9�9�9r'c�:�tjgd���}t��5}|�td��tj|dgd|���}ddd��n#1swxYwYtj|dggd|���}t||��dS)Nr��@The behavior of affine_transform with a 1-D array .* has changedr(rrY�r1r2r�filter�UserWarningr3r)r�r6r/r8�suprrs      r$�test_affine_transform24z0TestNdimageInterpolation.test_affine_transform24s����{�<�<�<�(�(��
�
 �
 �	H�C��J�J�{�%�
&�
&�
&��+�D�1�#�r��G�G�G�D�		H�	H�	H�	H�	H�	H�	H�	H�	H�	H�	H����	H�	H�	H�	H�
�'���s�e�R�u�E�E�E��!�$��-�-�-�-�-��5A&�&A*�-A*c�:�tjgd���}t��5}|�td��tj|dgd|���}ddd��n#1swxYwYtj|dggd|���}t||��dS)Nr�rcr rrYrdrgs      r$�test_affine_transform25z0TestNdimageInterpolation.test_affine_transform25
s����{�<�<�<�(�(��
�
 �
 �	J�C��J�J�{�%�
&�
&�
&��+�D�3�%��5�I�I�I�D�		J�	J�	J�	J�	J�	J�	J�	J�	J�	J�	J����	J�	J�	J�	J�
�'���u�g�r��G�G�G��!�$��-�-�-�-�-rjc�&�tjgd�gd�gd�g��}|dkrtj||���}n|}tjd��}tjd��}tj||f��}tj|gd�gf��}tj|||�	��|d	�
��}tj|||d	�
��}	tj|||d	�
��}
||	|
fD]}t|gd�gd�gd
�g���dS)Nr�r�r�r
rYr(�r(r
)rrr
Fr�r�r�r�)r1r2r3r\�eyer[�hstack�vstackr)�ravelr)r6r/r8r��tform_original�offset_original�tform_h1�tform_h2rr�out3r^s            r$�test_affine_transform26z0TestNdimageInterpolation.test_affine_transform26sh���{�L�L�L�(�L�L�(�L�L�*�+�+��
�A�I�I��,�T��?�?�?�H�H��H���1���� �:�f�-�-�-���<��� A�B�B���<��I�I�I�;� 7�8�8���'��.�(7�(=�(=�(?�(?�.3�u�F�F�F���'��(�%�27�9�9�9���'��(�%�27�9�9�9���$��%�	;�	;�C�%�c�L�L�L�,8�L�L�,8�L�L�,:�
;�
;�
;�
;�	;�	;r'c�*�tjgd�gd�gd�g��}tjtjd��tjd��f��}tj|gd�gf��}t
ttj	||��dS)Nr�r�r�r(rn)r�r(r
)
r1r2rpror[rq�
assert_raises�
ValueErrorr3r))r6r8rurvs    r$�test_affine_transform27z0TestNdimageInterpolation.test_affine_transform273s����{�L�L�L�(�L�L�(�L�L�*�+�+���<���1����
�6�0B�0B�/B� C�D�D���<��I�I�I�;� 7�8�8���j�'�":�D�(�K�K�K�K�Kr'c��tjd��}tj|��tj|���|j�����|j|j���fD]x}t
��5}|�td��tj
|ddg|���}ddd��n#1swxYwY|�|n|}t|ddgddgg���ydS)N)r(r(rcr
rd)r1r[rr�rBrrrerfr3r)r)r6r8r^rhrrs      r$�9test_affine_transform_1d_endianness_with_output_parameterzRTestNdimageInterpolation.test_affine_transform_1d_endianness_with_output_parameter<sY���z�&�!�!���$�T�*�*��$�T�*�*�1�1�$�*�2I�2I�2K�2K�L�L��J��
� 7� 7� 9� 9�;�		@�		@�C�#�$�$�
N���
�
�;�,�-�-�-�#�3�D�1�a�&��M�M�M��	
N�
N�
N�
N�
N�
N�
N�
N�
N�
N�
N����
N�
N�
N�
N�
%�,�S�S�(�F�%�f��1�v��1�v�.>�?�?�?�?�		@�		@s�5C�C	�C	c�v�tjdg��}|j|j���tj|��tj|���|j�����fD]2}t
j|dgg|���}|�|n|}t|dg���3dS)Nr
rd)	r1r2rBrrr�r3r)r)r6r8r^rrs     r$�>test_affine_transform_multi_d_endianness_with_output_parameterzWTestNdimageInterpolation.test_affine_transform_multi_d_endianness_with_output_parameterKs����{�A�3�����J��
� 7� 7� 9� 9��$�T�*�*��$�T�*�*�1�1�$�*�2I�2I�2K�2K�L�L�N�	3�	3�C��/���s�e�C�H�H�H�H�$�,�S�S�(�F�%�f�q�c�2�2�2�2�	3�	3r'c�v�tjdtj���}tjd��}|j}tj|dgg|���t|dd�|��tj	t��5tj|dgg|d���ddd��dS#1swxYwYdS)Nr�rA)�r
rd)r�)rer.)r1rKr�r[rrr3r)rr"r	�RuntimeError)r6r8r^�oshapes    r$�"test_affine_transform_output_shapez;TestNdimageInterpolation.test_affine_transform_output_shapeVs����|�A�U�]�3�3�3���j��������� ����u�S�9�9�9�9�!�#�b�q�b�'�4�0�0�0��]�<�
(�
(�	=�	=��$���s�e�C�e�
=�
=�
=�
=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=�	=����	=�	=�	=�	=�	=�	=s�B.�.B2�5B2c���tjdg��}tj|dggd���}t	|jtjd��u��t
|dg��dSr)r1r2r3r)rrBr)r6r8r^s   r$�(test_affine_transform_with_string_outputzATestNdimageInterpolation.test_affine_transform_with_string_outputdse���{�A�3�����&�t�q�c�U�3�?�?�?����	�U�[��-�-�-�.�.�.�!�#��s�+�+�+�+�+r'r%))r
r�rr
)rr
)r)���)r(r+c�$�tjddgddgg��}tjd��}tjd��|dd�dd�f<||dd�df<t	tj||d|���tj||d�	����dS)
Nrr
r(r)�r(r)rr�r���axis)r1r2�zerosrorr3r)�roll)r6r%r/r#�affines     r$�)test_affine_transform_shift_via_grid_wrapzBTestNdimageInterpolation.test_affine_transform_shift_via_grid_wrapjs���

�K�!�Q���Q��!�
"�
"����V�$�$����1����r��r�2�A�2�v����q�q�q�!�t��!��$�Q��[��N�N�N��J�q�%�f�-�-�-�	
�	
�	
�	
�	
r'c� �tjgd�gd�g��}tjd��}tjd��|dd�dd�f<|j|dd�df<tt
j||d|���|ddd�ddd�f��dS)Nr^�r)rr�r�r(r
r�r)r1r2r�rorrrr3r))r6r/r#r�s    r$�#test_affine_transform_shift_reflectz<TestNdimageInterpolation.test_affine_transform_shift_reflectys���
�K����"���$�
%�
%����V�$�$����1����r��r�2�A�2�v���w��q�q�q�!�t��!��$�Q��Y�e�L�L�L�
�d�d��d�D�D�b�D�j�M�	
�	
�	
�	
�	
r'c��tjdg��}tj|dg|���}t	|dg��dS)Nr
rYr�r1r2r3r%rr*s    r$�test_shift01z%TestNdimageInterpolation.test_shift01�sC���{�A�3�����m�D�1�#�U�3�3�3��!�#��s�+�+�+�+�+r'c��tjdg��}tj|dg|���}t	|gd���dS)Nrr
rYr}�r1r[r3r%rr*s    r$�test_shift02z%TestNdimageInterpolation.test_shift02�sC���z�1�#�����m�D�1�#�U�3�3�3��!�#�|�|�|�4�4�4�4�4r'c��tjdg��}tj|d|���}t	|gd���dS)NrrrYr@r�r*s    r$�test_shift03z%TestNdimageInterpolation.test_shift03�sA���z�1�#�����m�D�"�E�2�2�2��!�#�|�|�|�4�4�4�4�4r'c��tjgd���}tj|d|���}t	|gd���dS)Nr�r
rYr�r�r*s    r$�test_shift04z%TestNdimageInterpolation.test_shift04�sE���{�<�<�<�(�(���m�D�!�5�1�1�1��!�#�|�|�|�4�4�4�4�4r'c��tjgd�gd�gd�g|���}tjgd�gd�gd�g|���}|jjdkr|d|zz}|d|zz}t	j|ddg|���}t
||��dS)	NrhrAr}r�r�rr
rY�r1r2rBr�r3r%rr4s      r$�test_shift05z%TestNdimageInterpolation.test_shift05�s����{�L�L�L�(�L�L�(�L�L�*�16�8�8�8���;���� ,��� ,��� .�5:�<�<�<���:�?�c�!�!��B��I��D���X�
�%�H��m�D�1�a�&��6�6�6��!�#�x�0�0�0�0�0r'c�.�tjgd�gd�gd�g|���}tjgd�gd�gd�g|���}|jjdkr|d|zz}|d|zz}d}||dd�df<t	j|ddg|||�	��}t
||��dS)
NrhrAr}r�r�g@rr
)r/r-r,r�)r6r/r-rBr8rVr,r^s        r$�test_shift_with_nonzero_cvalz5TestNdimageInterpolation.test_shift_with_nonzero_cval�s����{�L�L�L�(�L�L�(�L�L�*�16�8�8�8���;���� ,��� ,��� .�5:�<�<�<���:�?�c�!�!��B��I��D���X�
�%�H��������A����m�D�1�a�&��D�t�L�L�L��!�#�x�0�0�0�0�0r'c��tjgd�gd�gd�g��}tj|ddg|���}t	|gd�gd�gd	�g��dS)
Nr�r�r�rr
rYr�r�r�r�r*s    r$�test_shift06z%TestNdimageInterpolation.test_shift06�����{�L�L�L�(�L�L�(�L�L�*�+�+���m�D�1�a�&��6�6�6��!�#����(4���(4���(6�	7�	7�	7�	7�	7r'c��tjgd�gd�gd�g��}tj|ddg|���}t	|gd�gd�gd�g��dS)Nr�r�r�r
rrYr�r�r*s    r$�test_shift07z%TestNdimageInterpolation.test_shift07�r�r'c��tjgd�gd�gd�g��}tj|ddg|���}t	|gd�gd�gd�g��dS)	Nr�r�r�r
rYr�r�r�r�r*s    r$�test_shift08z%TestNdimageInterpolation.test_shift08�r�r'c���tjgd�gd�gd�g��}|dkrtj||���}n|}tj|ddg|d���}t|gd�gd	�gd
�g��dS)Nr�r�r�r
rYFr�r�r�r�)r1r2r3r\r%rr=s     r$�test_shift09z%TestNdimageInterpolation.test_shift09�s����{�L�L�L�(�L�L�(�L�L�*�+�+��
�A�I�I��,�T��?�?�?�H�H��H��m�H�q�!�f�E�U�K�K�K��!�#����(4���(4���(6�	7�	7�	7�	7�	7r'c��tjddgddgg��}ttj||d|���tj||d�����dS)	Nrr
r(r)rr�r�r�)r1r2rr3r%r��r6r%r/r#s    r$�test_shift_grid_wrapz-TestNdimageInterpolation.test_shift_grid_wrap�sm��

�K�!�Q���Q��!�
"�
"��!��M�!�U��E�B�B�B��J�q�%�f�-�-�-�	
�	
�	
�	
�	
r'c	���tjd���d��}tt	j||d|���t	j||d|�����dS)N�)r�rrr�r)r1rKr�rr3r%r�s    r$�test_shift_grid_constant1z2TestNdimageInterpolation.test_shift_grid_constant1�si��

�L����$�$�V�,�,��!��M�!�U���F�F�F��M�!�U��5�A�A�A�	
�	
�	
�	
�	
r'c���tjgd�gd�gt���}tjgd�gd�g��}tt	j|ddd�	��|��dS)
Nr�r�rAr�r�)r r rr
r�)r1r2rLrr3r%)r6r#r�s   r$�test_shift_grid_constant_order1z8TestNdimageInterpolation.test_shift_grid_constant_order1s����K����"���$�+0�
2�
2�
2���+�'9�'9�'9�'9�'9�'9�';�<�<��!��M�!�Z�o�Q�G�G�G��	
�	
�	
�	
�	
r'c��tjgd�gd�g��}ttj||jd|���|ddd�ddd�f��dS)Nr^r�r
r�r)r1r2rr3r%rr)r6r/r#s   r$�test_shift_reflectz+TestNdimageInterpolation.test_shift_reflectsr��
�K����"���$�
%�
%��!��M�!�Q�W�9�E�B�B�B�
�d�d��d�D�D�b�D�j�M�	
�	
�	
�	
�	
r'r�FTc� �tjd��}td||���}tt	j||dzdzfi|��d|d��tt	j||dzdz
fi|��d|d��dS)Nr�r)r-r/r�r(r
rr)r1rK�dictrr3r%)r6r/r�r#�kwargss     r$�test_shift_nearest_boundaryz4TestNdimageInterpolation.test_shift_nearest_boundarys���

�L������9�E�Y�G�G�G��!��M�!�U�a�Z�!�^�6�6�v�6�6�q�9�1�Q�4�	
�	
�	
�	"��M�!�e�V�q�[�1�_�7�7��7�7��;�Q�r�U�	
�	
�	
�	
�	
r'c��tjdt����dd��}d}d}t�|��}tj|||���}tt||��g|j	z��}tj||||���|}	ttj||||���|	d�	��dS)
Nr�rAr�)r�gffffff�rFrGr�rHr�)
r1rKrLr�rOrPrQr�r�r�r3r%r)
r6r/r-r#r%rSrTr�r�r�s
          r$�test_shift_vs_paddedz-TestNdimageInterpolation.test_shift_vs_padded&s���
�L��E�*�*�*�2�2�2�r�:�:������(�,�,�T�2�2��
�Y�q�$�X�
.�
.�
.���e�D�4�%�0�0�1�A�F�:�;�;��!�-���D��/�/�/�/;�=��	��M�!�U��U�;�;�;���	
�	
�	
�	
�	
�	
r'c	��dddgfD�]}tjttd�������d���t��}tj|||���}t|j
d��ttj|ddd�fdk����ttj|ddd�fdtz
k����ttj|ddd�fd	tzk����ttj|dtz
k����ttj|d
tzk�������dS)Nr(�)r�r�rY)r�r�rrr�r�r�)r1r2�list�ranger�r�rLr3�zoomrrrr�all�eps)r6r/�z�arrs    r$�
test_zoom1z#TestNdimageInterpolation.test_zoom1;sI���a��V��	2�	2�A��+�d�5��9�9�o�o�.�.�6�6�v�>�>�E�E�e�L�L�C��,�s�A�U�3�3�3�C����H�-�-�-��E�I�c�"�a�a�a�%�j�A�o�.�.�/�/�/��E�I�c�"�a�a�a�%�j�R�#�X�6�7�7�8�8�8��E�I�c�!�Q�Q�Q�$�i�A��G�4�5�5�6�6�6��E�I�c�a�#�g�.�/�/�0�0�0��E�I�c�b�3�h�/�0�0�1�1�1�1�	2�	2r'c���tjd���d��}tjtj|d��d��}t||��dS)Nr�r�r(r )r1rKr�r3r�r)r6r�r^s   r$�
test_zoom2z#TestNdimageInterpolation.test_zoom2GsR���l�2���&�&�v�.�.���l�7�<��Q�/�/��5�5���3��$�$�$�$�$r'c�"�tjddgg��}tj|d��}tj|d��}t	|tjddgddgg����t	|tjgd�g����dS)Nr
r(rnr�)r
r
r(r()r1r2r3r�r)r6r�rrs    r$�
test_zoom3z#TestNdimageInterpolation.test_zoom3Ls����k�A�q�6�(�#�#���|�C��(�(���|�C��(�(��!�$���a��V�a��V�4D�(E�(E�F�F�F�!�$���\�\�\�N�(C�(C�D�D�D�D�Dr'c�h�tjgd�gd�gd�g|���}|jjdkr|d|zz}t	��5}|�td��tj|ddgd	d
|���}ddd��n#1swxYwYt|ddd�ddd�f|��dS)
Nr<r�r�rAr�r�rcr rr�rYr()
r1�asarrayrBr�rrerfr3r)r)r6r/rBr8rhr^s      r$�test_zoom_affine01z+TestNdimageInterpolation.test_zoom_affine01Ts7���}�l�l�l�*�l�l�-�o�o�/�6;�=�=�=���:�?�c�!�!��B��I��D�
�
 �
 �	@�C��J�J�{�%�
&�
&�
&��*�4�#�s��Q�+1��@�@�@�C�		@�	@�	@�	@�	@�	@�	@�	@�	@�	@�	@����	@�	@�	@�	@�	"�#�c�c��c�3�3�Q�3�h�-��6�6�6�6�6s�7B	�	B
�B
c�f�d}tjtj||f��d|zd���dS)Nr���?rrG)r3r�r1r�)r6�dims  r$�test_zoom_infinityz+TestNdimageInterpolation.test_zoom_infinityds6������U�[�#�s��,�,�b�3�h�Y�G�G�G�G�G�Gr'c��tjd��}d}tj||d���}tjd��}t	||��dS)N)r
r�r�)r�rVrVr+)r,)r
r�r�)r1r�r3r�r)r6r�r�r^�refs     r$�test_zoom_zoomfactor_onez1TestNdimageInterpolation.test_zoom_zoomfactor_oneisQ���k�)�$�$�����l�3��1�-�-�-���k�+�&�&��!�#�s�+�+�+�+�+r'c��tjd��}d}tj||��}t	|jd��dS)N)r)r�r�)gUUUUUU�?g�E]t�?g��(\��?)rrC�)r1r�r3r�rrr)r6r�r�r^s    r$�test_zoom_output_shape_roundoffz8TestNdimageInterpolation.test_zoom_output_shape_roundoffrs?���k�+�&�&��.���l�3��%�%���3�9�k�2�2�2�2�2r'r�)r)r)r�)r�r()r�r�)rrrr
rrrrc	���tjddgddggt���}tt	j||d|���tj|tj|������dS)Nrr
r(r)rArE)r1r2rLrr3r��kronr[)r6r�r-r#s    r$�test_zoom_by_int_order0z0TestNdimageInterpolation.test_zoom_by_int_order0xs|��
�K�!�Q���Q��!�(-�
/�
/�
/��	"��L��D���5�5�5��J�q�%�*�T�*�*�+�+�	
�	
�	
�	
�	
r'rrr�)rr)rr
rrrc	��tjtj|��t����|��}tt
j||d|d���tj|tj	|������dS)NrArT)r/r-�	grid_mode)
r1rK�prodrLr�rr3r�r�r[)r6rrr�r-r#s     r$�test_zoom_grid_by_int_order0z5TestNdimageInterpolation.test_zoom_grid_by_int_order0�s}��
�L���E�*�*�%�8�8�8�@�@��G�G��!��L��D����E�E�E��J�q�%�*�T�*�*�+�+�	
�	
�	
�	
�	
r'c��tjdt����d��}t	jtd���5tj|d|d���fddd��dS#1swxYwYdS)	Nr�rA)r)r)zIt is recommended to use mode)�matchr(T)r-r�)	r1rKrLr�r"�warnsrfr3r�)r6r-r#s   r$�test_zoom_grid_mode_warningsz5TestNdimageInterpolation.test_zoom_grid_mode_warnings�s���
�L��%�(�(�(�0�0��8�8��
�\�+� ?�A�A�A�	;�	;��L��A�D�D�9�9�9�:�:�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;�	;����	;�	;�	;�	;�	;�	;s�
A1�1A5�8A5c��tjgd�gd�gd�gtj���}tj|d|���}t||��dS)Nr��rr
r
rrArrY�r1r2r�r3�rotaterr*s    r$�
test_rotate01z&TestNdimageInterpolation.test_rotate01�sg���{�L�L�L�(�L�L�(�L�L�*�16��@�@�@���n�T�1�E�2�2�2��!�#�t�,�,�,�,�,r'c��tjgd�gd�gd�gtj���}tjgd�gd�gd�gd�gtj���}tj|d|���}t||��dS)Nr�)rr
rrrA�rrr�rr
r�ZrYr��r6r/r8rVr^s     r$�
test_rotate02z&TestNdimageInterpolation.test_rotate02�s����{�L�L�L�(�L�L�(�L�L�*�16��@�@�@���;�	�	�	�(�y�y�(�y�y�(�y�y� *�27��@�@�@���n�T�2�U�3�3�3��!�#�x�0�0�0�0�0r'c��tjgd�gd�gd�g|���}tjgd�gd�gd�gd�gd�g|���}|jjdkr|d|zz}|d|zz}t	j|d|�	��}t
||��dS)
N�rrrrr�rr
r
rrrAr�r�r�r�r�rY)r1r2rBr�r3r�rr4s      r$�
test_rotate03z&TestNdimageInterpolation.test_rotate03�s����{�O�O�O�+�O�O�+�O�O�-�49�;�;�;���;�	�	�	�(�y�y�(�y�y�(�y�y�(�y�y�	 *�27�	8�8�8��
�:�?�c�!�!��B��I��D���X�
�%�H��n�T�2�U�3�3�3��!�#�x�0�0�0�0�0r'c��tjgd�gd�gd�gtj���}tjgd�gd�gd�gtj���}tj|dd|���}t||��dS)Nr�r�rA�rrr
rrr�F)r�r/r�r�s     r$�
test_rotate04z&TestNdimageInterpolation.test_rotate04�s����{�O�O�O�+�O�O�+�O�O�-�49�M�C�C�C���;���� /��� /��� 1�8=�
�G�G�G���n�T�2�u�E�B�B�B��!�#�x�0�0�0�0�0r'c��tjd��}td��D]8}tjgd�gd�gd�gd�gtj���|dd�dd�|f<�9tjgd�gd�gd�gtj���}tj|d|�	��}td��D]}t|dd�dd�|f|��� dS)
N)rr)r)r)r�r�rAr�r�r�rY�r1rr�r2r�r3r�r�r6r/r8�irVr^s      r$�
test_rotate05z&TestNdimageInterpolation.test_rotate05�s���{�9�%�%���q���	J�	J�A�!�K����)2���)2���)2���)4�<A�=�J�J�J�D����A�A�A�q��M�M��;���� ,��� ,��� .�5:�]�D�D�D���n�T�2�U�3�3�3���q���	>�	>�A�%�c�!�!�!�Q�Q�Q��'�l�H�=�=�=�=�	>�	>r'c��tjd��}td��D]5}tjgd�gd�gd�gtj���|dd�dd�|f<�6tjgd�gd�gd�gd�gtj���}tj|d|�	��}td��D]}t|dd�dd�|f|��� dS)
N)r)rr)r)r�r�rAr�r�r�rYr�r�s      r$�
test_rotate06z&TestNdimageInterpolation.test_rotate06�s���{�9�%�%���q���	M�	M�A�!�K����)5���)5���)7�>C�m�M�M�M�D����A�A�A�q��M�M��;�	�	�	� )�	�	� )�	�	� )�	�	� +�38�-�A�A�A���n�T�2�U�3�3�3���q���	>�	>�A�%�c�!�!�!�Q�Q�Q��'�l�H�=�=�=�=�	>�	>r'c�l�tjgd�gd�gd�ggdztj���}|���}tjgd�gd�gd�gd�gd�ggdztj���}|�gd���}t	j|dd	|�
��}t
||��dS)Nr�r�r(rAr�r�)r(r
rr�r�)�axesr/�r1r2r��	transposer3r�rr�s     r$�
test_rotate07z&TestNdimageInterpolation.test_rotate07�s����{�_�_�_�,�_�_�,�_�_�.�/�12�3�:?�-�I�I�I���~�~�����;����!*���!*���!*���!*���	!,� -�01�	 1�9>�
�	G�G�G��
�%�%�i�i�i�0�0���n�T�2�F�%�@�@�@��!�#�x�0�0�0�0�0r'c�\�tjgd�gd�gd�ggdztj���}|���}tjgd�gd�gd�ggdztj���}|���}t	j|ddd|�	��}t
||��dS)
Nr�r�r(rAr�r�r�F)r�r�r/r�r�s     r$�
test_rotate08z&TestNdimageInterpolation.test_rotate08�s����{�_�_�_�,�_�_�,�_�_�.�/�12�3�:?�-�I�I�I���~�~�����;����!0���!0���!2� 3�56� 7�>C�m�M�M�M���%�%�'�'���n�T�2�F�E��O�O�O��!�#�x�0�0�0�0�0r'c���tjgd�gd�gd�gdztj���}tt��5tj|dd|jf���ddd��dS#1swxYwYdS)Nr�r�r(rAr�r)r�)r1r2r�rzr{r3r�r�)r6r8s  r$�
test_rotate09z&TestNdimageInterpolation.test_rotate09	s����{�O�O�O�+�O�O�+�O�O�-�/0�1�8=�
�G�G�G���:�
&�
&�	:�	:��N�4��1�d�i�.�9�9�9�9�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:�	:����	:�	:�	:�	:�	:�	:s�A-�-A1�4A1c
�B�tjdtj����d��}tjgd�gd�gd�gd�gd�ggd�gd�gd	�gd
�gd�ggd�gd�gd
�gd�gd�gg��}tj|dd���}t||��dS)N�-rA)r)r�r))rOrOrO)g|��S2@g|��S2@g>��)!@)g9�HD��%@g9�HD��'@g9�HD��)@)g�c�~�@g�c�~�@gz��L�b @)g�[ic6�*@g�[ic6�,@g�[ic6�.@)g5@g6@g7@)gRK��<@gRK��=@gRK��>@)g���,P�A@g���,PgB@g���,P�B@)g��ݠ'?@gr��n�@@gr��nГ@@)g�G���A@g�G��9B@g�G���B@r�F)�angler�)r1rKr�r�r2r3r�r)r6r8rVr^s    r$�
test_rotate10z&TestNdimageInterpolation.test_rotate10s����|�B�e�m�4�4�4�<�<�Y�G�G���;����!0���!E�!E�!E�!H�!H�!H�!0���	!2�
"F�!E�!E�!E�!E�!E�!3�!3�!3�!E�!E�!E�!H�!H�!H�	!J�
"1���!H�!H�!H�!H�!H�!H�!0���!0���	!2� 3�4�4�� �n�T��U�;�;�;��!�#�x�0�0�0�0�0r'c���tjtjd��d��}tjtj|d��d��}t||��dS)Nr�)r�r
�iL���)r1�tilerKr3r�r)r6r�r�s   r$�test_rotate_exact_180z.TestNdimageInterpolation.test_rotate_exact_180'sN���J�u�|�A����/�/���N�7�>�!�S�1�1�4�8�8���Q������r'N)}�__name__�
__module__�__qualname__r"�mark�parametrizer9r>r�rWrr_rbrfrirkrtrxr~r�r1r��
complex128r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�r�rr	r
rrrr�skipif�sys�platform�intp�itemsizer&r+r.r0r2r5r7r9r;r>rArDrGrIrKrMrPrRrTrWrYr\r_rarirlrxr|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�rrrrrr!r'r$rrs3�������[����
�0�0�0�	1�
�5�5�5�	6�
�:�:�:�	;�
�7�7�7�	8�
�6�6�6�	7�
�5�5�5�	6�
�;�;�;�	<�
	>�	�	�E�E�	�	�E��[����
�\�\�\�	"�
�,�,�,�	�
�|�|�|�	$�
�L�L�L�	!�
�\�\�\�	"�
�m�m�m�	$�
�=�=�=�	)�
	+�	�	�<�<�	�	�<��[���V�&1�&1�&1�2�2��[���W�e�e�A�h�h�/�/�;�;�0�/�2�2�;� �[���W�e�e�A�q�k�k�2�2��[���W�e�,�,�*�*�-�,�3�2�*�
�[���W�e�e�A�q�k�k�2�2��[���W�e�,�,�,�,�-�,�3�2�,�
�[���W�e�e�A�q�k�k�2�2��[���W�e�,�,�*�*�-�,�3�2�*�
�[���W�e�e�A�q�k�k�2�2��[���W�e�,�,�5�5�-�,�3�2�5�
�[���W�e�e�A�q�k�k�2�2��[���W�e�,�,�7�7�-�,�3�2�7��[���W�e�e�A�q�k�k�2�2�,�,�3�2�,��[���W�e�e�A�q�k�k�2�2�5�5�3�2�5��[���W�e�e�A�q�k�k�2�2�5�5�3�2�5��[���W�e�e�A�q�k�k�2�2�5�5�3�2�5��[���W�e�e�A�q�k�k�2�2��[���W�u�}�e�6F�&G�H�H�1�1�I�H�3�2�1�$�[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7�$�[���W�e�e�A�q�k�k�2�2�5�5�3�2�5��[���W�e�e�A�q�k�k�2�2�5�5�3�2�5��[���W�e�e�A�q�k�k�2�2�:�:�3�2�:��[���W�e�e�A�q�k�k�2�2�
B�
B�3�2�
B��[���W�e�e�A�q�k�k�2�2�
7�
7�3�2�
7��[���W�e�e�A�q�k�k�2�2�
1�
1�3�2�
1��[���W�e�e�A�q�k�k�2�2�
7�
7�3�2�
7��[���W�e�e�A�q�k�k�2�2�
7�
7�3�2�
7��[���W�e�e�A�q�k�k�2�2�
7�
7�3�2�
7��[���W�e�e�A�q�k�k�2�2�-�-�3�2�-�"�[���W�e�e�A�q�k�k�2�2�
/�
/�3�2�
/��[���W�e�e�A�q�k�k�2�2�/�/�3�2�/�
�
�
� �[���V�&;�&;�&;�<�<��[���W�e�e�A�h�h�/�/�
�
�0�/�<�<�
�,3�3�3� ,�,�,��[���W�e�e�A�q�k�k�2�2��[���W�u�}�e�6F�&G�H�H�1�1�I�H�3�2�1�"�[���W�e�e�A�q�k�k�2�2�	.�	.�3�2�	.�L�L�L�(8�8�8�".�.�.��[����3�<�/�M�:�5�:�a�=�=�3I�A�3M� 4��5�5�	D�	D�5�5�	D��[���W�e�e�A�q�k�k�2�2�,�,�3�2�,�
�[���W�e�e�A�q�k�k�2�2�5�5�3�2�5�
�[���W�e�e�A�q�k�k�2�2�5�5�3�2�5�
�[���W�e�e�A�q�k�k�2�2�5�5�3�2�5�
�[���W�e�e�A�q�k�k�2�2��[���W�u�}�e�6F�&G�H�H�1�1�I�H�3�2�1��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�
7�
7�3�2�
7��[���W�e�e�A�q�k�k�2�2�5�5�3�2�5��[���W�e�e�A�q�k�k�2�2�5�5�3�2�5�
�[���W�e�e�A�q�k�k�2�2�:�:�3�2�:�
�[���W�e�e�A�q�k�k�2�2�B�B�3�2�B��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�1�1�3�2�1��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�-�-�3�2�-��[���W�e�e�A�q�k�k�2�2�/�/�3�2�/��[���W�e�e�A�q�k�k�2�2�/�/�3�2�/��[���W�e�e�A�q�k�k�2�2�2�2�3�2�2��[���W�e�e�A�q�k�k�2�2�:�:�3�2�:��[���W�e�e�A�q�k�k�2�2�	.�	.�3�2�	.��[���W�e�e�A�q�k�k�2�2�	.�	.�3�2�	.��[���W�e�e�A�q�k�k�2�2�;�;�3�2�;�2L�L�L�
@�
@�
@�	3�	3�	3�=�=�=�,�,�,��[���W�G�G�G�I�I��[���W�e�e�A�q�k�k�2�2�

�

�3�2�I�I�

��[���W�e�e�A�q�k�k�2�2�

�

�3�2�

��[���W�e�e�A�q�k�k�2�2�,�,�3�2�,�
�[���W�e�e�A�q�k�k�2�2�5�5�3�2�5�
�[���W�e�e�A�q�k�k�2�2�5�5�3�2�5�
�[���W�e�e�A�q�k�k�2�2�5�5�3�2�5�
�[���W�e�e�A�q�k�k�2�2��[���W�u�}�e�6F�&G�H�H�1�1�I�H�3�2�1��[���W�e�e�A�q�k�k�2�2��[���V�j�/�%B�C�C��[���W�u�}�e�6F�&G�H�H�1�1�I�H�D�C�3�2�1�"�[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�e�e�A�q�k�k�2�2�7�7�3�2�7��[���W�G�G�G�I�I��[���W�e�e�A�q�k�k�2�2�
�
�3�2�I�I�
��[���W�G�G�G�I�I��[���W�e�e�A�q�k�k�2�2�
�
�3�2�I�I�
�
�
�
��[���W�e�e�A�q�k�k�2�2�
�
�3�2�
��[���W�e�e�A�q�k�k�2�2��[���[�5�$�-�8�8�

�

�9�8�3�2�

��[���V�&;�&;�&;�<�<��[���W�e�e�A�h�h�/�/�
�
�0�/�<�<�
�$�[���W�e�e�A�q�k�k�2�2�	2�	2�3�2�	2�%�%�%�
E�E�E��[���W�e�e�A�q�k�k�2�2��[���W�u�}�e�6F�&G�H�H�7�7�I�H�3�2�7�H�H�H�
,�,�,�3�3�3��[���V�%E�%E�%E�F�F��[���V�&7�&7�&7�8�8�
�
�8�8�G�F�
��[���W�v�v�&6�7�7��[���V�%E�%E�%E�F�F��[���V�&D�&D�&D�E�E�
�
�E�E�G�F�8�7�
��[���V�j�&�%9�:�:�;�;�;�:�;��[���W�e�e�A�q�k�k�2�2�-�-�3�2�-��[���W�e�e�A�q�k�k�2�2�	1�	1�3�2�	1��[���W�e�e�A�q�k�k�2�2��[���W�u�}�e�6F�&G�H�H�
1�
1�I�H�3�2�
1��[���W�e�e�A�q�k�k�2�2�1�1�3�2�1��[���W�e�e�A�q�k�k�2�2�>�>�3�2�>��[���W�e�e�A�q�k�k�2�2�>�>�3�2�>��[���W�e�e�A�q�k�k�2�2�1�1�3�2�1��[���W�e�e�A�q�k�k�2�2�
1�
1�3�2�
1�:�:�:�1�1�1�.����r'rc��tjd���d��}tj|dtjd�����dS)zTicket #643r�r�r(r�rdN)r1rKr�r3r�r�r"s r$�test_zoom_output_shaper-sF��
��R��� � ��(�(�A��L��A�e�k�&�1�1�2�2�2�2�2�2r')rr1�
numpy.testingrrrrrrr"r	rz�
scipy.ndimager3�rr�rOrrr!r'r$�<module>rs��
�
�
�
�����.�.�.�.�.�.�.�.�.�.�.�.�.�.�.�.��
�
�
�*�*�*�*�*�*���������������������
���Q�Q�Q�Q�Q�Q�Q�Q�h(3�3�3�3�3r'

Youez - 2016 - github.com/yon3zu
LinuXploit