Internal:PODM 3D: Difference between revisions

From crtc.cs.odu.edu
Jump to navigation Jump to search
Spyridon97 (talk | contribs)
No edit summary
Spyridon97 (talk | contribs)
No edit summary
Line 9: Line 9:
## Create a list of functions that need to be modified to implement the extra Rule ✔
## Create a list of functions that need to be modified to implement the extra Rule ✔
## Modify the created list ([https://docs.google.com/spreadsheets/d/13M6qLRtS3wMH5B8vXwcqA-gP2b9p8QGwbhrn68VXoj0/edit#gid=0 Extra Rule sizing Function list]) of functions✔
## Modify the created list ([https://docs.google.com/spreadsheets/d/13M6qLRtS3wMH5B8vXwcqA-gP2b9p8QGwbhrn68VXoj0/edit#gid=0 Extra Rule sizing Function list]) of functions✔
## Create a test sizing function to understand if modifications have been done correctly (A)
## Create a test sizing function to understand if modifications have been done correctly✔
### I created a Cube image with Dimensions 110x110x110. I executed PODM with volume grading on and δ=10.
### The sizing function is <syntaxhighlight lang="c++" line='line'>
### The sizing function is <syntaxhighlight lang="c++" line='line'>
bool checkSizingFunction(double coordinatesOfTetrahedron**)
bool checkSizingFunction(double coordinatesOfTetrahedron**)
Line 24: Line 23:
}
}
</syntaxhighlight>
</syntaxhighlight>
### Output: [[File:SizingFunctionFirstVersion.png|500px|Sizing-Function-First-Version]]
Cube image with Dimensions 110x110x110. I executed PODM with volume grading on and δ=10
### Output Description: it seems like it's diagonal. And my first guess is that this happens because we add circumcenters, which can be out of a tetrahedron
### Podm Result of Cube image with Dimensions 110x110x110, volume grading on and δ=10 [[File:CubeTestSizingFunction.png|500px|CubeTestSizingFunction]]
### Podm Result of Sphereimage with radius = 55, volume grading on and δ=10 [[File:SphereTestSizingFunction.png|500px|SphereTestSizingFunction]]
## Implement adaptivity in 3D inside sizingFunction using Christos Code (B)
## Implement adaptivity in 3D inside sizingFunction using Christos Code (B)
# Identify places in the code where δ varies with regards to background values (C)
# Identify places in the code where δ varies with regards to background values (C)
# Test if multiple δ work using synthetically generated image data (D)
# Test if multiple δ work using synthetically generated image data (D)
# Need extra test cases from Gagik for Adaptivity (E)
# Need extra test cases from Gagik for Adaptivity (E)

Revision as of 17:27, 18 October 2019

  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. Create an extra Rule which will be a user defined sizingFunction that gets a tetrahedron when all rules are met✔
    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 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
        }
        

Cube image with Dimensions 110x110x110. I executed PODM with volume grading on and δ=10

      1. Podm Result of Cube image with Dimensions 110x110x110, volume grading on and δ=10 CubeTestSizingFunction
      2. Podm Result of Sphereimage with radius = 55, volume grading on and δ=10 SphereTestSizingFunction
    1. Implement adaptivity in 3D inside sizingFunction using Christos Code (B)
  1. Identify places in the code where δ varies with regards to background values (C)
  2. Test if multiple δ work using synthetically generated image data (D)
  3. Need extra test cases from Gagik for Adaptivity (E)