def std_features(img, pcloud): points = pcloud.get_numpy() feat = np.std(points, axis=0) feat[0] /= float(img.shape[0]) feat[1] /= float(img.shape[0]) # feat[2]/=250.0 return list(feat)
def pca_features(img, pcloud): feats = [] pca = PCA(n_components=3) pca.fit(pcloud.get_numpy()) feats += list(pca.explained_variance_ratio_) for comp_i in pca.components_: feats += list(comp_i) return feats
def corl_features(img, pcloud): feats = [] points = pcloud.get_numpy() dim = pcloud.dims for x_i in range(dim): for y_i in range(dim): if x_i != y_i: corr_xy = scipy.stats.pearsonr(points[:, x_i], points[:, y_i]) feats.append(corr_xy[0]) return feats
def skewness_features(img, pcloud): feats = [] points = pcloud.get_numpy() dim = pcloud.dims for x_i in range(dim): print(points[:, x_i].shape) corr_xy = st.skew(points[:, x_i]) feats.append(corr_xy) # print(feats) return feats