def __init__()

in activemri/experimental/cvpr19_models/data/dicom_data_loader.py [0:0]


    def __init__(self, root, scan_type=None, num_volumes=None):
        self.metadata = json.load(open(os.path.join(root, "metadata.json")))
        shape = (
            len(self.metadata["volumes"]),
            self.metadata["num_slices"],
            self.metadata["resolution"],
            self.metadata["resolution"],
        )
        self.volumes = np.memmap(
            os.path.join(root, "data.bin"), self.metadata["dtype"], "r"
        ).reshape(shape)

        volume_ids = []
        for i, volume in enumerate(self.metadata["volumes"]):
            if scan_type == "all" or volume["scan_type"] == scan_type:
                volume_ids.append(i)

        if num_volumes is not None:
            rng = np.random.RandomState(1234)
            rng.shuffle(volume_ids)
            volume_ids = volume_ids[:num_volumes]

        self.volume_ids = {i: id for i, id in enumerate(volume_ids)}