class_docstr: A catalog that stores information about the datasets and how to obtain them.
  
  It contains a mapping from strings
  (which are names that identify a dataset, e.g. "coco_2014_train")
  to a function which parses the dataset and returns the samples in the
  format of `list[dict]`.
  
  The returned dicts should be in Detectron2 Dataset format (See DATASETS.md for details)
  if used with the data loader functionalities in `data/build.py,data/detection_transform.py`.
  
  The purpose of having this catalog is to make it easy to choose
  different datasets, by just using the strings in the config.
docstr: Args:
      name (str): the name that identifies a dataset, e.g. "coco_2014_train".
      func (callable): a callable which takes no arguments and returns a list of dicts.
          It must return the same results if called multiple times.
docstr_tok: ["Args",":","name","(","str",")",":","the","name","that","identifies","a","dataset",",","e.g",".","``","coco_2014_train","''",".","func","(","callable",")",":","a","callable","which","takes","no","arguments","and","returns","a","list","of","dicts",".","It","must","return","the","same","results","if","called","multiple","times","."]
code: def register(name, func):
      """
      Args:
          name (str): the name that identifies a dataset, e.g. "coco_2014_train".
          func (callable): a callable which takes no arguments and returns a list of dicts.
              It must return the same results if called multiple times.
      """
      assert callable(
          func
      ), "You must register a function with `DatasetCatalog.register`!"
      assert (
          name not in DatasetCatalog._REGISTERED
      ), "Dataset '{}' is already registered!".format(name)
      DatasetCatalog._REGISTERED[name] = func
  
imports: import copy
  import logging
  import types
  from typing import List
label_desc: Use image node_id 1 for calling the DatasetCatalog obj's underlying member method code with example usage: obj.register(name, func) without return types