The vlVolume class does not store the volume data by itself. Instead, it uses the Volume Data Layout object to store the data. The main purpose of the Volume API is to provide information about the volume and file input/output functionality. The volume information such as the dimension, voxel units, etc., is simply fetched from the underlying data layout object and exported. There is also provision for associating additional information (metadata) with a volume such as author name, the name of the file from which the volume was loaded, date of creation, etc. Metadata of any type can be associated with a volume.
The Volume API provides two important functions for file i/o. The read() function is provided to read volumetric data from a file and write() function is provided to write the data to a file. The file format to be used is automatically detected (using the file extension) and the appropriate file format plugin is called to read or write. Optionally, the file format can be specified when calling read/write. The file i/o unit of OpenVL is discussed in the next section.