class_docstr: Full resolution voxel grid equivalent to 4D tensor where shape is
  (features, width, height, depth) with linear interpolation between voxels.
class_docstr_tok: ["Full","resolution","voxel","grid","equivalent","to","4D","tensor","where","shape","is","(","features",",","width",",","height",",","depth",")","with","linear","interpolation","between","voxels","."]
docstr: Evaluates the voxel grid at points in the local coordinate frame,
  The interpolation type is determined by the `mode` member.
  
  Arguments:
      points (torch.Tensor): tensor of points that you want to query
          of a form (..., 3), in a normalized form (coordinates are in [-1, 1])
      grid_values: an object of type values_type which has tensors as
          members which have shapes derived from the get_shapes() method
  Returns:
      torch.Tensor: shape (n_grids, ..., n_features)
docstr_tok: ["Evaluates","the","voxel","grid","at","points","in","the","local","coordinate","frame",",","The","interpolation","type","is","determined","by","the","`","mode","`","member",".","Arguments",":","points","(","torch.Tensor",")",":","tensor","of","points","that","you","want","to","query","of","a","form","(","...",",","3",")",",","in","a","normalized","form","(","coordinates","are","in","[","-1",",","1","]",")","grid_values",":","an","object","of","type","values_type","which","has","tensors","as","members","which","have","shapes","derived","from","the","get_shapes","(",")","method","Returns",":","torch.Tensor",":","shape","(","n_grids",",","...",",","n_features",")"]
code: def evaluate_local(
      self,
      points: torch.Tensor,
      grid_values: FullResolutionVoxelGridValues,
  ) -> torch.Tensor:
      """
      Evaluates the voxel grid at points in the local coordinate frame,
      The interpolation type is determined by the `mode` member.
  
      Arguments:
          points (torch.Tensor): tensor of points that you want to query
              of a form (..., 3), in a normalized form (coordinates are in [-1, 1])
          grid_values: an object of type values_type which has tensors as
              members which have shapes derived from the get_shapes() method
      Returns:
          torch.Tensor: shape (n_grids, ..., n_features)
      """
      # (n_grids, n_points_total, n_features) from (n_grids, ..., n_features)
      recorded_shape = points.shape
      points = points.view(points.shape[0], -1, points.shape[-1])
      interpolated = interpolate_volume(
          points,
          grid_values.voxel_grid,
          align_corners=self.align_corners,
          padding_mode=self.padding,
          mode=self.mode,
      )
      return interpolated.view(*recorded_shape[:-1], -1)
  
imports: import logging
  import warnings
  from collections.abc import Mapping
  from dataclasses import dataclass, field
  from distutils.version import LooseVersion
  from typing import Any, Callable, ClassVar, Dict, Iterator, List, Optional, Tuple, Type
  import torch
  from omegaconf import DictConfig
  from pytorch3d.implicitron.tools.config import Configurable, registry, ReplaceableBase, run_auto_creation
  from pytorch3d.structures.volumes import VolumeLocator
  from .utils import interpolate_line, interpolate_plane, interpolate_volume
label_desc: Use image node_id 1 for calling the FullResolutionVoxelGrid obj's underlying member method code with example usage: obj.evaluate_local(points, grid_values) and returns: interpolated