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. "imagenet1k") to a `dict` which contains:
      1) mapping of various data splits (train, test, val) to the data source
         (path on the disk whether a folder path or a filelist)
      2) source of the data (disk_filelist | disk_folder | disk_roi_annotations)
  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. "imagenet1k_folder".
      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",".","``","imagenet1k_folder","''",".","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_data(name, data_dict):
      """
      Args:
          name (str): the name that identifies a dataset, e.g. "imagenet1k_folder".
          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 isinstance(
          data_dict, dict
      ), "You must register a dictionary with VisslDatasetCatalog.register_dict"
      assert (
          name not in VisslDatasetCatalog.__REGISTERED_DATASETS
      ), "Dataset '{}' is already registered!".format(name)
      VisslDatasetCatalog.__REGISTERED_DATASETS[name] = data_dict
  
imports: import json
  import logging
  import os
  from typing import List
  import numpy
  from iopath.common.file_io import g_pathmgr
  from vissl.data.datasets import get_coco_imgs_labels_info, get_voc_images_labels_info
  from vissl.utils.misc import get_json_data_catalog_file
  from vissl.utils.slurm import get_slurm_dir
label_desc: Use image node_id 3 for calling the VisslDatasetCatalog obj's underlying member method code with example usage: obj.register_data(name, data_dict) without return types