Class NeRFNetwork<T>
Neural Radiance Field network for 3D representation.
public class NeRFNetwork<T>
Type Parameters
TThe numeric type.
- Inheritance
-
NeRFNetwork<T>
- Inherited Members
Constructors
NeRFNetwork(int, int, int?)
Initializes a new NeRF network.
public NeRFNetwork(int hiddenDim = 64, int numLayers = 4, int? seed = null)
Parameters
hiddenDimintHidden layer dimension.
numLayersintNumber of hidden layers.
seedint?Optional random seed.
Properties
ParameterCount
Gets the total parameter count.
public int ParameterCount { get; }
Property Value
Methods
GetParameters()
Gets all network parameters.
public Vector<T> GetParameters()
Returns
- Vector<T>
Initialize()
Initializes network weights.
public void Initialize()
QueryDensity(double, double, double)
Queries the density at a 3D point.
public double QueryDensity(double x, double y, double z)
Parameters
Returns
Render(CameraPose, int)
Renders an image from the NeRF at a given camera pose.
public Tensor<T> Render(CameraPose cameraPose, int resolution)
Parameters
cameraPoseCameraPoseThe camera pose.
resolutionintOutput image resolution.
Returns
- Tensor<T>
Rendered image as tensor [H, W, 3].
SetParameters(Vector<T>)
Sets network parameters.
public void SetParameters(Vector<T> parameters)
Parameters
parametersVector<T>
UpdateParameters(Tensor<T>, CameraPose, double)
Updates network parameters using gradient.
public void UpdateParameters(Tensor<T> gradient, CameraPose cameraPose, double learningRate)
Parameters
gradientTensor<T>cameraPoseCameraPoselearningRatedouble