
    1-Ph                         d dl Zd dlmZ d dlmZ d dlmZmZ d Z	d Z
d Zd Zd	 Zd
 Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd Zd ZdS )    N)testing)assert_equal)view_as_blocksview_as_windowsc                      t          j        d          } t          j        t                    5  t          | dg           d d d            d S # 1 swxY w Y   d S )N
      )nparanger   raises	TypeErrorr   As    ]/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/skimage/util/tests/test_shape.py%test_view_as_blocks_block_not_a_tupler      s    
	"A			"	"  q1#                 s   AAAc                      t          j        d          } t          j        t                    5  t          | d           d d d            d S # 1 swxY w Y   d S )Nr   )r
   r   r   r   
ValueErrorr   r   s    r   "test_view_as_blocks_negative_shaper          
	"A	
	#	# ! !q%   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !   AAAc                      t          j        d          } t          j        t                    5  t          | d           d d d            d S # 1 swxY w Y   d S Nr      r   r   s    r   #test_view_as_blocks_block_too_larger      r   r   c                      t          j        d          } t          j        t                    5  t          | d           d d d            d S # 1 swxY w Y   d S Nr      r!   r   r   s    r   )test_view_as_blocks_wrong_block_dimensionr"      s    
	"A	
	#	# " "q&!!!" " " " " " " " " " " " " " " " " "r   c                      t          j        d          } t          j        t                    5  t          | d           d d d            d S # 1 swxY w Y   d S )Nr      r   r   s    r   .test_view_as_blocks_1D_array_wrong_block_shaper&       s    
	"A	
	#	#    q$                                   r   c                      t          j        d          } t          | d          }t          |t          j        g dg dg                     d S )Nr   )r	   )r      r!   r%      )r	            	   )r
   r   r   r   arrayr   Bs     r   test_view_as_blocks_1D_arrayr1   &   sK    
	"Aq$ABHooo?@@AAAAA    c                      t          j        d                              dd          } t          | d          }t	          |d         t          j        ddgddgg                     t	          |d	         d
           d S )N   r)   r    )r   r(   r!   r%   r*   r+   )r(   r   r(   r(      )r
   r   reshaper   r   r.   r/   s     r   test_view_as_blocks_2D_arrayr7   ,   su    
	%  A&&Aq&!!A4"(QFQF#344555:#####r2   c            	         t          j        d                              ddd          } t          | d          }t	          |j        d           t	          |dd ddf         t          j        dd	gd
dgggddgddgggg                     d S )N`   r)   r*   )r(   r!   r!   )r)   r!   r%   r(   r!   r!   r!   r   4   5   :   ;   L   M   R   S   )r
   r   r6   r   r   shaper.   r/   s     r   test_view_as_blocks_3D_arrayrC   3   s    
	)$$Q1--Aq)$$A,---	!""a(RX"bB8 45"bB88L7MNOO    r2   c                      g d} t          j        t                    5  t          | d           d d d            d S # 1 swxY w Y   d S )N)r(   r!   r%   r)   r	   )r!   )r   r   r   r   r   s    r   $test_view_as_windows_input_not_arrayrE   <   s    A			"	" ! !4   ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! ! !s   <A A c                      t          j        d          } t          j        t                    5  t          | d           d d d            d S # 1 swxY w Y   d S r   r
   r   r   r   r   r   r   s    r   +test_view_as_windows_wrong_window_dimensionrH   B   s    
	"A	
	#	# # #6"""# # # # # # # # # # # # # # # # # #r   c                      t          j        d          } t          j        t                    5  t          | d           d d d            d S # 1 swxY w Y   d S )Nr   )rG   r   s    r   +test_view_as_windows_negative_window_lengthrK   H       
	"A	
	#	# " "5!!!" " " " " " " " " " " " " " " " " "r   c                      t          j        d          } t          j        t                    5  t          | d           d d d            d S # 1 swxY w Y   d S r   rG   r   s    r   %test_view_as_windows_window_too_largerN   N   rL   r   c                      t          j        d          } t          j        t                    5  t          | dd           d d d            d S # 1 swxY w Y   d S )Nr   r   g?steprG   r   s    r   #test_view_as_windows_step_below_onerR   T   s    
	"A	
	#	# , ,5s++++, , , , , , , , , , , , , , , , , ,s   AAAc                      t          j        d          } d}t          | |          }t          |t          j        g dg dg dg dg dg dg d	g d
g                     d S )Nr   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   window_shaper0   s      r   test_view_as_windows_1DrZ   Z   s    
	"AL<((A	
																		
 	
    r2   c                  T   t          j        d                              dd          } d}t          | |          }t	          |j        d           t	          |t          j        g dg dg dg d	gg d
g dg dg dggg dg dg d	g dgg dg dg dg dggg                     d S )N   r	   r)   )r)   r%   )r!   r!   r)   r%   rT   rV   )r,   r-   r   )   r5      rU   rW   )r-   r   r   )r5   r^      )r4         )r`   ra      )r
   r   r6   r   r   rB   r.   rX   s      r   test_view_as_windows_2Drc   o   s    
	%  A&&AL<((A,'''	
 YY			:::|||DYY			;;;E
 YY


LLL,,,GYY\\\<<<H		
 	
    r2   c                  "   t          j        d                              d          } t          | dd          }t	          |ddgddggdd	gd
dgggddgddggddgddgggg           t          | dd          }t	          |j        d           d S )Nr\   )r	   r)   r!   rP   r   r(   r)   r	   r%   r*   r+   r,   r-   r]   r5   r   r   r^   r_   )r(   r(   r!   r!   )r
   r   r6   r   r   rB   r   r0   Cs      r   test_view_as_windows_with_skiprg      s    
	"f%%A11%%%A	!fq!fAA/0!fr2h2r(RH!56	
   	11%%%A,'''''r2   c                     t          j        d                              d          } | d d dd d f         } t          | d          }t	          | d          }t          |           t          |           ddgddggdd	gd
