A multivariate/multimodal volume visualizer!
This RadVolViz-inspired prototype utilizes trame and VTK to render multi-channel volumetric datasets.
To install, first ensure you are in an environment using Python3.10 or newer, and then run the following command:
pip install multivariate-view
Next, run multivariate-view
, or mv-view
, to start the application. If no --data
path is provided, it will
automatically download and load the example dataset pictured above.
cd vue-components
npm i
npm run build
cd -
pip install -U pip
pip install -e .
The example dataset pictured above is from the reconstruction of an X-ray fluorescence tomography of a mixed ionic-electronic conductor (MIEC) from the following article:
Ge, M., Huang, X., Yan, H. et al. Three-dimensional imaging of grain boundaries via quantitative fluorescence X-ray tomography analysis. Commun Mater 3, 37 (2022). https://doi.org/10.1038/s43246-022-00259-x
This example dataset is downloaded automatically and loaded if the application is started without providing a --data
path. Utilizing the lens in MultivariateView produces visualizations of the following phases:
Note: the EP1 phase from the paper is comprised of fewer voxels and is more difficult to visualize without data filters
Two of the easiest formats to use are HDF5 and NPZ. For both of these file types, each channel of the volume should have its own dataset at the top level, and each dataset must be identical in shape and datatype. There should be no other datasets present.
If the application is started with multivariate-view --data /path/to/data.h5
, then all root level datasets will be loaded automatically and visualized.