Internal:PODM 4D: Difference between revisions

From crtc.cs.odu.edu
Jump to navigation Jump to search
Spyridon97 (talk | contribs)
Spyridon97 (talk | contribs)
 
(18 intermediate revisions by the same user not shown)
Line 2: Line 2:


=Documentation=
=Documentation=
# Read [https://cepm.cs.odu.edu/pub/papers/journal_74.pdf PODM4D] paper (TODO: ½ Done)
==Fall 2019==
# Read [https://cepm.cs.odu.edu/pub/papers/journal_74.pdf PODM4D] paper ✔
# Write a proper README.md file✔
# Write a proper README.md file✔
# Write a summary of PODM4D for [https://docs.google.com/document/d/1NTxnWSgHQN84gwN9CREoxPnnlBl8wvi78Tbks8TGQTE/edit SURA proposal]:
# Write a summary of PODM4D for [https://docs.google.com/document/d/1NTxnWSgHQN84gwN9CREoxPnnlBl8wvi78Tbks8TGQTE/edit SURA proposal]:
## Extracted the content of PODM4D paper for SURA proposal✔
## Extracted the content of PODM4D paper for SURA proposal✔
## Add algorithm details as it was done in the 3D case✔
## 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)
# 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)✔
Line 16: Line 19:


=Code Changes=
=Code Changes=
Apply past commits of PODM3D to PODM4D where applicable (TODO: ¾ Done):
==Fall 2019==
# Restructure repository of PODM4D based on Software engineering standards✔
# Restructure repository of PODM4D based on Software engineering standards✔
# Add CLI11 command-line parser✔
# Add CLI11 command-line parser ✔
# Decouple Args from PODM✔
# Decouple Args from PODM ✔
# Document defined flags✔
# Document defined flags ✔
 
==Spring 2020==
# Remove unused defined flags✔
# Remove unused defined flags✔
# Create setArguments function✔
# Create setArguments function✔
Line 33: Line 38:
# Add Image Segmentation ✔
# Add Image Segmentation ✔
# Set a warning if delta > min-spacing * min-dimension-size / 5✔
# Set a warning if delta > min-spacing * min-dimension-size / 5✔
# Extend [https://crtc.cs.odu.edu/MeshIO MeshIO] to work for 4D meshes in order to acquire the ability to print a clean 4d Mesh (TODO)
# Add Default Delta value ✔
# Fix label value when clean mesh is extracted (TODO)
# Write 4D meshes using an extra array for the 4th coordinate ✔
# Remove labels array if there is only 1 tissue of interest (TODO)
# Remove labels array if there is only 1 label of interest ✔
# Add a warning if a tissue of interest is not recovered (TODO)
# Add a warning if a label of interest is not recovered ✔
# Add Default Delta value (TODO)
# Add Linear Interpolation ✔
# Add Linear Interpolation using MeshIO and Linear Interpolation function that Christos has Developed (TODO)
# Implement a sizing function that will work as an extra rule and it will use the point indices of the pentatope that is tested ✔
# Implement a sizing function that will work as an extra rule and it will use the point indices of the pentatope that is tested (TODO)
# Add Numa flag in CmakeLists.txt ✔
# Add Numa flag in CmakeLists.txt (TODO)
# 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)
# Implement No_Rejection_Strategies as it was done in 3D (TODO)
# Fix the null pointer to cell of vertex issue if NO_GOOD_ANGLES flag is not defined (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)
# Replace CGAL predicates with PCK predicates (TODO)
# Understand if Hyperthreading is working (TODO)
# Understand if Hyperthreading is working (TODO)
Line 48: Line 59:
=Visualization=
=Visualization=
# Explore the ways that [http://www.qhull.org qhull] is reducing the dimensionality of n-dimensional meshes (TODO)
# Explore the ways that [http://www.qhull.org qhull] is reducing the dimensionality of n-dimensional meshes (TODO)
=Production Stage=
# Set it up on Docker (TODO)
# Test it (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)