§
    ¢éUgBÒ  ã                   ó˜   — d dl Z d dlZd dlmZmZmZmZmZm	Z	 d dl
Z
d dl
mZ d dlmZ ddlmZ dZdddd	d
ddœZ G d„ d¦  «        Zd„ ZdS )é    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                   ó '  — e Zd Zej                             ddg d¢fdg d¢fdg d¢fdg d	¢fd
g d¢fdg d¢fdg d¢fg¦  «        d„ ¦   «         Zej                             ddg d¢fdg d¢fdg d¢fdg d¢fd
g d¢fdg d¢fdg d¢fg¦  «        d„ ¦   «         Zej                             dg d¢¦  «        ej                             d ed¦  «        ¦  «        d„ ¦   «         ¦   «         Z	ej                             d edd¦  «        ¦  «        ej                             de
¦  «        d„ ¦   «         ¦   «         Zej                             d edd¦  «        ¦  «        ej                             de
¦  «        d„ ¦   «         ¦   «         Zej                             d edd¦  «        ¦  «        ej                             de
¦  «        d „ ¦   «         ¦   «         Zej                             d edd¦  «        ¦  «        ej                             de
¦  «        d!„ ¦   «         ¦   «         Zej                             d edd¦  «        ¦  «        ej                             de
¦  «        d"„ ¦   «         ¦   «         Zej                             d ed#d¦  «        ¦  «        d$„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d%„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d&„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d'„ ¦   «         Zej                             d ed#d¦  «        ¦  «        ej                             dej        ej        g¦  «        d(„ ¦   «         ¦   «         Zej                             d ed#d¦  «        ¦  «        d)„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d*„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d+„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d,„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d-„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d.„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d/„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d0„ ¦   «         Zej                             d ed#d¦  «        ¦  «        d1„ ¦   «         Z ej                             d ed#d¦  «        ¦  «        d2„ ¦   «         Z!ej                             d ed#d¦  «        ¦  «        d3„ ¦   «         Z"ej                             d ed#d¦  «        ¦  «        d4„ ¦   «         Z#ej                             d ed#d¦  «        ¦  «        d5„ ¦   «         Z$ej                             d ed#d¦  «        ¦  «        d6„ ¦   «         Z%ej                             d ed#d¦  «        ¦  «        d7„ ¦   «         Z&ej                             d ed#d¦  «        ¦  «        d8„ ¦   «         Z'd9„ Z(ej                             dg d:¢¦  «        ej                             d ed¦  «        ¦  «        d;„ ¦   «         ¦   «         Z)d<„ Z*d=„ Z+ej                             d ed#d¦  «        ¦  «        ej                             dej        ej        g¦  «        d>„ ¦   «         ¦   «         Z,ej                             d ed#d¦  «        ¦  «        d?„ ¦   «         Z-d@„ Z.dA„ Z/dB„ Z0ej         1                    dCe2j3        v p ej4        d#¦  «        j5        dDk     dE¬F¦  «        dG„ ¦   «         Z6ej                             d ed#d¦  «        ¦  «        dH„ ¦   «         Z7ej                             d ed#d¦  «        ¦  «        dI„ ¦   «         Z8ej                             d ed#d¦  «        ¦  «        dJ„ ¦   «         Z9ej                             d ed#d¦  «        ¦  «        dK„ ¦   «         Z:ej                             d ed#d¦  «        ¦  «        ej                             dej        ej        g¦  «        dL„ ¦   «         ¦   «         Z;ej                             d ed#d¦  «        ¦  «        dM„ ¦   «         Z<ej                             d ed#d¦  «        ¦  «        dN„ ¦   «         Z=ej                             d ed#d¦  «        ¦  «        dO„ ¦   «         Z>ej                             d ed#d¦  «        ¦  «        dP„ ¦   «         Z?ej                             d ed#d¦  «        ¦  «        dQ„ ¦   «         Z@ej                             d ed#d¦  «        ¦  «        dR„ ¦   «         ZAej                             d ed#d¦  «        ¦  «        dS„ ¦   «         ZBej                             d ed#d¦  «        ¦  «        dT„ ¦   «         ZCej                             d ed#d¦  «        ¦  «        dU„ ¦   «         ZDej                             d ed#d¦  «        ¦  «        dV„ ¦   «         ZEej                             d ed#d¦  «        ¦  «        dW„ ¦   «         ZFej                             d ed#d¦  «        ¦  «        dX„ ¦   «         ZGej                             d ed#d¦  «        ¦  «        dY„ ¦   «         ZHej                             d ed#d¦  «        ¦  «        dZ„ ¦   «         ZIej                             d ed#d¦  «        ¦  «        d[„ ¦   «         ZJej                             d ed#d¦  «        ¦  «        d\„ ¦   «         ZKej                             d ed#d¦  «        ¦  «        d]„ ¦   «         ZLej                             d ed#d¦  «        ¦  «        d^„ ¦   «         ZMej                             d ed#d¦  «        ¦  «        d_„ ¦   «         ZNej                             d ed#d¦  «        ¦  «        d`„ ¦   «         ZOej                             d ed#d¦  «        ¦  «        da„ ¦   «         ZPdb„ ZQdc„ ZRdd„ ZSde„ ZTdf„ ZUej                             dgg dh¢¦  «        ej                             d ed#d¦  «        ¦  «        di„ ¦   «         ¦   «         ZVej                             d ed#d¦  «        ¦  «        dj„ ¦   «         ZWej                             d ed#d¦  «        ¦  «        dk„ ¦   «         ZXej                             d ed#d¦  «        ¦  «        dl„ ¦   «         ZYej                             d ed#d¦  «        ¦  «        dm„ ¦   «         ZZej                             d ed#d¦  «        ¦  «        dn„ ¦   «         Z[ej                             d ed#d¦  «        ¦  «        ej                             dej        ej        g¦  «        do„ ¦   «         ¦   «         Z\ej                             d ed#d¦  «        ¦  «        ej                             dddg¦  «        ej                             dej        ej        g¦  «        dp„ ¦   «         ¦   «         ¦   «         Z]ej                             d ed#d¦  «        ¦  «        dq„ ¦   «         Z^ej                             d ed#d¦  «        ¦  «        dr„ ¦   «         Z_ej                             d ed#d¦  «        ¦  «        ds„ ¦   «         Z`ej                             d ed#d¦  «        ¦  «        dt„ ¦   «         Zaej                             dgg dh¢¦  «        ej                             d ed#d¦  «        ¦  «        du„ ¦   «         ¦   «         Zbej                             dgg dh¢¦  «        ej                             d ed#d¦  «        ¦  «        dv„ ¦   «         ¦   «         Zcdw„ Zdej                             d ed#d¦  «        ¦  «        dx„ ¦   «         Zeej                             d ed#d¦  «        ¦  «        ej                             dydzd{g¦  «        d|„ ¦   «         ¦   «         Zfej                             dg d:¢¦  «        ej                             d ed¦  «        ¦  «        d}„ ¦   «         ¦   «         Zgej                             d ed#d¦  «        ¦  «        d~„ ¦   «         Zhd„ Zid€„ Zjej                             d ed#d¦  «        ¦  «        ej                             dej        ej        g¦  «        d�„ ¦   «         ¦   «         Zkd‚„ Zldƒ„ Zmd„„ Znej                             d…g d†¢¦  «        ej                             dg d‡¢¦  «        dˆ„ ¦   «         ¦   «         Zoej                             d‰dŠd‹g¦  «        ej                             d…g d†¢¦  «        ej                             dg dŒ¢¦  «        d�„ ¦   «         ¦   «         ¦   «         Zpej                             dddg¦  «        dŽ„ ¦   «         Zqej                             d ed#d¦  «        ¦  «        d�„ ¦   «         Zrej                             d ed#d¦  «        ¦  «        d�„ ¦   «         Zsej                             d ed#d¦  «        ¦  «        ej                             dej        ej        g¦  «        d‘„ ¦   «         ¦   «         Ztej                             d ed#d¦  «        ¦  «        d’„ ¦   «         Zuej                             d ed#d¦  «        ¦  «        d“„ ¦   «         Zvej                             d ed#d¦  «        ¦  «        d”„ ¦   «         Zwej                             d ed#d¦  «        ¦  «        d•„ ¦   «         Zxej                             d ed#d¦  «        ¦  «        d–„ ¦   «         Zyd—„ Zzd˜„ Z{d™„ Z|dšS )›ÚTestNdimageInterpolationzmode, expected_valuer   )ç      ø?ç      @ç      @é   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   r   r   r   r   r   )r   r   r   éÿÿÿÿr   r   r   r   )r   r   r   r   r   r   r   c                 óˆ   — d„ }t          j        g d¢¦  «        }t          |t          j        ||d|dd¬¦  «        ¦  «         d S )Nc                 ó   — | d         dz   fS )Nr   ç      à?© ©Úxs    úe/var/www/surfInsights/venv3-11/lib/python3.11/site-packages/scipy/ndimage/tests/test_interpolation.pyÚshiftz7TestNdimageInterpolation.test_boundaries.<locals>.shift&   ó   € Ø�a”D˜3‘J�=Ð ó    )r
   é   é   ç      @r   )é   r
   )ÚcvalÚmodeÚoutput_shapeÚorder©ÚnpÚarrayr   ÚndimageÚgeometric_transform©Úselfr-   Úexpected_valuer%   Údatas        r$   Útest_boundariesz(TestNdimageInterpolation.test_boundaries   so   € ð	!ð 	!ð 	!õ Œx˜˜˜Ñ&Ô&ˆÝØÝÔ'¨¨e¸"À4Ø59ÀðDñ Dô Dñ	Eô 	Eð 	Eð 	Eð 	Er'   )r
   r
   r(   r)   )r)   r
   r(   r)   )r   r
   r(   r)   )r(   r
   r(   r)   )r   r
   r(   r)   c           
      ó†   — d„ }t          j        g d¢¦  «        }t          |t          j        ||d|d¬¦  «        ¦  «         d S )Nc                 ó   — | d         dz
  fS )Nr   gÍÌÌÌÌÌì?r!   r"   s    r$   r%   z8TestNdimageInterpolation.test_boundaries2.<locals>.shift:   r&   r'   ©r
   r(   r)   r   r   ©r   )r,   r-   r.   r0   r5   s        r$   Útest_boundaries2z)TestNdimageInterpolation.test_boundaries2/   se   € ð	!ð 	!ð 	!õ Œx˜˜˜Ñ%Ô%ˆÝØÝÔ'¨¨e¸"À4Ø59ð;ñ ;ô ;ñ	<ô 	<ð 	<ð 	<ð 	<r'   r-   )r   r   r   r   r   r   r/   é   c                 óv  — t          j        ddt          ¬¦  «        }t          j        ddd¬¦  «        }t	          j        ||g||¬¦  «        }d	}t                               |¦  «        }t          j        |||¬
