
    9i                     x    S SK Jr  S SKrS SKrS SKJr  S SKJrJ	r	J
r
  S SKJr   " S S5      rS rS	 rS
 rS rg)    )partialN)spatial)fit_segmenterpredict_segmenterTrainableSegmenter)multiscale_basic_featuresc                        \ rS rSrS rS rSrg)DummyNNClassifier   c                 f    Xl         X l        [        R                  " U R                   5      U l        g )N)Xlabelsr   cKDTreetree)selfr   r   s      p/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/future/tests/test_trainable_segmentation.pyfitDummyNNClassifier.fit   s     OODFF+	    c                    UR                   S   U R                  R                   S   :w  a6  [        SU R                  R                   S    SUR                   S    S35      eU R                  R	                  U5      S   nU R
                  U   $ )N   z	Expected z features but got .)shaper   
ValueErrorr   queryr   )r   r   nearest_neighborss      r   predictDummyNNClassifier.predict   s}    771:a(DFFLLO,,>qwwqzl!L  !IIOOA.q1{{,--r   )r   r   r   N)__name__
__module____qualname____firstlineno__r   r   __static_attributes__ r   r   r
   r
      s    ,
.r   r
   c                     [         R                  " S5      n SU S S& U S[         R                  R                  " U R                  6 -  -  n [         R
                  " U [         R                  S9nSUS S& SUSS & [        5       n[        [        SSS	SS
9nU" U 5      n[        XU5      n[        XB5      n[         R                  " US S S:H  5      (       d   e[         R                  " USS  S:H  5      (       d   eg )N   r'   r   
   皙?dtype   F      ?edgestexture	sigma_min	sigma_max)npzerosrandomrandnr   
zeros_likeuint8r
   r   r   r   r   all)imgr   clffeatures_funcfeaturesouts         r   )test_trainable_segmentation_singlechannelr@      s    
((8
CCH4"))//399---C]]3bhh/FF2AJF23K

C!M S!H
#
.C
H
*C66#cr(a-    66#bc(a-    r   c            	         [         R                  " S5      n SU S S& U S[         R                  R                  " U R                  6 -  -  n [         R
                  " U S   [         R                  S9nSUS S& SUSS & [        5       n[        U S	S	S
SSS9n[        XU5      n[        X25      n[         R                  " US S S:H  5      (       d   e[         R                  " USS  S:H  5      (       d   eg )N)r'   r'      r   r(   r)   ).r   r*   r,   r-   Fr.   )r0   r1   r2   r3   channel_axis)r4   r5   r6   r7   r   r8   r9   r
   r   r   r   r:   )r;   r   r<   r>   r?   s        r   (test_trainable_segmentation_multichannelrE   1   s    
((;
CCH4"))//399---C]]3v;bhh7FF2AJF23K

C(H #
.C
H
*C66#cr(a-    66#bc(a-    r   c                  @   [         R                  " S5      n SU S S& U S[         R                  R                  " U R                  6 -  -  n [         R
                  " U [         R                  S9nSUS S& SUSS & [        5       n[        [        SSS	SS
9nU" U 5      n[        XU5      n[         R                  R                  S5      n[        R                  " [        5       n[        XR5      nS[        UR                   5      ;   d   e S S S 5        g ! , (       d  f       g = f)Nr&   r   r(   r)   r*   r,   r-   Fr.   r/   )   r'   r'   ztype of features)r4   r5   r6   r7   r   r8   r9   r
   r   r   r   pytestraisesr   r   strvalue)r;   r   r<   r=   r>   test_featureserr_s           r   #test_trainable_segmentation_predictrO   G   s    
((8
CCH4"))//399---C]]3bhh/FF2AJF23K

C!M S!H
#
.CII$$[1M	z	"cm1!S^333 
#	"	"s   'D
Dc                  h   [         R                  " S5      n SU SS& U S[         R                  R                  " U R                  6 -  -  n [         R
                  " U [         R                  S9nSUSS& SUSS& [        5       n[        [        S	S	S
SS9n[        X#S9nUR                  X5        [         R                  R                  UR                  XS:     5        UR                  U 5      n[         R                   " USS S:H  5      (       d   e[         R                   " USS S:H  5      (       d   e[         R"                  " X R$                  4SS9n[        [        SS9n[        X#S9nUR                  Xa5        [         R                  R                  UR                  XS:     5        UR                  U5      n[         R                   " USS S:H  5      (       d   e[         R                   " USS S:H  5      (       d   e[&        R(                  " [*        5         UR                  [         R,                  " USS95        SSS5        [&        R(                  " [*        5         UR                  [         R.                  " U/S-  SS95        SSS5        g! , (       d  f       NZ= f! , (       d  f       g= f)zFTest the object-oriented interface using the TrainableSegmenter class.r&   r   Nr(   r)   r*   r,   r-   Fr.   r/   )r<   r=   r   rC   )axis)rD   )r4   r5   r6   r7   r   r8   r9   r
   r   r   r   r   testingassert_array_almost_equalr   r   r:   stackTrH   rI   r   expand_dimsconcatenate)r;   r   r<   r=   	segmenterr?   img_with_channelss          r   test_trainable_segmentation_oorZ   _   s8    ((8
CCH4"))//399---C]]3bhh/FF2AJF23K

C!M #sHIMM# JJ((VQJ5GH


C
 C66#cr(a-    66#bc(a-     #uuB7!M #sHIMM#, JJ((VQJ5GH


-
.C66#cr(a-    66#bc(a-     
z	""..):DE 
# 
z	""..*;)<q)@rJK 
#	"	 
#	" 
#	"s   %J )J#
J #
J1)	functoolsr   numpyr4   rH   scipyr   skimage.futurer   r   r   skimage.featurer   r
   r@   rE   rO   rZ   r$   r   r   <module>r`      s9        O O 5. . !,!,401Lr   