o
    &?es                     @   s   d dl Zd dlmZ d dlmZ d dlmZmZ dd Z	dd Z
d	d
 Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd Zdd  Zd!d" Zd#d$ Zd%d& Zd'd( ZdS ))    N)testing)assert_equal)view_as_blocksview_as_windowsc                  C   sF   t d} tt t| dg W d    d S 1 sw   Y  d S )N
      )nparanger   raises	TypeErrorr   A r   ^/home/www/facesmatcher.com/pyenv/lib/python3.10/site-packages/skimage/util/tests/test_shape.py%test_view_as_blocks_block_not_a_tuple   s   
"r   c                  C   D   t d} tt t| d W d    d S 1 sw   Y  d S )Nr   )r   r	   r   r
   
ValueErrorr   r   r   r   r   "test_view_as_blocks_negative_shape      
"r   c                  C   r   Nr      r   r   r   r   r   #test_view_as_blocks_block_too_large   r   r   c                  C   r   Nr      r   r   r   r   r   r   )test_view_as_blocks_wrong_block_dimension   r   r   c                  C   r   )Nr      r   r   r   r   r   .test_view_as_blocks_1D_array_wrong_block_shape    r   r!   c                  C   s4   t d} t| d}t|t g dg dg d S )Nr   )r   )r      r   r       )r            	   )r   r	   r   r   arrayr   Br   r   r   test_view_as_blocks_1D_array&   s
   

r+   c                  C   sN   t ddd} t| d}t|d t 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)   r   r   r   test_view_as_blocks_2D_array-   s   
r/   c                  C   sl   t dddd} t| d}t|jd t|dd ddf t 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	   r.   r   r   shaper(   r)   r   r   r   test_view_as_blocks_3D_array5   s   
r:   c                  C   sB   g d} t t t| d W d    d S 1 sw   Y  d S )N)r"   r   r    r#   r   )r   )r   r
   r   r   r   r   r   r   $test_view_as_windows_input_not_array?   s   "r;   c                  C   r   r   r   r	   r   r
   r   r   r   r   r   r   +test_view_as_windows_wrong_window_dimensionE   r   r=   c                  C   r   )Nr   )r<   r   r   r   r   +test_view_as_windows_negative_window_lengthK   r   r?   c                  C   r   r   r<   r   r   r   r   %test_view_as_windows_window_too_largeQ   r   r@   c                  C   sH   t d} tt t| ddd W d    d S 1 sw   Y  d S )Nr   r   g?stepr<   r   r   r   r   #test_view_as_windows_step_below_oneW   s   
"rC   c                  C   s\   t d} d}t| |}t|t 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   Zwindow_shaper*   r   r   r   test_view_as_windows_1D]   s   

rI   c                  C   s   t ddd} d}t| |}t|jd t|t 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    rD   rF   )r&   r'   r   )   r-      rE   rG   )r'   r   r   )r-   rL      )r,         )rN   rO      )r   r	   r.   r   r   r9   r(   rH   r   r   r   test_view_as_windows_2Dk   s6   
rQ   c                  C   s   t dd} t| d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d}t|jd d S )NrJ   )r   r#   r   rA   r   r"   r#   r   r    r$   r%   r&   r'   rK   r-   r   r   rL   rM   )r"   r"   r   r   )r   r	   r.   r   r   r9   r   r*   Cr   r   r   test_view_as_windows_with_skip   s&   
	rT   c                  C   s   t 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 )Nr,   )r#   r#   r   r   r   r"   r&   r'   r    r   r   )r   r	   r.   r   r   printr   )r   Zres_bZres_wZ
expected_bZ
expected_wr   r   r   test_views_non_contiguous   s2   


rV   c                  C   s   t dd} t| ddd}|jdksJ |j| jksJ t| ddd}|jdks,J |j| jks4J 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    rA   )r   r"   r    r   )r   r   r    r   r   r"   r#   r   r&   r'   r   r$   r%   r   r   rK   r-   r,   rN   rJ      rL   rM   rO   rP         )r   r	   r.   r   r9   sizer   rR   r   r   r   test_view_as_windows_step_tuple   s4   

r\   )numpyr   Zskimage._sharedr   Zskimage._shared.testingr   Zskimage.util.shaper   r   r   r   r   r   r!   r+   r/   r:   r;   r=   r?   r@   rC   rI   rQ   rT   rV   r\   r   r   r   r   <module>   s,    
