def METHOD_NAME(self, points, calibs, transforms=None, labels=None):
    '''
    Given 3D points, query the network predictions for each point.
    Image features should be pre-computed before this call.
    store all intermediate features.
    query() function may behave differently during training/testing.
    :param points: [B, 3, N] world space coordinates of points
    :param calibs: [B, 3, 4] calibration matrices for each image
    :param transforms: Optional [B, 2, 3] image space coordinate transforms
    :param labels: Optional [B, Res, N] gt labeling
    :return: [B, Res, N] predictions for each point
    '''
    if labels is not None:
        self.labels = labels
    xyz = self.projection(points, calibs, transforms)
    xy = xyz[:, :2, :]
    z = xyz[:, 2:3, :]
    z_feat = self.normalizer(z)
    # This is a list of [B, Feat_i, N] features
    point_local_feat_list = [self.index(self.im_feat, xy), z_feat]
    # [B, Feat_all, N]
    point_local_feat = torch.cat(point_local_feat_list, 1)
    self.preds = self.surface_classifier(point_local_feat)