Explore Code
- Read PODM3D paper✔
- Install all PODM3D libraries✔
- Compile PODM3D code✔
- Restructure repository of PODM3D based on Software engineering standards✔
- Execute PODM3D✔
- Read Guaranteed Quality Tetrahedral Delaunay Meshing for Medical Images paper (Sect. 9)
- Decouple Args from PODM✔
- Create setArguments function✔
- Create setInputImage(ImageType::Pointer)✔
- Remove IOs from PODM✔
- Create setSizingFunction(image, minimumElementEdgeSize, elementWeightLimit)✔
- Separate the interface, the IOs and the filters from PODM✔
- Write a proper README.md file✔
- Create a general PODM driver and CNF specific PODM driver✔
- Set Default Delta as min-spacing * min-dimension-size / 20✔
Adaptivity
Implementation of Sizing Function
- Create UML diagrams to understand the code and the Meshing Procedure in general✔
- Create a list of functions that need to be modified to implement the extra Rule ✔
- Modify the created list (Extra Rule sizing Function list) of functions✔
- Create a test sizing function to understand if modifications have been done correctly✔
- 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
}
- Create the infrastructure to support Sizing Function pointer✔
- Incorporate Function Pointer to PODM✔
Implementation of Adaptivity
- Implement Adaptivity using Christos Code✔
- Podm Result of Gagic Data image with volume grading on and δ=6, minimum Volume Size = 0.5, limit = 0.1
- 2D (Triangle):
(Done by Christos)
- 3D (PODM):
(Done with Christos)
- Understand that the current implementation supports negative weights✔
- Change the current implementation to use the minimum-maximum edge length of the element instead of its volume✔
- Identify an issue of checking sample points outside the image and solve it according to Christos's suggestions✔
- Test PODM with all the Images in Box✔
- Create meshes out of all the images on CNF_SHARE that are representative examples of adaptivity https://crtc.cs.odu.edu/CNF:Example_Meshes
- Add those meshes to the Appendix of the November Report
Animated Adaptive Meshing Process
- Produce the meshes for the Animated Adaptive Meshing Process and the January report✔
- Produce Animated Process:✔
-> 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
- Created videos of the meshing procedure that are accessible on http://www.cs.odu.edu/crtc/videos/PODM3D.html ✔
Multiple δ
- Identify places in the code where δ varies with regards to background values
- Test if multiple δ work using synthetically generated image data