+
    œ°³j  ã                   óÊ   € R t ^ RIt^ RIHt ^RIHt ^RIHt ^RI	H
t
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  ! R	 R
]RR7      t] ! R R]4      4       tR.tR# )z"Image processor class for TextNet.N)Ú
functional)ÚTorchvisionBackend)ÚBatchFeature)Úget_resize_output_image_sizeÚgroup_images_by_shapeÚreorder_images)ÚIMAGENET_DEFAULT_MEANÚIMAGENET_DEFAULT_STDÚChannelDimensionÚ
ImageInputÚPILImageResamplingÚSizeDict)ÚImagesKwargsÚUnpack)Ú
TensorTypeÚauto_docstringc                   ó0   a € ] tR t^"t o RtV 3R ltRtV tR# )ÚTextNetImageProcessorKwargsz™
size_divisor (`int`, *optional*, defaults to `self.size_divisor`):
    Ensures height and width are rounded to a multiple of this value after resizing.
c                ó&   <€ V ^8„  d   Qh/ S[ ;R&   # )é   Úsize_divisor)Úint)ÚformatÚ__classdict__s   "€Úu/home/luca/screen-checking/.venv/lib/python3.14/site-packages/transformers/models/textnet/image_processing_textnet.pyÚ__annotate__Ú(TextNetImageProcessorKwargs.__annotate__"   s   ø‡ ‚ ñ Ñò ó    © N)Ú__name__Ú
__module__Ú__qualname__Ú__firstlineno__Ú__doc__Ú__annotate_func__Ú__static_attributes__Ú__classdictcell__)r   s   @r   r   r   "   s   ø‡ € ñ÷ ƒ r   r   F)Útotalc                   óê   a a€ ] tR t^+t oRt]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]V3R
 lV 3R ll4       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# )ÚTextNetImageProcessorz9Torchvision backend for TextNet with size_divisor resize.Úshortest_edgei€  FÚheightÚwidthTc                ó0   <€ V ^8„  d   QhRS[ S[,          /# )r   Úkwargs)r   r   )r   r   s   "€r   r   Ú"TextNetImageProcessor.__annotate__>   s   ø€ ÷ #ñ #¡Ñ(CÕ!Dñ #r   c                ó(   <€ \         SV `  ! R/ VB  R # )Nr   )ÚsuperÚ__init__)Úselfr.   Ú	__class__s   &,€r   r2   ÚTextNetImageProcessor.__init__>   s   ø€ Ü‰ÒÑ"˜6Ô"r   c                ó<   <€ V ^8„  d   QhRS[ RS[S[,          RS[/# )r   Úimagesr.   Úreturn)r   r   r   r   )r   r   s   "€r   r   r/   B   s)   ø€ ÷ 4ñ 4¡ð 4±vÑ>YÕ7Zð 4Ñ_kñ 4r   c                ó&   <€ \         SV `  ! V3/ VB # )N)r1   Ú
