Skip to content

Conversation

@keiyamamo
Copy link
Collaborator

Hi @johannesring @jorgensd

This is not a PR (yet) but I would like to discuss how we should implement warning system in the meshing pipeline.
By setting the tetgen.Verbose = 1, I know we could get the following information (printed in the terminal). This could potentially be used to detect “low-quality” mesh, but we would need some threshold for that. Do you have suggestions for what metrics and what threshold should be used?

Additionally, I could not figure out how to obtain printed information as python objects. I used sys.stdout but that did not work. It might be because those information come from tetgen through VMTK. If you have some idea how to do that, I would appreciate it.

Mesh quality statistics:

  Smallest volume:       2.4084e-05   |  Largest volume:       0.00050203
  Shortest edge:           0.057295   |  Longest edge:            0.24617
  Smallest aspect ratio:     1.2444   |  Largest aspect ratio:     12.469
  Smallest facangle:         22.997   |  Largest facangle:       125.1049
  Smallest dihedral:         8.2464   |  Largest dihedral:       164.5351

  Aspect ratio histogram:
         < 1.5       :       372      |      6 - 10         :        57
     1.5 - 2         :      2613      |     10 - 15         :         1
       2 - 2.5       :      1633      |     15 - 25         :         0
     2.5 - 3         :       483      |     25 - 50         :         0
       3 - 4         :       240      |     50 - 100        :         0
       4 - 6         :       129      |    100 -            :         0
  (A tetrahedron's aspect ratio is its longest edge length divided by its
    smallest side height)

  Face angle histogram:
      0 -  10 degrees:         0      |     90 - 100 degrees:      1088
     10 -  20 degrees:         0      |    100 - 110 degrees:       350
     20 -  30 degrees:        76      |    110 - 120 degrees:        41
     30 -  40 degrees:      2370      |    120 - 130 degrees:         5
     40 -  50 degrees:      5583      |    130 - 140 degrees:         0
     50 -  60 degrees:      3430      |    140 - 150 degrees:         0
     60 -  70 degrees:      2988      |    150 - 160 degrees:         0
     70 -  80 degrees:      4490      |    160 - 170 degrees:         0
     80 -  90 degrees:      2497      |    170 - 180 degrees:         0

  Dihedral angle histogram:
       0 -  5 degrees:         0      |     80 - 110 degrees:      3818
       5 - 10 degrees:         2      |    110 - 120 degrees:       670
      10 - 20 degrees:       151      |    120 - 130 degrees:       380
      20 - 30 degrees:       291      |    130 - 140 degrees:       219
      30 - 40 degrees:       899      |    140 - 150 degrees:       149
      40 - 50 degrees:      1931      |    150 - 160 degrees:        87
      50 - 60 degrees:      1869      |    160 - 170 degrees:        33
      60 - 70 degrees:       385      |    170 - 175 degrees:         0
      70 - 80 degrees:       172      |    175 - 180 degrees:         0

@codecov-commenter
Copy link

codecov-commenter commented Feb 11, 2025

Codecov Report

All modified and coverable lines are covered by tests ✅

Project coverage is 82.01%. Comparing base (6341898) to head (1c8d97f).

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #219   +/-   ##
=======================================
  Coverage   82.00%   82.01%           
=======================================
  Files          32       32           
  Lines        4013     4014    +1     
=======================================
+ Hits         3291     3292    +1     
  Misses        722      722           

☔ View full report in Codecov by Sentry.
📢 Have feedback on the report? Share it here.

🚀 New features to boost your workflow:
  • Test Analytics: Detect flaky tests, report on failures, and find test suite problems.

@keiyamamo keiyamamo marked this pull request as ready for review February 13, 2025 17:51
@keiyamamo
Copy link
Collaborator Author

I think printing out this mesh statistics would be enough for now. We can potentially implement mesh warning system as future update.

@johannesring
Copy link
Collaborator

@keiyamamo - please see PR #222.

@keiyamamo keiyamamo closed this Mar 25, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

3 participants