class_docstr: Latin experiment design.
  Uses random design for non-continuous variables, and latin hypercube for continuous ones
docstr: Generates required amount of sample points
  
  :param init_points_count: Number of samples to generate
  :param criterion: For details of the effect of this parameter, please refer to pyDOE.lhs documentation
                    Default: 'center'
  :returns: Generated samples
docstr_tok: ["Generates","required","amount","of","sample","points",":","param","init_points_count",":","Number","of","samples","to","generate",":","param","criterion",":","For","details","of","the","effect","of","this","parameter",",","please","refer","to","pyDOE.lhs","documentation","Default",":","'center'",":","returns",":","Generated","samples"]
code: def get_samples(self, init_points_count, criterion="center"):
      """
      Generates required amount of sample points
  
      :param init_points_count: Number of samples to generate
      :param criterion: For details of the effect of this parameter, please refer to pyDOE.lhs documentation
                        Default: 'center'
      :returns: Generated samples
      """
      samples = np.empty((init_points_count, self.space.dimensionality))
  
      # Use random design to fill non-continuous variables
      random_design = RandomDesign(self.space)
      random_design.fill_noncontinous_variables(samples)
  
      if self.space.has_continuous():
          bounds = self.space.get_continuous_bounds()
          lower_bound = np.asarray(bounds)[:, 0].reshape(1, len(bounds))
          upper_bound = np.asarray(bounds)[:, 1].reshape(1, len(bounds))
          diff = upper_bound - lower_bound
  
          from pyDOE import lhs
  
          X_design_aux = lhs(
              len(self.space.get_continuous_bounds()),
              init_points_count,
              criterion=criterion,
          )
          I = np.ones((X_design_aux.shape[0], 1))
          X_design = np.dot(I, lower_bound) + X_design_aux * np.dot(
              I, diff
          )
  
          samples[:, self.space.get_continuous_dims()] = X_design
  
      return samples
  
imports: import numpy
  from ..core.errors import InvalidConfigError
  from .base import ExperimentDesign
  from .random_design import RandomDesign
label_desc: Use image node_id 2 for calling the LatinDesign obj's underlying member method code with example usage: obj.get_samples(init_points_count, criterion) and returns: samples