
    Wpf                        d Z ddlmZ ddlmZ ddlmZ ddlZddlmZ eZ	dZ
dZd	Zd
ZdZdZdZdZdZdZdZdZdZdZdZdZe	                    de e                       e	                    de e                       e	                    de e                       e	                    de e                       e	                    de e                       e	                    de e                       e	                    de e                       e	                    de e                       e	                    d e e                       e	                    d!e e                       e	                    d"e e                       e	                    d#e e                       e	                    d$e e                       e	                    d%e e                       e	                    d&e e                       d'Z d(Z!d)Z"d*Z#d+Z$d,Z%d-Z&e	                    d.e% e                       e	                    d/e  e                       e	                    d0e! e                       e	                    d1e" e                       e	                    d2e# e                       e	                    d3e$ e                       e	                    d4e& e                       d5Z'd6Z(d7Z)d8Z*d9Z+d:Z,d;Z-d<Z.d=Z/d>Z0d?Z1d@Z2dAZ3dBZ4dCZ5dDZ6dEZ7dFZ8dGZ9dHZ:dIZ;dJZ<dKZ=dLZ>dMZ?dNZ@dOZAdPZBdQZCdRZDdSZEdT ZFdUZG eFdVdW            eFdXeG           dYZHdZZId[ZJd\ZKd]ZLd^ZMd_ZNd`ZOdaZPdbZQdcZRddZSdeZTdfZUdgZVdhZWdiZXdj ZYdkZZdlZ[dmZ\ eYdndW            eYdoeZ            eYdpe[            eYdqe\           drZ]dsZ^dtZ_duZ`dvZadwZbdxZcdyZddzZed{Zfe	                    d|e] e                       e	                    d}e^ e                       e	                    d~e_ e                       e	                    de` e                       e	g                    dea e                       e	h                    deb e                       e	h                    dec e                       e	i                    ded e                       e	j                    dee e                       e	h                    def e                       dZkdZldZmdZndZodZpdZqdZrdZsdZtdZudZvdZwdZxdZydZzdZ{e	                    dek e                       e	|                    del e                       e	                    dem e                       e	|                    den e                       e	                    deo e                       e	                    dep e                       e	|                    deq e                       e	|                    der e                       e	j                    des e                       e	}                    det e                       e	~                    deu e                       e	h                    dev e                       e	~                    dew e                       e	j                    dex e                       e	                    dey e                       e	                    dez e                       e	                    de{ e                       dS )aE  Copyright 2019 The MediaPipe Authors.

Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at

     http://www.apache.org/licenses/LICENSE-2.0

Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.


This script defines a large number of getters and setters for storing
multimedia, such as video or audio, and related machine learning data in
tf.train.SequenceExamples. These getters and setters simplify sharing
data by enforcing common patterns for storing data in SequenceExample
key-value pairs.

The constants, macros, and functions are organized into 6 groups: clip
metadata, clip label related, segment related, bounding-box related, image
related, feature list related, and keyframe related. The following examples
will walk through common task structures, but the relevant data to store can
vary by task.

The clip metadata group is generally data about the media and stored in the
SequenceExample.context. Specifying the metadata enables media pipelines,
such as MediaPipe, to retrieve that data. Typically, set_clip_data_path,
set_clip_start_timestamp, and set_clip_end_timestamp define which data to use
without storing the data itself. Example:
  tensorflow.train.SequenceExample sequence
  set_clip_data_path("/relative/path/to/data.mp4", sequence)
  set_clip_start_timestamp(0, sequence)
  set_clip_end_timestamp(10000000, sequence)  # 10 seconds in microseconds.

The clip label group adds labels that apply to the entire media clip. To
annotate that a video clip has a particular label, set the clip metadata
above and also set the set_clip_label_index and set_clip_label_string. Most
training pipelines will only use the label index or string, but we recommend
storing both to improve readability while maintaining ease of use.
Example:
  set_clip_label_string(("run", "jump"), sequence)
  set_Clip_label_index((35, 47), sequence)