¦  «        }t	          j        |||z   g||¬¦  «        }	|dk    rdnd}
t          ||	d|
¬¦  «         dS )z$Tests based on examples from gh-2640iúÿÿÿr+   ©Údtypeiøÿÿÿé   iè  )Únum©r/   r-   é    ©r-   r   gñhãˆµøä>r   çH¯¼šò×z>)ÚrtolÚatolN)
r1   ÚarangeÚfloatÚlinspacer3   Úmap_coordinatesÚndimage_to_numpy_modeÚgetÚpadr   )r6   r-   r/   r8   r#   ÚyÚnpadÚpad_modeÚpaddedÚexpectedrJ   s              r$   Útest_boundary_spline_accuracyz6TestNdimageInterpolation.test_boundary_spline_accuracyC   sÓ   € õ Œy˜˜Q¥eÐ,Ñ,Ô,ˆÝŒK˜˜B DÐ)Ñ)Ô)ˆÝÔ# D¨1¨#°UÀÐFÑFÔFˆð ˆÝ(×,Ò,¨TÑ2Ô2ˆÝ”˜˜d¨Ð2Ñ2Ô2ˆÝÔ*¨6°D¸1±H°:ÀUØ04ð6ñ 6ô 6ˆð ˜Ò.Ð.ˆtˆt°EˆÝ˜˜8¨$°TÐ:Ñ:Ô:Ð:Ð:Ð:r'   r(   rB   c                 ó|   — t          j        g |¦  «        }t          j        ||¬¦  «        }t	          |d¦  «         d S )N©r/   r
   ©r1   Úonesr3   Úspline_filterr   ©r6   rB   r/   r8   Úouts        r$   Útest_spline01z&TestNdimageInterpolation.test_spline01W   s@   € õ Œw�r˜5Ñ!Ô!ˆÝÔ# D°Ð6Ñ6Ô6ˆÝ! # qÑ)Ô)Ð)Ð)Ð)r'   c                 ó€   — t          j        dg|¦  «        }t          j        ||¬¦  «        }t	          |dg¦  «         d S ©Nr
   rY   )r1   r2   r3   r\   r   r]   s        r$   Útest_spline02z&TestNdimageInterpolation.test_spline02^   sD   € õ Œx˜˜˜UÑ#Ô#ˆÝÔ# D°Ð6Ñ6Ô6ˆÝ! #¨ sÑ+Ô+Ð+Ð+Ð+r'   c                 ó~   — t          j        g |¦  «        }t          j        |||¬¦  «        }t	          |d¦  «         d S )N©Úoutputr
   rZ   r]   s        r$   Útest_spline03z&TestNdimageInterpolation.test_spline03e   sB   € õ Œw�r˜5Ñ!Ô!ˆÝÔ# D¨%¸Ð>Ñ>Ô>ˆÝ! # qÑ)Ô)Ð)Ð)Ð)r'   c                 ó€   — t          j        dg|¦  «        }t          j        ||¦  «        }t	          |g d¢¦  «         d S )Nr   ©r
   r
   r
   r
   rZ   r]   s        r$   Útest_spline04z&TestNdimageInterpolation.test_spline04l   sC   € õ Œw˜�s˜EÑ"Ô"ˆÝÔ# D¨%Ñ0Ô0ˆÝ! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 ó˜   — t          j        ddg|¦  «        }t          j        ||¬¦  «        }t	          |g d¢g d¢g d¢g d¢g¦  «         d S )Nr   rY   rh   rZ   r]   s        r$   Útest_spline05z&TestNdimageInterpolation.test_spline05s   sl   € õ Œw˜˜1�v˜uÑ%Ô%ˆÝÔ# D°Ð6Ñ6Ô6ˆÝ! #¨¨¨Ø(4¨¨Ø(4¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7ð 	7ð 	7r'   r   c                 ó’   — t          j        dg¦  «        }d„ }t          j        |||j        |¬¦  «        }t          |dg¦  «         d S )Nr
   c                 ó   — | S ©Nr!   r"   s    r$   ÚmappingzDTestNdimageInterpolation.test_geometric_transform01.<locals>.mapping�   ó   € ØˆHr'   rY   ©r1   r2   r3   r4   Úshaper   ©r6   r/   r8   ro   r^   s        r$   Útest_geometric_transform01z3TestNdimageInterpolation.test_geometric_transform01}   s\   € åŒx˜˜‰}Œ}ˆð	ð 	ð 	õ Ô)¨$°¸¼Ø05ð7ñ 7ô 7ˆå! #¨ sÑ+Ô+Ð+Ð+Ð+r'   c                 ó”   — t          j        dg¦  «        }d„ }t          j        |||j        |¬¦  «        }t          |g d¢¦  «         d S )Nr   c                 ó   — | S rn   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform02.<locals>.mappingŒ   rp   r'   rY   rh   ©r1   r[   r3   r4   rr   r   rs   s        r$   Útest_geometric_transform02z3TestNdimageInterpolation.test_geometric_transform02ˆ   s^   € åŒw˜�s‰|Œ|ˆð	ð 	ð 	õ Ô)¨$°¸¼Ø05ð7ñ 7ô 7ˆå! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 ó”   — t          j        dg¦  «        }d„ }t          j        |||j        |¬¦  «        }t          |g d¢¦  «         d S )Nr   c                 ó   — | d         dz
  fS ©Nr   r
   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform03.<locals>.mapping—   ó   € Ø�a”D˜1‘H�;Ðr'   rY   ©r   r
   r
   r
   rw   rs   s        r$   Útest_geometric_transform03z3TestNdimageInterpolation.test_geometric_transform03“   s^   € åŒw˜�s‰|Œ|ˆð	ð 	ð 	õ Ô)¨$°¸¼Ø05ð7ñ 7ô 7ˆå! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 ó–   — t          j        g d¢¦  «        }d„ }t          j        |||j        |¬¦  «        }t          |g d¢¦  «         d S )N©r   r
   r)   r(   c                 ó   — | d         dz
  fS r{   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform04.<locals>.mapping¢   r|   r'   rY   ©r   r   r
   r)   rq   rs   s        r$   Útest_geometric_transform04z3TestNdimageInterpolation.test_geometric_transform04ž   sb   € åŒx˜˜˜Ñ%Ô%ˆð	ð 	ð 	õ Ô)¨$°¸¼Ø05ð7ñ 7ô 7ˆå! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 ó"  — t          j        g d¢g d¢g d¢g|¬¦  «        }t          j        g d¢g d¢g d¢g|¬¦  «        }|j        j        dk    r|d|z  z  }|d|z  z  }d„ }t	          j        |||j        |¬¦  «        }t          ||¦  «         d S )Nrh   rA   r}   Úcù              ð?c                 ó(   — | d         | d         dz
  fS r{   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform05.<locals>.mapping¶   ó   € Ø�a”D˜!˜Aœ$ ™(Ð#Ð#r'   rY   )r1   r2   rB   Úkindr3   r4   rr   r   )r6   r/   rB   r8   rV   ro   r^   s          r$   Útest_geometric_transform05z3TestNdimageInterpolation.test_geometric_transform05©   sà   € õ Œx˜˜˜Ø%˜˜Ø%˜˜ð'à.3ð5ñ 5ô 5ˆõ ”8˜\˜\˜\Ø)˜\˜\Ø)˜\˜\ð+à27ð9ñ 9ô 9ˆð Œ:Œ?˜cÒ!Ð!Ø�B˜‘IÑˆDØ˜˜X™Ñ%ˆHð	$ð 	$ð 	$õ Ô)¨$°¸¼Ø05ð7ñ 7ô 7ˆå! # xÑ0Ô0Ð0Ð0Ð0r'   c                 ó²   — t          j        g d¢g d¢g d¢g¦  «        }d„ }t          j        |||j        |¬¦  «        }t          |g d¢g d¢g d¢g¦  «         d S )	Nr€   ©r+   r?   é   é   ©r)   rŽ   r)   r?   c                 ó(   — | d         | d         dz
  fS r{   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform06.<locals>.mappingÃ   rˆ   r'   rY   r‚   ©r   r+   r?   r�   ©r   r)   rŽ   r)   rq   rs   s        r$   Útest_geometric_transform06z3TestNdimageInterpolation.test_geometric_transform06½   ó–   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆð	$ð 	$ð 	$õ Ô)¨$°¸¼Ø05ð7ñ 7ô 7ˆå! #¨¨¨Ø(4¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7ð 	7ð 	7r'   c                 ó²   — t          j        g d¢g d¢g d¢g¦  «        }d„ }t          j        |||j        |¬¦  «        }t          |g d¢g d¢g d¢g¦  «         d S )Nr€   rŒ   r�   c                 ó(   — | d         dz
  | d         fS r{   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform07.<locals>.mappingÒ   ó   € Ø�a”D˜1‘H˜a œdÐ#Ð#r'   rY   ©r   r   r   r   rq   rs   s        r$   Útest_geometric_transform07z3TestNdimageInterpolation.test_geometric_transform07Ì   r”   r'   c                 ó²   — t          j        g d¢g d¢g d¢g¦  «        }d„ }t          j        |||j        |¬¦  «        }t          |g d¢g d¢g d¢g¦  «         d S )	Nr€   rŒ   r�   c                 ó.   — | d         dz
  | d         dz
  fS r{   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform08.<locals>.mappingá   ó   € Ø�a”D˜1‘H˜a œd Q™hÐ'Ð'r'   rY   r˜   r‚   r‘   rq   rs   s        r$   Útest_geometric_transform08z3TestNdimageInterpolation.test_geometric_transform08Û   s–   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆð	(ð 	(ð 	(õ Ô)¨$°¸¼Ø05ð7ñ 7ô 7ˆå! #¨¨¨Ø(4¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7ð 	7ð 	7r'   c                 óò   — t          j        g d¢g d¢g d¢g¦  «        }d„ }|dk    rt          j        ||¬¦  «        }n|}t          j        |||j        |d¬¦  «        }t          |g d	¢g d
¢g d¢g¦  «         d S )Nr€   rŒ   r�   c                 ó.   — | d         dz
  | d         dz
  fS r{   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform10.<locals>.mappingð   rœ   r'   r
   rY   F©r/   Ú	prefilterr˜   r‚   r‘   )r1   r2   r3   r\   r4   rr   r   )r6   r/   r8   ro   Úfilteredr^   s         r$   Útest_geometric_transform10z3TestNdimageInterpolation.test_geometric_transform10ê   sÀ   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆð	(ð 	(ð 	(ð �AŠIˆIÝÔ,¨T¸Ð?Ñ?Ô?ˆHˆHàˆHÝÔ)¨(°G¸T¼ZØ05ÀðHñ Hô Hˆå! #¨¨¨Ø(4¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7ð 	7ð 	7r'   c                 ó¢   — t          j        dgt           j        ¦  «        }d„ }t          j        ||dg|¬¦  «        }t          |g d¢¦  «         d S )Nr(   c                 ó   — | d         dz  fS ©Nr   r(   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform13.<locals>.mapping  s   € Ø�a”D˜A‘I�<Ðr'   r   rY   rh   )r1   r[   Úfloat64r3   r4   r   rs   s        r$   Útest_geometric_transform13z3TestNdimageInterpolation.test_geometric_transform13ý   s]   € åŒw˜�s�BœJÑ'Ô'ˆð	 ð 	 ð 	 õ Ô)¨$°¸!¸ÀEÐJÑJÔJˆÝ! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 ój   — g d¢}d„ }t          j        ||dg|¬¦  «        }t          |g d¢¦  «         d S )N©r
   rŽ   r(   r?   r)   r+   r   r   c                 ó   — d| d         z  fS )Nr(   r   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform14.<locals>.mapping  s   € Ø˜˜!œ‘H�;Ðr'   r   rY   r<   ©r3   r4   r   rs   s        r$   Útest_geometric_transform14z3TestNdimageInterpolation.test_geometric_transform14  sS   € à'Ð'Ð'ˆð	ð 	ð 	õ Ô)¨$°¸!¸ÀEÐJÑJÔJˆÝ! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 ó|   — g d¢}d„ }t          j        ||dg|¬¦  «        }t          |d d d…         g d¢¦  «         d S )Nr<   c                 ó   — | d         dz  fS r¦   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform15.<locals>.mapping  r|   r'   r�   rY   r(   r¬   rs   s        r$   Útest_geometric_transform15z3TestNdimageInterpolation.test_geometric_transform15  s[   € àˆ|ˆ|ˆð	ð 	ð 	õ Ô)¨$°¸!¸ÀEÐJÑJÔJˆÝ! # c c¨ c¤(¨L¨L¨LÑ9Ô9Ð9Ð9Ð9r'   c                 ó„   — g d¢g d¢g d¢g}d„ }t          j        ||d|¬¦  «        }t          |ddgd	d
