File structure

.
└── nerf_synthetic/
    └── lego  /
        ├── test/
        │   ├── r_0_depth_0001.png
        │   ├── r_0_normal_0001.png
        │   ├── r_0.png
        │   ├── ...
        │   └── r_199.png
        ├── train/
        │   ├── r_0.png
        │   ├── ...
        │   └── r_99.png
        ├── val/
        │   ├── r_0.png
        │   ├── ...
        │   └── r_99.png
        ├── trainsforms_test.json
        ├── trainsforms_train.json
        └── trainsforms_val.json

Untitled

BlenderDataset

class BlenderDataset(Dataset):
    def __init__(self, datadir, split='train', downsample=1.0, is_stack=False, N_vis=-1):

        self.N_vis = N_vis
        self.root_dir = datadir
        self.split = split
        self.is_stack = is_stack
        self.img_wh = (int(800/downsample),int(800/downsample))
        self.define_transforms()

        self.scene_bbox = torch.tensor([[-1.5, -1.5, -1.5], [1.5, 1.5, 1.5]])
        self.blender2opencv = np.array([[1, 0, 0, 0], [0, -1, 0, 0], [0, 0, -1, 0], [0, 0, 0, 1]])
        self.read_meta()
        self.define_proj_mat()

        self.white_bg = True
        self.near_far = [2.0,6.0]
        
        self.center = torch.mean(self.scene_bbox, axis=0).float().view(1, 1, 3)
        self.radius = (self.scene_bbox[1] - self.center).float().view(1, 1, 3)
        self.downsample=downsample

def read_depth(self, filename)

def read_meta(self)