uvisbox.Modules.CurveBoxplot.curve_boxplot_mesh
Module Contents
- uvisbox.Modules.CurveBoxplot.curve_boxplot_mesh.curve_boxplot_mesh(summary_stats)[source]
Build triangular mesh for curve band depth visualization.
This function generates triangular meshes for each percentile band using the sorted curves from the summary statistics. For 2D curves, it uses ConvexHull and Delaunay triangulation with a center point. For 3D curves, it uses the ConvexHull faces directly.
- Parameters:
summary_stats (dict) – Output from
curve_boxplot_summary_statisticscontaining sorted curves, percentile values, and dimensionality.- Returns:
mesh_data – Contains
percentile_meshes,median_curve,outliers, andn_dims. Each percentile mesh is a(points, triangles)tuple; points have shape(n_points, n_dims)and triangles have shape(n_triangles, 3).- Return type:
dict
Examples
>>> import numpy as np >>> from uvisbox.Modules.CurveBoxplot.curve_boxplot_stats import curve_boxplot_summary_statistics >>> from uvisbox.Modules.CurveBoxplot.curve_boxplot_mesh import curve_boxplot_mesh >>> >>> # Generate synthetic curve data >>> curves = np.random.randn(50, 100, 2).cumsum(axis=1) >>> >>> # Compute statistics >>> stats = curve_boxplot_summary_statistics(curves) >>> >>> # Build mesh >>> mesh_data = curve_boxplot_mesh(stats) >>> >>> # Access mesh for 50th percentile >>> points, triangles = mesh_data['percentile_meshes']['50_percentile_mesh'] >>> print(f"Mesh has {points.shape[0]} points and {triangles.shape[0]} triangles")