gddgg¦  «         d S )Nr<   ©rŽ   r?   r+   r�   ©g      "@é
   é   é   c                 ó(   — | d         | d         dz  fS ©Nr   r
   r(   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform16.<locals>.mapping!  rˆ   r'   ©r)   r(   rY   r
   r)   rŽ   r+   é	   rµ   r¬   rs   s        r$   Útest_geometric_transform16z3TestNdimageInterpolation.test_geometric_transform16  sz   € à��Ø��Ø!Ð!Ð!ð#ˆð	$ð 	$ð 	$õ Ô)¨$°¸Ø05ð7ñ 7ô 7ˆå! #¨¨A¨°°A°¸¸B¸Ð'@ÑAÔAÐAÐAÐAr'   c                 óx   — g d¢g d¢g d¢g}d„ }t          j        ||d|¬¦  «        }t          |g d¢g¦  «         d S )Nr<   r²   ©rº   r´   rµ   r¶   c                 ó(   — | d         dz  | d         fS ©Nr   r(   r
   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform17.<locals>.mapping.  r—   r'   ©r
   r   rY   r¬   rs   s        r$   Útest_geometric_transform17z3TestNdimageInterpolation.test_geometric_transform17(  sk   € à��Ø��Ø��ð!ˆð	$ð 	$ð 	$õ Ô)¨$°¸Ø05ð7ñ 7ô 7ˆå! #¨¨¨ ~Ñ6Ô6Ð6Ð6Ð6r'   c                 óx   — g d¢g d¢g d¢g}d„ }t          j        ||d|¬¦  «        }t          |ddgg¦  «         d S )	Nr<   r²   r½   c                 ó.   — | d         dz  | d         dz  fS r¿   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform18.<locals>.mapping;  rœ   r'   ©r
   r(   rY   r
   r)   r¬   rs   s        r$   Útest_geometric_transform18z3TestNdimageInterpolation.test_geometric_transform185  sk   € à��Ø��Ø��ð!ˆð	(ð 	(ð 	(õ Ô)¨$°¸Ø05ð7ñ 7ô 7ˆå! #¨¨A¨ xÑ0Ô0Ð0Ð0Ð0r'   c                 óˆ   — g d¢g d¢g d¢g}d„ }t          j        ||d|¬¦  «        }t          |dd d d…f         |¦  «         d S )	Nr<   r²   r½   c                 ó(   — | d         | d         dz  fS r¸   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform19.<locals>.mappingH  rˆ   r'   ©r)   r�   rY   .r(   r¬   rs   s        r$   Útest_geometric_transform19z3TestNdimageInterpolation.test_geometric_transform19B  ss   € à��Ø��Ø��ð!ˆð	$ð 	$ð 	$õ Ô)¨$°¸Ø05ð7ñ 7ô 7ˆå! # c¨3¨3¨Q¨3 h¤-°Ñ6Ô6Ð6Ð6Ð6r'   c                 óˆ   — g d¢g d¢g d¢g}d„ }t          j        ||d|¬¦  «        }t          |d d d…df         |¦  «         d S )	Nr<   r²   r½   c                 ó(   — | d         dz  | d         fS r¿   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform20.<locals>.mappingU  r—   r'   ©r?   r   rY   r(   .r¬   rs   s        r$   Útest_geometric_transform20z3TestNdimageInterpolation.test_geometric_transform20O  ss   € à��Ø��Ø��ð!ˆð	$ð 	$ð 	$õ Ô)¨$°¸Ø05ð7ñ 7ô 7ˆå! # c c¨ c¨3 h¤-°Ñ6Ô6Ð6Ð6Ð6r'   c                 óŽ   — g d¢g d¢g d¢g}d„ }t          j        ||d|¬¦  «        }t          |d d d…d d d…f         |¦  «         d S )Nr<   r²   r½   c                 ó.   — | d         dz  | d         dz  fS r¿   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform21.<locals>.mappingb  rœ   r'   ©r?   r�   rY   r(   r¬   rs   s        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                 óâ   — t          j        g d¢g d¢g d¢gt           j        ¦  «        }d„ }d„ }t          j        ||d|¬¦  «        }t          j        ||d|¬¦  «        }t          ||¦  «         d S )	Nr<   r²   r½   c                 ó.   — | d         dz  | d         dz  fS r¿   r!   r"   s    r$   Úmapping1zETestNdimageInterpolation.test_geometric_transform22.<locals>.mapping1o  rœ   r'   c                 ó.   — | d         dz  | d         dz  fS r¿   r!   r"   s    r$   Úmapping2zETestNdimageInterpolation.test_geometric_transform22.<locals>.mapping2r  rœ   r'   rÐ   rY   ©r)   r   )r1   r2   r§   r3   r4   r   )r6   r/   r8   rÔ   rÖ   r^   s         r$   Útest_geometric_transform22z3TestNdimageInterpolation.test_geometric_transform22i  s§   € åŒx˜˜˜Ø%˜˜Ø(˜˜ð*å+-¬:ñ7ô 7ˆð	(ð 	(ð 	(ð	(ð 	(ð 	(õ Ô)¨$°Ø*0¸ð?ñ ?ô ?ˆåÔ)¨#¨xØ*0¸ð?ñ ?ô ?ˆå! # tÑ,Ô,Ð,Ð,Ð,r'   c                 ó´   — g d¢g d¢g d¢g}d„ }t          j        ||d|¬¦  «        }|                     t          j        ¦  «        }t          |ddg¦  «         d S )	Nr<   r²   r½   c                 ó   — d| d         dz  fS )Nr
   r   r(   r!   r"   s    r$   ro   zDTestNdimageInterpolation.test_geometric_transform23.<locals>.mapping�  ó   € Ø�q˜”t˜a‘x�=Ð r'   ©r(   rY   rŽ   r+   )r3   r4   Úastyper1   Úint32r   rs   s        r$   Útest_geometric_transform23z3TestNdimageInterpolation.test_geometric_transform23{  su   € à��Ø��Ø��ð!ˆð	!ð 	!ð 	!õ Ô)¨$°¸ÀUÐKÑKÔKˆØ�jŠj�œÑ"Ô"ˆÝ! #¨¨1 vÑ.Ô.Ð.Ð.Ð.r'   c           	      ó~   — g d¢g d¢g d¢g}d„ }t          j        ||d|dddi¬	¦  «        }t          |d
dg¦  «         d S )Nr<   r²   r½   c                 ó   — || d         |z  fS )Nr   r!   )r#   ÚaÚbs      r$   ro   zDTestNdimageInterpolation.test_geometric_transform24.<locals>.mappingŽ  rÛ   r'   rÜ   )r
   rã   r(   )r/   Úextra_argumentsÚextra_keywordsrŽ   r+   r¬   rs   s        r$   Útest_geometric_transform24z3TestNdimageInterpolation.test_geometric_transform24ˆ  st   € à��Ø��Ø��ð!ˆð	!ð 	!ð 	!õ Ô)Ø�'˜4 u¸dØ ˜8ð%ñ %ô %ˆõ 	" #¨¨1 vÑ.Ô.Ð.Ð.Ð.r'   c                 óÎ   — t          j        g d¢g d¢gt          ¬¦  «        }d„ }t          j        g d¢g d¢g¦  «        }t          t	          j        ||dd¬	¦  «        |¦  «         d S )
N©r
   r(   r)   ©r   rŽ   r?   rA   c                 ó.   — | d         dz
  | d         dz
  fS )Nr   r    r
   r!   r"   s    r$   ro   zWTestNdimageInterpolation.test_geometric_transform_grid_constant_order1.<locals>.mapping›  ó   € Ø�a”D˜3‘J ! A¤$¨¡*Ð-Ð-r'   ©g      Ð?g      è?ç      ô?©rí   g      @r*   r   r
   ©r-   r/   )r1   r2   rL   r   r3   r4   )r6   r#   ro   Úexpected_results       r$   Ú-test_geometric_transform_grid_constant_order1zFTestNdimageInterpolation.test_geometric_transform_grid_constant_order1–  s£   € åŒH�i�i�iØ�i�ið!Ý(-ð/ñ /ô /ˆð	.ð 	.ð 	.õ œ(Ð$6Ð$6Ð$6Ø$6Ð$6Ð$6ð$8ñ 9ô 9ˆå!ÝÔ'¨¨7¸Ø./ð1ñ 1ô 1àñ	
ô 	
ð 	
ð 	
ð 	
r'   )r   r   r   r   r   c                 óª  — t          j        dt          ¬¦  «                             dd¦  «        }d„ }d}t                               |¦  «        }t          j        |||¬¦  «        }t          t          || ¦  «        g|j	        z  ¦  «        }t          j        ||||¬¦  «        |         }	t          t          j        ||||¬¦  «        |	d¬	¦  «         d S )
Né�   rA   r¶   c                 ó.   — | d         dz
  | d         dz   fS )Nr   çš™™™™™Ù?r
   gffffff@r!   r"   s    r$   ro   zLTestNdimageInterpolation.test_geometric_transform_vs_padded.<locals>.mapping¬  rë   r'   é   rG   rï   rH   ©rI   )r1   rK   rL   ÚreshaperO   rP   rQ   ÚtupleÚsliceÚndimr3   r4   r   )
r6   r/   r-   r#   ro   rS   rT   ÚxpÚcenter_slicerð   s
             r$   Ú"test_geometric_transform_vs_paddedz;TestNdimageInterpolation.test_geometric_transform_vs_padded¦  sù   € õ ŒI�c¥Ð'Ñ'Ô'×/Ò/°°BÑ7Ô7ˆð	.ð 	.ð 	.ð
 ˆÝ(×,Ò,¨TÑ2Ô2ˆÝŒV�A�t (Ð+Ñ+Ô+ˆÝ�e D¨4¨%Ñ0Ô0Ð1°A´FÑ:Ñ;Ô;ˆÝ!Ô5Ø�˜d¨%ð1ñ 1ô 1Ø1=ô?ˆõ 	ÝÔ'¨¨7¸Ø.3ð5ñ 5ô 5àØð		
ñ 	
ô 	
ð 	
ð 	
ð 	
r'   c                 ó„  — t          j        dg¦  «        }d„ }|j        |j                             ¦   «         t          j        |¦  «        t          j        |¦  «                             |j                             ¦   «         ¦  «        fD ]6}t          j        |||j        |¬¦  «        }|€|n|}t          |dg¦  «         Œ7d S )Nr
   c                 ó   — | S rn   r!   r"   s    r$   ro   zcTestNdimageInterpolation.test_geometric_transform_endianness_with_output_parameter.<locals>.mappingÄ  rp   r'   rd   )
r1   r2   rB   ÚnewbyteorderÚ
empty_likerÝ   r3   r4   rr   r   )r6   r8   ro   r^   ÚreturnedÚresults         r$   Ú9test_geometric_transform_endianness_with_output_parameterzRTestNdimageInterpolation.test_geometric_transform_endianness_with_output_parameter¿  sÒ   € õ Œx˜˜‰}Œ}ˆð	ð 	ð 	ð ”J ¤
× 7Ò 7Ñ 9Ô 9Ý”M $Ñ'Ô'Ý”M $Ñ'Ô'×.Ò.¨t¬z×/FÒ/FÑ/HÔ/HÑIÔIðKð 	3ð 	3ˆCõ Ô2°4¸À$Ä*Ø:=ð?ñ ?ô ?ˆHà$Ð,�S�S°(ˆFÝ% f¨q¨cÑ2Ô2Ð2Ð2ð	3ð 	3r'   c                 óÖ   — t          j        dg¦  «        }d„ }t          j        ||d¬¦  «        }t	          |j        t          j        d¦  «        u ¦  «         t          |dg¦  «         d S )Nr
   c                 ó   — | S rn   r!   r"   s    r$   ro   zUTestNdimageInterpolation.test_geometric_transform_with_string_output.<locals>.mappingÒ  rp   r'   Úfrd   )r1   r2   r3   r4   r   rB   r   )r6   r8   ro   r^   s       r$   Ú+test_geometric_transform_with_string_outputzDTestNdimageInterpolation.test_geometric_transform_with_string_outputÏ  sn   € ÝŒx˜˜‰}Œ}ˆð	ð 	ð 	õ Ô)¨$°ÀÐDÑDÔDˆÝ�”	�RœX c™]œ]Ð*Ñ+Ô+Ð+Ý! #¨ sÑ+Ô+Ð+Ð+Ð+r'   c                 óD  — t          j        g d¢g d¢g d¢g¦  «        }t          j        g d¢g d¢g d¢g¦  «        }|j        j        dk    r|d|z  z
  }|d|z  z
  }t          j        |j        ¦  «        }|d	z  }t          j        |||¬
