
    9i                        S SK Jr  S SKrS SK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  S SK
Jr  S	 r\R                  R!                  S
\R"                  \R$                  \R&                  \R(                  /5      \R                  R!                  SSSS/4SSS/4SS/ SQ4SS/ SQ4SSS/4/5      S 5       5       r\R                  R!                  S
\R"                  \R$                  \R&                  \R(                  /5      \R                  R!                  S/ SQ5      S 5       5       rS r\R                  R!                  SSSSSS/ SQ/5      S 5       r\R                  R!                  SSSSSS/S S //SS!/S S"//S!S!/S"S"///4SSSSS/S!S!//SS /S!S"//S S /S"S"///4SS#S#SS/S S /S$S$//SS!/S S"/S$S%//SS&/S S'/S$S(//S!S!/S"S"/S%S%//S!S&/S"S'/S%S(//S&S&/S'S'/S(S(///4SS#S#SS/S!S!/S&S&//SS /S!S"/S&S'//SS$/S!S%/S&S(//S S /S"S"/S'S'//S S$/S"S%/S'S(//S$S$/S%S%/S(S(///4SSSSS/S S /S"S"/S!S!///4/5      S) 5       r\R                  R!                  S*S+S,/5      S- 5       rg).    )shuffleN)assert_allclose)assert_array_equal)integral_image)haar_like_feature)haar_like_feature_coord)draw_haar_like_featurec                     [         R                  " S[         R                  S9n [        U 5      nSn[        R
                  " [        5         [        USSSSUS9  [        SSUS9  [        U SSSSUS9  S S S 5        [        SSS5      u  p4[        R
                  " [        5         [        USSSSUS S US	9  S S S 5        g ! , (       d  f       NS= f! , (       d  f       g = f)
N   r   dtypeunknown_typer   r   feature_typetype-2-x   r   feature_coord)
nponesfloat32r   pytestraises
ValueErrorr   r   r	   )imgimg_iir   
feat_coord	feat_types        _/var/www/html/land-doc-ocr/venv/lib/python3.13/site-packages/skimage/feature/tests/test_haar.pytest_haar_like_feature_errorr!      s    
''&


+CC F!L	z	"&!Q1<H1<@sAq!Q\J 
#
 4Aq*EJ	z	"Aq!QYr]*	
 
#	" 
#	" 
#	"s   (C $C 
C
Cr   z1feature_type,shape_feature,expected_feature_valuer   )T   g        type-2-ytype-3-x)*   )g      g      g       g      type-3-ytype-4)$   c           	          [         R                  " SUS9n[        U5      n[        USSSSU S9n[	        [         R
                  " [         R                  " U5      5      U5        g )Nr   r   r   r   r   )r   r   r   r   r   sortunique)r   shape_featureexpected_feature_valuer   r   r   haar_features          r    test_haar_like_featurer0       sO     ''&
&CC F$VQ1alSLBGGBIIl346LM    r   r   r#   r$   r'   r(   c           	         [         R                  " SU S9n[        U5      nUR                  nSUR                  ;   a0  [         R                  " UR                  R                  SS5      5      n[        USSSSUS9nUR                  U:X  d   eg )	Nr   r   uintu r   r   r   )r   r   r   r   namereplacer   )r   r   r   r   expected_dtyper/   s         r    !test_haar_like_feature_fused_typer:   3   s~     ''&
&CC F\\N$$$."5"5"="=c2"FG$VQ1alSL///r1   c            	          [         R                  " S[         R                  S9n [        U 5      n/ SQn[	        USSSSUS9n[	        USSSS5      n[        X45        g )Nr   r   r2   r   r   r   )r   r   int8r   r   r   )r   r   r   	haar_listhaar_alls        r    test_haar_like_feature_listr?   C   sS    
''&
(CC FML!&!Q1<PI Aq!4Hy+r1   )r#   r$   r(   c           
         [         R                  " S[         R                  S9n[        U5      n[	        U [
        5      (       a^  [        U 5        [        U  Vs/ s H  n[        SSU5      PM     sn6 u  pE[         R                  " U5      n[         R                  " U5      nO[        SSU 5      u  pE[        USSSSXTS9n[        USSSSU 5      n[        Xg5        g s  snf )Nr   r   r   r   r   )r   r   r<   r   
isinstancelistr   zipr   concatenater   r   )r   r   r   feat_tr   r   haar_feature_precomputedr/   s           r    "test_haar_like_feature_precomputedrG   L   s     ''&
(CC F,%% 	 #BNO,%aF3,O!

 ^^J/
NN9-	 71l K
01a  %VQ1aFL/> Ps   Cz(feature_type,height,width,expected_coord   )r   r   )r      )rI   r   )rI   rI   r   )r   rH   )rI   rH   )rH   r   )rH   rI   )rH   rH   c                     [        X!U 5      u  pE[        R                  " U Vs/ s H  ofPM     sn5      n[        XC5        [        R                  " XP:H  5      (       d   eg s  snf )N)r   r   arrayr   all)r   heightwidthexpected_coordr   r   hfs          r    test_haar_like_feature_coordrQ   l   sV    t 4E<PJ
3
"2
34Jz266)+,,,, 4s   A zmax_n_features,nnz_values)N.   )rI      c                     [         R                  " S[         R                  S9n[        SSS5      u  p4[	        USSSSX0SS9n[	        USSSSX0SS9  UR
                  S:X  d   e[         R                  " U5      U:X  d   eg )Nr   r   r   r(   r   )max_n_featuresrng)r   r   r   )r   zerosr   r   r	   shapecount_nonzero)rU   
nnz_valuesr   coord_images         r    test_draw_haar_like_featurer^      s    
((6
,C&q!X6HE"Q1a1E 31aEVWX;;)###E"j000r1   )randomr   r   numpyr   numpy.testingr   r   skimage.transformr   skimage.featurer   r   r	   r!   markparametrizeuint8r<   r   float64r0   r:   r?   rG   rQ   r^    r1   r    <module>ri      s      ) , , - 3 2
" 288RWWbjj"**"MN7	USE"	USE"	U89	U89	53% 	N	 ON 288RWWbjj"**"MNN	0 O	0, *
?
?* . &!FF#34&!FF#34&!FF#34			
 &!FF#34&!FF#34&!FF#34			
 &!FF#3ff5EF&!FF#3ff5EF&!FF#3ff5EF&!FF#3ff5EF&!FF#3ff5EF&!FF#3ff5EF		
 &!FF#3ff5EF&!FF#3ff5EF&!FF#3ff5EF&!FF#3ff5EF&!FF#3ff5EF&!FF#3ff5EF		
 v 0662BVVDTUV		
_58r-s8r- 4z66JK1 L1r1   