def __getitem__()

in covidprognosis/data/mimic_cxr.py [0:0]


    def __getitem__(self, idx: int) -> Dict:
        assert self.csv is not None
        exam = self.csv.iloc[idx]

        subject_id = str(exam["subject_id"])
        study_id = str(exam["study_id"])
        dicom_id = str(exam["dicom_id"])

        filename = self.directory / "2.0.0" / "files"
        filename = (
            filename
            / "p{}".format(subject_id[:2])
            / "p{}".format(subject_id)
            / "s{}".format(study_id)
            / "{}.jpg".format(dicom_id)
        )
        image = self.open_image(filename)

        metadata = self.retrieve_metadata(idx, filename, exam)

        # retrieve labels while handling missing ones for combined data loader
        labels = np.array(exam.reindex(self.label_list)[self.label_list]).astype(
            np.float
        )

        sample = {"image": image, "labels": labels, "metadata": metadata}

        if self.transform is not None:
            sample = self.transform(sample)

        return sample