¦  «        }t          ||¦  «         d S )Nr€   rŒ   r�   r˜   r‚   r‘   r…   r†   r
   rY   )	r1   r2   rB   r‰   Úindicesrr   r3   rN   r   )r6   r/   rB   r8   rV   Úidxr^   s          r$   Útest_map_coordinates01z/TestNdimageInterpolation.test_map_coordinates01Ù  sÎ   € õ Œx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆõ ”8˜\˜\˜\Ø)˜\˜\Ø)˜\˜\ð+ñ ,ô ,ˆð Œ:Œ?˜cÒ!Ð!Ø˜"˜t™)Ñ#ˆDØ " x¡-Ñ/ˆHåŒj˜œÑ$Ô$ˆØˆq‰ˆåÔ% d¨C°uÐ=Ñ=Ô=ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r'   c                 ó  — t          j        g d¢g d¢g d¢g¦  «        }t          j        |j        t           j        ¦  «        }|dz  }t          j        |d|¬¦  «        }t          j        |||¬¦  «        }t          ||¦  «         d S )Nr€   rŒ   r�   r    rY   )	r1   r2   r  rr   r§   r3   r%   rN   r   )r6   r/   r8   r  Úout1Úout2s         r$   Útest_map_coordinates02z/TestNdimageInterpolation.test_map_coordinates02ì  s�   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆõ Œj˜œ¥R¤ZÑ0Ô0ˆØˆs‰
ˆåŒ}˜T 3¨eÐ4Ñ4Ô4ˆÝÔ& t¨S¸Ð>Ñ>Ô>ˆÝ! $¨Ñ-Ô-Ð-Ð-Ð-r'   c           
      óP  — t          j        g d¢g d¢g d¢gd¬¦  «        }t          j        |j        ¦  «        dz
  }t	          j        ||¦  «        }t          |g d¢g d¢g d	¢g¦  «         t          |t	          j        |d
¦  «        ¦  «         t          j        |d d d…         j        ¦  «        dz
  }t	          j        |d d d…         |¦  «        }t          |g d¢g d¢g¦  «         t          |t	          j        |d d d…         d
¦  «        ¦  «         t          j        |d d …d d d…f         j        ¦  «        dz
  }t	          j        |d d …d d d…f         |¦  «        }t          |ddgddgddgg¦  «         t          |t	          j        |d d …d d d…f         d
¦  «        ¦  «         d S )Nr€   rŒ   r�   ÚFrY   r
   r˜   r‚   r‘   ©r
   r
   r(   r   r   r+   )r1   r2   r  rr   r3   rN   r   r%   ©r6   r8   r  r^   s       r$   Útest_map_coordinates03z/TestNdimageInterpolation.test_map_coordinates03ø  sÕ  € ÝŒx˜˜˜Ø%˜˜Ø%˜˜ð'à.1ð3ñ 3ô 3ˆõ Œj˜œÑ$Ô$ qÑ(ˆÝÔ% d¨CÑ0Ô0ˆÝ! #¨¨¨Ø(4¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7õ 	" #¥w¤}°T¸6Ñ'BÔ'BÑCÔCÐCÝŒj˜˜c˜c ˜cœœÑ)Ô)¨AÑ-ˆÝÔ% d¨3¨3¨Q¨3¤i°Ñ5Ô5ˆÝ! #¨¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7å! #¥w¤}°T¸#¸#¸A¸#´YÀÑ'GÔ'GÑHÔHÐHÝŒj˜˜a˜a˜a   1 ˜fœÔ+Ñ,Ô,¨qÑ0ˆÝÔ% 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                 óê  — t          j        ddgddgg¦  «        }t          j        ddgddgg¦  «        }t          j        |j        ¦  «        }|dz  }|j        |j                             ¦   «         t          j        |¦  «        t          j        |¦  «                             |j                             ¦   «         ¦  «        fD ]/}t          j	        |||¬¦  «        }|€|n|}t          ||¦  «         Œ0d S )Nr
   r(   r+   r?   r   rd   )r1   r2   r  rr   rB   r  r  rÝ   r3   rN   r   )r6   r8   rV   r  r^   r  r  s          r$   Ú5test_map_coordinates_endianness_with_output_parameterzNTestNdimageInterpolation.test_map_coordinates_endianness_with_output_parameter  s÷   € õ Œx˜!˜Q˜ ! Q Ð(Ñ)Ô)ˆÝ”8˜a ˜V a¨ VÐ,Ñ-Ô-ˆÝŒj˜œÑ$Ô$ˆØˆq‰ˆàŒJØŒJ×#Ò#Ñ%Ô%ÝŒM˜(Ñ#Ô#ÝŒM˜(Ñ#Ô#×*Ò*¨8¬>×+FÒ+FÑ+HÔ+HÑIÔIð	
ð 	8ð 	8ˆCõ Ô.¨t°SÀÐEÑEÔEˆHØ$Ð,�S�S°(ˆFÝ% f¨hÑ7Ô7Ð7Ð7ð	8ð 	8r'   c                 ó  — t          j        dgg¦  «        }t          j        |j        ¦  «        }t	          j        ||d¬¦  «        }t          |j        t          j        d¦  «        u ¦  «         t          |dgg¦  «         d S ©Nr
   r  rd   )	r1   r2   r  rr   r3   rN   r   rB   r   r  s       r$   Ú'test_map_coordinates_with_string_outputz@TestNdimageInterpolation.test_map_coordinates_with_string_output  sr   € ÝŒx˜!˜˜‰ŒˆÝŒj˜œÑ$Ô$ˆÝÔ% d¨C¸Ð<Ñ<Ô<ˆÝ�”	�RœX c™]œ]Ð*Ñ+Ô+Ð+Ý! #¨¨ uÑ-Ô-Ð-Ð-Ð-r'   Úwin32r�   z2do not run on 32 bit or windows (no sparse memory))Úreasonc                 ó,  — 	 d}t          j        |dz  t           j        ¬¦  «                             ||¦  «        }d||dz
  d …|dz
  d …f<   t	          j        ||dz
  g|dz
  ggd¬¦  «         d S # t          $ r}t          j        d	¦  «        |‚d }~ww xY w)
Ni0u  r(   rA   r   r)   r   r
   rY   zNot enough memory available)	r1   ÚemptyÚfloat32rø   r3   rN   ÚMemoryErrorÚpytestÚskip)r6   Únrâ   Úes       r$   Útest_map_coordinates_large_dataz8TestNdimageInterpolation.test_map_coordinates_large_data$  sº   € ð
	DØˆAÝ”˜˜A™¥R¤ZÐ0Ñ0Ô0×8Ò8¸¸AÑ>Ô>ˆ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Á9BÂBc                 ó„   — t          j        dg¦  «        }t          j        |dgg|¬¦  «        }t	          |dg¦  «         d S ra   ©r1   r2   r3   Úaffine_transformr   ©r6   r/   r8   r^   s       r$   Útest_affine_transform01z0TestNdimageInterpolation.test_affine_transform012  sD   € åŒx˜˜‰}Œ}ˆÝÔ& t¨q¨c¨U¸%Ð@Ñ@Ô@ˆÝ! #¨ sÑ+Ô+Ð+Ð+Ð+r'   c                 ó†   — t          j        dg¦  «        }t          j        |dgg|¬¦  «        }t	          |g d¢¦  «         d S )Nr   r
   rY   rh   ©r1   r[   r3   r)  r   r*  s       r$   Útest_affine_transform02z0TestNdimageInterpolation.test_affine_transform028  sF   € åŒw˜�s‰|Œ|ˆÝÔ& t¨q¨c¨U¸%Ð@Ñ@Ô@ˆÝ! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 óˆ   — t          j        dg¦  «        }t          j        |dggd|¬¦  «        }t	          |g d¢¦  «         d S )Nr   r
   r   rY   r}   r-  r*  s       r$   Útest_affine_transform03z0TestNdimageInterpolation.test_affine_transform03>  sH   € åŒw˜�s‰|Œ|ˆÝÔ& t¨q¨c¨U°B¸eÐDÑDÔDˆÝ! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 óŠ   — t          j        g d¢¦  «        }t          j        |dggd|¬¦  «        }t	          |g d¢¦  «         d S )Nr€   r
   r   rY   r‚   r(  r*  s       r$   Útest_affine_transform04z0TestNdimageInterpolation.test_affine_transform04D  sL   € åŒx˜˜˜Ñ%Ô%ˆÝÔ& t¨q¨c¨U°B¸eÐDÑDÔDˆÝ! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 ó"  — t          j        g d¢g d¢g d¢g|¬¦  «        }t          j        g d¢g d¢g d¢g|¬¦  «        }|j        j        dk    r|d|z  z  }|d|z  z  }t	          j        |ddgddggddg|¬	¦  «        }t          ||¦  «         d S )
Nrh   rA   r}   r…   r†   r
   r   r   rY   )r1   r2   rB   r‰   r3   r)  r   ©r6   r/   rB   r8   rV   r^   s         r$   Útest_affine_transform05z0TestNdimageInterpolation.test_affine_transform05J  sÞ   € õ Œx˜˜˜Ø%˜˜Ø%˜˜ð'à.3ð5ñ 5ô 5ˆõ ”8˜\˜\˜\Ø)˜\˜\Ø)˜\˜\ð+à27ð9ñ 9ô 9ˆð Œ:Œ?˜cÒ!Ð!Ø�B˜‘IÑˆDØ˜˜X™Ñ%ˆHÝÔ& t¨q°!¨f°q¸!°fÐ-=Ø()¨2 w°eð=ñ =ô =ˆå! # xÑ0Ô0Ð0Ð0Ð0r'   c                 ó²   — t          j        g d¢g d¢g d¢g¦  «        }t          j        |ddgddggddg|¬¦  «        }t	          |g d¢g d	¢g d
¢g¦  «         d S )Nr€   rŒ   r�   r
   r   r   rY   r‚   r‘   r’   r(  r*  s       r$   Útest_affine_transform06z0TestNdimageInterpolation.test_affine_transform06Z  s–   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆõ Ô& t¨q°!¨f°q¸!°fÐ-=Ø()¨2 w°eð=ñ =ô =ˆå! #¨¨¨Ø(4¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7ð 	7ð 	7r'   c                 ó²   — t          j        g d¢g d¢g d¢g¦  «        }t          j        |ddgddggddg|¬¦  «        }t	          |g d¢g d¢g d¢g¦  «         d S )	Nr€   rŒ   r�   r
   r   r   rY   r˜   r(  r*  s       r$   Útest_affine_transform07z0TestNdimageInterpolation.test_affine_transform07e  s–   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆõ Ô& t¨q°!¨f°q¸!°fÐ-=Ø(*¨A w°eð=ñ =ô =ˆå! #¨¨¨Ø(4¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7ð 	7ð 	7r'   c                 ó²   — t          j        g d¢g d¢g d¢g¦  «        }t          j        |ddgddggddg|¬¦  «        }t	          |g d¢g d	¢g d
¢g¦  «         d S )Nr€   rŒ   r�   r
   r   r   rY   r˜   r‚   r‘   r(  r*  s       r$   Útest_affine_transform08z0TestNdimageInterpolation.test_affine_transform08p  s–   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆõ Ô& t¨q°!¨f°q¸!°fÐ-=Ø(*¨B x°uð>ñ >ô >ˆå! #¨¨¨Ø(4¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7ð 	7ð 	7r'   c                 óò   — t          j        g d¢g d¢g d¢g¦  «        }|dk    rt          j        ||¬¦  «        }n|}t          j        |ddgddggddg|d¬	¦  «        }t          |g d
¢g d¢g d¢g¦  «         d S )Nr€   rŒ   r�   r
   rY   r   r   Fr    r˜   r‚   r‘   )r1   r2   r3   r\   r)  r   ©r6   r/   r8   r¢   r^   s        r$   Útest_affine_transform09z0TestNdimageInterpolation.test_affine_transform09{  sÀ   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆð �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                 óž   — t          j        dgt           j        ¦  «        }t          j        |dggd|¬¦  «        }t          |g d¢¦  «         d S )Nr(   r    r=   )r.   r/   ©r
   r
   r
   r   )r1   r[   r§   r3   r)  r   r*  s       r$   Útest_affine_transform10z0TestNdimageInterpolation.test_affine_transform10‹  sU   € åŒw˜�s�BœJÑ'Ô'ˆÝÔ& t¨s¨e¨WÀ4Ø-2ð4ñ 4ô 4ˆå! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 óh   — g d¢}t          j        |dggdd|¬¦  «        }t          |g d¢¦  «         d S )Nrª   r(   r   r=   rY   r<   ©r3   r)  r   r*  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   — g d¢}t          j        |dggdd|¬¦  «        }t          |d d d…         g d¢¦  «         d S )Nr<   r    r   ©r�   rY   r(   rC  r*  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                 óŒ   — g d¢g d¢g d¢g}t          j        |ddgddggdd|¬¦  «        }t          |dd	gd
