from uvisbox.Core.CellsCrossingProb.crossing_probability_mc import crossing_probability_squares_monte_carlo
[docs]
def probabilistic_marching_squares_summary_statistics(ensemble_images, isovalue):
"""
Compute level crossing probability for probabilistic marching squares.
This function calculates the probability of an isocontour crossing through each
cell in a 2D grid based on an ensemble of scalar fields.
Parameters
-----------
ensemble_images : np.ndarray
3D array of shape ``(y_dim, x_dim, n_ensemble)`` representing the
scalar field with ensemble members.
isovalue : float
The isovalue for which to compute the contour crossing probability.
Returns
--------
dict
Contains ``level_crossing_probability``, a 2D array of shape
``(y_dim - 1, x_dim - 1)`` with values from 0 to 1.
"""
prob_contour = crossing_probability_squares_monte_carlo(ensemble_images, isovalue)
return {'level_crossing_probability': prob_contour}