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:
      filepath: a .json filepath that contains the data to be registered
docstr_tok: ["Args",":","filepath",":","a",".json","filepath","that","contains","the","data","to","be","registered"]
code: def register_json(json_catalog_path):
      """
      Args:
          filepath: a .json filepath that contains the data to be registered
      """
      with g_pathmgr.open(json_catalog_path) as fopen:
          data_catalog = json.load(fopen)
      for key, value in data_catalog.items():
          VisslDatasetCatalog.register_data(key, value)
  
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 1 for calling the VisslDatasetCatalog obj's underlying member method code with example usage: obj.register_json(json_catalog_path) without return types