docs: def experiments_create(self, subject_id, image_group_id, properties):
          """Create an experiment object with subject, and image group. Objects
          are referenced by their unique identifiers. The API ensure that at time
          of creation all referenced objects exist. Referential consistency,
          however, is currently not enforced when objects are deleted.
  
          Expects experiment name in property list. Raises ValueError if no valid
          name is given.
  
          If any of the referenced objects do not exist a ValueError is thrown.
  
          Parameters
          ----------
          subject_id : string
              Unique identifier of subject
          image_group_id : string
              Unique identifier of image group
          properties : Dictionary
              Set of experiment properties. Is required to contain at least the
              experiment name
  
          Returns
          -------
          ExperimentHandle
              Handle for created experiment object in database
          """
          # Ensure that reference subject exists
          if self.subjects_get(subject_id) is None:
              raise ValueError('unknown subject: ' + subject_id)
          # Ensure that referenced image group exists
          if self.image_groups_get(image_group_id) is None:
              raise ValueError('unknown image group: ' + image_group_id)
          return self.experiments.create_object(subject_id, image_group_id, properties)