docstr: args:
      points: [B, 3, N] 3d points in world space
      images: [B, C, H, W] input images
      calibs: [B, 3, 4] calibration matrices for each image
      transforms: [B, 2, 3] image space coordinate transforms
  return:
      [B, C, N] prediction corresponding to the given points
docstr_tok: ["args",":","points",":","[","B",",","3",",","N","]","3d","points","in","world","space","images",":","[","B",",","C",",","H",",","W","]","input","images","calibs",":","[","B",",","3",",","4","]","calibration","matrices","for","each","image","transforms",":","[","B",",","2",",","3","]","image","space","coordinate","transforms","return",":","[","B",",","C",",","N","]","prediction","corresponding","to","the","given","points"]
code: def forward(self, points, images, calibs, transforms=None):
      """
      args:
          points: [B, 3, N] 3d points in world space
          images: [B, C, H, W] input images
          calibs: [B, 3, 4] calibration matrices for each image
          transforms: [B, 2, 3] image space coordinate transforms
      return:
          [B, C, N] prediction corresponding to the given points
      """
      self.filter(images)
      self.query(points, calibs, transforms)
      return self.get_preds()
  
file_path: pifuhd/lib/model/BasePIFuNet.py
imports: import torch
  import torch.nn
  import torch.nn.functional
  from ..geometry import index, orthogonal, perspective
label_desc: Use image node_id 2 for calling the BasePIFuNet obj's underlying member method code with example usage: obj.forward(points, images, calibs, transforms) and returns: self