Colormaps#

Helper functions for visualizing outputs

class nerfstudio.utils.colormaps.ColormapOptions(colormap: Literal['default', 'turbo', 'viridis', 'magma', 'inferno', 'cividis', 'gray', 'pca'] = 'default', normalize: bool = False, colormap_min: float = 0, colormap_max: float = 1, invert: bool = False)[source]#

Bases: object

Options for colormap

colormap: Literal['default', 'turbo', 'viridis', 'magma', 'inferno', 'cividis', 'gray', 'pca'] = 'default'#

The colormap to use

colormap_max: float = 1#

Maximum value for the output colormap

colormap_min: float = 0#

Minimum value for the output colormap

invert: bool = False#

Whether to invert the output colormap

normalize: bool = False#

Whether to normalize the input tensor image

nerfstudio.utils.colormaps.apply_boolean_colormap(image: Bool[Tensor, '*bs 1'], true_color: Float[Tensor, '*bs rgb=3'] = tensor([1., 1., 1.]), false_color: Float[Tensor, '*bs rgb=3'] = tensor([0., 0., 0.])) Float[Tensor, '*bs rgb=3'][source]#

Converts a depth image to color for easier analysis.

Parameters
  • image – Boolean image.

  • true_color – Color to use for True.

  • false_color – Color to use for False.

Returns

Colored boolean image

nerfstudio.utils.colormaps.apply_colormap(image: Float[Tensor, '*bs channels'], colormap_options: ColormapOptions = ColormapOptions(colormap='default', normalize=False, colormap_min=0, colormap_max=1, invert=False), eps: float = 1e-09) Float[Tensor, '*bs rgb=3'][source]#

Applies a colormap to a tensor image. If single channel, applies a colormap to the image. If 3 channel, treats the channels as RGB. If more than 3 channel, applies a PCA reduction on the dimensions to 3 channels

Parameters
  • image – Input tensor image.

  • eps – Epsilon value for numerical stability.

Returns

Tensor with the colormap applied.

nerfstudio.utils.colormaps.apply_depth_colormap(depth: Float[Tensor, '*bs 1'], accumulation: Optional[Float[Tensor, '*bs 1']] = None, near_plane: Optional[float] = None, far_plane: Optional[float] = None, colormap_options: ColormapOptions = ColormapOptions(colormap='default', normalize=False, colormap_min=0, colormap_max=1, invert=False)) Float[Tensor, '*bs rgb=3'][source]#

Converts a depth image to color for easier analysis.

Parameters
  • depth – Depth image.

  • accumulation – Ray accumulation used for masking vis.

  • near_plane – Closest depth to consider. If None, use min image value.

  • far_plane – Furthest depth to consider. If None, use max image value.

  • colormap – Colormap to apply.

Returns

Colored depth image with colors in [0, 1]

nerfstudio.utils.colormaps.apply_float_colormap(image: Float[Tensor, '*bs 1'], colormap: Literal['default', 'turbo', 'viridis', 'magma', 'inferno', 'cividis', 'gray', 'pca'] = 'viridis') Float[Tensor, '*bs rgb=3'][source]#

Convert single channel to a color image.

Parameters
  • image – Single channel image.

  • colormap – Colormap for image.

Returns

Colored image with colors in [0, 1]

Return type

Tensor

nerfstudio.utils.colormaps.apply_pca_colormap(image: Float[Tensor, '*bs dim'], pca_mat: Optional[Float[Tensor, 'dim rgb=3']] = None, ignore_zeros=True) Float[Tensor, '*bs rgb=3'][source]#

Convert feature image to 3-channel RGB via PCA. The first three principle components are used for the color channels, with outlier rejection per-channel

Parameters
  • image – image of arbitrary vectors

  • pca_mat – an optional argument of the PCA matrix, shape (dim, 3)

  • ignore_zeros – whether to ignore zero values in the input image (they won’t affect the PCA computation)

Returns

Colored image

Return type

Tensor