preprocess)r3   r7   r.   r4   s   &&,€r   r:   Ú TextNetImageProcessor.preprocessA   s   ø€ ä‰wÒ! &Ñ3¨FÑ3Ð3r   c          
      ó2   <€ V ^8„  d   QhRRRS[ RRRS[RR/# )r   Úimageútorch.TensorÚsizeÚresampleú7PILImageResampling | tvF.InterpolationMode | int | Noner   r8   )r   r   )r   r   s   "€r   r   r/   E   s>   ø€ ÷ 
ñ 
àð
ñ ð
ð Lð	
ñ
 ð
ð 
ñ
r   c                óz  <€ VP                   '       g   \        RVP                  4        24      h\        VVP                   R\        P
                  R7      pVw  rxWt,          ^ 8w  d   WtWt,          ,
          ,          pW„,          ^ 8w  d   W„W„,          ,
          ,          p\        S	V `  ! V\        WxR7      3RV/VB # )zFResize to shortest_edge then round up to be divisible by size_divisor.z+Size must contain 'shortest_edge' key. Got F)r?   Údefault_to_squareÚinput_data_format)r+   r,   r@   )	r*   Ú
ValueErrorÚkeysr   r
   ÚFIRSTr1   Úresizer   )
r3   r=   r?   r@   r   r.   Únew_sizer+   r,   r4   s
   &&&&&,   €r   rH   ÚTextNetImageProcessor.resizeE   s»   ø€ ð ×!×!Ð!ÜÐJÈ4Ï9É9Ë;È-ÐXÓYÐYÜ/ØØ×#Ñ#Ø#Ü.×4Ñ4ô	
ˆð !‰ˆàÕ  AÔ%Ø fÕ&;Õ<Õ<ˆFØÕ 1Ô$Ø UÕ%9Õ:Õ:ˆEÜ‰wŠ~ØÜ˜FÔ0ñ
ð ð
ð ñ	
ð 	
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   r7   r>   Ú	do_resizer?   r@   rA   Údo_center_cropÚ	crop_sizeÚ
do_rescaleÚrescale_factorÚdo_normalizeÚ
image_meanNÚ	image_stdÚdo_padÚpad_sizeÚdisable_groupingÚreturn_tensorsr   r8   )ÚlistÚboolr   ÚfloatÚstrr   r   r   )r   r   s   "€r   r   r/   c   s   ø€ ÷ 'añ 'aá�^Õ$ð'añ ð'añ ð	'að
 Lð'añ ð'añ ð'añ ð'añ ð'añ ð'añ ™D¡�KÕ'¨$Õ.ð'añ ™4¡�;Õ&¨Õ-ð'añ �t•ð'añ ˜T•/ð'añ  �+ð'añ  ™jÕ(¨4Õ/ð!'añ" ð#'añ& 
ñ''ar   c           	     ó¦  € \        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        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      # )z!Custom preprocessing for TextNet.)rV   )r   Úpixel_values)ÚdataÚtensor_type)r   ÚitemsrH   r   Úcenter_cropÚrescale_and_normalizer   )r3   r7   rL   r?   r@   rM   rN   rO   rP   rQ   rR   rS   rT   rU   rV   rW   r   r.   Úgrouped_imagesÚgrouped_images_indexÚresized_images_groupedÚshapeÚstacked_imagesÚresized_imagesÚprocessed_images_groupedÚprocessed_imagess   &&&&&&&&&&&&&&&&&,        r   Ú_preprocessÚ!TextNetImageProcessor._preprocessc   sø   € ô* 0EÀVÔ/oÑ,ˆÐ,Ø!#ÐØ%3×%9Ñ%9Ö%;Ñ!ˆE�>ßØ!%§¡¨^¸TÐZf Ó!g�Ø,:Ð" 5Ó)ñ &<ô (Ð(>Ð@TÓUˆä/DÀ^ÐfvÔ/wÑ,ˆÐ,Ø#%Ð Ø%3×%9Ñ%9Ö%;Ñ!ˆE�>ßØ!%×!1Ñ!1°.À)Ó!L�Ø!×7Ñ7Ø 
¸LÐV_óˆNð /=Ð$ UÓ+ñ &<ô *Ð*BÐDXÓYÐÜ .Ð2BÐ!CÐQ_Ô`Ð`r   r   )é    )r   r    r!   r"   r#   r   Úvalid_kwargsr   ÚBILINEARr@   r   rR   r	   rS   r?   rC   rN   rL   rM   rO   rQ   Údo_convert_rgbr   r2   r   r:   rH   rk   r%   r&   Ú__classcell__)r4   r   s   @@r   r)   r)   +   s�   ù‡ € áCà.€Là!×*Ñ*€HØ&€JØ$€IØ˜SÐ!€DØÐØ˜3 ¨Ð-€IØ€IØ€NØ€JØ€LØ€NØ€L÷#ó #ð ÷4ò 4ó ð4÷
õ 
÷<'a÷ 'aò 'ar   r)   )r#   ÚtorchÚtorchvision.transforms.v2r   ÚtvFÚimage_processing_backendsr   Úimage_processing_utilsr   Úimage_transformsr   r   r   Úimage_utilsr   r	   r
   r   r   r   Úprocessing_utilsr   r   Úutilsr   r   r   r)   Ú__all__r   r   r   Ú<module>r|      si   ðñ )ã Ý 7å ;Ý 2ß cÑ c÷÷ ÷ 5ß /ô ,°eõ ð ô^aÐ.ó ^aó ð^aðB #Ð
#‚r   