def annotationDensityPlot(pyroidb): """ From a pyroidb object, create a concentration plot of the annotations. """ clsToSet = loadDatasetIndexDict() matr = np.zeros((8,500,500)).astype(np.float64) cls_count = np.zeros((8)).astype(np.int) for box,cls in pyroidb: box = box.copy() * 500 xmin = int(box[0]) ymin = int(box[1]) xmax = int(box[2]) ymax = int(box[3]) matr[cls, ymin:ymax, xmin:xmax] += 1 cls_count[cls] += 1 for idx,cls in enumerate(cls_count): if cls == 0: continue print("{}: {}".format(clsToSet[idx],cls)) print(np.sum(matr[idx,...])) print(np.max(matr[idx,...])) matr[idx,...] /= np.sum(matr[idx,...]) print(np.sum(matr[idx,...])) print(np.max(matr[idx,...])) return matr
def annotationDensityPlot(pyroidb): """ From a pyroidb object, create a concentration plot of the annotations. """ clsToSet = loadDatasetIndexDict() matr = np.zeros((9, 500, 500)).astype(np.float64) cls_count = np.zeros((9)).astype(np.int) for box, cls in pyroidb: xmin = int(box[0]) ymin = int(box[1]) xmax = int(box[2]) ymax = int(box[3]) matr[cls - 1, (xmin - 1):xmax, (ymin - 1):ymax] += 1 cls_count[cls - 1] += 1 print(cls_count) print(sum(cls_count)) for idx, cls in enumerate(cls_count): if cls == 0: continue print("{}: {}".format(clsToSet[idx], cls)) matr[idx, ...] /= cls return matr
print("ave height: {} | std. height: {}".format( np.mean(heights), np.std(heights, dtype=np.float64))) prefix_path = cfg.IMDB_REPORT_OUTPUT_PATH if osp.exists(prefix_path) is False: os.makedirs(prefix_path) path = osp.join(prefix_path, "areas.dat") np.savetxt(path, areas, fmt='%.18e', delimiter=' ') path = osp.join(prefix_path, "widths.dat") np.savetxt(path, widths, fmt='%.18e', delimiter=' ') path = osp.join(prefix_path, "heights.dat") np.savetxt(path, heights, fmt='%.18e', delimiter=' ') print("-=-=-=-=-=-") clsToSet = loadDatasetIndexDict() print("as pytorch friendly ") pyroidb = RoidbDataset(roidb, [1, 2, 3, 4, 5, 6, 7, 8], loader=cv2.imread, transform=cropImageToAnnoRegion) if args.save: print("save 30 cropped annos in output folder.") saveDir = "./output/mixedDataReport/" if not osp.exists(saveDir): print("making directory: {}".format(saveDir)) os.makedirs(saveDir) for i in range(30):