Volume Loader#
Authors: Holoscan Team (NVIDIA)
Supported platforms: x86_64, aarch64
Language: C++
Last modified: March 9, 2026
Latest version: 1.0.0
Minimum Holoscan SDK version: 0.6.0
Tested Holoscan SDK versions: 0.6.0, 1.0.3, 2.0.0, 2.1.0
Contribution metric: Level 1 - Highly Reliable
The volume_loader operator reads 3D volumes from the specified input file.
Supported Formats#
The operator supports these medical volume file formats:
- MHD (MetaImage)
- Detached-header format only (
.mhd+.raw) - NIFTI
- NRRD (Nearly Raw Raster Data)
- Attached-header format (
.nrrd) - Detached-header format (
.nhdr+.raw)
You must convert your data to one of these formats to load it with VolumeLoaderOp. Some third party open source
tools for volume file format conversion include:
- Command Line Tools
- the Insight Toolkit (ITK) (PyPI, Image IO Examples)
- SimpleITK (PyPI)
- Utah NRRD Utilities (unu)
- GUI Applications
- 3D Slicer
- ImageJ
API#
holoscan::ops::VolumeLoaderOp#
Operator class to read a volume.
Parameters#
file_name: Volume data file name- type:
std::string allocator: Allocator used to allocate the volume data- type:
std::shared_ptr<Allocator>
Outputs#
volume: Output volume data- type:
nvidia::gxf::Tensor spacing: Physical size of each volume element- type:
std::array<float, 3> permute_axis: Volume axis permutation of data space to world space, e.g. if x and y of a volume is swapped this is {1, 0, 2}- type:
std::array<uint32_t, 3> flip_axes: Volume axis flipping from data space to world space, e.g. if x is flipped this is {true, false, false}- type:
std::array<bool, 3> extent: Physical size of the the volume in world space- type:
std::array<float, 3>
API Reference#
holoscan::ops::Volume#
This class holds the data and information for 3D volume.
Methods#
| Method | Description |
|---|---|
bool SetOrientation(const std::string &orientation) |
Set the orientation of the volume using anatomical orientation and defines the transformation of the anatomical orientation to the image coordinate system. Each axis U, V, W of the image coordinate system is described using one character of the anatomical orientation system: A - Anterior (front) P - Posterior (back) S - Superior (head) I - Inferior (feet) L - Left R - Right orientation [in] a string describing the anatomical orientation |
holoscan::ops::VolumeLoaderOp#
Inherits from: holoscan::Operator
Methods#
| Method | Description |
|---|---|
void initialize() override |
|
void setup(OperatorSpec &spec) override |
|
void compute(InputContext &, OutputContext &op_output, ExecutionContext &) override |
VolumeLoaderOp#
The volume_loader operator reads 3D volumes from the specified input file.
The operator supports these file formats: * MHD https://itk.org/Wiki/ITK/MetaIO/Documentation * NIFTI https://nifti.nimh.nih.gov/ * NRRD https://teem.sourceforge.net/nrrd/format.html
Constructor Parameters#
| Parameter | Type | Required | Description |
|---|---|---|---|
fragment |
Fragment |
Required | The fragment that the operator belongs to. |
allocator |
holoscan.resources.Allocator |
Required | Allocator used to allocate the volume data |
file_name |
str |
Optional | Volume data file name |
name |
str |
Optional | The name of the operator. |
Methods#
initialize: Initialize the operator.setup: Define the operator specification.