in datasets/depth_dataset.py [0:0]
def __getitem__(self, idx):
cfg = self.cfg
# TODO: this doesn't yet handle the case where the length of datasets
# could be different.
if cfg["DATA_TYPE"] == "point_vox":
item = {"data": [], "data_valid": [], "data_moco": [], "vox": [], "vox_moco": []}
data, valid = self.load_data(idx)
item["data"].append(data)
item["data_moco"].append(np.copy(data))
item["vox"].append(np.copy(data))
item["vox_moco"].append(np.copy(data))
item["data_valid"].append(1 if valid else -1)
else:
item = {"data": [], "data_moco": [], "data_valid": [], "data_idx": []}
data, valid = self.load_data(idx)
item["data"].append(data)
item["data_moco"].append(np.copy(data))
item["data_valid"].append(1 if valid else -1)
### Make copies for moco setting
item["label"] = []
item["label"].append(idx)
### Apply the transformation here
if (cfg["DATA_TYPE"] == "point_vox"):
tempitem = {"data": item["data"]}
tempdata = get_transform3d(tempitem, cfg["POINT_TRANSFORMS"])
item["data"] = tempdata["data"]
tempitem = {"data": item["data_moco"]}
tempdata = get_transform3d(tempitem, cfg["POINT_TRANSFORMS"])
item["data_moco"] = tempdata["data"]
tempitem = {"data": item["vox"]}
tempdata = get_transform3d(tempitem, cfg["POINT_TRANSFORMS"], vox=True)
coords = tempdata["data"][0][:,:3]
feats = tempdata["data"][0][:,3:6]*255.0#np.ones(coords.shape)*255.0
labels = np.zeros(coords.shape[0]).astype(np.int32)
item["vox"] = [self.toVox(coords, feats, labels)]
tempitem = {"data": item["vox_moco"]}
tempdata = get_transform3d(tempitem, cfg["POINT_TRANSFORMS"], vox=True)
coords = tempdata["data"][0][:,:3]
feats = tempdata["data"][0][:,3:6]*255.0#np.ones(coords.shape)*255.0
labels = np.zeros(coords.shape[0]).astype(np.int32)
item["vox_moco"] = [self.toVox(coords, feats, labels)]
else:
tempitem = {"data": item["data"]}
tempdata = get_transform3d(tempitem, cfg["POINT_TRANSFORMS"], vox=cfg["VOX"])
if cfg["VOX"]:
coords = tempdata["data"][0][:,:3]
feats = tempdata["data"][0][:,3:6]*255.0
labels = np.zeros(coords.shape[0]).astype(np.int32)
item["data"] = [self.toVox(coords, feats, labels)]
else:
item["data"] = tempdata["data"]
tempitem = {"data": item["data_moco"]}
tempdata = get_transform3d(tempitem, cfg["POINT_TRANSFORMS"], vox=cfg["VOX"])
if cfg["VOX"]:
coords = tempdata["data"][0][:,:3]
feats = tempdata["data"][0][:,3:6]*255.0#np.ones(coords.shape)*255.0
labels = np.zeros(coords.shape[0]).astype(np.int32)
item["data_moco"] = [self.toVox(coords, feats, labels)]
else:
item["data_moco"] = tempdata["data"]
return item