code: def generate_trials(
      olh_samples: np.array, roi_space: Space
  ) -> list[dict]:
      """
      Generates trials from the given normalized orthogonal Latin hypercube samples
  
      Parameters
      ----------
      olh_samples: `numpy.array`
          Samples from the orthogonal Latin hypercube
      roi_space: orion.algo.space.Space
          Parameter space region-of-interest
  
      Returns
      -------
      A list of trials as `dict` objects, each a list of parameter values in the
          original search space
      """
  
      trials = []
      for sample in olh_samples:
          trial_dict = {}
          for j, param_name in enumerate(roi_space.keys()):
              interval_min, interval_max = roi_space[
                  param_name
              ].interval()
              # TODO: deal with categoricals
              trial_dict[param_name] = (
                  sample[j] * (interval_max - interval_min)
                  + interval_min
              )
          trials.append(trial_dict)
      return trials
  
file_path: orion/src/orion/algo/mofa/sampler.py
imports: from __future__ import annotations
  import logging
  import numpy
  from numpy.random import RandomState
  from scipy.stats.qmc import LatinHypercube
  from orion.algo.space import Space
label_desc: Use image node_id 4 for calling a global function with example usage: generate_trials(olh_samples, roi_space) and returns: trials