Internal:PODM 4D: Difference between revisions

From crtc.cs.odu.edu
Jump to navigation Jump to search
Spyridon97 (talk | contribs)
No edit summary
Spyridon97 (talk | contribs)
 
(37 intermediate revisions by the same user not shown)
Line 1: Line 1:
__TOC__
__TOC__
=Explore Code=
 
# Read [https://cepm.cs.odu.edu/pub/papers/journal_74.pdf PODM4D] paper (½ Done)
=Documentation=
# Install all PODM4D libraries✔
==Fall 2019==
# Compile PODM4D code✔
# Read [https://cepm.cs.odu.edu/pub/papers/journal_74.pdf PODM4D] paper ✔
# Restructure repository of PODM4D based on Software engineering standards✔
# Write a proper README.md file✔
=Proposal=
# Write a summary of PODM4D for [https://docs.google.com/document/d/1NTxnWSgHQN84gwN9CREoxPnnlBl8wvi78Tbks8TGQTE/edit SURA proposal]:
# Write a summary of PODM4D for SURA proposal
## Extracted the content of PODM4D paper for SURA proposal✔
## Add algorithm details as it was done in the 3D case✔
==Fall 2020==
# Create Documentation of PODM 4D for Medical Image Computing and Computational Nuclear Femptography (TODO)
 
=Execution examples=
=Execution examples=
==Fall 2019==
# Heart4DChar (Panos’ data)✔
# Heart4DChar (Panos’ data)✔
# Heart4D-0x (x ε [1,5]) (Panos’ data)✔
# Heart4D-0x (x ε [1,5]) (Panos’ data)✔
# Sphere4D-D1xD2xD3xD4 (Di ε [3, 100]) (Panos’ data)✔
# Sphere4D-D1xD2xD3xD4 (Di ε [3, 100]) (Panos’ data)✔
# HyperCube-sideLength=l (l=5,10) (generated by SIDG)✔
# HyperCube-sideLength=l (l=5,10) (generated by SIDG)✔
=Functionality=
# Apply past commits of PODM3D to PODM4D where applicable (¾ Done):
## Add CLI11 command-line parser✔
## Add Image Segmentation ✔
## Add Linear Interpolation (need to place it in the correct output function)
=Adaptivity=
==Implementation of Sizing Function==
# Create an extra Rule which will be a user-defined sizing-function that gets a tetrahedron when all rules are met


=Production Stage=
=Code Changes=
# Set it up on Docker, as it was done in PODM3D
==Fall 2019==
# Restructure repository of PODM4D based on Software engineering standards✔
# Add CLI11 command-line parser ✔
# Decouple Args from PODM ✔
# Document defined flags ✔
 
==Spring 2020==
# Remove unused defined flags✔
# Create setArguments function✔
# Create setInputImage(ImageType::Pointer)✔
# Remove IOs from PODM✔
# Separate the interface, the IOs and the filters from PODM✔
# Add verbosity flag to control output text✔
# Create threading pinning flag✔
# Create memory limit flag✔
# Create a function that checks if the CPU is hyperthreaded (it might be used in the future)✔
# Compute the amount of cores/blades/nodes in order to make them work for docker✔
# Add Image Segmentation ✔
# Set a warning if delta > min-spacing * min-dimension-size / 5✔
# Add Default Delta value ✔
# Write 4D meshes using an extra array for the 4th coordinate ✔
# Remove labels array if there is only 1 label of interest ✔
# Add a warning if a label of interest is not recovered ✔
# Add Linear Interpolation ✔
# Implement a sizing function that will work as an extra rule and it will use the point indices of the pentatope that is tested ✔
# Add Numa flag in CmakeLists.txt ✔
# Add binary file support ✔
# Create label-filter to filter labels of images properly ✔
# Improve Text Output ✔
 
==Spring 2021==
# Check if Volume Threshold in Rules Check is required (TODO)
# Implement Volume Grading (TODO)
# Implement No_Rejection_Strategies as it was done in 3D (TODO)
# Fix the null pointer to a cell of vertex issue if NO_GOOD_ANGLES flag is not defined (bin number is the problem) (TODO)
# Replace CGAL predicates with PCK predicates (TODO)
# Understand if Hyperthreading is working (TODO)


http://www.qhull.org
=Visualization=
# Explore the ways that [http://www.qhull.org qhull] is reducing the dimensionality of n-dimensional meshes (TODO)

Latest revision as of 00:27, 17 February 2021

Documentation

Fall 2019

  1. Read PODM4D paper ✔
  2. Write a proper README.md file✔
  3. Write a summary of PODM4D for SURA proposal:
    1. Extracted the content of PODM4D paper for SURA proposal✔
    2. Add algorithm details as it was done in the 3D case✔

Fall 2020

  1. Create Documentation of PODM 4D for Medical Image Computing and Computational Nuclear Femptography (TODO)

Execution examples

Fall 2019

  1. Heart4DChar (Panos’ data)✔
  2. Heart4D-0x (x ε [1,5]) (Panos’ data)✔
  3. Sphere4D-D1xD2xD3xD4 (Di ε [3, 100]) (Panos’ data)✔
  4. HyperCube-sideLength=l (l=5,10) (generated by SIDG)✔

Code Changes

Fall 2019

  1. Restructure repository of PODM4D based on Software engineering standards✔
  2. Add CLI11 command-line parser ✔
  3. Decouple Args from PODM ✔
  4. Document defined flags ✔

Spring 2020

  1. Remove unused defined flags✔
  2. Create setArguments function✔
  3. Create setInputImage(ImageType::Pointer)✔
  4. Remove IOs from PODM✔
  5. Separate the interface, the IOs and the filters from PODM✔
  6. Add verbosity flag to control output text✔
  7. Create threading pinning flag✔
  8. Create memory limit flag✔
  9. Create a function that checks if the CPU is hyperthreaded (it might be used in the future)✔
  10. Compute the amount of cores/blades/nodes in order to make them work for docker✔
  11. Add Image Segmentation ✔
  12. Set a warning if delta > min-spacing * min-dimension-size / 5✔
  13. Add Default Delta value ✔
  14. Write 4D meshes using an extra array for the 4th coordinate ✔
  15. Remove labels array if there is only 1 label of interest ✔
  16. Add a warning if a label of interest is not recovered ✔
  17. Add Linear Interpolation ✔
  18. Implement a sizing function that will work as an extra rule and it will use the point indices of the pentatope that is tested ✔
  19. Add Numa flag in CmakeLists.txt ✔
  20. Add binary file support ✔
  21. Create label-filter to filter labels of images properly ✔
  22. Improve Text Output ✔

Spring 2021

  1. Check if Volume Threshold in Rules Check is required (TODO)
  2. Implement Volume Grading (TODO)
  3. Implement No_Rejection_Strategies as it was done in 3D (TODO)
  4. Fix the null pointer to a cell of vertex issue if NO_GOOD_ANGLES flag is not defined (bin number is the problem) (TODO)
  5. Replace CGAL predicates with PCK predicates (TODO)
  6. Understand if Hyperthreading is working (TODO)

Visualization

  1. Explore the ways that qhull is reducing the dimensionality of n-dimensional meshes (TODO)