
    k h                     B   d dl Z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 dlmZ ej                   j#                  dej$                  ej&                  ej(                  g      d	        Zej                   j#                  dej&                  ej(                  g      d
        Zej                   j#                  dej&                  ej(                  g      d        Zej                   j#                  dej&                  ej(                  g      d        Zd Zd Zy)    N)assert_equalassert_allclose)data)_supported_float_type)rgb2gray)gaussian)active_contourdtypec           	         t        j                         }t        |      }t        j                  ddt        j
                  z  d      }ddt        j                  |      z  z   }ddt        j                  |      z  z   }t        j                  ||g      j                  }t        |dd      j                  | d	      }t        ||d
dddd      }|j                  t        |       k(  sJ g d}g d}	t        t        j                  |d ddf   t        j                         |       t        t        j                  |d ddf   t        j                         |	       y )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
             /home/developers/rajanand/mypropertyqr-fmb-refixing-v2/venv/lib/python3.12/site-packages/skimage/segmentation/tests/test_active_contour_model.pytest_periodic_referencer@      s   
..
C
3-C
Aq255y#&AcBFF1IoAcBFF1IoA88QFD#Qu=DDUQVDWJDBq%E ;;/6666;D=D%Q-rxx8$?%Q-rxx8$?    c           
      J   t        j                         }t        j                  ddd      }t        j                  ddd      }t        j                  ||g      j
                  }t        |dd      j                  | d	      }t        ||d
ddddd      }|j                  t        |       k(  sJ g d}g d}t        t        j                  |d ddf   t        j                        |       t        t        j                  |d ddf   t        j                        |       y )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88QFDCq?FFE G L "	E ;;/6666=D1D%Q-rxx8$?%Q-rxx8$?rA   c           
      J   t        j                         }t        j                  ddd      }t        j                  ddd      }t        j                  ||g      j
                  }t        |dd      j                  | d	      }t        ||d
ddddd      }|j                  t        |       k(  sJ g d}g d}t        t        j                  |d ddf   t        j                        |       t        t        j                  |d ddf   t        j                        |       y )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88QFD#Qu=DDUQVDWJ!	E ;;/66663D3D%Q-rxx8$?%Q-rxx8$?rA   c           
          t        t        j                         dd      }t        j                  |j
                  d   |j
                  d   df|       }t        j                  |j
                  d   |j
                  d   df|       }t        j                  |j
                  d   |j
                  d   df|       }||d d d d df<   ||d d d d df<   |d d d d d f   |d d d d d d f<   t        j                  ddd	      }t        j                  d
dd	      }t        j                  ||g      j                  }t        ||dddddd      }t        |       }	|j                  |	k(  sJ g d}
g d}t        t        j                  |d ddf   t        j                        |
       t        t        j                  |d ddf   t        j                        |       t        ||dddddd      }|j                  |	k(  sJ t        t        j                  |d ddf   t        j                        |
       t        t        j                  |d ddf   t        j                        |       t        ||dddddd      }|j                  |	k(  sJ t        t        j                  |d ddf   t        j                        |
       t        t        j                  |d ddf   t        j                        |       y )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DAqMDAqM!Q*oF1a7O
CS!A
AsC A88QF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                  ,   t        j                         } t        |       } t        j                  ddt        j
                  z  d      }ddt        j                  |      z  z   }ddt        j                  |      z  z   }t        j                  ||g      j                  }t        t        | d      |dd	d
dddd	      }t        j                  t        j                  |dd d f   |dd d f   z
              dk  sJ t        t        | d      |dd	d
dddd	      }t        j                  t        j                  |dd d f   |dd d f   z
              dkD  sJ t        t        | d      |dd	d
dddd	      }t        |dd d f   |d   |d   gd       y )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88QF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                     t        j                  d      } t        j                  ddd      }t        j                  ddd      }t        j                  ||g      j                  }t        j                  t              5  t        | |d       d d d        t        j                  t              5  t        | |d	
       d d d        y # 1 sw Y   :xY w# 1 sw Y   y xY w)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88QFD	z	" >sDW=>	z	" 4sDs34 4> >4 4s   >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   