+
    œ°³j§  ã                   óî   € R t ^ RIHt ^ RI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HtHt ^RIHtHt ^R	IHtHtHt RR
 R llt ! R R]RR7      t] ! R R]
4      4       t R.t!R# )z&Image processor class for BridgeTower.)ÚUnionN)Ú
functional)ÚTorchvisionBackend)ÚBatchFeature)Úgroup_images_by_shapeÚreorder_images)ÚOPENAI_CLIP_MEANÚOPENAI_CLIP_STDÚChannelDimensionÚPILImageResamplingÚSizeDictÚget_image_size)ÚImagesKwargsÚUnpack)Ú
TensorTypeÚauto_docstringÚis_torch_availablec                ó¤   € V ^8„  d   QhR\         \        P                  R3,          R\        R\        R\        R\        \        \        3,          /# )é   Úinput_imageútorch.TensorÚshorterÚlongerÚsize_divisorÚreturn)r   ÚnpÚndarrayÚintÚtuple)Úformats   "Ú}/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/bridgetower/image_processing_bridgetower.pyÚ__annotate__r!   %   sP   € ÷ !ñ !Ü”r—z‘z >Ð1Õ2ð!äð!ô ð!ô ð	!ô
 Œ3”ˆ8…_ñ!ó    c                ó
  € \        4       '       d3   \        V \        P                  4      '       d   V P                  RR w  rEM\        V \        P                  R7      w  rEYrvV\        WE4      ,          pWE8  d   Tp	W…,          p
M
W„,          p	Tp
\        Wš4      V8”  d#   V\        Wš4      ,          pW‰,          p	WŠ,          p
\        V	R,           4      \        V
R,           4      r©W“,          V,          p	W£,          V,          p
Wš3# )z7Get output image size after resizing with size_divisor.N)Úchannel_dimg      à?éþÿÿÿ)r   Ú
isinstanceÚtorchÚTensorÚshaper   r
   ÚFIRSTÚminÚmaxr   )r   r   r   r   Úinput_heightÚinput_widthÚmin_sizeÚmax_sizeÚscaleÚ
new_heightÚ	new_widths   &&&&       r    Úget_resize_output_image_sizer4   %   sç   € ô ×Ò¤
¨;¼¿¹× EÒ EØ$/×$5Ñ$5°b°cÐ$:Ñ!ˆ�kä$2°;ÔL\×LbÑLbÔ$cÑ!ˆà ˆhØ”s˜<Ó5Õ5€EàÔ!Øˆ
ØÕ'‰	àÕ)ˆ
Øˆ	ä
ˆ:Ó! HÔ,Øœ3˜zÓ5Õ5ˆØÕ'ˆ
ØÕ%ˆ	ä 
¨SÕ 0Ó1´3°yÀ3µÓ3G�	ØÕ+¨lÕ:€JØÕ)¨LÕ8€IàÐ Ð r"   c                   ó0   a € ] tR t^Gt o RtV 3R ltRtV tR# )ÚBridgeTowerImageProcessorKwargsz‘
size_divisor (`int`, *optional*, defaults to `self.size_divisor`):
    The size by which to make sure both the height and width can be divided.
c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )r   r   )r   )r   Ú__classdict__s   "€r    r!   Ú,BridgeTowerImageProcessorKwargs.__annotate__G   s   ø‡ ‚ ñ Ñò r"   © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r8   s   @r    r6   r6   G   s   ø‡ € ñ÷ ƒ r"   r6   F)Útotalc                   óÌ   a a€ ] tR t^Pt oRt]tRR.t]P                  t
]t]tRR/tRtRR/tRtRtRtRtRt^ tV3R lV 3R	 lltRV3R
 lV 3R llltRV3R lR lltRtVtV ;t# )ÚBridgeTowerImageProcessorzGTorchvision backend for BridgeTower with custom resize and center_crop.Úpixel_valuesÚ
