
    k h"                         d dl Zd dlmZmZ d dlm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ej*                  d        Zd Zd Zy)    N)convex_hull_imageconvex_hull_object)possible_hull)testing)assert_array_equal)expected_warningsc            	          t        j                  g dg dg dg dg dg dgt              } t        j                  g dg dg dg dg d	g dgt              }t        t	        |       |       y )
N	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   r   r   r   r   )	r   r   r   r   r   r   r   r   r   dtype)	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   nparrayboolr   r   imageexpecteds     /home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/skimage/morphology/tests/test_convex_hull.py
test_basicr   
   sj    HH''''''	
 
E xx''''''	
 
H (/:    c                      t        j                  dt              } t        dg      5  t	        t        |       |        d d d        y # 1 sw Y   y xY w)N)   r   r   zentirely zero)r   zerosr   r   r   r   r   s    r   test_empty_imager    &   sB    HHV4(E	O,	- <,U3U;< < <s   AAc                      g dg df} t        j                  dt              }d|| <   |j                         }t	        t        |      |       y )N)<iW  X  r"   r"   Y  r#   r#   r#   r#   Z  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(   r(   r(   r(   r(   r(   _  r)   r)   r)   r)   `  r*   r*   ia  r&   )<      r+         r,   r+   r-         r.   r,   r+   r-   r/         r0   r.   r,   r+   r-   r/   r1         r2   r0   r.   r,   r+   r-   r/   r1   r4   r2   r0   r.   r,   r+   r-   r/   r1   r2   r0   r.   r,   r+   r-   r/   r0   r.   r,   r+   r-   r.   r,   r+   r,   r3   )ip  i  r   T)r   r   r   copyr   r   )nonzerosr   r   s      r   test_qhull_offset_exampler7   ,   sM    =@=EAHD HH\.EE(Ozz|H(/:r   c                      t        j                  g dg dg dgt              } t        j                  g dg dg dgt              }t        t	        |       |       y )N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   r   r   r   r   r   )r   r   r   r   r   r   r   r   r   s     r   test_pathological_qhull_exampler<      sP    HH	 57LME xx	 57LMH (/:r   c                      t        j                  g dg dg dgt              } t        j                  g dg dg dgt              }t        | d      }t	        ||       y )Nr9   r:   r;   r   )r   r   r   r   r   r   r   F)include_borders)r   r   r   r   r   )r   r   actuals      r   test_pathological_qhull_labelsr@      sV    HH	 57LME
 xx	 57LMH
 ue<Fvx(r   c                  <   t        j                  g dg dg dg dg dg dgt         j                        } t        j                  ddgd	d
gd
d	gddgddgd
d	gd	d
gddgd	dgd
dgddgd	dgd
dgddgdd	gdd
gddgddgddgg      }t        |       }t	        ||       y )Nr
   r   r   r   r   r   r               r      )r   r   uint8r   r   )r   r   phs      r   test_possible_hullrI      s    HH''''''	
 hh
E xxFFFFFFFFFFFFFFFFFFF'	
H0 
u	Br8$r   c                  L   t        j                  g dg dg dg dg dg dg dg dg dg	t              } t        j                  g dg dg dg dg dg d	g d
g dg dg	t              }t        t	        | d      |       t        j                  g dg dg dg dg dg dg dg dg dg	t              }t        t	        | d      |       t        j                  t              5  t	        | d       d d d        t	        | d      }t        ||       y # 1 sw Y   #xY w)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   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   r   r   )	r   r   r   r   r   r   r   r   r   r   )connectivity)	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   rC   rD   )r   r   r   r   r   r   raises
ValueError)r   expected_conn_1expected_conn_2outs       r   test_objectrQ      s   HH'''''''''
	
 E hh'''''''''
	
 O )%a@/Rhh'''''''''
	
 O )%a@/R	
	# 25q12 U
3CsO,	2 2s   *DD#c                  T   t        j                  ddt              } t        t	        |       |        t        j                  ddt              } t        t	        |       |        t        j
                  t        j                  dt              g d      } t        t	        |       |        y )N)rC   rC   F)orderr   )rC   rC   rC   r   )r   rC   r   )r   onesr   r   r   	transposer   s    r   test_non_c_contiguousrW   2  sq    GGF#T2E(/7GGIS5E(/7LL$7CE(/7r   c                  F    ddl m}  t        j                  | | | f      }| |fS )NrD   )SAMPLE)measure.tests.test_regionpropsrY   r   stack)r   image3ds     r   
images2d3dr]   >  s$    Ahhue,-G'>r   c                 b    | \  }}t        |      }d|d<   t        |      }t        |d   |       y )NT)   r   r   )r   r   )r]   r   r\   chimage	chimage3ds        r   test_consistent_2d_3d_hullsrb   F  s6    NE7&GGDM!'*Iy|W-r   c            	      r   t        j                  g dg dg dg dg dg dgt         j                        } t        j                  | | | g      }t	        j
                  t              5  t        |      }t        |t        j                  |j                  t                     d d d        y # 1 sw Y   y xY w)Nr
   )	r   r   r   r   r   r   r   r   r   )	r   r   r   r   r   r   r   r   r   r   )r   r   rG   r[   r   assert_warnsUserWarningr   r   r   shaper   )r   r\   ra   s      r   test_few_pointsrg   N  s    HH''''''	
 hh
E hhue,-G			k	* K%g.	9bhhw}}D&IJK K Ks   );B--B6)numpyr   skimage.morphologyr   r   skimage.morphology._convex_hullr   skimage._sharedr   skimage._shared.testingr   skimage._shared._warningsr   r   r    r7   r<   r@   rI   rQ   rW   fixturer]   rb   rg    r   r   <module>rp      sf     D 9 # 6 7;8<F;R	;)&%R6-r	8 	 .Kr   