code: def load_kinetic():
      """
      Loads the kinetic fluorescence dataset (X60t) as a tensorly tensor. The data is well suited for Parafac and multi-way partial least squares regression (N-PLS). Missing data are replaced by 0s, and a missing value mask is provided.
      Data is a courtesy of Rasmus Bro and collaborators, it can be originally downloaded at https://ucphchemometrics.com/. Please cite the original reference [1] if you use this data in any way.
  
      References
      ----------
      .. [1]  Nikolajsen, R. P., Booksh, K. S., Hansen, Å. M., & Bro, R. (2003).
              Quantifying catecholamines using multi-way kinetic modelling.
              Analytica Chimica Acta, 475(1-2), 137-150.
      """
      path_here = dirname(__file__)
      tensor = np.load(path_here + "/data/Kinetic.npy")
      nan_positions = np.load(path_here + "/data/Kinetic_missing.npy")
      reference = "Nikolajsen, R. P., Booksh, K. S., Hansen, Å. M., & Bro, R. (2003). \
                  Quantifying catecholamines using multi-way kinetic modelling. \
                  Analytica Chimica Acta, 475(1-2), 137-150."
      licence = (
          "http://www.models.life.ku.dk/datasets. All downloadable material listed on these pages - "
          "appended by specifics mentioned under "
          "the individual headers/chapters - is available for public use. "
          "Please note that while great care has been taken, the software, code and data are provided"
          "as is and that Q&T, LIFE, KU does not accept any responsibility or liability. "
          "If you use the data we would appreciate that you report the results to us as"
          "a courtesy of the work involved in producing and preparing the data. "
          "Also you may want to refer to the data by referring to"
          "R.P.H. Nikolajsen, K.S. Booksh, Å.M. Hansen, R. Bro. "
          "Quantifying catecholamines using multi-way kinetic modeling, "
          "Analytica Chimica Acta, Vol 475 Iss 1-2, 2003, pg. 137-150"
      )
      desc = "A four-way data set with the modes: Concentration, excitation wavelength, emission wavelength and time"
      outlier_measurements_idx = [
          34,
          35,
          44,
          45,
          63,
      ]  # given as python indexes
      excitation_wavelengths = [362 + 6 * i for i in range(10)]
      emission_wavelengths = [472 + 7.5 * i for i in range(12)]
      time_stamps = [(i + 1) / 3 for i in range(60)]
      experiments_idx = [i + 1 for i in range(64)]
  
      return Bunch(
          tensor=tl.tensor(tensor),
          ticks=[
              experiments_idx,
              emission_wavelengths,
              excitation_wavelengths,
              time_stamps,
          ],
          missing_values_position=tl.tensor(nan_positions),
          outlier_measurements_idx=outlier_measurements_idx,
          dims=[
              "Measurements mode",
              "Emission mode",
              "Excitation mode",
              "Time mode",
          ],
          ticks_labels=[
              "Measurements",
              "Emission wavelength (nm)",
              "Excitation wavelength (nm)",
              "Time (minutes)",
          ],
          reference=reference,
          DESC=desc,
          LICENCE=licence,
      )
  
file_path: tensorly/tensorly/datasets/data_imports.py
imports: from os.path import dirname
  import numpy
  from urllib.request import urlopen
  import scipy.io
  from zipfile import ZipFile
  from io import BytesIO
  import tensorly
label_desc: Use image node_id 4 for calling a global function with example usage: load_kinetic() and returns: Bunch