
    0-Ph                     n    d dl Zd dlmZ d dlmZ d dlmZ d Zd Z	d Z
d Zd	 Zd
 Zd Zd Zd Zd ZdS )    N)block_reduce)testing)assert_equalc                     t          j        d                              dd          } t          | d          }t          j        ddgddgg          }t          ||           t          j        d                              d	d
          }t          |d          }t          j        g dg dg          }t          ||           d S )N               *   `   r   (         r   r   )Q   l   W   )         )nparangereshaper   arrayr   image1out1	expected1image2out2	expected2s         `/var/www/html/test/jupyter/venv/lib/python3.11/site-packages/skimage/measure/tests/test_block.pytest_block_reduce_sumr&      s    Yu%%a++F''D2r(RI.//ID!!!Yu%%a++F''D---9::ID!!!!!    c                     t          j        d                              dd          } t          | dt           j                  }t          j        ddgdd	gg          }t          ||           t          j        d
                              dd          }t          |dt           j                  }t          j        ddgddgg          }t          ||           d S )Nr   r   r	   r
   func      @      @      0@      3@r   r   r   r   r         ,@g%@g      !@g@)r   r   r   r   meanr   r   r   s         r%   test_block_reduce_meanr2      s    Yu%%a++FRW555D3*tTl344ID!!!Yu%%a++FRW555D4,c
344ID!!!!!r'   c                  J   t          j        d                              dd          } t          | dt           j                  }t          j        ddgdd	gg          }t          ||           t          j        d
                              dd          }t          |dt           j                  }t          j        ddgddgg          }t          ||           t          j        g dg dg          }t          |dt           j                  }t          d|           d S )Nr   r   r	   r
   r)   r+   r,   r-   r.   r   r   r   r/   r0   g      @g        )   r   r   r   )r   r   r   i  )r   r   )r   r   r   r   medianr   r   )r   r    r!   r"   r#   r$   image3out3s           r%   test_block_reduce_medianr8       s   Yu%%a++FRY777D3*tTl344ID!!!Yu%%a++FRY777D4+Sz233ID!!!X|||___566FRY777DDr'   c                     t          j        d                              dd          } t          | dt           j                  }t          j        ddgdd	gg          }t          ||           t          j        d
                              dd          }t          |dt           j                  }t          j        ddgddgg          }t          ||           d S )Nr   r   r	   r
   r)   r   r         r   r   r   r/   r   r   r   r   minr   r   r   s         r%   test_block_reduce_minr>   0   s    Yu%%a++FRV444D1a&2r(+,,ID!!!Yu%%a++FRV444D1a&1a&)**ID!!!!!r'   c                     t          j        d                              dd          } t          | dt           j                  }t          j        ddgdd	gg          }t          ||           t          j        d
                              dd          }t          |dt           j                  }t          j        ddgddgg          }t          ||           d S )Nr   r   r	   r
   r)   r            r   r   r/         $   '   )r   r   r   r   maxr   r   r   s         r%   test_block_reduce_maxrH   <   s    Yu%%a++FRV444D1b'B8,--ID!!!Yu%%a++FRV444D2r(RH-..ID!!!!!r'   c                  d   t          j        d                              dd          } t          j        t
                    5  t          | g d           d d d            n# 1 swxY w Y   t          j        t
                    5  t          | ddg           d d d            d S # 1 swxY w Y   d S )Nr   r   r	   )r4   r   r   r4   g      ?)r   r   r   r   raises
ValueErrorr   )images    r%   test_invalid_block_sizerM   H   s"   Ie$$Q**E	
	#	# ' 'UIII&&&' ' ' ' ' ' ' ' ' ' ' ' ' ' '	
	#	# & &UQH%%%& & & & & & & & & & & & & & & & & &s$   A!!A%(A%B%%B),B)c                      t          j        d                              dd          } t          | t           j                  }t          j        g dg dg          }t          ||           d S )Nr   r   r	   r)   )r   r   r   )r:         r<   rL   outexpecteds      r%   test_default_block_sizerT   Q   sg    Ie$$Q**E
u26
*
*
*CxLLL122H3r'   c                  :   t          j        d                              dd          } t          | dt           j                  }t          j        ddgddgg          }t          ||           t          | dt           j                  }t          ||           d S )	NrE   r	   r   r)   r         r   r<   )rL   rR   r!   r$   s       r%   test_scalar_block_sizerX   X   s    Ie$$Q**E
uabf
-
-
-C1a&2r(+,,IC   UF888IC     r'   c                  @   t          j        g dg dg dg dgt           j                  } t          | dt           j        dt           j        i          }t          j        d	d
gddggt           j                  }t          ||           |j        |j        k    sJ d S )N)a   {         )            )   r@      5   )ra      e   9   dtyper   r   ri   r*   func_kwargs)   rP       rD   )r   r   uint8r   r1   r   ri   rQ   s      r%   test_func_kwargs_same_dtyperp   a   s    H   		
 h  E uf27"(@S
T
T
TCx"bB8,BH===Hh9&&&&&&r'   c                  @   t          j        g dg dg dg dgt           j                  } t          | dt           j        dt           j        i          }t          j        d	d
gddggt           j                  }t          ||           |j        |j        k    sJ d S )N)gHF?gn?gkj?g>p:n$?)g?gM;Es?g7I+?gY#F?)g7X?g:;`H?gIg/?g|?)g;aWR?gcXt?g1V8?g*.eQ?rh   rj   ri   rk   gV-?g??g9m4?gy&1?)r   r   float64r   r1   float16r   ri   rQ   s      r%    test_func_kwargs_different_dtypert   s   s    H;;;;;;<<<<<<		
 j  E uf27"*@U
V
V
VCx&&)FE?;2:NNNHh9&&&&&&r'   )numpyr   skimage.measurer   skimage._sharedr   skimage._shared.testingr   r&   r2   r8   r>   rH   rM   rT   rX   rp   rt    r'   r%   <module>rz      s        ( ( ( ( ( ( # # # # # # 0 0 0 0 0 0	" 	" 	"	" 	" 	"   	" 	" 	"	" 	" 	"& & &     ! ! !' ' '$' ' ' ' 'r'   