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