Surface Plotter

Overview

The Surface Plotter module offers an interactive 3D visualization interface for DataCube objects. By combining slicing, threshold-based opacity control, and real-time rotation, it enables in-depth exploration of spatial and spectral features in chemical imaging datasets. This tool is particularly useful for applications such as mapping molecule concentration gradients in engineering processes.

Function: wizard.plot_surface(dc)

wizard._exploration.surface.plot_surface(dc, index=0)[source]

Create an interactive 3D surface plot from a DataCube slice.

This function visualizes a DataCube by plotting a 3D surface of a selected spectral band. Users can manipulate two sliders: one to change the wavelength index (spectral band) and another to adjust the normalized cut-off threshold, updating the plot in real time.

Parameters:
  • dc (DataCube) – DataCube instance

  • index (int, optional) – Initial spectral index to display (default is 0).

Return type:

None

Notes

  • The wavelength slider is labeled with actual wavelength values at evenly

spaced ticks. - The cut-off slider normalizes data slices between 0 and 1 before thresholding. - Use the sliders to explore spectral variation and mask out low-intensity regions.

Examples

>>> import wizard
>>> dc = wizard.DataCube(np.random.rand(10, 100, 100), wavelengths=list(np.linspace(400, 700, 10)))
>>> wizard.plot_surface(dc, index=5)

Paper Reference

The Surface Plotter was employed in the study Three-Dimensional, Molecule-Sensitive Mapping of Structured Falling Liquid Films Using Raman Scanning. Below is the graphical abstract linked to the full paper:

Graphical abstract of "Three-Dimensional, Molecule-Sensitive Mapping of Structured Falling Liquid Films Using Raman Scanning"

Three-Dimensional, Molecule-Sensitive Mapping of Structured Falling Liquid Films Using Raman Scanning, by Nachtmann et al.

Example Usage

Example of the surface plotter function in action.

Example of the surface plotter function in action.