+
    œ°³j…  ã                   ó°   € R t ^ RIHt ^ RIt^ RIHt ^RIHt ^RI	H
t
 ^RIHtHt ^RIHtHtHtHt ^RIHtHt ^R	IHtHt ] ! R
 R]4      4       tR.tR# )z Image processor class for LLaVa.)ÚUnionN)Ú
functional)ÚTorchvisionBackend)ÚBatchFeature)Úgroup_images_by_shapeÚreorder_images)ÚOPENAI_CLIP_MEANÚOPENAI_CLIP_STDÚPILImageResamplingÚSizeDict)ÚImagesKwargsÚUnpack)Ú
TensorTypeÚauto_docstringc                   ó¶   a a€ ] tR t^%t o]P
                  t]t]	t
R^à/tRtR^àR^à/tRtRtRtRtRtRtV3R lV 3R lltRV3R lR	 lltV3R
 lR ltRtVtV ;t# )ÚLlavaImageProcessorÚshortest_edgeFÚheightÚwidthTc                ó0   <€ V ^8„  d   QhRS[ S[,          /# )é   Úkwargs)r   r   )ÚformatÚ__classdict__s   "€Úq/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/llava/image_processing_llava.pyÚ__annotate__Ú LlavaImageProcessor.__annotate__4   s   ø€ ÷ #ñ #¡©Õ!5ñ #ó    c                ó(   <€ \         SV `  ! R/ VB  R # )N© )ÚsuperÚ__init__)Úselfr   Ú	__class__s   &,€r   r!   ÚLlavaImageProcessor.__init__4   s   ø€ Ü‰ÒÑ"˜6Ô"r   c                óR   <€ V ^8„  d   QhRRRS[ S[S[ S[ S[ 3,          ,          RR/# )r   Úimagesútorch.TensorÚbackground_colorÚreturn)ÚintÚtuple)r   r   s   "€r   r   r   7   s9   ø€ ÷ (ñ (àð(ñ ¡¡c©3± mÕ 4Õ4ð(ð 
