CNF:CNF Adaptivity
Introduction
In [9], the CRTC developed PODM, which is a parallel Image to Mesh conversion algorithm with quality and fidelity guarantees. Using PODM, JLab acquired the ability to convert their phase-space distribution images to meshes and then utilize them for Monte Carlo Simulations. Nonetheless, JLab requested that their phase-space distribution images should be converted to adaptive meshes, which means adapting the tessellation procedure to the n-dimensional features of their distribution.
In [10], CERN dealt with an equivalent problem and developed a general-purpose, self-adapting Monte Carlo (MC) event generator (simulator) Foam algorithm. Leveraging this algorithm, the CRTC developed an algorithm to support adaptive tessellation in N-D with user-defined parameters (minimum element size, element weight limit) and integrated it into its Mesh Generators, Tesselate 2D and PODM 3D. Similarly, this algorithm is separated into two stages. The first stage is the initialization of the adaptive function which in a sense extracts the n-dimensional features of the distribution image and saves its attributes. The second and most crucial stage is the check if the adaptive function needs to be applied to a specific element, and only then the element is split. First, it computes the necessary parameters of the geometry of the element, and then, if it meets those and user-defined parameters, the element is split. The check of the adaptive function is made if and only if the tested element meets all the Delaunay refinement rules of its Mesh Generator.
Algorithm
Simple Definition
The input image is used as a background(BG) mesh while refining the mesh. Before the beginning of the refinement, the input image is analyzed, and the image-weight-range along with the diagonal of the image is computed, The diagonal is used to define the minimum-element-edge-length and maximum-element-edge-length multiplied by the user-defined min-edge and max-edge diagonal percentages. The refinement algorithm queries the sizing function (SF) to verify whether each element satisfies the user constrains. Each time SF is called upon an element, it will check if it meets the size constraints minimum-element-edge-length and maximum-element-edge-size. Consequently, it will create a set SP of sampling points out of the element. This set consists of the element’s vertices, barycenter, and midpoints of vertices and barycenter. The sampling points that are preserved out of SP are those that lie within the BG mesh. Using the BG mesh, a set V of the values of SP is created. Subsequently, the element-weight-range = abs(max(V) - min(V)) is evaluated. If element-weight-range/image-weight-range exceeds the user constraint weight-limit, the element is split.
Results
- Podm Result of Gagic Data image with volume grading on and δ=6, minimum Volume Size = 0.5, limit = 0.1✔
- Produce an Animated Adaptive Procedure video http://www.cs.odu.edu/crtc/videos/PODM3D.html ✔
-> Input Image:
-> Image Segmentation
-> Meshing Procedure. This is a gif which is visible here: https://crtc.cs.odu.edu/images/8/89/AdaptiveMeshing.gif
-> Adapted mesh
-> Linear Interpolation