dgddgg¦  «         d S )Nr<   r²   r³   r
   r   r(   r¹   rY   r)   rŽ   r+   rº   rµ   rC  r*  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                 ó€   — g d¢g d¢g d¢g}t          j        |ddgddggdd|¬¦  «        }t          |g d¢g¦  «         d S )	Nr<   r²   r½   r(   r   r
   rÀ   rY   rC  r*  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                 ó€   — g d¢g d¢g d¢g}t          j        |ddgddggdd|¬¦  «        }t          |dd	gg¦  «         d S )
Nr<   r²   r½   r(   r   rÄ   rY   r
   r)   rC  r*  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                 ó�   — g d¢g d¢g d¢g}t          j        |ddgddggdd|¬	¦  «        }t          |d
d d d…f         |¦  «         d S )Nr<   r²   r½   r
   ç        r   r    rÈ   rY   .r(   rC  r*  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                 ó�   — g d¢g d¢g d¢g}t          j        |ddgddggdd|¬¦  «        }t          |d d d	…d
f         |¦  «         d S )Nr<   r²   r½   r    r   r
   rÌ   rY   r(   .rC  r*  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                 ó–   — g d¢g d¢g d¢g}t          j        |ddgddggdd|¬¦  «        }t          |d d d…d d d…f         |¦  «         d S )	Nr<   r²   r½   r    r   rÐ   rY   r(   rC  r*  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                 óò   — t          j        g d¢g d¢g d¢gt           j        ¦  «        }t          j        |ddgddggdd|¬¦  «        }t          j        |ddgddggdd	|¬¦  «        }t          ||¦  «         d S )
Nr<   r²   r½   r    r   rÐ   rY   ç       @r×   )r1   r2   r§   r3   r)  r   r*  s       r$   Útest_affine_transform19z0TestNdimageInterpolation.test_affine_transform19Ô  s§   € åŒx˜˜˜Ø%˜˜Ø(˜˜ð*å+-¬:ñ7ô 7ˆõ Ô& t¨s°A¨h¸¸C¸Ð-AÀ1Ø'-°Uð<ñ <ô <ˆåÔ& s¨c°1¨X¸¸3°xÐ,@À!Ø'-°Uð<ñ <ô <ˆå! # tÑ,Ô,Ð,Ð,Ð,r'   c                 óz   — g d¢g d¢g d¢g}t          j        |dgdggdd|¬¦  «        }t          |dd	g¦  «         d S )
Nr<   r²   r½   r   r(   rÜ   rY   r
   r)   rC  r*  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   — g d¢g d¢g d¢g}t          j        |dgdggdd|¬¦  «        }t          |dd	g¦  «         d S )
Nr<   r²   r½   r(   r   rÜ   rY   r
   rº   rC  r*  s       r$   Útest_affine_transform21z0TestNdimageInterpolation.test_affine_transform21è  rZ  r'   c                 óŽ   — t          j        g d¢¦  «        }t          j        |dggdgd|¬¦  «        }t	          |g d¢¦  «         d S )Nr€   r(   r   )r)   rY   ©r   r
   r(   r(  r*  s       r$   Útest_affine_transform22z0TestNdimageInterpolation.test_affine_transform22ñ  sY   € õ Œx˜˜˜Ñ%Ô%ˆÝÔ& t¨q¨c¨U°R°D¸$Ø-2ð4ñ 4ô 4ˆå! # y y yÑ1Ô1Ð1Ð1Ð1r'   c                 ó    — t          j        g d¢¦  «        }t          j        |dggdgd|¬¦  «        }t	          |d d d…         g d¢¦  «         d S )Nr€   r    r   rF  rY   r(   r‚   r(  r*  s       r$   Útest_affine_transform23z0TestNdimageInterpolation.test_affine_transform23ù  sc   € õ Œx˜˜˜Ñ%Ô%ˆÝÔ& t¨s¨e¨W°r°d¸DØ-2ð4ñ 4ô 4ˆå! # c c¨ c¤(¨L¨L¨LÑ9Ô9Ð9Ð9Ð9r'   c                 ó:  — t          j        g d¢¦  «        }t          ¦   «         5 }|                     t          d¦  «         t          j        |dgd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        |dggd|¬¦  «        }t          ||¦  «         d S )Nr€   ú@The behavior of affine_transform with a 1-D array .* has changedr(   r   rY   ©r1   r2   r   ÚfilterÚUserWarningr3   r)  r   ©r6   r/   r8   Úsupr  r  s         r$   Útest_affine_transform24z0TestNdimageInterpolation.test_affine_transform24  sô   € õ Œx˜˜˜Ñ%Ô%ˆÝÑ Ô ð 	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                 ó:  — t          j        g d¢¦  «        }t          ¦   «         5 }|                     t          d¦  «         t          j        |dgd|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          j        |dggd|¬¦  «        }t          ||¦  «         d S )Nr€   rc  r    r   rY   rd  rg  s         r$   Útest_affine_transform25z0TestNdimageInterpolation.test_affine_transform25  sô   € õ Œx˜˜˜Ñ%Ô%ˆÝÑ Ô ð 	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ˆÝ! $¨Ñ-Ô-Ð-Ð-Ð-rj  c                 ó&  — t          j        g d¢g d¢g d¢g¦  «        }|dk    rt          j        ||¬¦  «        }n|}t          j        d¦  «        }t          j        d¦  «         }t          j        ||f¦  «        }t          j        |g d¢gf¦  «        }t          j        ||| 	                    ¦   «         |d	¬
¦  «        }t          j        |||d	¬
¦  «        }	t          j        |||d	¬
¦  «        }
||	|
fD ]}t          |g d¢g d¢g d¢g¦  «         Œd S )Nr€   rŒ   r�   r
   rY   r(   ©r(   r
   )r   r   r
   Fr    r˜   r‚   r‘   )r1   r2   r3   r\   Úeyer[   ÚhstackÚvstackr)  Úravelr   )r6   r/   r8   r¢   Útform_originalÚoffset_originalÚtform_h1Útform_h2r  r  Úout3r^   s               r$   Útest_affine_transform26z0TestNdimageInterpolation.test_affine_transform26  sf  € õ Œx˜˜˜Ø(˜L˜LØ(˜L˜Lð*ñ +ô +ˆð �AŠIˆIÝÔ,¨T¸Ð?Ñ?Ô?ˆHˆHàˆHÝœ ™œˆÝœ7 6™?œ?Ð*ˆÝ”9˜n¨oÐ>Ñ?Ô?ˆÝ”9˜h¨¨¨¨Ð4Ñ5Ô5ˆÝÔ'¨°.Ø(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                 ó*  — t          j        g d¢g d¢g d¢g¦  «        }t          j        t          j        d¦  «        t          j        d¦  «         f¦  «        }t          j        |g d¢gf¦  «        }t          t          t          j	        ||¦  «         d S )Nr€   rŒ   r�   r(   rn  )rŽ   r(   r
   )
r1   r2   rp  ro  r[   rq  Úassert_raisesÚ
ValueErrorr3   r)  )r6   r8   ru  rv  s       r$   Útest_affine_transform27z0TestNdimageInterpolation.test_affine_transform273  sŒ   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆõ ”9�bœf Q™iœi­"¬'°&©/¬/Ð)9Ð:Ñ;Ô;ˆÝ”9˜h¨¨¨¨Ð4Ñ5Ô5ˆÝ•j¥'Ô":¸DÀ(ÑKÔKÐKÐKÐKr'   c                 ó   — t          j        d¦  «        }t          j        |¦  «        t          j        |¦  «                             |j                             ¦   «         ¦  «        |j        |j                             ¦   «         fD ]x}t          ¦   «         5 }|                     t          d¦  «         t          j
        |ddg|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   |€|n|}t          |ddgddgg¦  «         Œyd S )N)r(   r(   rc  r
   rd   )r1   r[   r  rÝ   rB   r  r   re  rf  r3   r)  r   )r6   r8   r^   rh  r  r  s         r$   Ú9test_affine_transform_1d_endianness_with_output_parameterzRTestNdimageInterpolation.test_affine_transform_1d_endianness_with_output_parameter<  sU  € õ Œw�v‰ŒˆÝ”M $Ñ'Ô'Ý”M $Ñ'Ô'×.Ò.¨t¬z×/FÒ/FÑ/HÔ/HÑIÔIØ”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  — t          j        dg¦  «        }|j        |j                             ¦   «         t          j        |¦  «        t          j        |¦  «                             |j                             ¦   «         ¦  «        fD ]2}t          j        |dgg|¬¦  «        }|€|n|}t          |dg¦  «         Œ3d S )Nr
   rd   )	r1   r2   rB   r  r  rÝ   r3   r)  r   )r6   r8   r^   r  r  s        r$   Ú>test_affine_transform_multi_d_endianness_with_output_parameterzWTestNdimageInterpolation.test_affine_transform_multi_d_endianness_with_output_parameterK  sº   € õ Œx˜˜‰}Œ}ˆØ”J ¤
× 7Ò 7Ñ 9Ô 9Ý”M $Ñ'Ô'Ý”M $Ñ'Ô'×.Ò.¨t¬z×/FÒ/FÑ/HÔ/HÑIÔIðKð 	3ð 	3ˆCõ Ô/°¸°s°eÀCÐHÑHÔHˆHØ$Ð,�S�S°(ˆFÝ% f¨q¨cÑ2Ô2Ð2Ð2ð	3ð 	3r'   c                 óh  — t          j        dt           j        ¬¦  «        }t          j        d¦  «        }t	          j        |dgg|¬¦  «         t          |d d…         |¦  «         t          j        t          ¦  «        5  t	          j        |dgg|d¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nr�   rA   )é   r
   rd   )r¶   )re   r.   )
r1   rK   r§   r[   r3   r)  r   r"  r	   ÚRuntimeError©r6   r8   r^   s      r$   Ú"test_affine_transform_output_shapez;TestNdimageInterpolation.test_affine_transform_output_shapeV  sö   € åŒy˜¥"¤*Ð-Ñ-Ô-ˆÝŒg�e‰nŒnˆåÔ  ¨¨ u°SÐ9Ñ9Ô9Ð9Ý! # b q b¤'¨4Ñ0Ô0Ð0õ Œ]�<Ñ(Ô(ð 	=ð 	=ÝÔ$Ø˜�s�e C°eð=ñ =ô =ð =ð	=ð 	=ð 	=ñ 	=ô 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=ð 	=øøøð 	=ð 	=ð 	=ð 	=ð 	=ð 	=s   Á?B'Â'B+Â.B+c                 óÔ   — t          j        dg¦  «        }t          j        |dggd¬¦  «        }t	          |j        t          j        d¦  «        u ¦  «         t          |dg¦  «         d S r  )r1   r2   r3   r)  r   rB   r   r„  s      r$   Ú(test_affine_transform_with_string_outputzATestNdimageInterpolation.test_affine_transform_with_string_outputc  sa   € ÝŒx˜˜‰}Œ}ˆÝÔ& t¨q¨c¨U¸3Ð?Ñ?Ô?ˆÝ�”	�RœX c™]œ]Ð*Ñ+Ô+Ð+Ý! #¨ sÑ+Ô+Ð+Ð+Ð+r'   r%   ))r
   r   ©r   r
   )r   r
   )r)   éûÿÿÿ)r(   r+   c                 ó$  — t          j        ddgddgg¦  «        }t          j        d¦  «        }t          j        d¦  «        |d d…d d…f<   ||d d …df<   t	          t          j        ||d|¬¦  «        t          j        ||d¬	¦  «        ¦  «         d S )