pixel_maskÚshortest_edgei   FTc                ó0   <€ V ^8„  d   QhRS[ S[,          /# )r   Úkwargs)r   r6   )r   r8   s   "€r    r!   Ú&BridgeTowerImageProcessor.__annotate__d   s   ø€ ÷ #ñ #¡Ñ(GÕ!Hñ #r"   c                ó(   <€ \         SV `  ! R/ VB  R # )Nr:   )ÚsuperÚ__init__)ÚselfrJ   Ú	__class__s   &,€r    rN   Ú"BridgeTowerImageProcessor.__init__d   s   ø€ Ü‰ÒÑ"˜6Ô"r"   c          
      ó2   <€ V ^8„  d   QhRRRS[ RRRS[RR/# )r   Úimager   ÚsizeÚresampleú7PILImageResampling | tvF.InterpolationMode | int | Noner   r   )r   r   )r   r8   s   "€r    r!   rK   g   s>   ø€ ÷ 
ñ 
àð
ñ ð
ð Lð	
ñ
 ð
ð 
ñ
r"   c                óú   <€ VP                   '       g   \        RVP                  4        24      hVP                   p\        RV,          4      p\	        WWtR7      w  r‰\
        S
V `  ! RRVR\        W‰R7      RV/VB # )	z!Resize with size_divisor support.z@The `size` dictionary must contain the key `shortest_edge`. Got )r   r   r   rS   rT   ©ÚheightÚwidthrU   g)\�Âõ¨ú?r:   )rH   Ú
ValueErrorÚkeysr   r4   rM   Úresizer   )rO   rS   rT   rU   r   rJ   r   r   Úoutput_heightÚoutput_widthrP   s   &&&&&,    €r    r]   Ú BridgeTowerImageProcessor.resizeg   s—   ø€ ð ×!×!Ð!ÜÐ_Ð`d×`iÑ`iÓ`kÐ_lÐmÓnÐnØ×$Ñ$ˆÜ�Z 'Õ)Ó*ˆÜ&BØ¨6ô'
Ñ#ˆô ‰wŠ~ñ 
Øð
ä ÔCð
ð ð
ð ñ	
ð 	
r"   c          "      ó0  <€ V ^8„  d   QhRS[ R,          RS[RS[R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S[/# )r   Úimagesr   Ú	do_resizerT   rU   rV   Údo_center_cropÚ	crop_sizeÚ
do_rescaleÚrescale_factorÚdo_normalizeÚ
image_meanNÚ	image_stdÚdo_padÚpad_sizeÚdisable_groupingÚreturn_tensorsr   r   )ÚlistÚboolr   ÚfloatÚstrr   r   r   )r   r8   s   "€r    r!   rK   ~   s   ø€ ÷ 7Cñ 7Cá�^Õ$ð7Cñ ð7Cñ ð	7Cð
 Lð7Cñ ð7Cñ ð7Cñ ð7Cñ ð7Cñ ð7Cñ ™D¡�KÕ'¨$Õ.ð7Cñ ™4¡�;Õ&¨Õ-ð7Cñ �t•ð7Cñ ˜T•/ð7Cñ  �+ð7Cñ  ™jÕ(¨4Õ/ð!7Cñ" ð#7Cñ& 
ñ'7Cr"   c           	     ó8  € \        WR7      w  pp/ pVP                  4        F'  w  ppV'       d   V P                  VW4VR7      pVVV&   K)  	  \        VV4      p\        VVR7      w  pp/ pVP                  4        FY  w  ppV'       d3   V P	                  V\        VP                  VP                  R7      R7      pV P                  VWxWšV4      pVVV&   K[  	  \        VV4      p/ pV'       d   V P                  VRVR7      w  ppVVR&   VVR&   \        VVR	7      # )
z%Custom preprocessing for BridgeTower.)rm   )rT   rU   r   rX   )rT   T)Úreturn_maskrm   rG   rF   )ÚdataÚtensor_type)
r   Úitemsr]   r   Úcenter_cropr   rH   Úrescale_and_normalizeÚpadr   )rO   rb   rc   rT   rU   rd   re   rf   rg   rh   ri   rj   rk   rl   rm   rn   r   rJ   Úgrouped_imagesÚgrouped_images_indexÚresized_images_groupedr)   Ústacked_imagesÚresized_imagesÚprocessed_images_groupedÚprocessed_imagesru   Úprocessed_maskss   &&&&&&&&&&&&&&&&&,          r    Ú_preprocessÚ%BridgeTowerImageProcessor._preprocess~   sQ  € ô, 0EÀVÔ/oÑ,ˆÐ,Ø!#ÐØ%3×%9Ñ%9Ö%;Ñ!ˆE�>ßØ!%§¡¨^À$Ðht Ó!u�Ø,:Ð" 5Ó)ñ &<ô (Ð(>Ð@TÓUˆô 0EÀ^ÐfvÔ/wÑ,ˆÐ,Ø#%Ð Ø%3×%9Ñ%9Ö%;Ñ!ˆE�>ßØ!%×!1Ñ!1Ø"¬¸×9PÑ9PÐXa×XoÑXoÔ)pð "2ó "�ð "×7Ñ7Ø 
¸LÐV_óˆNð /=Ð$ UÓ+ñ &<ô *Ð*BÐDXÓYÐàˆßØ04·±Ø ¨dÐEUð 19ó 1Ñ-Ð˜oð "1ˆD�Ñà/ˆˆ^Ñä °>ÔBÐBr"   r:   )é    )r;   r<   r=   r>   r?   r6   Úvalid_kwargsÚmodel_input_namesr   ÚBICUBICrU   r   ri   r	   rj   rT   Údefault_to_squarere   rc   rd   rf   rh   rk   r   rN   r]   rƒ   rA   rB   Ú__classcell__)rP   r8   s   @@r    rE   rE   P   s‹   ù‡ € áQà2€LØ'¨Ð6Ðà!×)Ñ)€HØ!€JØ€IØ˜SÐ!€DØÐØ  #Ð&€IØ€IØ€NØ€JØ€LØ€FØ€L÷#ó #÷
õ 
÷.7C÷ 7Cò 7Cr"   rE   )i   i5  r…   )"r?   Útypingr   Únumpyr   r'   Útorchvision.transforms.v2r   ÚtvFÚimage_processing_backendsr   Úimage_processing_utilsr   Úimage_transformsr   r   Úimage_utilsr   r	   r
   r   r   r   Úprocessing_utilsr   r   Úutilsr   r   r   r4   r6   rE   Ú__all__r:   r"   r    Ú<module>r–      su   ðñ -å ã Û Ý 7å ;Ý 2ß E÷÷ ÷ 5ß CÑ C÷!ôD l¸%õ ð ôdCÐ 2ó dCó ðdCðN 'Ð
'‚r"   