Internal:PODM 3D: Difference between revisions

From crtc.cs.odu.edu
Jump to navigation Jump to search
Spyridon97 (talk | contribs)
Spyridon97 (talk | contribs)
Line 51: Line 51:
# Produce the meshes for the Animated Adaptive Meshing Process and the January report✔
# Produce the meshes for the Animated Adaptive Meshing Process and the January report✔
# Produce Animated Process:✔
# Produce Animated Process:✔
## Input Image: [[File:InputImage.png|250px|InputImage]]
## [[File:InputImage.png|250px|InputImage]] -> Input Image:
## Image Segmentation: [[File:ImageSegmentation.png|250px|ImageSegmentation]]
## [[File:ImageSegmentation.png|250px|ImageSegmentation]] -> Image Segmentation
## Meshing Procedure: [[File:AdaptiveMeshing.gif|250px|AdaptiveMeshing]] this is a gif which is visible here: https://crtc.cs.odu.edu/images/8/89/AdaptiveMeshing.gif
## [[File:AdaptiveMeshing.gif|250px|AdaptiveMeshing]] -> Meshing Procedure. This is a gif which is visible here: https://crtc.cs.odu.edu/images/8/89/AdaptiveMeshing.gif
## Adapted mesh: [[File:AdaptedMesh.png|250px|AdaptedMesh]]
## [[File:AdaptedMesh.png|250px|AdaptedMesh]] -> Adapted mesh
## Linear Interpolation: [[File:LinearInterpolation.png|250px|LinearInterpolation]]✔
## [[File:LinearInterpolation.png|250px|LinearInterpolation]] -> Linear Interpolation
# Created videos of the meshing procedure that will be accessible on this site http://www.cs.odu.edu/crtc/videos/paraview.html✔
# Created videos of the meshing procedure that will be accessible on this site http://www.cs.odu.edu/crtc/videos/paraview.html✔



Revision as of 16:03, 8 November 2019

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)
  7. Remove IOs from PODM✔
  8. Separate the interface, the IOs and the filters from PODM✔
  9. Write a proper README.md file✔

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
  5. Create the infrastructure to support Sizing Function pointer✔
  6. Incorporate Function Pointer to PODM✔

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. Understand that the current implementation supports negative weights✔
  4. Change the current implementation to use the minimum-maximum edge length of the element instead of the volume✔
  5. Identify an issue of checking sample points outside the image and solve it according to Christos's suggestions✔
  6. Test Adaptivity with all the Images in Box✔
  7. Create meshes out of all the images on CNF_SHARE that are representative examples of adaptivity
  8. Add those meshes to https://crtc.cs.odu.edu/CNF:Example_Meshes

Animated Adaptive Meshing Process

  1. Produce the meshes for the Animated Adaptive Meshing Process and the January report✔
  2. Produce Animated Process:✔
    1. InputImage -> Input Image:
    2. ImageSegmentation -> Image Segmentation
    3. AdaptiveMeshing -> Meshing Procedure. This is a gif which is visible here: https://crtc.cs.odu.edu/images/8/89/AdaptiveMeshing.gif
    4. AdaptedMesh -> Adapted mesh
    5. LinearInterpolation -> Linear Interpolation
  3. Created videos of the meshing procedure that will be accessible on this site http://www.cs.odu.edu/crtc/videos/paraview.html✔

Multiple δ

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