Nr   r
   r(   r)   ©r(   r)   r   rï   rˆ  ©Úaxis)r1   r2   Úzerosro  r   r3   r)  Úroll)r6   r%   r/   r#   Úaffines        r$   Ú)test_affine_transform_shift_via_grid_wrapzBTestNdimageInterpolation.test_affine_transform_shift_via_grid_wrapi  s«   € õ
 ŒH�q˜!�fØ˜!�fðñ ô ˆå”˜&Ñ!Ô!ˆÝœ ™œˆˆr�ˆr�2�A�2ˆv‰Øˆˆqˆqˆq�!ˆt‰Ý!ÝÔ$ Q¨°[ÈÐNÑNÔNÝŒG�A�u 6Ð*Ñ*Ô*ñ	
ô 	
ð 	
ð 	
ð 	
r'   c                 ó   — t          j        g d¢g d¢g¦  «        }t          j        d¦  «        }t          j        d¦  «        |d d…d d…f<   |j        |d d …df<   t          t          j        ||d|¬¦  «        |d d d…d d d…f         ¦  «         d S )Nr^  ©r)   r   rŽ   r‹  r(   r   rï   r   )r1   r2   rŽ  ro  rr   r   r3   r)  )r6   r/   r#   r�  s       r$   Ú#test_affine_transform_shift_reflectz<TestNdimageInterpolation.test_affine_transform_shift_reflectx  s°   € õ ŒH�i�i�iØ�i�ið!ñ "ô "ˆå”˜&Ñ!Ô!ˆÝœ ™œˆˆ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                 ó‚   — t          j        dg¦  «        }t          j        |dg|¬¦  «        }t	          |dg¦  «         d S )Nr
   rY   r   ©r1   r2   r3   r%   r   r*  s       r$   Útest_shift01z%TestNdimageInterpolation.test_shift01…  sA   € åŒx˜˜‰}Œ}ˆÝŒm˜D 1 #¨UÐ3Ñ3Ô3ˆÝ! #¨ sÑ+Ô+Ð+Ð+Ð+r'   c                 ó„   — t          j        dg¦  «        }t          j        |dg|¬¦  «        }t	          |g d¢¦  «         d S )Nr   r
   rY   r}   ©r1   r[   r3   r%   r   r*  s       r$   Útest_shift02z%TestNdimageInterpolation.test_shift02‹  sC   € åŒw˜�s‰|Œ|ˆÝŒm˜D 1 #¨UÐ3Ñ3Ô3ˆÝ! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 ó‚   — t          j        dg¦  «        }t          j        |d|¬¦  «        }t	          |g d¢¦  «         d S )Nr   r   rY   r@  r™  r*  s       r$   Útest_shift03z%TestNdimageInterpolation.test_shift03‘  sA   € åŒw˜�s‰|Œ|ˆÝŒm˜D "¨EÐ2Ñ2Ô2ˆÝ! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 ó„   — t          j        g d¢¦  «        }t          j        |d|¬¦  «        }t	          |g d¢¦  «         d S )Nr€   r
   rY   r‚   r–  r*  s       r$   Útest_shift04z%TestNdimageInterpolation.test_shift04—  sE   € åŒx˜˜˜Ñ%Ô%ˆÝŒm˜D !¨5Ð1Ñ1Ô1ˆÝ! # | | |Ñ4Ô4Ð4Ð4Ð4r'   c                 ó  — t          j        g d¢g d¢g d¢g|¬¦  «        }t          j        g d¢g d¢g d¢g|¬¦  «        }|j        j        dk    r|d|z  z  }|d|z  z  }t	          j        |ddg|¬¦  «        }t          ||¦  «         d S )	Nrh   rA   r}   r…   r†   r   r
   rY   ©r1   r2   rB   r‰   r3   r%   r   r4  s         r$   Útest_shift05z%TestNdimageInterpolation.test_shift05�  sÇ   € õ Œx˜˜˜Ø%˜˜Ø%˜˜ð'à.3ð5ñ 5ô 5ˆõ ”8˜\˜\˜\Ø)˜\˜\Ø)˜\˜\ð+à27ð9ñ 9ô 9ˆð Œ:Œ?˜cÒ!Ð!Ø�B˜‘IÑˆDØ˜˜X™Ñ%ˆHÝŒm˜D 1 a &°Ð6Ñ6Ô6ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r'   c                 ó.  — t          j        g d¢g d¢g d¢g|¬¦  «        }t          j        g d¢g d¢g d¢g|¬¦  «        }|j        j        dk    r|d|z  z  }|d|z  z  }d}||d d …df<   t	          j        |ddg|||¬	¦  «        }t          ||¦  «         d S )
Nrh   rA   r}   r…   r†   g      @r   r
   )r/   r-   r,   r   )r6   r/   r-   rB   r8   rV   r,   r^   s           r$   Útest_shift_with_nonzero_cvalz5TestNdimageInterpolation.test_shift_with_nonzero_cval¬  sá   € õ Œx˜˜˜Ø%˜˜Ø%˜˜ð'à.3ð5ñ 5ô 5ˆõ ”8˜\˜\˜\Ø)˜\˜\Ø)˜\˜\ð+à27ð9ñ 9ô 9ˆð Œ:Œ?˜cÒ!Ð!Ø�B˜‘IÑˆDØ˜˜X™Ñ%ˆHØˆØˆ����A�‰ÝŒm˜D 1 a &°¸DÀtÐLÑLÔLˆÝ! # xÑ0Ô0Ð0Ð0Ð0r'   c                 ó¤   — t          j        g d¢g d¢g d¢g¦  «        }t          j        |ddg|¬¦  «        }t	          |g d¢g d¢g d	¢g¦  «         d S )
Nr€   rŒ   r�   r   r
   rY   r‚   r‘   r’   r–  r*  s       r$   Útest_shift06z%TestNdimageInterpolation.test_shift06À  ó   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆõ Œm˜D 1 a &°Ð6Ñ6Ô6ˆÝ! #¨¨¨Ø(4¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7ð 	7ð 	7r'   c                 ó¤   — t          j        g d¢g d¢g d¢g¦  «        }t          j        |ddg|¬¦  «        }t	          |g d¢g d¢g d¢g¦  «         d S )Nr€   rŒ   r�   r
   r   rY   r˜   r–  r*  s       r$   Útest_shift07z%TestNdimageInterpolation.test_shift07Ê  s   € åŒx˜˜˜Ø(˜L˜LØ(˜L˜Lð*ñ +ô +ˆõ Œm˜D 1 a &°Ð6Ñ6Ô6ˆÝ! #¨¨¨Ø(4¨¨Ø(4¨¨ð(6ñ 	7ô 	7ð 	7ð 	7ð 	7r'   c                 ó¤   — t          j        g d¢g d¢g d¢g¦  «        }t          j        |ddg|¬¦  «        }t	          |g d¢g d¢g d¢g¦  «         d S )	Nr€   rŒ   r�   r
   rY   r˜   r‚   r‘   r–  r*  s       r$   Útest_shift08z%TestNdimageInterpolation.test_shift08Ô  r¦  r'   c                 óä   — t          j        g d¢g d¢g d¢g¦  «        }|dk    rt          j        ||¬¦  «        }n|}t          j        |ddg|d¬¦  «        }t          |g d¢g d	¢g d
¢g¦  «         d S )Nr€   rŒ   r�   r
   rY   Fr    r˜   r‚   r‘   )r1   r2   r3   r\   r%   r   r=  s        r$   Útest_shift09z%TestNdimageInterpolation.test_shift09Þ  s¦   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'ñ (ô (ˆð �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                 ó°   — t          j        ddgddgg¦  «        }t          t          j        ||d|¬¦  «        t          j        ||d¬¦  «        ¦  «         d S )	Nr   r
   r(   r)   r   rï   rˆ  rŒ  )r1   r2   r   r3   r%   r�  ©r6   r%   r/   r#   s       r$   Útest_shift_grid_wrapz-TestNdimageInterpolation.test_shift_grid_wrapì  sm   € õ
 ŒH�q˜!�fØ˜!�fðñ ô ˆå!ÝŒM˜!˜U¨¸EÐBÑBÔBÝŒG�A�u 6Ð*Ñ*Ô*ñ	
ô 	
ð 	
ð 	
ð 	
r'   c           	      óÌ   — t          j        d¦  «                             d¦  «        }t          t	          j        ||d|¬¦  «        t	          j        ||d|¬¦  «        ¦  «         d S )Né   )rŽ   r   r   rï   r   )r1   rK   rø   r   r3   r%   r®  s       r$   Útest_shift_grid_constant1z2TestNdimageInterpolation.test_shift_grid_constant1ø  sg   € õ
 ŒI�b‰MŒM×!Ò! &Ñ)Ô)ˆÝ!ÝŒM˜!˜U¨ÀÐFÑFÔFÝŒM˜!˜U¨¸5ÐAÑAÔAñ	
ô 	
ð 	
ð 	
ð 	
r'   c                 óÈ   — t          j        g d¢g d¢gt          ¬¦  «        }t          j        g d¢g d¢g¦  «        }t          t	          j        |ddd¬	¦  «        |¦  «         d S )
Nrè   ré   rA   rì   rî   )r    r    r   r
   rï   )r1   r2   rL   r   r3   r%   )r6   r#   rð   s      r$   Útest_shift_grid_constant_order1z8TestNdimageInterpolation.test_shift_grid_constant_order1  sŠ   € ÝŒH�i�i�iØ�i�ið!Ý(-ð/ñ /ô /ˆåœ(Ð$6Ð$6Ð$6Ø$6Ð$6Ð$6ð$8ñ 9ô 9ˆå!ÝŒM˜!˜Z¨oÀQÐGÑGÔGØñ	
ô 	
ð 	
ð 	
ð 	
r'   c                 ó¬   — t          j        g d¢g d¢g¦  «        }t          t          j        ||j        d|¬¦  «        |d d d…d d d…f         ¦  «         d S )Nr^  r“  r   rï   r   )r1   r2   r   r3   r%   rr   )r6   r/   r#   s      r$   Útest_shift_reflectz+TestNdimageInterpolation.test_shift_reflect  sr   € õ ŒH�i�i�iØ�i�ið!ñ "ô "ˆå!ÝŒM˜!˜QœW¨9¸EÐBÑBÔBØˆdˆd�ˆd�D�D�b�DˆjŒMñ	
ô 	
ð 	
ð 	
ð 	
r'   r¡   FTc                 ó   — t          j        d¦  «        }t          d||¬¦  «        }t          t	          j        ||dz  dz   fi |¤Žd         |d         ¦  «         t          t	          j        || dz  dz
  fi |¤Žd         |d         ¦  «         d S )Nr‚  r   )r-   r/   r¡   r(   r
   r   r   )r1   rK   Údictr   r3   r%   )r6   r/   r¡   r#   Úkwargss        r$   Útest_shift_nearest_boundaryz4TestNdimageInterpolation.test_shift_nearest_boundary  s«   € õ
 ŒI�b‰MŒMˆÝ˜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                 ó¨  — t          j        dt          ¬¦  «                             dd¦  «        }d}d}t                               |¦  «        }t          j        |||¬¦  «        }t          t          || ¦  «        g|j	        z  ¦  «        }t          j        ||||¬¦  «        |         }	t          t          j        ||||¬¦  «        |	d¬	¦  «         d S )
Nró   rA   r¶   )rõ   gffffffÀrF   rG   rï   rH   r÷   )r1   rK   rL   rø   rO   rP   rQ   rù   rú   rû   r3   r%   r   )
r6   r/   r-   r#   r%   rS   rT   rü   rý   rð   s
             r$   Útest_shift_vs_paddedz-TestNdimageInterpolation.test_shift_vs_padded%  sæ   € õ ŒI�c¥Ð'Ñ'Ô'×/Ò/°°BÑ7Ô7ˆØˆð ˆÝ(×,Ò,¨TÑ2Ô2ˆÝŒV�A�t (Ð+Ñ+Ô+ˆÝ�e D¨4¨%Ñ0Ô0Ð1°A´FÑ:Ñ;Ô;ˆÝ!œ-Ø�˜D¨ð/ñ /ô /Ø/;ô=ˆõ 	ÝŒM˜!˜U¨°UÐ;Ñ;Ô;ØØð	
