code: def get_processed_point_from_raw_point(
      raw_x, cp_domain, index_ordering, dim_ordering
  ):
      """Obtains the processed point from the raw point."""
      if not cp_domain.get_type() == "cartesian_product":
          packed_x = [raw_x[index_ordering[j]] for j in index_ordering]
          return flatten_list_of_objects_and_iterables(packed_x)
      else:
          packed_x = [None] * len(index_ordering)
          for idx, idx_order in enumerate(index_ordering):
              if isinstance(idx_order, list):
                  curr_elem = [raw_x[j] for j in idx_order]
                  curr_elem = flatten_list_of_objects_and_iterables(
                      curr_elem
                  )
                  packed_x[idx] = curr_elem
              elif dim_ordering[idx] == "" and (
                  cp_domain.list_of_domains[idx].get_type()
                  in [
                      "euclidean",
                      "integral",
                      "prod_discrete",
                      "prod_discrete_numeric",
                  ]
              ):
                  packed_x[idx] = [raw_x[idx_order]]
              else:
                  packed_x[idx] = raw_x[idx_order]
          return packed_x
  
imports: from __future__ import print_function
  from argparse import Namespace
  from copy import deepcopy
  import numpy
  from warnings import warn
  from .None import domains
  from ..parse.config_parser import config_parser
  from ..utils.general_utils import flatten_list_of_objects_and_iterables, get_original_order_from_reordered_list, transpose_list_of_lists
  from ..utils.oper_utils import random_sample_from_euclidean_domain, random_sample_from_discrete_euclidean_domain, random_sample_from_integral_domain, random_sample_from_prod_discrete_domain
label_desc: Use image node_id 11 for calling a global function with example usage: get_processed_point_from_raw_point(raw_x, cp_domain, index_ordering, dim_ordering) and returns: flatten_list_of_objects_and_iterables, packed_x