class_docstr: A global dictionary 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.
class_docstr_tok: ["A","global","dictionary","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(self, 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 self
      ), "Dataset '{}' is already registered!".format(name)
      self[name] = func
  
imports: import copy
  import logging
  import types
  from collections import UserDict
  from typing import List
  from detectron2.utils.logger import log_first_n
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