code: def _full_batch_array_and_reshape(array, propagate_none=False):
      """
      Args:
          array: an array-like object
          propagate_none: if True, return None when array is None
      Returns:
          array as a numpy array with an extra first dimension (batch dimension) equal to 1
      """
      # if it's ok, just short-circuit on None (e.g. for target arrays, that may or may not exist)
      if propagate_none and array is None:
          return None
  
      as_np = np.asanyarray(array)
      return np.reshape(as_np, (1,) + as_np.shape)
  
imports: import warnings
  import operator
  import random
  import collections
  import numpy
  import itertools
  import networkx
  import scipy.sparse
  from tensorflow.keras import backend
  from functools import reduce
  from tensorflow.keras.utils import Sequence
  from ..data.unsupervised_sampler import UnsupervisedSampler
  from ..core.utils import is_real_iterable
  from ..random import random_state
  from scipy import sparse
  from ..core.experimental import experimental
label_desc: Use image node_id 1 for calling a global function with example usage: _full_batch_array_and_reshape(array, propagate_none) and returns: np, None