
    &Vf3                         d dl Z d dlZd dlmZ d dlmZ dZddZ	 	 	 	 	 	 	 ddZ	d ddZ
h dZ	 	 	 	 ddZh dZ	 ddZdS )    N)convert_to_tensor)scipy)bilinearnearestlanczos3lanczos5bicubicchannels_lastc                 \   |dk    rst          | j                  dk    rt          j        | d          } nEt          | j                  dk    rt          j        | d          } nt	          d| j                   | d         | d         | d	         }}}d
|z  d|z  z   d|z  z   }t          j        |d          }|dk    r[t          | j                  dk    rt          j        |d          }n-t          | j                  dk    rt          j        |d          }t          j        |          S )Nchannels_first   r            r   )r   r   r   wInvalid input rank: expected rank 3 (single image) or rank 4 (batch of images). Received input with shape: image.shape=).r   ).r   ).r   gŏ1w-!?gbX9?gv/?axisr   r   r   r   )r   r   r   )lenshapenp	transpose
ValueErrorexpand_dimsarray)imagedata_formatredgreenbluegrayscale_images         Z/var/www/html/software/conda/lib/python3.11/site-packages/keras/src/backend/numpy/image.pyrgb_to_grayscaler%      s8   &&&u{q  L55EE""L	22EE-${- -  
 V}eFmU6]CslVe^3ftmCOn_2>>>O&&&u{q   l?LIIOO"" l?IFFO8O$$$    r   Fconstant        c	                 "
   |t           vrt          dt            d|           |dk    rt          d|           |r|rt          d          t          |          dk    st          d|           t          |          }|\  }	}
t          | j                  dk    rE|d	k    r!| j        d
         f|z   | j        d         fz   }nw| j        d
         | j        d         f|z   }nYt          | j                  dk    r*|d	k    r|| j        d         fz   }n)| j        d
         f|z   }nt          d| j                   |rv| j        }|d	k    r|d         |d         }}n|d         |d         }}t          t          ||	z            |
z            }t          ||          }t          t          ||
z            |	z            }t          ||          }t          t          ||z
            dz            }t          t          ||z
            dz            }|d	k    rMt          | j                  dk    r| d d |||z   |||z   d d f         } n| |||z   |||z   d d f         } nrt          | j                  dk    r| d d d d |||z   |||z   f         } n>| d d |||z   |||z   f         } n%|r"| j        }| j        d
         }|d	k    r|d         |d         |d         }}}n|d         |d         |d         }}}t          t          ||	z            |
z            }t          ||          }t          t          ||
z            |	z            }t          ||          }t          t          ||z
            dz            }t          t          ||z
            dz            }|d	k    rt          | j                  dk    r@t          j
        |||z   ||z   |f| j                  |z  }| |d d |||z   |||z   d d f<   nt          j
        ||z   ||z   |f| j                  |z  }| ||||z   |||z   d d f<   nt          | j                  dk    r@t          j
        ||||z   ||z   f| j                  |z  }| |d d d d |||z   |||z   f<   n;t          j
        |||z   ||z   f| j                  |z  }| |d d |||z   |||z   f<   |} t          j        t          j                            | |||                    S )N<Invalid value for argument `interpolation`. Expected of one . Received: interpolation=r'   z\Invalid value for argument `fill_mode`. Only `'constant'` is supported. Received: fill_mode=zIOnly one of `pad_to_aspect_ratio` & `crop_to_aspect_ratio` can be `True`.r   zPArgument `size` must be a tuple of two elements (height, width). Received: size=r   r
   r   r   r   r   r   )dtype)method	antialias)RESIZE_INTERPOLATIONSr   r   tupler   intfloatminmaxr   onesr.   r   jaxr   resize)r   sizeinterpolationr0   crop_to_aspect_ratiopad_to_aspect_ratio	fill_mode
fill_valuer   target_heighttarget_widthr   heightwidthcrop_height
crop_widthcrop_box_hstartcrop_box_wstart
batch_sizechannels
pad_height	pad_widthimg_box_hstartimg_box_wstart
padded_imgs                            r$   r9   r9   '   s    111P$P P@MP P
 
 	
 J=1:= =
 
 	
  
3 

 
 	
 t99>>6/36 6
 
 	
 ;;D"&M<
5;1/))KN$t+u{2.@@DDKNEKN3d:DD	U[		Q		/))5;r?,,DDKN$t+DD) ;) )
 
 	
  w/))!"IuRyEFF!"IuRyEF% 566EFF&+..v455EFF

++
eF[$899A=>>eEJ$677!;<</))5;1$$AA#o&CC#o
&BBAA #o&CC#o
&BBAA 5;1$$AAAA#o&CC#o
&BBD AA#o&CC#o
&BBD
 
 O[^
/))&+BirE"I8EFF&+BirE"IefHu}455DEE
,,
f|344}DEE	y))	U:#677!;<<U9u#4559::/))5;1$$G&&/%-$	 $k   !	! "  AA"^f%<<"^e%;;AA  G#f,i%.?J#k   !	!  	 "^f%<<"^e%;;AA  5;1$$G&$&/%-	 $k   !	! "  AAAA"^f%<<"^e%;;=  G!:#6	E8IJ#k   !	!  	 AA"^f%<<"^e%;;=
 8	]iPP  r&   r   )r   r   >   wrapmirrorr   reflectr'   c                     t                                           vr9t          dt          t                                                      d           t          vrt          dt           d           t          |          }t           j                  dvrt          d j                   t          |j                  dvrt          d|j                    j        }|d	k    r 	                    d
           d}t           j                  dk    rt          j         d           d}t          |j                  dk    rt          j        |d          }|dk    rt          j         d            j        d         }t          j        d  j        dd          D             ddi}	t          j        d |	D             d          }