ñ 	
ô 	
ð 	
ð 	
ð 	
r'   c           	      ó  — dddgfD �]}t          j        t          t          d¦  «        ¦  «        ¦  «                             d¦  «                             t          ¦  «        }t          j        |||¬¦  «        }t          |j
        d¦  «         t          t          j        |dd d …f         dk    ¦  «        ¦  «         t          t          j        |dd d …f         dt          z
  k    ¦  «        ¦  «         t          t          j        |dd d …f         d	t          z   k    ¦  «        ¦  «         t          t          j        |dt          z
  k    ¦  «        ¦  «         t          t          j        |d
t          z   k    ¦  «        ¦  «         �Œ�d S )Nr(   é   )rŽ   rŽ   rY   )r´   r´   r   r   r±  rŽ   rö   )r1   r2   ÚlistÚrangerø   rÝ   rL   r3   Úzoomr   rr   r   ÚallÚeps)r6   r/   ÚzÚarrs       r$   Ú
test_zoom1z#TestNdimageInterpolation.test_zoom1:  sI  € à�a˜�V�ð 	/ñ 	/ˆAÝ”(�4¥ b¡	¤	™?œ?Ñ+Ô+×3Ò3°FÑ;Ô;×BÒBÅ5ÑIÔIˆCÝ”,˜s A¨UÐ3Ñ3Ô3ˆCÝ˜œ HÑ-Ô-Ð-Ý•B”F˜3˜r 1 1 1˜uœ:¨š?Ñ+Ô+Ñ,Ô,Ð,Ý•B”F˜3˜r 1 1 1˜uœ:¨"­s©(Ò3Ñ4Ô4Ñ5Ô5Ð5Ý•B”F˜3˜q ! ! !˜tœ9¨­S©Ò1Ñ2Ô2Ñ3Ô3Ð3Ý•B”F˜3 1¥s¡7Ò+Ñ,Ô,Ñ-Ô-Ð-Ý•B”F˜3 2­¡8Ò,Ñ-Ô-Ñ.Ô.Ð.Ñ.ð	/ð 	/r'   c                 óÄ   — t          j        d¦  «                             d¦  «        }t          j        t          j        |d¦  «        d¦  «        }t          ||¦  «         d S )Nr¶   r×   r(   r    )r1   rK   rø   r3   rÁ  r   )r6   rÅ  r^   s      r$   Ú
test_zoom2z#TestNdimageInterpolation.test_zoom2F  sP   € ÝŒi˜‰mŒm×#Ò# FÑ+Ô+ˆÝŒl�7œ<¨¨QÑ/Ô/°Ñ5Ô5ˆÝ˜3 Ñ$Ô$Ð$Ð$Ð$r'   c                 ó"  — t          j        ddgg¦  «        }t          j        |d¦  «        }t          j        |d¦  «        }t	          |t          j        ddgddgg¦  «        ¦  «         t	          |t          j        g d¢g¦  «        ¦  «         d S )Nr
   r(   rn  rÄ   )r
   r
   r(   r(   )r1   r2   r3   rÁ  r   )r6   rÅ  r  r  s       r$   Ú
test_zoom3z#TestNdimageInterpolation.test_zoom3K  s†   € ÝŒh˜˜A˜�xÑ Ô ˆÝŒ|˜C Ñ(Ô(ˆÝŒ|˜C Ñ(Ô(ˆå! $­¬°1°a°&¸1¸a¸&Ð1AÑ(BÔ(BÑCÔCÐCÝ! $­¬°,°,°,°Ñ(@Ô(@ÑAÔAÐAÐAÐAr'   c                 óh  — t          j        g d¢g d¢g d¢g|¬¦  «        }|j        j        dk    r|d|z  z  }t	          ¦   «         5 }|                     t          d¦  «         t          j        |ddgd	d
|¬¦  «        }d d d ¦  «         n# 1 swxY w Y   t          |d d d…d d d…f         |¦  «         d S )Nr<   r²   r½   rA   r…   r†   rc  r    r   rÐ   rY   r(   )
r1   ÚasarrayrB   r‰   r   re  rf  r3   r)  r   )r6   r/   rB   r8   rh  r^   s         r$   Útest_zoom_affine01z+TestNdimageInterpolation.test_zoom_affine01S  s7  € õ Œz˜<˜<˜<Ø*˜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}t          j        t          j        ||f¦  «        d|z  d¬¦  «         d S )Nr�   ç      ð?r   rG   )r3   rÁ  r1   rŽ  )r6   Údims     r$   Útest_zoom_infinityz+TestNdimageInterpolation.test_zoom_infinityc  s6   € àˆÝŒ•R”X˜s C˜jÑ)Ô)¨2°©8¸)ÐDÑDÔDÐDÐDÐDr'   c                 ó¨   — t          j        d¦  «        }d}t          j        ||d¬¦  «        }t          j        d¦  «        }t	          ||¦  «         d S )N)r
   rŽ   rŽ   )rÏ  rV  rV  r+   )r,   )r
   r´   r´   )r1   rŽ  r3   rÁ  r   )r6   rÅ  rÁ  r^   Úrefs        r$   Útest_zoom_zoomfactor_onez1TestNdimageInterpolation.test_zoom_zoomfactor_oneh  sQ   € åŒh�yÑ!Ô!ˆØˆåŒl˜3 ¨1Ð-Ñ-Ô-ˆÝŒh�{Ñ#Ô#ˆÝ! # sÑ+Ô+Ð+Ð+Ð+r'   c                 ó†   — t          j        d¦  «        }d}t          j        ||¦  «        }t	          |j        d¦  «         d S )N)r)   rµ   r¾  )gUUUUUUõ?gÑE]tÑõ?g�Âõ(\�ò?)r   rC   é   )r1   rŽ  r3   rÁ  r   rr   )r6   rÅ  rÁ  r^   s       r$   Útest_zoom_output_shape_roundoffz8TestNdimageInterpolation.test_zoom_output_shape_roundoffq  s?   € ÝŒh�{Ñ#Ô#ˆØ.ˆÝŒl˜3 Ñ%Ô%ˆÝ˜3œ9 kÑ2Ô2Ð2Ð2Ð2r'   rÁ  )r  )r)   rŽ   )r�   r(   )r�   r�   )r   r   r   r   r   r   r   r   c           	      óÞ   — t          j        ddgddggt          ¬¦  «        }t          t	          j        ||d|¬¦  «        t          j        |t          j        |¦  «        ¦  «        ¦  «         d S )Nr   r
   r(   r)   rA   rE   )r1   r2   rL   r   r3   rÁ  Úkronr[   )r6   rÁ  r-   r#   s       r$   Útest_zoom_by_int_order0z0TestNdimageInterpolation.test_zoom_by_int_order0w  sz   € õ ŒH�q˜!�fØ˜Q˜ð!Ý(-ð/ñ /ô /ˆõ 	"ÝŒL˜˜D¨°Ð5Ñ5Ô5ÝŒG�A•r”w˜t‘}”}Ñ%Ô%ñ	
ô 	
ð 	
ð 	
ð 	
r'   rr   r‹  )r   r   )r   r   r   r   r   c           	      ó  — t          j        t          j        |¦  «        t          ¬¦  «                             |¦  «        }t          t          j        ||d|d¬¦  «        t          j        |t          j	        |¦  «        ¦  «        ¦  «         d S )NrA   r   T)r/   r-   Ú	grid_mode)
r1   rK   ÚprodrL   rø   r   r3   rÁ  rÙ  r[   )r6   rr   rÁ  r-   r#   s        r$   Útest_zoom_grid_by_int_order0z5TestNdimageInterpolation.test_zoom_grid_by_int_order0ˆ  sy   € õ ŒI•b”g˜e‘n”n­EÐ2Ñ2Ô2×:Ò:¸5ÑAÔAˆÝ!ÝŒL˜˜D¨°ÀÐEÑEÔEÝŒG�A•r”w˜t‘}”}Ñ%Ô%ñ	
ô 	
ð 	
ð 	
ð 	
r'   c                 óü   — t          j        dt          ¬¦  «                             d¦  «        }t	          j        t          d¬¦  «        5  t          j        |d|d¬¦  «        f d d d ¦  «         d S # 1 swxY w Y   d S )	Nrº   rA   )r)   r)   zIt is recommended to use mode)Úmatchr(   T)r-   rÜ  )	r1   rK   rL   rø   r"  Úwarnsrf  r3   rÁ  )r6   r-   r#   s      r$   Útest_zoom_grid_mode_warningsz5TestNdimageInterpolation.test_zoom_grid_mode_warnings–  sÅ   € õ ŒI�a�uÐ%Ñ%Ô%×-Ò-¨fÑ5Ô5ˆÝŒ\�+Ø ?ðAñ Aô Að 	;ð 	;åŒL˜˜A D°DÐ9Ñ9Ô9Ð:Ð:ð	;ð 	;ð 	;ñ 	;ô 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;ð 	;øøøð 	;ð 	;ð 	;ð 	;ð 	;ð 	;s   Á
A1Á1A5Á8A5c                 ó¦   — t          j        g d¢g d¢g d¢gt           j        ¬¦  «        }t          j        |d|¬¦  «        }t          ||¦  «         d S )Nr˜   ©r   r
   r
   r   rA   r   rY   ©r1   r2   r§   r3   Úrotater   r*  s       r$   Útest_rotate01z&TestNdimageInterpolation.test_rotate01ž  sd   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'å.0¬jð:ñ :ô :ˆõ Œn˜T 1¨EÐ2Ñ2Ô2ˆÝ! # tÑ,Ô,Ð,Ð,Ð,r'   c                 óþ   — t          j        g d¢g d¢g d¢gt           j        ¬¦  «        }t          j        g d¢g d¢g d¢g d¢gt           j        ¬¦  «        }t          j        |d|¬¦  «        }t          ||¦  «         d S )Nr˜   )r   r
   r   r   rA   ©r   r   r   ©r   r
   r   éZ   rY   rå  ©r6   r/   r8   rV   r^   s        r$   Útest_rotate02z&TestNdimageInterpolation.test_rotate02¦  s£   € åŒx˜˜˜Ø%˜˜Ø%˜˜ð'å.0¬jð:ñ :ô :ˆõ ”8˜Y˜Y˜YØ%˜I˜IØ%˜I˜IØ%˜I˜Ið'õ /1¬jð:ñ :ô :ˆõ Œn˜T 2¨UÐ3Ñ3Ô3ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r'   c                 ó  — t          j        g d¢g d¢g d¢g|¬¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢g|¬¦  «        }|j        j        dk    r|d|z  z  }|d|z  z  }t	          j        |d|¬	¦  «        }t          ||¦  «         d S )
