class_docstr: DatasetBuilder for Panning MOVi-E dataset.
docstr: Returns the dataset metadata.
docstr_tok: ["Returns","the","dataset","metadata","."]
code: def _info(self) -> tfds.core.DatasetInfo:
      """Returns the dataset metadata."""
  
      h = self.builder_config.height
      w = self.builder_config.width
      s = self.builder_config.num_frames
  
      def get_panning_movi_e_instance_features(seq_length: int):
          features = get_instance_features(seq_length)
          features.update(
              {
                  "asset_id": tfds.features.Text(),
                  "category": tfds.features.ClassLabel(
                      names=[
                          "Action Figures",
                          "Bag",
                          "Board Games",
                          "Bottles and Cans and Cups",
                          "Camera",
                          "Car Seat",
                          "Consumer Goods",
                          "Hat",
                          "Headphones",
                          "Keyboard",
                          "Legos",
                          "Media Cases",
                          "Mouse",
                          "None",
                          "Shoe",
                          "Stuffed Toys",
                          "Toys",
                      ]
                  ),
                  "scale": tf.float32,
                  "is_dynamic": tf.bool,
              }
          )
          return features
  
      return tfds.core.DatasetInfo(
          builder=self,
          description=_DESCRIPTION,
          features=tfds.features.FeaturesDict(
              {
                  "metadata": {
                      "video_name": tfds.features.Text(),
                      "width": tf.int32,
                      "height": tf.int32,
                      "num_frames": tf.int32,
                      "num_instances": tf.uint16,
                      "depth_range": tfds.features.Tensor(
                          shape=(2,), dtype=tf.float32
                      ),
                      "forward_flow_range": tfds.features.Tensor(
                          shape=(2,), dtype=tf.float32
                      ),
                      "backward_flow_range": tfds.features.Tensor(
                          shape=(2,), dtype=tf.float32
                      ),
                  },
                  "background": tfds.features.Text(),
                  "instances": tfds.features.Sequence(
                      feature=get_panning_movi_e_instance_features(
                          seq_length=s
                      )
                  ),
                  "camera": get_camera_features(s),
                  "events": get_events_features(),
                  # -----
                  "video": tfds.features.Video(shape=(s, h, w, 3)),
                  "segmentations": tfds.features.Sequence(
                      tfds.features.Image(
                          shape=(h, w, 1), dtype=tf.uint8
                      ),
                      length=s,
                  ),
                  "forward_flow": tfds.features.Sequence(
                      tfds.features.Tensor(
                          shape=(h, w, 2), dtype=tf.uint16
                      ),
                      length=s,
                  ),
                  "backward_flow": tfds.features.Sequence(
                      tfds.features.Tensor(
                          shape=(h, w, 2), dtype=tf.uint16
                      ),
                      length=s,
                  ),
                  "depth": tfds.features.Sequence(
                      tfds.features.Image(
                          shape=(h, w, 1), dtype=tf.uint16
                      ),
                      length=s,
                  ),
                  "normal": tfds.features.Video(
                      shape=(s, h, w, 3), dtype=tf.uint16
                  ),
                  "object_coordinates": tfds.features.Video(
                      shape=(s, h, w, 3), dtype=tf.uint16
                  ),
              }
          ),
          supervised_keys=None,
          homepage="https://github.com/google-research/kubric",
          citation=_CITATION,
      )
  
imports: import dataclasses
  import json
  import logging
  import imageio
  import numpy
  import png
  import tensorflow
  import tensorflow_datasets.public_api
  from typing import List, Dict, Union
label_desc: Use image node_id 1 for calling the PanningMoviE obj's underlying member method code with example usage: obj._info() and returns: tfds, features