ñ	(r   c                ó  € VP                   RR w  r4W48X  d   V# \        VP                   4      ^8X  d   VP                   ^,          MVP                   ^ ,          p\        V\        4      '       d   V.^ .V^,
          ,          ,           pM\        V4      V8w  d   \	        RV R24      h\        W44      pWd,
          ^,          pWc,
          ^,          pWd,
          V,
          p	Wc,
          V,
          p
\        P                  ! WW‰V
.VR7      pV# )aC  
Pads an image to a square based on the longest edge.

Args:
    images (`torch.Tensor`):
        The images to pad. Shape: (batch_size, num_channels, height, width) or (num_channels, height, width).
    background_color (`int` or `tuple[int, int, int]`, *optional*, defaults to 0):
        The color to use for the padding. Can be an integer for single channel or a
        tuple of integers representing for multi-channel images. If passed as integer
        in multi-channel mode, it will default to `0` in subsequent channels.
Returns:
    `torch.Tensor`: The padded images.
Nz(background_color must have no more than z) elements to match the number of channels)ÚpaddingÚfilléþÿÿÿ)ÚshapeÚlenÚ
isinstancer*   Ú
ValueErrorÚmaxÚtvFÚpad)r"   r&   r(   r   r   Únum_channelsÚmax_dimÚpaste_x_leftÚpaste_y_leftÚpaste_x_rightÚpaste_y_rightÚpadded_imagess   &&&         r   Úpad_to_squareÚ!LlavaImageProcessor.pad_to_square7   sù   € ð$ Ÿ™ R SÐ)‰ˆàŒ?ØˆMä*-¨f¯l©lÓ*;¸qÔ*@�v—|‘| A–ÀfÇlÁlÐSTÅoˆÜÐ&¬×,Ò,Ø 0Ð1°Q°C¸<È!Õ;KÕ4LÕLÑÜÐ!Ó" lÔ2ÜØ:¸<¸.ÐHqÐróð ô �fÓ$ˆØ�¨AÕ-ˆØÕ(¨QÕ.ˆØ�¨,Õ6ˆØÕ(¨<Õ7ˆÜŸšØ¨<ÈÐVÐ]mô
ˆð Ðr   c                 óP  <€ V ^8„  d   QhRS[ R,          RS[RS[RS[RRS[3,          R,          R	S[R
S[RS[RS[RS[RS[S[ S[,          ,          R,          RS[S[ S[,          ,          R,          RS[R,          RS[R,          RS[R,          RS[S[,          R,          RS[/# )r   r&   r'   Ú	do_resizeÚsizeÚresampler
   ztvF.InterpolationModeNÚdo_center_cropÚ	crop_sizeÚ
do_rescaleÚrescale_factorÚdo_normalizeÚ
image_meanÚ	image_stdÚdo_padÚpad_sizeÚdisable_groupingÚreturn_tensorsr)   )	ÚlistÚboolr   r   r*   ÚfloatÚstrr   r   )r   r   s   "€r   r   r   a   s  ø€ ÷ 7añ 7aá�^Õ$ð7añ ð7añ ð	7añ
 Ð,Ð.EÁsÐJÕKÈdÕRð7añ ð7añ ð7añ ð7añ ð7añ ð7añ ™D¡�KÕ'¨$Õ.ð7añ ™4¡�;Õ&¨Õ-ð7añ �t•ð7añ ˜T•/ð7añ  �+ð7añ  ™jÕ(¨4Õ/ð!7añ$ 
ñ%7ar   c           	     ó¨  € \        WR 7      w  pp/ pVP                  4        FP  w  ppV'       d>   T P                  T\        ;QJ d    . R V
 4       F  NK  	  5M! R V
 4       4      R7      pVVV&   KR  	  \	        VV4      p\        VVR 7      w  pp/ pVP                  4        F&  w  ppV'       d   V P                  VW4R7      pVVV&   K(  	  \	        VV4      p\        VVR 7      w  pp/ pVP                  4        F9  w  ppV'       d   V P                  VV4      pV P                  VWxWšV4      pVVV&   K;  	  \	        VV4      p\        RV/VR7      # ))rM   c              3   óF   "  € T F  p\        V^ÿ,          4      x € K  	  R# 5i)éÿ   N)r*   )Ú.0Úxs   & r   Ú	<genexpr>Ú2LlavaImageProcessor._preprocess.<locals>.<genexpr>z   s   é € ÐAcÑXbÐSTÄ#ÀaÈ#ÅgÇ,À,ÓXbùs   ‚!)r&   r(   )ÚimagerB   rC   Úpixel_values)ÚdataÚtensor_type)	r   Úitemsr>   r+   r   ÚresizeÚcenter_cropÚrescale_and_normalizer   )r"   r&   rA   rB   rC   rD   rE   rF   rG   rH   rI   rJ   rK   rL   rM   rN   r   Úgrouped_imagesÚgrouped_images_indexÚresized_images_groupedr0   Ústacked_imagesr=   Úresized_imagesÚprocessed_images_groupedÚprocessed_imagess   &&&&&&&&&&&&&&&&,         r   Ú_preprocessÚLlavaImageProcessor._preprocessa   s�  € ô( 0EÀVÔ/oÑ,ˆÐ,Ø!#ÐØ%3×%9Ñ%9Ö%;Ñ!ˆE�>ßØ!%×!3Ñ!3Ø)¿E¼EÑAcÑXbÓAc¿E¹EÑAcÑXbÓAcÓ<cð "4ó "�ð -;Ð" 5Ó)ñ &<ô 'Ð'=Ð?SÓTˆô 0EÀ]ÐeuÔ/vÑ,ˆÐ,Ø!#ÐØ%3×%9Ñ%9Ö%;Ñ!ˆE�>ßØ!%§¡°>È Ó!`�Ø,:Ð" 5Ó)ñ &<ô (Ð(>Ð@TÓUˆô 0EÀ^ÐfvÔ/wÑ,ˆÐ,Ø#%Ð Ø%3×%9Ñ%9Ö%;Ñ!ˆE�>ßØ!%×!1Ñ!1°.À)Ó!L�à!×7Ñ7Ø 
¸LÐV_óˆNð /=Ð$ UÓ+ñ &<ô *Ð*BÐDXÓYÐä .Ð2BÐ!CÐQ_Ô`Ð`r   r   )é    )Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__r
   ÚBICUBICrC   r   rI   r	   rJ   rB   Údefault_to_squarerE   rK   rA   rD   rF   rH   Údo_convert_rgbr!   r>   ri   Ú__static_attributes__Ú__classdictcell__Ú__classcell__)r#   r   s   @@r   r   r   %   s}   ù‡ € à!×)Ñ)€HØ!€JØ€IØ˜SÐ!€DØÐØ˜3 ¨Ð-€IØ€FØ€IØ€NØ€JØ€LØ€N÷#ó #÷(ò (÷T7a÷ 7að 7ar   r   )Ú__doc__Útypingr   ÚtorchÚtorchvision.transforms.v2r   r5   Úimage_processing_backendsr   Úimage_processing_utilsr   Úimage_transformsr   r   Úimage_utilsr   r	   r
   r   Úprocessing_utilsr   r   Úutilsr   r   r   Ú__all__r   r   r   Ú<module>r�      s]   ðñ 'å ã Ý 7å ;Ý 2÷÷ó ÷ 5ß /ð ôraÐ,ó raó ðraðj !Ð
!‚r   