class_docstr: Build graph, treat all nodes as the same type
  Parameters
  ----------
  x: edge weights of 8-node complete graph
      There are 1 x 64 edges
  y: labels (diseased/healthy)
  num_nodes: the number of nodes of the graph. In our case, it is 8.
  indices: Patient level indices. They are used to generate edge weights.
  
  Output
  ------
  a complete 8-node DGLGraph with node features and edge weights
code: def __getitem__(self, idx):
      if torch.is_tensor(idx):
          idx = idx.tolist()
  
      # map input idx (ranging from 0 to __len__() inside self.indices)
      # to an idx in the whole dataset (inside self.x)
      # assert idx < len(self.indices)
      idx = self.indices[idx]
      node_features = self.x[idx]
      node_features = torch.from_numpy(node_features.reshape(8, 6))
  
      # spectral coherence between 2 montage channels!
      spec_coh_values = self.spec_coh_values[idx, :]
  
      # combine edge weights and spect coh values into one value/ one E x 1 tensor
      edge_weights = self.distances + spec_coh_values
      edge_weights = torch.tensor(edge_weights)  # trucated to integer
  
      # create 8-node complete graph
      src = [
          [0 for i in range(self.num_nodes)]
          for j in range(self.num_nodes)
      ]
      for i in range(len(src)):
          for j in range(len(src[i])):
              src[i][j] = i
      src = np.array(src).flatten()
  
      det = [
          [i for i in range(self.num_nodes)]
          for j in range(self.num_nodes)
      ]
      det = np.array(det).flatten()
  
      u, v = (torch.tensor(src), torch.tensor(det))
      g = dgl.graph((u, v))
  
      # add node features and edge features
      g.ndata["x"] = node_features
      g.edata["edge_weights"] = edge_weights
      return g, torch.tensor(idx), torch.tensor(self.labels[idx])
  
file_path: dgl/examples/pytorch/eeg-gcnn/EEGGraphDataset.py
imports: import math
  from itertools import product
  import dgl
  import numpy
  import pandas
  import torch
  from dgl.data import DGLDataset
label_desc: Use image node_id 5 for calling the EEGGraphDataset obj's underlying member method code with example usage: obj.__getitem__(idx) and returns: g,  torch,  torch