t          j        |
|ddddf          }
|d d df                                         }|d d df                                         }|d d df                                         }|d d df                                         }||d d df<   ||d d df<   ||d d df<   ||d d df<   t          j        |ddgddggd          }t          j        ||ddf          }|d d dddf                                         }t          j        |ddgddgg          }d|d d dddf<   t          j        d|
|          t          j        dd          t          j        |g |j        dddR           z  t          j         fd t-          |          D             d          }|dk    rt          j        |d!          }|rt          j        |d          }|d	k    r|	                    |          }|S )"Nr*   r+   z8Invalid value for argument `fill_mode`. Expected of one . Received: fill_mode=)r   r   zwInvalid image rank: expected rank 3 (single image) or rank 4 (batch of images). Received input with shape: image.shape=)r   r   zInvalid transform rank: expected rank 1 (single transform) or rank 2 (batch of transforms). Received input with shape: transform.shape=float16float32Fr   r   r   Tr   r   r   c                 6    g | ]}t          j        |          S  )r   arange).0r:   s     r$   
<listcomp>z$affine_transform.<locals>.<listcomp>  s     	6	6	6d")D//	6	6	6r&   indexingijc                 :    g | ]}t          j        |d           S )r   r   )r   r   )rY   xs     r$   rZ   z$affine_transform.<locals>.<listcomp>  s'    666	#	#	#666r&   r   r   r      )rK   constant_values)rK   zBhwij, Bjk -> Bhwik)sourcedestination)anewshapec           	      f    g | ]-}t          |         |         t                              .S ))orderr>   r?   )map_coordinatesAFFINE_TRANSFORM_INTERPOLATIONS)rY   icoordinatesr>   r?   r   r;   s     r$   rZ   z$affine_transform.<locals>.<listcomp>:  sV     		
 		
 		
  aA5mD#%  		
 		
 		
r&   r   )rh   keysr   setAFFINE_TRANSFORM_FILL_MODESr   r   r   r.   astyper   r   r   meshgridconcatenatetilecopypadreshapeeinsummoveaxisstackrangesqueeze)r   	transformr;   r>   r?   r   input_dtypeneed_squeezerH   ro   indicesa0a2b1b2offsetaffinedrj   s   ` ```            @r$   affine_transformr      s    ;@@BBBB-27799::- -*- -
 
 	

 333N*N NBKN N
 
 	

 "),,I
5;v%%) ;) )
 
 	

 9?6))1(1 1
 
 	
 +KiY'' L
5;1u1---
9?q  N91555	&&&UL11QJ {	6	6ek!""o	6	6	6AE H n66X666R  G gg
Aq!Q788G 
111a4				B	111a4				B	111a4				B	111a4				BIaaadOIaaadOIaaadOIaaadO yaVaV,<aPPPI
9z1a&899Iqqq!A#qy!&&((FVF1v1v&6777FIaaa1ai )17IFFK+k"!DDDK2:1I6<1I1IA1Iq1I1IJJJJK h		
 		
 		
 		
 		
 		
 		
 		
 :&&		
 		
 		
   G &&&,w55 .*W1---i..--Nr&   c                 4   |t           vr9t          dt          t                                                      d|           |t	          d          vrt          dddg d|           d t          || j                  D             }d	 t          ||          D             }d
ddd                    ||          }|dk    rt          j	        | |||          }nt          j	        | ||          }t          j                            |||||          }	|	S )Nz8Invalid value for argument `fill_mode`. Expected one of rS   r   z4Invalid value for argument `order`. Expected one of r   r   z. Received: order=c           	      X   g | ]\  }}t          t          j        |                                                              t
                     d z   d          t          t          j        |                                                               t
                    d z   |z
  d          fS )r   r   )r6   r   floorr5   rn   r3   ceil)rY   cr:   s      r$   rZ   z#map_coordinates.<locals>.<listcomp>k  s       
 At !%%''""))#...2A66  '',,q047;;	
  r&   c                 *    g | ]\  }}||d          z   S )r   rW   )rY   pr   s      r$   rZ   z#map_coordinates.<locals>.<listcomp>r  s$    EEE41aa!A$hEEEr&   edgerQ   	symmetric)r   rP   rQ   r'   )moder`   )r   )rf   r   cval)MAP_COORDINATES_FILL_MODESr   rl   rk   rx   zipr   getr   rs   r   ndimagerg   )
inputrj   rf   r>   r?   paddingshifted_coordspad_modepaddedresults
             r$   rg   rg   Y  s    222%-224455% %"% %
 
 	

 E!HH11v1 1).1 1
 
 	
 
 ;44  G FE3w+D+DEEEN  
c)Y	 
 J7:
 
 
 wX666]**e)* +  F Mr&   )r
   )r   FFFr'   r(   r
   )r   r'   r   r
   )r'   r(   )r8   numpyr   keras.src.backend.numpy.corer   keras.src.utils.module_utilsr   r1   r%   r9   rh   rm   r   r   rg   rW   r&   r$   <module>r      s   



     : : : : : : . . . . . . % % % %4 m m m mb # #     i i i iX    AD( ( ( ( ( (r&   