code: def centered(
      objects: Union[bpy.types.Object, Sequence[bpy.types.Object]]
  ):
      """Contextmanager that centers objects and restores their location afterwards.
  
      Moves all provided objects to location (0, 0, 0) for the duration of the context,
      and restores their prior position afterwards. Useful for exporting objects.
      """
      if not isinstance(objects, Sequence):
          objects = [objects]
  
      prev_pos = {obj: copy.copy(obj.location) for obj in objects}
      for obj in objects:
          obj.location = (0, 0, 0)
  
      yield
  
      for obj in objects:
          obj.location = prev_pos[obj]
  
imports: import contextlib
  import copy
  import functools
  import sys
  from typing import Dict, Sequence, Tuple, Union
  import numpy
  import OpenEXR
  import Imath
  import sklearn.utils
  import trimesh
  from kubric import core
  from kubric.kubric_typing import AddAssetFunction, ArrayLike
  from kubric.redirect_io import RedirectStream
  from kubric.safeimport.bpy import bpy
label_desc: Use image node_id 11 for calling a global function with example usage: centered(objects) without return types