
    ^Mh                         d dl Zd dlmZ d dlmZ d dlmZ d dlmZ d dl	m
Z
 d d d	 d
 gZd d d d gZd d d d gZd Zd Zd ZdS )    N)xp_assert_close)ndimage)_ctest)_cytest)LowLevelCallablec                 *    t          j        |           S N)r   filter1dfilter_sizes    ^/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/scipy/ndimage/tests/test_c_api.py<lambda>r   
   s    44     c                 .    t          j        | d          S NFwith_signature)r   r
   r   s    r   r   r      s    (UKKK r   c                 H    t          t          j        | d                    S NTr   )r   r   r
   r   s    r   r   r      s$    (#,[NNN  r   c                 \    t          j        t          dt          j        |                     S )N	_filter1d)r   from_cythonr   filter1d_capsuler   s    r   r   r      s'    (4#[#4[AA  r   c                 *    t          j        |           S r	   )r   filter2dweightss    r   r   r      s    FOG,, r   c                 .    t          j        | d          S r   )r   r   r   s    r   r   r      s    G$WUCCC r   c                 H    t          t          j        | d                    S r   )r   r   r   r   s    r   r   r      s    $W%5gd%S%S%STT r   c                 \    t          j        t          dt          j        |                     S )N	_filter2d)r   r   r   filter2d_capsuler   s    r   r   r      s)    $01<181I'1R1RU U r   c                 *    t          j        |           S r	   )r   	transformshifts    r   r   r      s    &"5)) r   c                 .    t          j        | d          S r   )r   r$   r%   s    r   r   r       s    '#E%@@@ r   c                 H    t          t          j        | d                    S r   )r   r   r$   r%   s    r   r   r   !   s    "7#4U4#P#P#PQQ r   c                 \    t          j        t          dt          j        |                     S )N
_transform)r   r   r   transform_capsuler%   s    r   r   r   "   s)    ".w/;/6/H/O/OR R r   c                  b    d fd} t          t                    D ]\  }} | |           d S )Nc                 0    || z                                   S r	   )sum)footprint_elementsr   s     r   r   z%test_generic_filter.<locals>.filter2d)   s    **//111r   c                    t           |          }t          j        d          }d|d dd df<   t          j        g dg dg dg          }t          j        |          }t          j        |          |z  }t          j        | ||          |          }t          j        |||f          }t          ||d|  d	
           d S )N)   r1   r   
   )r      r   )r3   r3   r3   )	footprint)r4   extra_arguments# failederr_msg)FILTER2D_FUNCTIONSnponesarraycount_nonzeror   generic_filterr   )	jfuncimr4   footprint_sizer   resstdr   s	           r   checkz"test_generic_filter.<locals>.check,   s    !!$WX3B3ss7HiiiIII>??	))44'.)).8$Rg/8: : :$RY6=ZA A AS.a...999999r   )	enumerater:   )rF   r@   rA   r   s      @r   test_generic_filterrH   (   sb    2 2 2: : : : : /00  4a r   c                  b    d fd} t          t                    D ]\  }} | |           d S )Nc                     t          |j                  D ]2}d||<   t          |          D ]}||xx         | ||z            z  cc<   3||z  }d S )Nr   )rangesize)
input_lineoutput_liner   ir@   s        r   r
   z'test_generic_filter1d.<locals>.filter1d@   so    {'(( 	2 	2AKN;'' 2 2A*QqS/12{"r   c                 \   t           |          }t          j        t          j        t          j        d          t          j        d          f          d          }d}t          j        | ||          |          }t          j        |||f          }t          ||d|  d           d S )Nr2   )r2   r3      r5   r6   r7   r8   )	FILTER1D_FUNCTIONSr;   tilehstackzerosr<   r   generic_filter1dr   )r@   rA   rB   r   rD   rE   r
   s         r   rF   z$test_generic_filter1d.<locals>.checkG   s    !!$WRYbgbkk:;;WEE&r44+<+<'24 4&r8[8C~G G GS.a...999999r   )rG   rS   )rF   r@   rA   r
   s      @r   test_generic_filter1drX   ?   sb    # # #
: 
: 
: 
: 
: /00  4a r   c                  b    d fd} t          t                    D ]\  }} | |           d S )Nc                 .    | d         |z
  | d         |z
  fS )Nr   r3    )output_coordinatesr&   s     r   r$   z+test_geometric_transform.<locals>.transformX   s"    !!$u,.@.Ce.KKKr   c                 H   t           |          }t          j        d                              dd                              t          j                  }d}t          j        | ||                    }t          j        ||f          }t          ||d|  d           d S )	N      rQ   g      ?rR   r6   r7   r8   )	TRANSFORM_FUNCTIONSr;   arangereshapeastypefloat64r   geometric_transformr   )r@   rA   rB   r&   rD   rE   r$   s         r   rF   z'test_geometric_transform.<locals>.check[   s    "1%Yr]]""1a((//
;;)"dd5kk::)"i%RRRS.a...999999r   )rG   r`   )rF   r@   rA   r$   s      @r   test_geometric_transformrf   W   se    L L L: : : : : 011  4a r   )numpyr;   scipy._lib._array_apir   scipyr   scipy.ndimager   r   scipy._lib._ccallbackr   rS   r:   r`   rH   rX   rf   r[   r   r   <module>rl      s       1 1 1 1 1 1                   ! ! ! ! ! ! 2 2 2 2 2 2 54KK  
  -,CCTTU U	  *)@@QQR R	   .  0    r   