The segment group is generally data about time spans within the media clip
and stored in the SequenceExample.context. In this code, continuous lengths
of media are called clips, and each clip may have subregions of interest that
are called segments. To annotate that a video clip has time spans with labels
set the clip metadata above and use the functions set_segment_start_timestamp,
set_segment_end_timestamp, set_segment_label_index, and
set_segment_label_string. Most training pipelines will only use the label index
or string, but we recommend storing both to improve readability while
maintaining ease of use. By listing segments as times, the frame rate or other
properties can change without affecting the labels.
Example:
  set_segment_start_timestamp((500000, 1000000), sequence)  # in microseconds
  set_segment_end_timestamp((2000000, 6000000), sequence)
  set_segment_label_index((35, 47), sequence)
  set_segment_label_string(("run", "jump"), sequence)

The bounding box group is useful for identifying spatio-temporal annotations
for detection, tracking, or action recognition. The exact keys that are
needed can vary by task, but to annotate a video clip for detection set the
clip metadata above and use repeatedly call add_bbox, add_bbox_timestamp,
add_bbox_label_index, and add_bbox_label_string. Most training pipelines will
only use the label index or string, but we recommend storing both to improve
readability while maintaining ease of use. Because bounding boxes are
assigned to timepoints in a video, changing the image frame rate can can
change the alignment. The media_sequence.h's ReconcileMetadata function can
align bounding boxes to the nearest image.

The image group is useful for storing data as sequential 2D arrays, typically
encoded as bytes. Images can be RGB images stored as JPEG, discrete masks
stored as PNG, or some other format. Parameters that are static over time are
set in the context using set_image_width, set_image_height, set_image_format,
etc. The series of frames and timestamps are then added with add_image_encoded
and
add_image_timestamp. For discrete masks, the class or instance indices can be
mapped to labels or classes using
set_class_segmentation_class_label_{index,string} and
set_instance_segmentation_object_class_index.

The feature list group is useful for storing audio and extracted features,
such as per-frame embeddings. SequenceExamples only store lists of floats per
timestep, so the dimensions are stored in the context to enable reshaping.
For example, set_feature_dimensions and repeatedly calling add_feature_floats
and add_feature_timestamp adds per-frame embeddings. The feature methods also
support audio features.

Macros for common patterns are created in media_sequence_util.py and are used
here extensively. Because these macros are formulaic, I will only include a
usage example here in the code rather than repeating documentation for every
instance. This header defines additional functions to simplify working with
MediaPipe types.

Each msu.create_{TYPE}_context_feature takes a NAME and a KEY. It provides
setters and getters for SequenceExamples and stores a single value under KEY
in the context field. The provided functions are has_${NAME}, get_${NAME},
set_${Name}, and clear_${NAME}.
Eg.
  tf.train.SequenceExample example
  set_data_path("data_path", example)
  if has_data_path(example):
     data_path = get_data_path(example)
     clear_data_path(example)

Each msu.create_{TYPE}_list_context_feature takes a NAME and a KEY. It provides
setters and getters for SequenceExamples and stores a sequence of values
under KEY in the context field. The provided functions are has_${NAME},
get_${NAME}, set_${Name}, clear_${NAME}, get_${NAME}_at, and add_${NAME}.
Eg.
  tf.train.SequenceExample example
  set_clip_label_string(("run", "jump"), example)
  if has_clip_label_string(example):
     values = get_clip_label_string(example)
     clear_clip_label_string(example)

Each msu.create_{TYPE}_feature_list takes a NAME and a KEY. It provides setters
and getters for SequenceExamples and stores a single value in each feature field
under KEY of the feature_lists field. The provided functions are has_${NAME},
get_${NAME}, clear_${NAME}, get_${NAME}_size, get_${NAME}_at, and add_${NAME}.
  tf.train.SequenceExample example
  add_image_timestamp(1000000, example)
  add_image_timestamp(2000000, example)
  if has_image_timestamp(example):
    for i in range(get_image_timestamp_size()):
      timestamp = get_image_timestamp_at(example, i)
    clear_image_timestamp(example)

Each VECTOR_{TYPE}_FEATURE_LIST takes a NAME and a KEY. It provides setters
and getters for SequenceExamples and stores a sequence of values in each
feature field under KEY of the feature_lists field. The provided functions
are Has${NAME}, Get${NAME}, Clear${NAME}, Get${NAME}Size, Get${NAME}At, and
Add${NAME}.
  tf.train.SequenceExample example
  add_bbox_label_string(("run", "jump"), example)
  add_bbox_label_string(("run", "fall"), example)
  if has_bbox_label_string(example):
    for i in range(get_bbox_label_string_size(example)):
      labels = get_bbox_label_string_at(example, i)
    clear_bbox_label_string(example)

