
    h                     B   S SK rS SKrS SKJrJr  S SKJr  S SKJ	r	  S SK
Jr  S SKJr  S SKJr  \R                   R#                  S\R$                  \R&                  \R(                  /5      S	 5       r\R                   R#                  S\R&                  \R(                  /5      S
 5       r\R                   R#                  S\R&                  \R(                  /5      S 5       r\R                   R#                  S\R&                  \R(                  /5      S 5       rS rS rg)    N)assert_equalassert_allclose)data)_supported_float_type)rgb2gray)gaussian)active_contourdtypec           
         [         R                  " 5       n[        U5      n[        R                  " SS[        R
                  -  S5      nSS[        R                  " U5      -  -   nSS[        R                  " U5      -  -   n[        R                  " X4/5      R                  n[        USSS9R                  U SS	9n[        XeS
SSSSS9nUR                  [        U 5      :X  d   e/ SQn/ SQn	[        [        R                  " US S2S4   [        R                   S9U5        [        [        R                  " US S2S4   [        R                   S9U	5        g )Nr        d         Fsigmapreserve_rangecopyQ?
      MbP?)alphabetaw_linew_edgegamma)
b   c   r   e   f   g   h   i   j   l   )
i+  *  r(   r(   r(   )  r)   (  r*   i'  r
   )r   	astronautr   nplinspacepisincosarrayTr   astyper	   r
   r   r   int32)
r
   imgsrcinit
img_smoothsnakerefrrefcs
             n/var/www/fran/franai/venv/lib/python3.13/site-packages/skimage/segmentation/tests/test_active_contour_model.pytest_periodic_referencer@      s   
..
C
3-C
Aq255y#&AcBFF1IoAcBFF1IoA88QFD#Qu=DDUQVDWJBq%E ;;/6666;D=D%Q-rxx8$?%Q-rxx8$?    c                 8   [         R                  " 5       n[        R                  " SSS5      n[        R                  " SSS5      n[        R                  " X#/5      R
                  n[        USSS9R                  U SS	9n[        UUS
SSSSSS9nUR                  [        U 5      :X  d   e/ SQn/ SQn[        [        R                  " US S2S4   [        R                  S9U5        [        [        R                  " US S2S4   [        R                  S9U5        g )N   2   r        r   Fr   r   fixed皙?      ?r   boundary_conditionr   r   r   r   r   
rC                           }   
rE   	                  "   &   *   r   r+   r   textr-   r.   r2   r3   r   r4   r	   r
   r   r   r5   )	r
   r6   r8   r9   r:   image_smoothr<   r=   r>   s	            r?   test_fixed_referencerd      s    
))+C
CS!A
AsC A88QFDCq?FFE G L "	E ;;/6666=D1D%Q-rxx8$?%Q-rxx8$?rA   c                 8   [         R                  " 5       n[        R                  " SSS5      n[        R                  " SSS5      n[        R                  " X#/5      R
                  n[        USSS9R                  U SS	9n[        UUS
SSSSSS9nUR                  [        U 5      :X  d   e/ SQn/ SQn[        [        R                  " US S2S4   [        R                  S9U5        [        [        R                  " US S2S4   [        R                  S9U5        g )NF   (   r   rE   rF   r   Fr   r   freerH   rI   rJ   r   rK   )
L   ri   K   J   I   H   G   rf   E   ro   )
r   rY                      $   '   r   r+   r   ra   )	r
   r6   r8   r9   r:   r;   r<   r=   r>   s	            r?   test_free_referencerx   9   s    
))+C
BC A
AsC A88QFD#Qu=DDUQVDWJ!	E ;;/66663D3D%Q-rxx8$?%Q-rxx8$?rA   c                    [        [        R                  " 5       SSS9n[        R                  " UR
                  S   UR
                  S   S4U S9n[        R                  " UR
                  S   UR
                  S   S4U S9n[        R                  " UR
                  S   UR
                  S   S4U S9nXS S 2S S 2S4'   XS S 2S S 2S4'   US S 2S S 2S 4   US S 2S S 2S S 24'   [        R                  " SSS	5      n[        R                  " S
SS	5      n[        R                  " XV/5      R                  n[        UUSSSSSSS9n[        U 5      n	UR                  U	:X  d   e/ SQn
/ SQn[        [        R                  " US S2S4   [        R                  S9U
5        [        [        R                  " US S2S4   [        R                  S9U5        [        UUSSSSSSS9nUR                  U	:X  d   e[        [        R                  " US S2S4   [        R                  S9U
5        [        [        R                  " US S2S4   [        R                  S9U5        [        UUSSSSSSS9nUR                  U	:X  d   e[        [        R                  " US S2S4   [        R                  S9U
5        [        [        R                  " US S2S4   [        R                  S9U5        g )Nr   Fr   r   r   r+   rC   rD   r   rE   rF   rG   rH   rI   rJ   rK   rM   rW   r   g)r   r   rb   r-   zerosshaper.   r2   r3   r	   r   r
   r   r5   )r
   r6   imgRimgGimgRGBr8   r9   r:   r<   float_dtyper=   r>   s               r?   test_RGBr   Q   s   
499;a
>C88SYYq\399Q<35AD88SYYq\399Q<35ADXXsyy|SYYq\15UCFAqMAqM!Q*oF1a7O
CS!A
AsC A88QFD"	E (.K;;+%%%=D1D%Q-rxx8$?%Q-rxx8$?"	E ;;+%%%%Q-rxx8$?%Q-rxx8$?"	E ;;+%%%%Q-rxx8$?%Q-rxx8$?rA   c                     [         R                  " 5       n [        U 5      n [        R                  " SS[        R
                  -  S5      nSS[        R                  " U5      -  -   nSS[        R                  " U5      -  -   n[        R                  " X#/5      R                  n[        [        U SS9USS	S
SSSSS9	n[        R                  " [        R                  " USS S 24   USS S 24   -
  5      5      S:  d   e[        [        U SS9USS	S
SSSSS9	n[        R                  " [        R                  " USS S 24   USS S 24   -
  5      5      S:  d   e[        [        U SS9USS	S
SSSSS9	n[        USS S 24   US   US   /SS9  g )Nr   r   r   r   r   r   )r   periodicr   r   r   r   )rL   r   r   r   r   r   max_num_iterrh   rG   gh㈵>)atol)r   r,   r   r-   r.   r/   r0   r1   r2   r3   r	   r   sumabsr   )r6   r7   r8   r9   r:   r<   s         r?   test_end_pointsr      s   
..
C
3-C
Aq255y#&AcBFF1IoAcBFF1IoA88QFDA%
E 66"&&q!tuRU|345999A!
E 66"&&q!tuRU|345999A"
E E!Q$K!A$!D9rA   c                     [         R                  " S5      n [         R                  " SSS5      n[         R                  " SSS5      n[         R                  " X/5      R                  n[
        R                  " [        5         [        XSS9  S S S 5        [
        R                  " [        5         [        XS	S
9  S S S 5        g ! , (       d  f       N<= f! , (       d  f       g = f)N)r   r   rC   rD   r   rE   rF   wrong)rL   i)r   )	r-   rz   r.   r2   r3   pytestraises
ValueErrorr	   )r6   r8   r9   r:   s       r?   test_bad_inputr      s    
((8
C
CS!A
AsC A88QFD	z	"sW= 
#	z	"ss3 
#	" 
#	"	"	"s   C/C
C
C")numpyr-   r   numpy.testingr   r   skimager   skimage._shared.utilsr   skimage.colorr   skimage.filtersr   skimage.segmentationr	   markparametrizefloat16float32float64r@   rd   rx   r   r   r    rA   r?   <module>r      s      7  7 " $ / 2::rzz2::"FG@ H@$ 2::rzz":;@ <@2 2::rzz":;@ <@. 2::rzz":;4@ <4@n*:Z4rA   