
    9i                         S SK rS SKJr  S SKJr  S SKJrJr  S r	S r
S rS rS	 rS
 rS rS rS rS rS rS rS rS rS rS rS rS rg)    N)testing)assert_equal)view_as_blocksview_as_windowsc                      [         R                  " S5      n [        R                  " [        5         [        U S/5        S S S 5        g ! , (       d  f       g = f)N
      )nparanger   raises	TypeErrorr   As    ]/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/util/tests/test_shape.py%test_view_as_blocks_block_not_a_tupler      s3    
		"A			"q1# 
#	"	"s   A
Ac                      [         R                  " S5      n [        R                  " [        5         [        U S5        S S S 5        g ! , (       d  f       g = f)Nr   )r
   r   r   r   
ValueErrorr   r   s    r   "test_view_as_blocks_negative_shaper      1    
		"A	
	#q%  
$	#	#   A
Ac                      [         R                  " S5      n [        R                  " [        5         [        U S5        S S S 5        g ! , (       d  f       g = fNr      r   r   s    r   #test_view_as_blocks_block_too_larger      r   r   c                      [         R                  " S5      n [        R                  " [        5         [        U S5        S S S 5        g ! , (       d  f       g = fNr      r!   r   r   s    r   )test_view_as_blocks_wrong_block_dimensionr"      s1    
		"A	
	#q&! 
$	#	#r   c                      [         R                  " S5      n [        R                  " [        5         [        U S5        S S S 5        g ! , (       d  f       g = f)Nr      r   r   s    r   .test_view_as_blocks_1D_array_wrong_block_shaper&       s1    
		"A	
	#q$ 
$	#	#r   c                      [         R                  " S5      n [        U S5      n[        U[         R                  " / SQ/ SQ/5      5        g )Nr   )r	   )r      r!   r%      )r	            	   )r
   r   r   r   arrayr   Bs     r   test_view_as_blocks_1D_arrayr1   &   s3    
		"Aq$ABHHo?@A    c                      [         R                  " S5      R                  SS5      n [        U S5      n[	        US   [         R
                  " SS/SS//5      5        [	        US	   S
5        g )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   ,   s[    
		%  A&Aq&!A4"((QFQF#345:#r2   c            	         [         R                  " S5      R                  SSS5      n [        U S5      n[	        UR
                  S5        [	        USS 2SS4   [         R                  " SS	/S
S///SS/SS////5      5        g )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(RXX"bB8 45"bB88L7MNOr2   c                      / SQn [         R                  " [        5         [        U S5        S S S 5        g ! , (       d  f       g = f)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	   5
Ac                      [         R                  " S5      n [        R                  " [        5         [        U S5        S S S 5        g ! , (       d  f       g = fr   r
   r   r   r   r   r   r   s    r   +test_view_as_windows_wrong_window_dimensionrH   B   s1    
		"A	
	#6" 
$	#	#r   c                      [         R                  " S5      n [        R                  " [        5         [        U S5        S S S 5        g ! , (       d  f       g = f)Nr   )rG   r   s    r   +test_view_as_windows_negative_window_lengthrK   H   1    
		"A	
	#5! 
$	#	#r   c                      [         R                  " S5      n [        R                  " [        5         [        U S5        S S S 5        g ! , (       d  f       g = fr   rG   r   s    r   %test_view_as_windows_window_too_largerN   N   rL   r   c                      [         R                  " S5      n [        R                  " [        5         [        U SSS9  S S S 5        g ! , (       d  f       g = f)Nr   r   g?steprG   r   s    r   #test_view_as_windows_step_below_onerR   T   s3    
		"A	
	#5s+ 
$	#	#s   A
Ac                      [         R                  " S5      n Sn[        X5      n[        U[         R                  " / SQ/ SQ/ SQ/ SQ/ SQ/ SQ/ S	Q/ S
Q/5      5        g )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   sR    
		"AL(A	
		
r2   c                  B   [         R                  " S5      R                  SS5      n Sn[        X5      n[	        UR
                  S5        [	        U[         R                  " / SQ/ SQ/ SQ/ S	Q// S
Q/ SQ/ SQ/ SQ/// SQ/ SQ/ S	Q/ SQ// SQ/ SQ/ SQ/ SQ///5      5        g )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,'	
 	:|D	;E
 
L,G\<H		
r2   c                      [         R                  " S5      R                  S5      n [        U SSS9n[	        USS/SS//SS	/S
S///SS/SS//SS/SS////5        [        U SSS9n[	        UR
                  S5        g )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                  @   [         R                  " S5      R                  S5      n U S S S2S S 24   n [        U S5      n[	        U S5      n[        U5        [        U5        SS/SS//SS	/S
S////nSS/SS//SS/SS
//SS	/S
S////n[        X5        [        X$5        g )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#q&	A1f%EAv&E	%L	%LFQF#q!fr2h%789JFQF#q!fq"g%6!Q"b8JKLJ##r2   c            	         [         R                  " S5      R                  S5      n [        U SSS9nUR                  S:X  d   eUR
                  U R
                  :w  d   e[        U SSS9nUR                  S:X  d   eUR
                  U R
                  :X  d   e[        USS	/S
S/SS//SS/SS/SS///SS/SS/SS//SS/SS/SS////5        g )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77l"""66QVV6/A77l"""66QVV	!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{      sl     # 0 >!!" B$!#"",*,($"r2   