class_docstr: Perform the signature transform over given windows.
  
  Given data of shape [N, L, C] and specification of a window method from the
  signatures window module, this class will compute the signatures over
  each window (for the given signature options) and concatenate the results
  into a tensor of shape [N, num_sig_features * num_windows].
  
  Parameters
  ----------
  num_intervals: int, dimension of the transformed data (default 8)
code: def _transform(self, X, y=None):
      import esig
  
      if self.backend == "iisignature":
          esig.set_backend("iisignature")
  
      depth = self.sig_depth
      data = np.swapaxes(X, 1, 2)
  
      # Path rescaling
      if self.rescaling == "pre":
          data = _rescale_path(data, depth)
  
      # Prepare for signature computation
      if self.sig_tfm == "signature":
  
          def transform(x):
              return esig.stream2sig(x, depth)[1:].reshape(-1, 1)
  
      else:
  
          def transform(x):
              return esig.stream2logsig(x, depth).reshape(1, -1)
  
      length = data.shape[1]
  
      # Compute signatures in each window returning the grouped structure
      signatures = []
      for window_group in self.window(length):
          signature_group = []
          for window in window_group:
              # Signature computation step
              signature = np.stack(
                  [
                      transform(x[window.start : window.end])
                      for x in data
                  ]
              ).reshape(data.shape[0], -1)
              # Rescale if specified
              if self.rescaling == "post":
                  signature = _rescale_signature(
                      signature, data.shape[2], depth
                  )
  
              signature_group.append(signature)
          signatures.append(signature_group)
  
      # We are currently not considering deep models and so return all the
      # features concatenated together
      signatures = np.concatenate(
          [x for lst in signatures for x in lst], axis=1
      )
  
      return signatures
  
imports: import numpy
  from sktime.transformations.base import BaseTransformer
  from sktime.transformations.panel.signature_based._rescaling import _rescale_path, _rescale_signature
  from sktime.transformations.panel.signature_based._window import _window_getter
label_desc: Use image node_id 2 for calling the _WindowSignatureTransform obj's underlying member method code with example usage: obj._transform(X, y) and returns: signatures, esig, esig