o
    e                     @   s6  d dl ZddlmZmZ ddlmZ edd	e
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ede
ZdZd Zd!Zd"ee< d#ee< d#ee< d$d% Zd&d' Zd(d) Zd*d+ Zd,d- Z d.d/ Z!d0d1 Z"d2d3 Z#d4d5 Z$d6d7 Z%d8d9 Z&d:d; Z'd<d= Z(d>d? Z)dS )@    N   )assert_equalassert_almost_equal   )profile_lined   )
   r   c                  C   s,   t tddddd} tdd}t| | d S )Nr   r   r      r   constantordermoder   	   r   imagenparanger   profexpected_prof r   RD:\Projects\ConvertPro\env\Lib\site-packages\skimage/measure/tests/test_profile.pytest_horizontal_rightward	   s   r   c                  C   .   t tddddd} tddd}t| | d S )	Nr
   r	   r   r   r   r      r   r   r   r   r   test_horizontal_leftward      r   c                  C   r   )	Nr      r   r!   r   r   r      _   r   r   r   r   r   r   test_vertical_downward   r   r%   c                  C   r   )	Nr"   r    r   r   r   U      ir   r   r   r   r   test_vertical_upward   r   r(   c                  C   .   t tddddd} tg d}t| | d S )Nr   r   r   r   r   r   r   )
   !   r-   ,   7   r/   B   M   r1   X   )r   r   r   arrayr   r   r   r   r   test_45deg_right_downward!   s   r4   c                  C   r   )	Nr*   r+   r   r   r   r,   r2   r   r   r   r   Zlinspacer   r   r   r   r   &test_45deg_right_downward_interpolated,   r   r6   c                  C   r   )	Nr   r   r   r   r   r   r   R      ir   r   r   r   r   r   r   r   r   test_45deg_right_upward2   r   r<   c                  C   r   )	Nr+   r*   r   r   r   r2      gUUUUUUr;   r   r   r   r   test_45deg_left_upward8   r   r>   c                  C   r   )	Nr8   r7   r   r   r      S      r;   r   r   r   r   test_45deg_left_downward>   r   rB   c                  C   r)   )Nr   r      r   r   r   r   )   r,      r-   "   -   8   9   C   D   O   )r   r   r   r3   r   r   r   r   r   (test_pythagorean_triangle_right_downwardD   r   rO   c                  C   s.   t tddddd} tddd}t| | d S )NrC   rD   r   r   r   rF   rN   r5   r   r   r   r   5test_pythagorean_triangle_right_downward_interpolatedJ   r   rP   )rA   rE   ))r   r   r   r   r      )r   r   r   r   rQ   r!   ))r   r   r   rQ   rQ   r!   )r   r   r   r   rQ   rQ   ))r   r   r   r   r   r   )r   r   r   rQ   r!   rA   g?g333333?c                  C   s,   t tdddddd} td}t| | d S )NrC   )rQ   r!   r   r   r   	linewidthr   r   rA   r   
pyth_imager   onesr   r   r   r   r   2test_pythagorean_triangle_right_downward_linewidthY   s
   
rW   c                  C   s>   t td d dd d f dddddd} td}t| | d S )	Nr   )rQ   r   )r   r!   r   r   r   rR   rA   rT   r   r   r   r   0test_pythagorean_triangle_right_upward_linewidth`   s
   
rX   c                  C   s@   t tjd d d d df dddddd} td}t| | d S )	Nr   )r   rQ   )r!   r   r   r   r   rR   rA   )r   rU   Tr   rV   r   r   r   r   r   7test_pythagorean_triangle_transpose_left_down_linewidthg   s
   
rZ   c               	   C   @   t tddddtjdd} td dd df d}t| | d S 	Nr   r   r   r   r   r   reflectrS   r   reduce_funcr   rQ   r   r   rU   r   meanr   r   r   r   r   test_reduce_func_meann   
   rd   c               	   C   r[   r\   )r   rU   r   maxr   r   r   r   r   test_reduce_func_maxu   re   rg   c               	   C   r[   r\   )r   rU   r   sumr   r   r   r   r   test_reduce_func_sum|   re   ri   c               	   C   s6   t tddddtjdd} td ddf }t| | d S )Nr]   r^   r   r   r   r`   rQ   rb   r   r   r   r   !test_reduce_func_mean_linewidth_1   s
   rj   c               	   C   s8   t tddddd dd} tdddtjf }t| | d S )	Nr   r   rQ   r   r   r   r   r`   r!   r   )r   rU   r   newaxisr   r   r   r   r   !test_reduce_func_None_linewidth_1   
   
rn   c               	   C   s8   t tddddd dd} tdddd	f }t| | d S )
Nrk   rl   r   r   r   r`   r   r!   rQ   )r   rU   r   r   r   r   r   !test_reduce_func_None_linewidth_3   ro   rp   c               	   C   L   dd } t tdddd| dd}tj| td	d
d	df d	d}t|| d S )Nc                 S   s   | | d  S )Nr   r   xr   r   r   ra      s   z8test_reduce_func_lambda_linewidth_3.<locals>.reduce_funcrk   rl   r   r   r   r`   r   r!   rQ   ZarrZaxisr   rU   r   Zapply_along_axisr   ra   r   r   r   r   r   #test_reduce_func_lambda_linewidth_3      rw   c               	   C   rq   )Nc                 S   s   | d S Ng      ?r   rr   r   r   r   ra      s   z6test_reduce_func_sqrt_linewidth_3.<locals>.reduce_funcrk   rl   r   r   r   r`   r   r!   rQ   rt   ru   rv   r   r   r   !test_reduce_func_sqrt_linewidth_3   s   
rz   c               	   C   rq   )Nc                 S   s   t | d S ry   )r   rh   rr   r   r   r   ra      s   z;test_reduce_func_sumofsqrt_linewidth_3.<locals>.reduce_funcrk   rl   r   r   r   r`   r   r!   rQ   rt   ru   rv   r   r   r   &test_reduce_func_sumofsqrt_linewidth_3   rx   r{   c               	   C   sx   d} t jd |  }tt |  df|dfddd dd}tt| dft d d dtjf t| d dfg}t|| d S )Nr   r   r   r   r`   )rU   shaper   r   Zvstackzerosrm   r   )offsetidxr   r   r   r   r   test_oob_coodinates   s   r   c                  C   s   d} d\}}d}t t| d t| d \}}|| d || d  |d k }||f}dt j d }d	t | }	d	t | }
||	 ||
 f}t|t j||d
d}t	|d | dksaJ t|||d
d}t	|d | dksuJ t	||ks}J d S )N)   r   )         r   r   r   rQ   g      "@   r_   )r   )
r   Zmeshgridrangepicossinr   astypeZuint8all)r|   Zcenter_xZcenter_yZradiusrs   ymasksrcphiZdyZdxdstZ
profile_u8Z	profile_br   r   r   test_bool_array_input   s     r   )*numpyr   Z_shared.testingr   r   Zprofiler   r   Zreshaper   floatr   r   r   r%   r(   r4   r6   r<   r>   rB   rO   rP   r}   rU   lineZbelowZaboverW   rX   rZ   rd   rg   ri   rj   rn   rp   rw   rz   r{   r   r   r   r   r   r   <module>   sH    