dgggg}ddgddggddgdd
ggdd	gd
dgggg}t          ||           t          ||           d S )Nr4   )r)   r)   r!   r    r   r(   r,   r-   r%   r   r   )r
   r   r6   r   r   printr   )r   res_bres_w
expected_b
expected_ws        r   test_views_non_contiguousrn      s    
	"f%%A	##A#qqq&	A1f%%EAv&&E	%LLL	%LLLFQF#q!fr2h%789JFQF#q!fq"g%6!Q"b8JKLJ
###
#####r2   c            	         t          j        d                              d          } t          | dd          }|j        dk    sJ |j        | j        k    sJ t          | dd          }|j        dk    sJ |j        | j        k    sJ t          |dd	gd
dgddggddgddgddgggddgddgddggddgddgddgggg           d S )N   )r*   r)   )r%   r!   r%   rP   )r!   r(   r%   r!   )r!   r!   r%   r!   r   r(   r)   r	   r,   r-   r!   r*   r+   r   r   r]   r5   r4   r`   r\      r^   r_   ra   rb         )r
   r   r6   r   rB   sizer   re   s      r   test_view_as_windows_step_tupleru      s   
	"f%%A6***A7l""""6QV6///A7l""""6QV	!fq!fq!f%AAR'AB2hR2r(+r2hR2r(-KL	
    r2   )numpyr
   skimage._sharedr   skimage._shared.testingr   skimage.util.shaper   r   r   r   r   r"   r&   r1   r7   rC   rE   rH   rK   rN   rR   rZ   rc   rg   rn   ru    r2   r   <module>r{      sh       # # # # # # 0 0 0 0 0 0 > > > > > > > >  ! ! !! ! !" " "     B B B$ $ $  ! ! !# # #" " "" " ", , ,  *  ,( ( ($ $ $"    r2   