def __init__(self, csv_file, root_dir, transform=None): self.annotations = pd.read_csv(csv_file) self.root_dir = root_dir self.transform = transform def __len__(self): return len(self.annotations) def __getitem__(self, index): # return specific image and target for image # Some aspect of the code ignores the first row of the csv file and treats as the header img_path = os.path.join(self.root_dir, self.annotations.iloc[index, 0]) # pytorch chooses index. idea sytem looks up file name in the labels file # and then finds corresponding image/file in the relevant folder image = np.load(img_path) y_label = torch.tensor(int(self.annotations.iloc[index, 1])) # reading column 1 as the label if self.transform: image = self.transform(image) return (image, y_label) # the y_label is it being assigned 0, 1.
This is my current custom dataset for my 2D case. I now have 3D images (dimensions 30 x 30 x 30 x 3), however I am unsure what to adjust here.
Folloeing on from this, how does one visualise a pure 3D image on matplotlib. I am aware of how I can do it on plotly, however, I want to visualise batches (previously used plt.imshow, however this only has 2d inputs). Any help would be much appreciated!