ó
    qyüiW
  ã                   ó’   • S 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
JrJrJrJr  SSKJrJr  SS	KJr  \ " S
 S\5      5       rS/rg)z Image processor class for LeViT.é    N)Ú
functionalé   )ÚTorchvisionBackend)Úget_resize_output_image_size)ÚIMAGENET_DEFAULT_MEANÚIMAGENET_DEFAULT_STDÚChannelDimensionÚPILImageResamplingÚSizeDict)ÚImagesKwargsÚUnpack)Úauto_docstringc            	       óª   ^ • \ rS rSrSr\R                  r\r	\
rSS0rSrSSS.rSrSrSrSrSrS	\\   4U 4S
 jjr SSSS\SSSS4U 4S jjjrSrU =r$ )ÚLevitImageProcessoré    zKTorchvision backend for LeViT with custom resize (shortest_edge * 256/224).Úshortest_edgeéà   F©ÚheightÚwidthTNÚkwargsc                 ó&   >• [         TU ]  " S0 UD6  g )N© )ÚsuperÚ__init__)Úselfr   Ú	__class__s     €Úm/home/mande/repo/quber/.venv/lib/python3.13/site-packages/transformers/models/levit/image_processing_levit.pyr   ÚLevitImageProcessor.__init__0   s   ø€ Ü‰ÒÑ"˜6Ó"ó    Úimageztorch.TensorÚsizeÚresamplez7PILImageResampling | tvF.InterpolationMode | int | NoneÚreturnc                 óV  >• UR                   (       a=  [        SUR                   -  5      n[        XS[        R                  S9u  pg[        XgS9nOHUR                  (       a  UR                  (       d&  [        S[        UR                  5       5       S35      e[        TU ]0  " U4X#S.UD6$ )zDResize: shortest_edge is rescaled to int((256/224) * shortest_edge).g’$I’$Iò?F)r"   Údefault_to_squareÚinput_data_formatr   zFSize dict must have keys 'height' and 'width' or 'shortest_edge'. Got Ú.)r"   r#   )r   Úintr   r	   ÚFIRSTr   r   r   Ú
ValueErrorÚlistÚkeysr   Úresize)	r   r!   r"   r#   r   r   Únew_size_heightÚnew_size_widthr   s	           €r   r.   ÚLevitImageProcessor.resize3   s�   ø€ ð ××Ü ¨d×.@Ñ.@Ñ @ÓAˆMÜ.JØ¸UÔVf×VlÑVlñ/Ñ+ˆOô  ?ÑI‰DØ—— D§J§JÜØXÔY]Ð^b×^gÑ^gÓ^iÓYjÐXkÐklÐmóð ô ‰wŠ~˜eÐL¨$ÑLÀVÑLÐLr    r   )N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__r
   ÚBICUBICr#   r   Ú
image_meanr   Ú	image_stdr"   r&   Ú	crop_sizeÚ	do_resizeÚdo_center_cropÚ
do_rescaleÚdo_normalizeÚdo_convert_rgbr   r   r   r   r.   Ú__static_attributes__Ú__classcell__)r   s   @r   r   r       s�   ø† áUà!×)Ñ)€HØ&€JØ$€IØ˜SÐ!€DØÐØ¨Ñ-€IØ€IØ€NØ€JØ€LØ€Nð# ¨Ñ!5÷ #ð OSñ	MàðMð ðMð Lð	Mð 
÷Mö Mr    r   )r6   ÚtorchÚtorchvision.transforms.v2r   ÚtvFÚimage_processing_backendsr   Úimage_transformsr   Úimage_utilsr   r   r	   r
   r   Úprocessing_utilsr   r   Úutilsr   r   Ú__all__r   r    r   Ú<module>rK      sR   ðñ 'ã Ý 7å ;Ý <÷õ ÷ 5Ý #ð ô$MÐ,ó $Mó ð$MðN !Ð
!�r    