As described in media_sequence_util.h, each of these functions can take an
additional string prefix argument as their first argument. The prefix can
be fixed with a new NAME by using functools.partial. Prefixes are used to
identify common storage patterns (e.g. storing an image along with the height
and width) under different names (e.g. storing a left and right image in a
stereo pair.) An example creating functions such as
add_left_image_encoded that adds a string under the key "LEFT/image/encoded"
 add_left_image_encoded = msu.function_with_default(add_image_encoded, "LEFT")
    )absolute_import)division)print_functionN)media_sequence_utilTz
example/idzexample/dataset_namezexample/dataset/flag/stringzclip/data_pathzclip/media_idzclip/alternative_media_idzclip/encoded_media_bytesz"clip/encoded_media_start_timestampzclip/start/timestampzclip/end/timestampzclip/label/indexzclip/label/stringzclip/label/confidencezclip/label/start/timestampzclip/label/end/timestamp
example_idmodule_dictexample_dataset_nameexample_dataset_flag_stringclip_media_idclip_alternative_media_idclip_encoded_media_bytesclip_data_path"clip_encoded_media_start_timestampclip_start_timestampclip_end_timestampclip_label_stringclip_label_indexclip_label_confidenceclip_label_start_timestampclip_label_end_timestampzsegment/start/timestampzsegment/start/indexzsegment/end/timestampzsegment/end/indexzsegment/label/indexzsegment/label/stringzsegment/label/confidencesegment_label_stringsegment_start_timestampsegment_start_indexsegment_end_timestampsegment_end_indexsegment_label_indexsegment_label_confidencezregion/bbox/yminzregion/bbox/xminzregion/bbox/ymaxzregion/bbox/xmaxzregion/point/xzregion/point/yzregion/radiuszregion/3d_point/xzregion/3d_point/yzregion/3d_point/zzregion/num_regionszregion/is_annotatedzregion/is_generatedzregion/is_occludedzregion/label/indexzregion/label/stringzregion/label/confidencezregion/track/indexzregion/track/stringzregion/track/confidencezregion/class/indexzregion/class/stringzregion/class/confidencezregion/timestampzregion/unmodified_timestampzregion/partsz&region/embedding/dimensions_per_regionzregion/embedding/formatzregion/embedding/floatzregion/embedding/encodedzregion/embedding/confidencec                    t                               | dz   t          |t                                 t                               | dz   t          |t                                 t                               | dz   t          |t                                 t                               | dz   t          |t                                 t                               | dz   t          |t                                 t                               | dz   t          |t                                 t           
                    | dz   t          |t                                 t                               | d	z   t          |t                                 t                               | d
z   t          |t                                 t           
                    | dz   t          |t                                 t                               | dz   t           |t                                 t                               | dz   t"          |t                                 t           
                    | dz   t$          |t                                 t                               | dz   t&          |t                                 t                               | dz   t(          |t                                 t                               | dz   t*          |t                                 t                               | dz   t,          |t                                 t                               | dz   t.          |t                                 t                               | dz   t0          |t                                 t                               | dz   t2          |t                                 t                               | dz   t4          |t                                 t                               | dz   t6          |t                                 t                               | dz   t8          |t                                 t                               | dz   t:          |t                                 t                               | dz   t>          |t                                 t                                | dz   tB          |t                                 t           "                    | dz   tF          |t                                 t                               | dz   tH          |t                                 t           
                    | dz   tJ          |t                                 t                               | dz   tL          |t                                 d  }d! }d" }d# }d$ }d% }d& }d' }	d( }