N©r   r   r   r   r   ©r   r
   r
   r   r   rA   ré  rê  r…   r†   rë  rY   )r1   r2   rB   r‰   r3   ræ  r   r4  s         r$   Útest_rotate03z&TestNdimageInterpolation.test_rotate03²  sÓ   € õ Œx˜˜˜Ø(˜˜Ø(˜˜ð*à16ð8ñ 8ô 8ˆõ ”8˜Y˜Y˜YØ%˜I˜IØ%˜I˜IØ%˜I˜IØ%˜I˜Ið	'ð /4ð	5ñ 5ô 5ˆð
 Œ:Œ?˜cÒ!Ð!Ø�B˜‘IÑˆDØ˜˜X™Ñ%ˆHÝŒn˜T 2¨UÐ3Ñ3Ô3ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r'   c                 óú   — t          j        g d¢g d¢g d¢gt           j        ¬¦  «        }t          j        g d¢g d¢g d¢gt           j        ¬¦  «        }t          j        |dd|¬¦  «        }t          ||¦  «         d S )Nrï  rð  rA   ©r   r   r
   r   r   rë  F)rø   r/   rå  rì  s        r$   Útest_rotate04z&TestNdimageInterpolation.test_rotate04Ã  sŸ   € åŒx˜˜˜Ø(˜˜Ø(˜˜ð*å13´ð=ñ =ô =ˆõ ”8˜_˜_˜_Ø,˜_˜_Ø,˜_˜_ð.å57´ZðAñ Aô Aˆõ Œn˜T 2¨u¸EÐBÑBÔBˆÝ! # xÑ0Ô0Ð0Ð0Ð0r'   c                 óœ  — t          j        d¦  «        }t          d¦  «        D ]8}t          j        g d¢g d¢g d¢g d¢gt           j        ¬¦  «        |d d …d d …|f<   Œ9t          j        g d¢g d¢g d¢gt           j        ¬¦  «        }t          j        |d|¬	¦  «        }t          d¦  «        D ]}t          |d d …d d …|f         |¦  «         Œ d S )
N)r   r)   r)   r)   ré  rê  rA   r˜   rä  rë  rY   ©r1   r  rÀ  r2   r§   r3   ræ  r   ©r6   r/   r8   ÚirV   r^   s         r$   Útest_rotate05z&TestNdimageInterpolation.test_rotate05Î  s  € åŒx˜	Ñ"Ô"ˆÝ�q‘”ð 	Dð 	DˆAÝœH i i iØ&/ i iØ&/ i iØ&/ i ið&1õ 9;¼
ðDñ Dô DˆD����A�A�A�q�‰MˆMõ ”8˜\˜\˜\Ø)˜\˜\Ø)˜\˜\ð+å24´*ð>ñ >ô >ˆõ Œn˜T 2¨UÐ3Ñ3Ô3ˆÝ�q‘”ð 	>ð 	>ˆAÝ% c¨!¨!¨!¨Q¨Q¨Q°¨'¤l°HÑ=Ô=Ð=Ð=ð	>ð 	>r'   c                 óœ  — t          j        d¦  «        }t          d¦  «        D ]5}t          j        g d¢g d¢g d¢gt           j        ¬¦  «        |d d …d d …|f<   Œ6t          j        g d¢g d¢g d¢g d¢gt           j        ¬¦  «        }t          j        |d|¬	¦  «        }t          d¦  «        D ]}t          |d d …d d …|f         |¦  «         Œ d S )
N)r)   r   r)   r)   r˜   rä  rA   ré  rê  rë  rY   rö  r÷  s         r$   Útest_rotate06z&TestNdimageInterpolation.test_rotate06Ý  s  € åŒx˜	Ñ"Ô"ˆÝ�q‘”ð 	Gð 	GˆAÝœH l l lØ&2 l lØ&2 l lð&4å;=¼:ðGñ Gô GˆD����A�A�A�q�‰MˆMõ ”8˜Y˜Y˜YØ&˜Y˜YØ&˜Y˜YØ&˜Y˜Yð(õ 02¬zð;ñ ;ô ;ˆõ Œn˜T 2¨UÐ3Ñ3Ô3ˆÝ�q‘”ð 	>ð 	>ˆAÝ% c¨!¨!¨!¨Q¨Q¨Q°¨'¤l°HÑ=Ô=Ð=Ð=ð	>ð 	>r'   c                 ól  — t          j        g d¢g d¢g d¢ggdz  t           j        ¬¦  «        }|                     ¦   «         }t          j        g d¢g d¢g d¢g d¢g d¢ggdz  t           j        ¬¦  «        }|                     g d¢¦  «        }t	          j        |dd	|¬
¦  «        }t          ||¦  «         d S )Nrï  rð  r(   rA   ré  rê  )r(   r
   r   rë  rˆ  )Úaxesr/   ©r1   r2   r§   Ú	transposer3   ræ  r   rì  s        r$   Útest_rotate07z&TestNdimageInterpolation.test_rotate07ì  sô   € åŒx˜/˜/˜/Ø)˜/˜/Ø)˜/˜/ð+ð ,à./ñ0å79´zðCñ Cô Cˆð �~Š~ÑÔˆÝ”8˜i˜i˜iØ'˜i˜iØ'˜i˜iØ'˜i˜iØ'˜i˜ið	)ð *ð -.ñ	.õ 68´Zð	Añ Aô Aˆð
 ×%Ò% i i iÑ0Ô0ˆÝŒn˜T 2¨F¸%Ð@Ñ@Ô@ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r'   c                 ó\  — t          j        g d¢g d¢g d¢ggdz  t           j        ¬¦  «        }|                     ¦   «         }t          j        g d¢g d¢g d¢ggdz  t           j        ¬¦  «        }|                     ¦   «         }t	          j        |ddd|¬	¦  «        }t          ||¦  «         d S )
Nrï  rð  r(   rA   ró  rë  rˆ  F)rý  rø   r/   rþ  rì  s        r$   Útest_rotate08z&TestNdimageInterpolation.test_rotate08û  sÞ   € åŒx˜/˜/˜/Ø)˜/˜/Ø)˜/˜/ð+ð ,à./ñ0å79´zðCñ Cô Cˆð �~Š~ÑÔˆÝ”8˜o˜o˜oØ-˜o˜oØ-˜o˜oð/ð 0à23ñ4å;=¼:ðGñ Gô Gˆð ×%Ò%Ñ'Ô'ˆÝŒn˜T 2¨F¸EÈÐOÑOÔOˆÝ! # xÑ0Ô0Ð0Ð0Ð0r'   c                 óô   — t          j        g d¢g d¢g d¢gdz  t           j        ¬¦  «        }t          t          ¦  «        5  t          j        |dd|j        f¬¦  «         d d d ¦  «         d S # 1 swxY w Y   d S )Nrï  rð  r(   rA   rë  r   )rý  )r1   r2   r§   rz  r{  r3   ræ  rû   )r6   r8   s     r$   Útest_rotate09z&TestNdimageInterpolation.test_rotate09  sÒ   € ÝŒx˜˜˜Ø(˜˜Ø(˜˜ð*à,-ñ.å57´ZðAñ Aô Aˆõ �:Ñ&Ô&ð 	:ð 	:ÝŒN˜4 ¨1¨d¬i¨.Ð9Ñ9Ô9Ð9ð	:ð 	:ð 	:ñ 	:ô 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:ð 	:øøøð 	:ð 	:ð 	:ð 	:ð 	:ð 	:s   ÁA-Á-A1Á4A1c           
      óB  — t          j        dt           j        ¬¦  «                             d¦  «        }t          j        g d¢g d¢g d¢g d¢g d¢gg d¢g d¢g d	¢g d
¢g d¢gg d¢g d¢g d¢g d¢g d¢gg¦  «        }t          j        |dd¬¦  «        }t          ||¦  «         d S )Né-   rA   )r)   rŽ   r)   )rO  rO  rO  )g|ÀÕS2@g|ÀÕS2@g>àê)!@)g9ÚHD¾°%@g9ÚHD¾°'@g9ÚHD¾°)@)gõc™~Å@gõc™~Å@gz‰±L¿b @)gä[ic6ò*@gä[ic6ò,@gä[ic6ò.@)g      5@g      6@g      7@)gRKÎä†<@gRKÎä†=@gRKÎä†>@)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ø   )r1   rK   r§   rø   r2   r3   ræ  r   )r6   r8   rV   r^   s       r$   Útest_rotate10z&TestNdimageInterpolation.test_rotate10  sû   € ÝŒy˜¥2¤:Ð.Ñ.Ô.×6Ò6°yÑAÔAˆõ ”8˜o˜o˜oØ-˜o˜oØBÐBÐBØEÐEÐEØ-˜o˜oð	/ð
 CÐBÐBØBÐBÐBØ0Ð0Ð0ØBÐBÐBØEÐEÐEð	Gð
 .˜o˜oØEÐEÐEØEÐEÐEØ-˜o˜oØ-˜o˜oð	/ð0ñ 1ô 1ˆõ  Œn˜T¨°UÐ;Ñ;Ô;ˆÝ! # xÑ0Ô0Ð0Ð0Ð0r'   c                 óÄ   — t          j        t          j        d¦  «        d¦  «        }t          j        t          j        |d¦  «        d¦  «        }t          ||¦  «         d S )NrŽ   )rŽ   r
   é´   iLÿÿÿ)r1   ÚtilerK   r3   ræ  r   )r6   râ   rã   s      r$   Útest_rotate_exact_180z.TestNdimageInterpolation.test_rotate_exact_180&  sN   € ÝŒG•B”I˜a‘L”L &Ñ)Ô)ˆÝŒN�7œ>¨!¨SÑ1Ô1°4Ñ8Ô8ˆÝ�Q˜ÑÔÐÐÐr'   N)}Ú__name__Ú
__module__Ú__qualname__r"  ÚmarkÚparametrizer9   r>   rÀ  rW   r   r_   rb   rf   ri   rk   rt   rx   r~   rƒ   r1   r§   Ú
complex128rŠ   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  ÚskipifÚsysÚplatformÚintpÚitemsizer&  r+  r.  r0  r2  r5  r7  r9  r;  r>  rA  rD  rG  rI  rK  rM  rP  rR  rT  rW  rY  r\  r_  ra  ri  rl  rx  r|  r~  r€  r…  r‡  r‘  r”  r—  rš  rœ  rž  r¡  r£  r¥  r¨  rª  r¬  r¯  r²  r´  r¶  rº  r¼  rÆ  rÈ  rÊ  rÍ  rÑ  rÔ  r×  rÚ  rÞ  râ  rç  rí  rñ  rô  rù  rû  r   r  r  r  r  r!   r'   r$   r   r      s,  € € € € € à„[×ÒØØ
Ð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 r¤z°2´=Ð&AÑBÔBð1ð 1ñ CÔBñ 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 r¤z°2´=Ð&AÑBÔBð1ð 1ñ CÔBñ 3Ô2ð1ð" „[×Ò˜W e e¨A¨q¡k¤kÑ2Ô2ð	.ð 	.ñ 3Ô2ð	.ðLð Lð Lð(8ð 8ð 8ð".ð .ð .ð „[×Ò˜ 3¤<Ð/ÐJ°7°2´7¸1±:´:Ô3FÈÒ3Jð 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 r¤z°2´=Ð&AÑBÔBð1ð 1ñ CÔBñ 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ð;ð2Lð 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 r¤z°2´=Ð&AÑBÔBð1ð 1ñ CÔBñ 3Ô2ð1ð „[×Ò˜W e e¨A¨q¡k¤kÑ2Ô2Ø„[×Ò˜V j°/Ð%BÑCÔCØ„[×Ò˜W r¤z°2´=Ð&AÑBÔBð1ð 1ñ CÔBñ 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ð	/ð 	/ñ 3Ô2ð	/ð%ð %ð %ð
Bð Bð Bð „[×Ò˜W e e¨A¨q¡k¤kÑ2Ô2Ø„[×Ò˜W r¤z°2´=Ð&AÑBÔBð7ð 7ñ CÔBñ 3Ô2ð7ðEð Eð Eð
,ð ,ð ,ð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 r¤z°2´=Ð&AÑBÔBð1ð 1ñ CÔBñ 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'   r   c                  ó¦   — t          j        d¦  «                             d¦  «        } t          j        | dt          j        d¦  «        ¬¦  «         dS )zTicket #643r¶   r×   r(   rÐ   rd   N)r1   rK   rø   r3   rÁ  rŽ  r"   s    r$   Útest_zoom_output_shaper  ,  sD   € å
Œ	�"‰Œ×Ò˜fÑ%Ô%€AÝ„L��A�bœh vÑ.Ô.Ð/Ñ/Ô/Ð/Ð/Ð/r'   )r  Únumpyr1   Únumpy.testingr   r   r   r   r   r   r"  r	   rz  Úscipy.ndimager3   Ú r   rÃ  rO   r   r  r!   r'   r$   ú<module>r     s  ðØ 
€
€
€
à Ð Ð Ð ð.ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð .ð €€€Ø *Ð *Ð *Ð *Ð *Ð *Ø Ð Ð Ð Ð Ð à Ð Ð Ð Ð Ð à€ð ØØØØØðð Ð ðPð Pð Pð Pð Pñ Pô Pð Pðf(0ð 0ð 0ð 0ð 0r'   