
    i0                         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JrJr  S SK	r
S SKr " S S\5      r " S	 S
\5      rg)    )absolute_import)division)print_function)unicode_literals)ImageImageEnhanceImageOpsNc                   $    \ rS rSrSS jrS rSrg)RawRandAugment   c                   ^^^ Xl         X l        SU l        U R                  U R                  -  nSU-  SU-  SU-  SU-  SU-  SU-  [        SU-  5      SU-  SU-  SU-  SU-  SSSS	.U l        S
 m[
        R                  mUU4S jUU4S jUU4S jUU4S jU4S jU4S jS S U4S jU4S jU4S jS S S S	.U l        g )N
   g333333?gt ?   g?g      @g      p@r   )shearXshearY
translateX
translateYrotatecolor	posterizesolarizecontrast	sharpness
brightnessautocontrastequalizeinvertc                     U R                  S5      R                  U5      n[        R                  " U[        R                  " SUR
                  S5      U5      R                  U R                  5      $ )NRGBA)   r    r    r    )convertr   r   	compositenewsizemode)img	magnituderots      f/var/www/html/banglarbhumi/venv/lib/python3.13/site-packages/paddleocr/ppocr/data/imaug/randaugment.pyrotate_with_fill1RawRandAugment.__init__.<locals>.rotate_with_fill3   sR    ++f%,,Y7C??UYYvsxx<cgchh     c           
         > U R                  U R                  [        R                  SUT" SS/5      -  SSSS4[        R                  TS9$ )N   r   	fillcolor	transformr$   r   AFFINEBICUBICr&   r'   r1   	rnd_ch_ops     r)   <lambda>)RawRandAugment.__init__.<locals>.<lambda><   sI    S]]I	2q' 22Aq!Q?# .; .r,   c                    > U R                  U R                  [        R                  SSSUT" SS/5      -  SS4[        R                  TS9$ Nr.   r   r/   r0   r2   r6   s     r)   r8   r9   C   sI    S]]Aq)iQ&88!Q?# .; .r,   c                    > U R                  U R                  [        R                  SSXR                  S   -  T" SS/5      -  SSS4TS9$ r;   r3   r$   r   r4   r6   s     r)   r8   r9   J   sM    Ay88A;.B71CCQ1M#	 2? 2r,   c                    > U R                  U R                  [        R                  SSSSSXR                  S   -  T" SS/5      -  4TS9$ r;   r=   r6   s     r)   r8   r9   P   sM    Aq!Q	HHQK 7)RG:L LM#	 2? 2r,   c                    > T" X5      $ N )r&   r'   r*   s     r)   r8   r9   V   s    -=c-Mr,   c                 j   > [         R                  " U 5      R                  SUT" SS/5      -  -   5      $ Nr.   r/   )r   Colorenhancer&   r'   r7   s     r)   r8   r9   W   s1    L,>,>s,C,K,KI	2q' 222-r,   c                 .    [         R                  " X5      $ r@   )r	   r   r&   r'   s     r)   r8   r9   Z   s    0B0B30Rr,   c                 .    [         R                  " X5      $ r@   )r	   r   rH   s     r)   r8   r9   [   s    x/@/@/Pr,   c                 j   > [         R                  " U 5      R                  SUT" SS/5      -  -   5      $ rC   )r   ContrastrE   rF   s     r)   r8   r9   \   s1    |/D/DS/I/Q/QI	2q' 2220r,   c                 j   > [         R                  " U 5      R                  SUT" SS/5      -  -   5      $ rC   )r   	SharpnessrE   rF   s     r)   r8   r9   _   s1    0F0Fs0K0S0SI	2q' 2221r,   c                 j   > [         R                  " U 5      R                  SUT" SS/5      -  -   5      $ rC   )r   
BrightnessrE   rF   s     r)   r8   r9   b   s1    1H1H1M1U1UI	2q' 2222r,   c                 .    [         R                  " U 5      $ r@   )r	   r   rH   s     r)   r8   r9   e   s    83H3H3Mr,   c                 .    [         R                  " U 5      $ r@   )r	   r   rH   s     r)   r8   r9   f   s    x/@/@/Er,   c                 .    [         R                  " U 5      $ r@   )r	   r   rH   s     r)   r8   r9   g   s    X__S-Ar,   )
num_layersr'   	max_levelint	level_maprandomchoicefunc)selfrS   r'   r1   kwargs
abso_levelr7   r*   s      `  @@r)   __init__RawRandAugment.__init__   s    $"^^dnn4
J&J&%
2%
2:o:%S:-.
*j(z)
*
&	  MM	 N SP NEAY-
	r,   c                    [        U R                  R                  5       5      n[        U R                  5       HD  n[
        R                  R                  U5      nU R                  U   " XR                  U   5      nMF     U$ r@   )	listrV   keysrangerS   nprW   rX   rY   )rZ   r&   avaiable_op_names	layer_numop_names        r)   __call__RawRandAugment.__call__j   se     !4!4!67t/Iii&&'89G))G$S..*ABC 0 
r,   )rY   rV   r'   rT   rS   N)      )r    r    r    )__name__
__module____qualname____firstlineno__r]   rg   __static_attributes__rA   r,   r)   r   r      s    N
`r,   r   c                   <   ^  \ rS rSrSrSU 4S jjrU 4S jrSrU =r$ )RandAugmentr   z3RandAugment wrapper to auto fit different img typesc                 2   > Xl         [        TU ]  " U0 UD6  g r@   )probsuperr]   )rZ   rt   argsr[   	__class__s       r)   r]   RandAugment.__init__u   s    	$)&)r,   c                   > [         R                  R                  5       U R                  :  a  U$ US   n[	        U[
        R
                  5      (       d,  [         R                  " U5      n[
        R                  " U5      n[        TU ]%  U5      n[	        U[
        R
                  5      (       a  [         R                  " U5      nX!S'   U$ )Nimage)rc   rW   randrt   
isinstancer   ascontiguousarray	fromarrayru   rg   asarray)rZ   datar&   rw   s      r)   rg   RandAugment.__call__y   s    99>>dii'K7m#u{{++&&s+C//#&Cgs#c5;;''**S/CWr,   )rt   )g      ?)	rk   rl   rm   rn   __doc__r]   rg   ro   __classcell__)rw   s   @r)   rq   rq   r   s    =* r,   rq   )
__future__r   r   r   r   PILr   r   r	   numpyrc   rW   objectr   rq   rA   r,   r)   <module>r      s:    '  % ' - -  VV Vr. r,   