
    AVh!                        d Z ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlmZ ddlm	Z	 dd	lm
Z
 dd
lmZ ddlmZ ddlmZ ddlmZ  ej"                  e
j$                        e
j&                  j(                  dddfdej*                  fd       Z ej"                  e
j,                        e
j.                  j(                  dddfdej*                  fd       Zd Zy)z#Image operations for RaggedTensors.    )dtypes)ops)tensor_shape)tensor_spec)tensor_util)	array_ops)cond)	image_ops)map_fn)math_ops)ragged_tensor)dispatchFNimagesc           	          t        j                  |d| |g      5  t        t        j                  | ||||      cddd       S # 1 sw Y   yxY w)z4RaggedTensor dispatcher for tf.image.resize (tf-v2).RaggedResizeImages)methodpreserve_aspect_ratio	antialiasN)r   
name_scope_resize_imagesr
   resize_images_v2)r   sizer   r   r   names         ]/home/dcms/DCMS/lib/python3.12/site-packages/tensorflow/python/ops/ragged/ragged_image_ops.pyr   r      sN     ~~d064.A ""3     AAc           	          t        j                  |d| |g      5  t        t        j                  | ||||      cddd       S # 1 sw Y   yxY w)z4RaggedTensor dispatcher for tf.image.resize (tf-v1).r   )r   r   align_cornersN)r   r   r   r
   resize_images)r   r   r   r   r   r   s         r   resize_images_v1r   1   sN     ~~d064.A %3#%% % %r   c                 `   
 j                   j                  dk7  rt        d      t        j                  j                   d         }t        j                  t        j                  d      t        j                        j                  d      }|j                   dd z   }t        j                  |t        j                        
 fd
fd	}fd
}|dk(  r |       S | |       S t        j                   j#                         d      }	t%        j$                  |	||      S )z,RaggedTensor dispatcher for tf.image.resize.   zAtf.image.resize: images.shape.rank must be 4 if images is ragged.r   r      Nc                 l    t        | t        j                        r| j                         }  | fi S )N)
isinstancer   RaggedTensor	to_tensor)imagekwargs	resize_opr   s    r   
resize_onez"_resize_images.<locals>.resize_oneP   s1    %334ooeUD+F++    c                  4    t        j                         S )N)fn_output_signature)r   	map_fn_v2)r   out_specr+   s   r   resize_with_mapz'_resize_images.<locals>.resize_with_mapU   s    JHMMr,   c                      t        j                  j                        dd  } t        j                  t        j                  dg| gd            S )Nr#   r   )axis)r   shapeflat_valueszerosconcat)channelsr   r   s    r   empty_resultz$_resize_images.<locals>.empty_resultX   sC    v112237H??9++aS$,AJKKr,   )r4   rank
ValueErrorr   dimension_valuer   convert_to_tensorr   int32r   constant_value_as_shape	with_rankr   
TensorSpecfloat32r   equalnrowsr	   )r*   r   r   r)   static_batch_sizesize_as_shape	out_shaper1   r9   empty_batchr0   r+   s   ````      @@r   r   r   C   s    \\!
KM M #226<<?C			tV\\6	:$55d;EEaH-fll23//)##Iv~~>(,
NL !>$..3K99[,@@r,   )__doc__tensorflow.python.frameworkr   r   r   r   r   tensorflow.python.opsr   r	   r
   r   r   tensorflow.python.ops.raggedr   tensorflow.python.utilr   dispatch_for_apir   ResizeMethodBILINEARr&   r   ResizeMethodV1r   r    r,   r   <module>rS      s    * . + 4 3 3 + & + ( * 6 + 9556 &22;;+0$]77  7" 9223 &44==#(+0%]77 % 4%"Ar,   