![]() |
Inviwo 0.9.12-pre
Inviwo documentation
|
A VolumeLoader that reads one time-varying HDF5 dataset with rank >= 4, treating one dimension as the time axis and the remaining three as the volume axes. More...
#include <modules/hdf5/hdf5temporalvolumeloader.h>
Inheritance diagram for inviwo::hdf5::HDF5TemporalVolumeLoader:Public Member Functions | |
| HDF5TemporalVolumeLoader (Handle handle, std::vector< Selection > selection, size_t timeDimension, Seconds dt, VolumeConfig config) | |
| virtual std::shared_ptr< Volume > | load (size_t index, std::shared_ptr< Volume > reuse, std::stop_token stop) const override |
| virtual VolumeConfig | prototype () const override |
| virtual size_t | size () const override |
| Total number of frames. | |
| virtual Seconds | time (size_t index) const override |
Public Member Functions inherited from inviwo::TemporalVolumeLoader | |
| TemporalVolumeLoader & | operator= (const TemporalVolumeLoader &)=default |
| TemporalVolumeLoader & | operator= (TemporalVolumeLoader &&)=default |
| TemporalVolumeLoader (const TemporalVolumeLoader &)=default | |
| TemporalVolumeLoader (TemporalVolumeLoader &&)=default | |
A VolumeLoader that reads one time-varying HDF5 dataset with rank >= 4, treating one dimension as the time axis and the remaining three as the volume axes.
selection must have one entry per dataset dimension in column major (Inviwo) order, i.e. [extraDims..., X, Y, Z], as returned by DimSelectionsProperty::getSelection(). The entry at timeDimension is re-targeted per frame; every other "extra" entry (i.e. every entry before the trailing X/Y/Z ones) must clamp to a single index, or construction throws.
| inviwo::hdf5::HDF5TemporalVolumeLoader::HDF5TemporalVolumeLoader | ( | Handle | handle, |
| std::vector< Selection > | selection, | ||
| size_t | timeDimension, | ||
| Seconds | dt, | ||
| VolumeConfig | config ) |
| handle | HDF5 handle already pointing at the dataset to read |
| selection | one Selection per dataset dimension, column major order |
| timeDimension | index into selection designating the time axis |
| dt | time between consecutive frames |
| config | the prototype VolumeConfig to use |
|
overridevirtual |
Load the volume at the given index. May be called from a background thread, hence implementations must be re-entrant and thread-safe.
| reuse | an optional volume whose storage may be reused to avoid reallocation. It may be null and must be ignored if its format or dimensions do not match the frame. |
| stop | cancellation token. Implementations should poll stop.stop_requested() at natural checkpoints and return nullptr as soon as a stop is requested. A partially written reuse volume is discarded by the caller. |
Implements inviwo::TemporalVolumeLoader.
|
overridevirtual |
A prototype VolumeConfig describing dimensions, format, basis, dataMap, and axes — but no voxel data. Used by downstream consumers that need metadata without triggering a load.
Implements inviwo::TemporalVolumeLoader.
|
overridevirtual |
Total number of frames.
Implements inviwo::TemporalVolumeLoader.
|
overridevirtual |
Physical time value for frame index. The values are expected to be sorted in ascending order.
Implements inviwo::TemporalVolumeLoader.