code: def _gasf(X_cos, X_sin, n_samples, image_size):
      X_gasf = np.empty((n_samples, image_size, image_size))
      for i in prange(n_samples):
          X_gasf[i] = np.outer(X_cos[i], X_cos[i]) - np.outer(
              X_sin[i], X_sin[i]
          )
      return X_gasf
  
file_path: pyts/pyts/image/gaf.py
imports: import numpy
  from math import ceil
  from numba import njit, prange
  from sklearn.base import BaseEstimator
  from sklearn.utils.validation import check_array
  from ..approximation import PiecewiseAggregateApproximation
  from ..base import UnivariateTransformerMixin
  from ..preprocessing import MinMaxScaler
label_desc: Use image node_id 1 for calling a global function with example usage: _gasf(X_cos, X_sin, n_samples, image_size) and returns: X_gasf