Internal:PODM 3D

From crtc.cs.odu.edu
Revision as of 12:05, 28 October 2019 by Spyridon97 (talk | contribs)
Jump to navigation Jump to search

Explore Code

  1. Read PODM3D paper✔
  2. Install all PODM3D libraries✔
  3. Compile PODM3D code✔
  4. Restructure repository of PODM3D based on Software engineering standards✔
  5. Execute PODM3D✔
  6. Read Guaranteed Quality Tetrahedral Delaunay Meshing for Medical Images paper (Sect. 9)

Adaptivity

Implementation of Sizing Function

  1. Create UML diagrams to understand the code and the Meshing Procedure in general✔
  2. Create a list of functions that need to be modified to implement the extra Rule ✔
  3. Modify the created list (Extra Rule sizing Function list) of functions✔
  4. Create a test sizing function to understand if modifications have been done correctly✔
    1. The test sizing function is
      bool checkSizingFunction(double coordinatesOfTetrahedron**)
      {
          double volume = volume(coordinatesOfTetrahedron);
          double* baryCenter = baryCenter(coordinatesOfTetrahedron)
          
          // if x axis <= 55 and volume of tetrahedron > 10
          if (baryCenter[0] <= 55 && volume > 10)
             return true;
          else
             return false
      }
      
    2. Podm Result of Cube image with Dimensions 110x110x110 and Sphere image with radius = 55, volume grading on and δ=10
      1. Cube: CubeTestSizingFunction
      2. Sphere: SphereTestSizingFunction

Implementation of Adaptivity

  1. Implement Adaptivity in inside sizingFunction using Christos Code✔
  2. Podm Result of Gagic Data image with volume grading on and δ=6, minimum Volume Size = 0.5, limit = 0.1
    1. 2D (Triangle): Nt2DAdaptivity (Done by Christos)
    2. 3D (PODM): Nt3DAdaptivity (Done with Christos)
  3. Handle cases with negative weight (rescale them)
  4. Test Adaptivity with extra images (cases) from Gagik Gavalian
  5. Create Sizing Function pointer

Animated Meshing Process

  1. Produce the meshes for the Meshing Process video and the January report✔
  2. Animated Process:InputImageImageSegmentationAdaptiveMeshingAdaptedMeshLinearInterpolation✔
  3. The 3rd Image is a gif, which is visible here: https://crtc.cs.odu.edu/images/8/89/AdaptiveMeshing.gif

Multiple δ

  1. Identify places in the code where δ varies with regards to background values
  2. Test if multiple δ work using synthetically generated image data