d) }d* }d+ }d, }d- }d. }t           '                    d/| z   d0z   t           (                    ||          d1| z   t           (                    ||          d/| z   d2z   t           (                    ||          d3| z   t           (                    ||          d4| z   t           (                    ||          it                      5           t           '                    d/| z   d6z   t           (                    ||          d1| z   d7z   t           (                    ||          d/| z   d8z   t           (                    |	|          d3| z   d7z   t           (                    |
|          d4| z   d7z   t           (                    ||          it                      5           t           '                    d/| z   d9z   t           (                    ||          d1| z   d:z   t           (                    ||          d/| z   d;z   t           (                    ||          d3| z   d:z   t           (                    ||          d4| z   d:z   t           (                    ||          it                      5           d<S )=z0Create multiple accessors for region based data._num_regionsprefixr	   _is_annotated_is_occluded_is_generated
_timestamp_unmodified_timestamp_label_string_label_index_label_confidence_class_string_class_index_class_confidence_track_string_track_index_track_confidence_ymin_xmin_ymax_xmax_point_x_point_y_3d_point_x_3d_point_y_3d_point_z_parts _embedding_dimensions_per_region_embedding_format_embedding_floats_embedding_encoded_embedding_confidencec           
          t          j        t          | ||          t          | ||          t	          | ||          t          | ||          fd          S Nr"      )npstackget_bbox_ymin_atget_bbox_xmin_atget_bbox_ymax_atget_bbox_xmax_atindexsequence_exampler"   s      f/var/www/html/nettyfy-visnx/env/lib/python3.11/site-packages/mediapipe/util/sequence/media_sequence.pyget_prefixed_bbox_atz8_create_region_with_prefix.<locals>.get_prefixed_bbox_at  sm    8 0@@@ 0@@@ 0@@@ 0@@@	B
       c                    t          j        |           } | j        dk    rJt          g ||           t	          g ||           t          g ||           t          g ||           d S t          | d d df         ||           t	          | d d df         ||           t          | d d df         ||           t          | d d df         ||           d S )Nr   rB   rC         )rD   arraysizeadd_bbox_yminadd_bbox_xminadd_bbox_ymaxadd_bbox_xmaxvaluesrL   r"   s      rM   add_prefixed_bboxz5_create_region_with_prefix.<locals>.add_prefixed_bbox  s
   XfF{aB(8888B(8888B(8888B(888888F111a4L"26BBBBF111a4L"26BBBBF111a4L"26BBBBF111a4L"26BBBBBBrO   c                 $    t          | |          S NrB   )get_bbox_ymin_sizerL   r"   s     rM   get_prefixed_bbox_sizez:_create_region_with_prefix.<locals>.get_prefixed_bbox_size  s    .v>>>>rO   c                 $    t          | |          S r]   )has_bbox_yminr_   s     rM   has_prefixed_bboxz5_create_region_with_prefix.<locals>.has_prefixed_bbox  s    )&9999rO   c                     t          | |           t          | |           t          | |           t          | |           d S r]   )clear_bbox_yminclear_bbox_xminclear_bbox_ymaxclear_bbox_xmaxr_   s     rM   clear_prefixed_bboxz7_create_region_with_prefix.<locals>.clear_prefixed_bbox  sX    $V4444$V4444$V4444$V444444rO   c                 p    t          j        t          | ||          t          | ||          fd          S rA   )rD   rE   get_bbox_point_y_atget_bbox_point_x_atrJ   s      rM   get_prefixed_point_atz9_create_region_with_prefix.<locals>.get_prefixed_point_at  sG    8E#3FCCCE#3FCCCE   rO   c                 v    t          | d d df         ||           t          | d d df         ||           d S )Nr   rB   rC   )add_bbox_point_yadd_bbox_point_xrY   s      rM   add_prefixed_pointz6_create_region_with_prefix.<locals>.add_prefixed_point  sL    VAAAqD\#3FCCCCVAAAqD\#3FCCCCCCrO   c                 $    t          | |          S r]   )get_bbox_point_y_sizer_   s     rM   get_prefixed_point_sizez;_create_region_with_prefix.<locals>.get_prefixed_point_size  s     !1&AAAArO   c                 $    t          | |          S r]   )has_bbox_point_yr_   s     rM   has_prefixed_pointz6_create_region_with_prefix.<locals>.has_prefixed_point  s    ,V<<<<rO   c                 J    t          | |           t          | |           d S r]   )clear_bbox_point_yclear_bbox_point_xr_   s     rM   clear_prefixed_pointz8_create_region_with_prefix.<locals>.clear_prefixed_point  s0    '7777'777777rO   c           	          t          j        t          | ||          t          | ||          t	          | ||          fd          S rA   )rD   rE   get_bbox_3d_point_x_atget_bbox_3d_point_y_atget_bbox_3d_point_z_atrJ   s      rM   get_prefixed_3d_point_atz<_create_region_with_prefix.<locals>.get_prefixed_3d_point_at  sZ    8u&6vFFFu&6vFFFu&6vFFFH 	  rO   c                     t          | d d df         ||           t          | d d df         ||           t          | d d df         ||           d S )Nr   rB   rC   rQ   )add_bbox_3d_point_xadd_bbox_3d_point_yadd_bbox_3d_point_zrY   s      rM   add_prefixed_3d_pointz9_create_region_with_prefix.<locals>.add_prefixed_3d_point  sn    qqq!t&6vFFFFqqq!t&6vFFFFqqq!t&6vFFFFFFrO   c                 $    t          | |          S r]   )get_bbox_3d_point_x_sizer_   s     rM   get_prefixed_3d_point_sizez>_create_region_with_prefix.<locals>.get_prefixed_3d_point_size  s    #$4VDDDDrO   c                 $    t          | |          S r]   )has_bbox_3d_point_xr_   s     rM   has_prefixed_3d_pointz9_create_region_with_prefix.<locals>.has_prefixed_3d_point  s    /????rO   c                 l    t          | |           t          | |           t          | |           d S r]   )clear_bbox_3d_point_xclear_bbox_3d_point_yclear_bbox_3d_point_zr_   s     rM   clear_prefixed_3d_pointz;_create_region_with_prefix.<locals>.clear_prefixed_3d_point  sD    *6::::*6::::*6::::::rO   get__atadd__sizehas_clear_r   	_point_at_point_point_size_3d_point_at	_3d_point_3d_point_sizeN))msucreate_int_feature_listREGION_NUM_REGIONS_KEYglobalsREGION_IS_ANNOTATED_KEYcreate_int_list_feature_listREGION_IS_OCCLUDED_KEYREGION_IS_GENERATED_KEYREGION_TIMESTAMP_KEYREGION_UNMODIFIED_TIMESTAMP_KEYcreate_bytes_list_feature_listREGION_LABEL_STRING_KEYREGION_LABEL_INDEX_KEYcreate_float_list_feature_listREGION_LABEL_CONFIDENCE_KEYREGION_CLASS_STRING_KEYREGION_CLASS_INDEX_KEYREGION_CLASS_CONFIDENCE_KEYREGION_TRACK_STRING_KEYREGION_TRACK_INDEX_KEYREGION_TRACK_CONFIDENCE_KEYREGION_BBOX_YMIN_KEYREGION_BBOX_XMIN_KEYREGION_BBOX_YMAX_KEYREGION_BBOX_XMAX_KEYREGION_POINT_X_KEYREGION_POINT_Y_KEYREGION_3D_POINT_X_KEYREGION_3D_POINT_Y_KEYREGION_3D_POINT_Z_KEY!create_bytes_list_context_featureREGION_PARTS_KEY!create_float_list_context_feature*REGION_EMBEDDING_DIMENSIONS_PER_REGION_KEYcreate_bytes_context_featureREGION_EMBEDDING_FORMAT_KEYREGION_EMBEDDING_FLOAT_KEYREGION_EMBEDDING_ENCODED_KEYREGION_EMBEDDING_CONFIDENCE_KEYadd_functions_to_modulefunction_with_default)namer"   rN   r[   r`   rc   ri   rm   rq   rt   rw   r{   r   r   r   r   r   s                    rM   _create_region_with_prefixr   M  s^	   d^35K%+  D D Dd_46M%+  D D D""
^3 # , , , ""
_5 # , , , d\13G%+  D D D
$$&E  , , , $$
_5 % , , , ""
^3 # , , , $$
  "= % , , , $$
_5 % , , , ""
^3 # , , , $$
  "= % , , , $$
_5 % , , , ""
^3 # , , , $$
  "= % , , , $$TG^5I,2		 % K K K$$TG^5I,2		 % K K K$$TG^5I,2		 % K K K$$TG^5I,2		 % K K K$$TJ%68J,2		 % K K K$$TJ%68J,2		 % K K K$$
]1 % , , , $$
]1 % , , , $$
]1 % , , , ''x(8/5799 ( N N N ''
//0 ( , , , ""4*=#=#>*0gii # I I I $$T,?%?%?,2		 % K K K $$T,@%@%A,2		 % K K K $$T,C%C%D,2		 % K K K  C C C? ? ?: : :5 5 5
  
D D DB B B= = =8 8 8  G G GE E E@ @ @; ; ;
 tme

#
#$8&
A
Atm

#
#$5v
>
>tmg

#
#$:F
C
Ctm

#
#$5v
>
>o

#
#$7
@
@      tmk!

#
#$96
B
Btmh

#
#$6
?
?tmm#

#
#$;V
D
Dtmh

#
#$6
?
?o 

#
#$8&
A
A      tmn$

#
#$<f
E
Etmk!

#
#$96
B
Btm&&

#
#$>
G
Gtmk!

#
#$96
B
Bo#

#
#$;V
D
D       rO   	PREDICTEDbbox predicted_bboxzimage/formatzimage/channelszimage/colorspacezimage/heightzimage/widthzimage/frame_ratezimage/saturationzimage/class/label/indexzimage/class/label/stringzimage/object/class/indexzimage/encodedzimage/multi_encodedzimage/timestampzimage/label/indexzimage/label/stringzimage/label/confidencezimage/data_pathc                    t                               | dz   t          |t                                 t                               | dz   t          |t                                 t                               | dz   t          |t                                 t                               | dz   t          |t                                 t                               | dz   t          |t                                 t           	                    | dz   t          |t                                 t                               | dz   t          |t                                 t                               | d	z   t          |t                                 t                               | d
z   t           |t                                 t                               | dz   t"          |t                                 t                               | dz   t$          |t                                 t                               | dz   t(          |t                                 t                               | dz   t,          |t                                 dS )z/Create multiple accessors for image based data._formatr!   _colorspace	_channels_height_width_encoded_frame_rate_class_label_string_class_label_index_object_class_index
_data_pathr&   _multi_encodedN)r   r   IMAGE_FORMAT_KEYr   IMAGE_COLORSPACE_KEYcreate_int_context_featureIMAGE_CHANNELS_KEYIMAGE_HEIGHT_KEYIMAGE_WIDTH_KEYcreate_bytes_feature_listIMAGE_ENCODED_KEYcreate_float_context_featureIMAGE_FRAME_RATE_KEYr   IMAGE_CLASS_LABEL_STRING_KEYcreate_int_list_context_featureIMAGE_CLASS_LABEL_INDEX_KEYIMAGE_OBJECT_CLASS_INDEX_KEYIMAGE_DATA_PATH_KEYr   IMAGE_TIMESTAMP_KEYr   IMAGE_MULTI_ENCODED_KEY)r   r"   s     rM   _create_image_with_prefixr   /  s   ""4)#35E*0gii # I I I""4-#79M*0gii # I I I  !35G(.GII ! G G G  	!13C(.GII ! G G G  /(.GII ! G G Gz 13D'-799   F F F""4-#79M*0gii # I I I''
""$@ ( , , , %%
!!#> & , , , %%
""$@ & , , , ""4,#68K*0gii # I I Id\13F%+  D D D$$T,<%<%<V18 % < < < < <rO   FORWARD_FLOWCLASS_SEGMENTATIONINSTANCE_SEGMENTATIONimageforward_flowclass_segmentationinstance_segmentationztext/languageztext/context/contentztext/context/token_idztext/context/embeddingztext/contentztext/timestampztext/durationztext/confidenceztext/embeddingztext/token/idtext_languagetext_context_contenttext_context_token_idtext_context_embeddingtext_contenttext_timestamptext_durationtext_confidencetext_embeddingtext_token_idzfeature/dimensionszfeature/ratezfeature/bytes/formatzfeature/sample_ratezfeature/num_channelszfeature/num_sampleszfeature/packet_ratezfeature/audio_sample_ratezfeature/floatszfeature/byteszfeature/intszfeature/timestampzfeature/durationzfeature/confidencezcontext_feature/floatszcontext_feature/byteszcontext_feature/intsfeature_dimensionsfeature_ratefeature_bytes_formatfeature_sample_ratefeature_num_channelsfeature_num_samplesfeature_packet_ratefeature_audio_sample_ratefeature_floatsfeature_bytesfeature_intsfeature_timestampfeature_durationfeature_confidencecontext_feature_floatscontext_feature_bytescontext_feature_ints)__doc__
__future__r   r   r   numpyrD   mediapipe.util.sequencer   r   _HAS_DYNAMIC_ATTRIBUTESEXAMPLE_ID_KEYEXAMPLE_DATASET_NAME_KEYEXAMPLE_DATASET_FLAG_STRING_KEYCLIP_DATA_PATH_KEYCLIP_MEDIA_ID_KEYALTERNATIVE_CLIP_MEDIA_ID_KEYCLIP_ENCODED_MEDIA_BYTES_KEY&CLIP_ENCODED_MEDIA_START_TIMESTAMP_KEYCLIP_START_TIMESTAMP_KEYCLIP_END_TIMESTAMP_KEYCLIP_LABEL_INDEX_KEYCLIP_LABEL_STRING_KEYCLIP_LABEL_CONFIDENCE_KEYCLIP_LABEL_START_TIMESTAMP_KEYCLIP_LABEL_END_TIMESTAMP_KEYr   r   r   r   r   r   SEGMENT_START_TIMESTAMP_KEYSEGMENT_START_INDEX_KEYSEGMENT_END_TIMESTAMP_KEYSEGMENT_END_INDEX_KEYSEGMENT_LABEL_INDEX_KEYSEGMENT_LABEL_STRING_KEYSEGMENT_LABEL_CONFIDENCE_KEYr   r   r   r   r   r   REGION_RADIUS_KEYr   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   r   PREDICTED_PREFIXr   r   r   r   r   r   IMAGE_SATURATION_KEYr   r   r   r   r   r   IMAGE_LABEL_INDEX_KEYIMAGE_LABEL_STRING_KEYIMAGE_LABEL_CONFIDENCE_KEYr   r   FORWARD_FLOW_PREFIXCLASS_SEGMENTATION_PREFIXINSTANCE_SEGMENTATION_PREFIXTEXT_LANGUAGE_KEYTEXT_CONTEXT_CONTENT_KEYTEXT_CONTEXT_TOKEN_ID_KEYTEXT_CONTEXT_EMBEDDING_KEYTEXT_CONTENT_KEYTEXT_TIMESTAMP_KEYTEXT_DURATION_KEYTEXT_CONFIDENCE_KEYTEXT_EMBEDDING_KEYTEXT_TOKEN_ID_KEYr   r   create_float_feature_listr   FEATURE_DIMENSIONS_KEYFEATURE_RATE_KEYFEATURE_BYTES_FORMAT_KEYFEATURE_SAMPLE_RATE_KEYFEATURE_NUM_CHANNELS_KEYFEATURE_NUM_SAMPLES_KEYFEATURE_PACKET_RATE_KEYFEATURE_AUDIO_SAMPLE_RATE_KEYFEATURE_FLOATS_KEYFEATURE_BYTES_KEYFEATURE_INTS_KEYFEATURE_TIMESTAMP_KEYFEATURE_DURATION_KEYFEATURE_CONFIDENCE_KEYCONTEXT_FEATURE_FLOATS_KEYCONTEXT_FEATURE_BYTES_KEYCONTEXT_FEATURE_INTS_KEYr   r   r    rO   rM   <module>rN     sT  X Xt ' & & & & &       % % % % % %     7 7 7 7 7 7  1 "? % #  ; 9 )M &1 - ) + 3 != 9      .ggii ! 9 9 9     4'')) ! M M M  % %!#B		 &        &GGII ! ? ? ?     !>		 !         <		 !        (ggii ! A A A   (*		  C C C   4''))  M M M   0ggii  I I I  % %.GGII & G G G  # #,'')) $ E E E  % %6GGII & O O O  # # "		 $     # # 		 $    8 / 3 +  0  2   :   % %4'')) & M M M  # #WWYY $ 8 8 8  # #2		 $ K K K  # #6GGII $ O O O  # #.GGII $ G G G  # #2		 $ K K K  % % ggii & 9 9 9 * ) ) ) % % # + + + -  0 / -  . / 7  . / 7  . / 7 )  #@ !  - + 8  6 9 "? v v vr    62 & & &  +-= > > >
 " % ) ! ) ) 7 9 9 # / '  , - 5 ' < < <@ % 0 6   '2 & & &  .*= > > >  .0I J J J  13O P P P $ 1 3 5  " % # ' % #      &GGII ! ? ? ?     4'')) ! M M M  # #6GGII $ O O O  % %8ggii & Q Q Q   $''))  = = =   (ggii  A A A   &GGII  ? ? ?   *		  C C C  " "(ggii # A A A   &GGII  ? ? ?
 . ! 1 / 1 / /  ; % # ! +  * - 5 3 1   # #0ggii $ I I I     $'')) ! = = =     4'')) ! M M M     2		 ! K K K   4''))  M M M   2		  K K K     2		 ! K K K     !>		 !     " "(ggii # A A A  " "&GGII # ? ? ?     $'')) ! = = =   .GGII  G G G     ,'')) ! E E E  " "0ggii # I I I  % %8ggii & Q Q Q  % %6GGII & O O O  # #4'')) $ M M M M MrO   