class_docstr: A data iterator object to contain a static heterogeneous graph with a dynamically
  changing constant time difference temporal feature set (multiple signals).
  The node labels (target) are also temporal. The iterator returns a single
  constant time difference temporal snapshot for a time period (e.g. day or week).
  This single temporal snapshot is a Pytorch Geometric Batch object. Between two
  temporal snapshots the feature matrix, target matrices and optionally passed
  attributes might change. However, the underlying graph is the same.
  
  Args:
      edge_index_dict (Dictionary of keys=Tuples and values=Numpy arrays): Relation type tuples
       and their edge index tensors.
      edge_weight_dict (Dictionary of keys=Tuples and values=Numpy arrays): Relation type tuples
       and their edge weight tensors.
      feature_dicts (Sequence of dictionaries where keys=Strings and values=Numpy arrays): Sequence of node
       types and their feature tensors.
      target_dicts (Sequence of dictionaries where keys=Strings and values=Numpy arrays): Sequence of node
       types and their label (target) tensors.
      batch_dict (Dictionary of keys=Strings and values=Numpy arrays): Batch index tensor of each
       node type.
      **kwargs (optional Sequence of dictionaries where keys=Strings and values=Numpy arrays): Sequence
       of node types and their additional attributes.
class_docstr_tok: ["A","data","iterator","object","to","contain","a","static","heterogeneous","graph","with","a","dynamically","changing","constant","time","difference","temporal","feature","set","(","multiple","signals",")",".","The","node","labels","(","target",")","are","also","temporal",".","The","iterator","returns","a","single","constant","time","difference","temporal","snapshot","for","a","time","period","(","e.g",".","day","or","week",")",".","This","single","temporal","snapshot","is","a","Pytorch","Geometric","Batch","object",".","Between","two","temporal","snapshots","the","feature","matrix",",","target","matrices","and","optionally","passed","attributes","might","change",".","However",",","the","underlying","graph","is","the","same",".","Args",":","edge_index_dict","(","Dictionary","of","keys=Tuples","and","values=Numpy","arrays",")",":","Relation","type","tuples","and","their","edge","index","tensors",".","edge_weight_dict","(","Dictionary","of","keys=Tuples","and","values=Numpy","arrays",")",":","Relation","type","tuples","and","their","edge","weight","tensors",".","feature_dicts","(","Sequence","of","dictionaries","where","keys=Strings","and","values=Numpy","arrays",")",":","Sequence","of","node","types","and","their","feature","tensors",".","target_dicts","(","Sequence","of","dictionaries","where","keys=Strings","and","values=Numpy","arrays",")",":","Sequence","of","node","types","and","their","label","(","target",")","tensors",".","batch_dict","(","Dictionary","of","keys=Strings","and","values=Numpy","arrays",")",":","Batch","index","tensor","of","each","node","type",".","*","*","kwargs","(","optional","Sequence","of","dictionaries","where","keys=Strings","and","values=Numpy","arrays",")",":","Sequence","of","node","types","and","their","additional","attributes","."]
code: def _get_features(self, time_index: int):
      if self.feature_dicts[time_index] is None:
          return self.feature_dicts[time_index]
      else:
          return {
              key: torch.FloatTensor(value)
              for key, value in self.feature_dicts[time_index].items()
              if value is not None
          }
  
file_path: pytorch_geometric_temporal/torch_geometric_temporal/signal/static_hetero_graph_temporal_signal_batch.py
imports: import torch
  import numpy
  from typing import Sequence, Dict, Union, Tuple
  from torch_geometric.data import Batch, HeteroData
label_desc: Use image node_id 7 for calling the StaticHeteroGraphTemporalSignalBatch obj's underlying member method code with example usage: obj._get_features(time_index) and returns: self, unknown