fangq / mmc

Mesh-based Monte Carlo (MMC)
Other
39 stars 32 forks source link

mmclab example 'demo_mcxyz_skinvessel.m' doesn't work in my MATLAB #85

Open binlbl opened 10 months ago

binlbl commented 10 months ago

Hi, I am a newbie, 'demo_mcxyz_skinvessel.m' doesn't seem to work in my MATLAB R2022a, it says:

Error using mmclab

input mesh can not contain degenerated elements, please double check your input mesh; if you use a widefield source, please rerun mmcsrcdomain and setting 'Expansion' option to a larger value (default is 1)

Any suggestions? Thank you very much!

fangq commented 10 months ago

what OS and version you are using?

binlbl commented 10 months ago

what OS and version you are using?

Thanks, Windows 10 and I downloaded the mmclab-win-x86_64-v2023.zip, so it is 2.0.

fangq commented 10 months ago

ok, I am able to reproduce this issue on Windows 10 (with matlab R2022a/2023b). however, it works fine on Linux using the same version of matlab, see screenshot

image

the convhull function in matlab is known to produce problematic meshes when tessellating co-planar points, such as those in the skinvessel mesh. We have encountered during the initial development of the widefield MMC, see

https://groups.google.com/g/mmc-users/c/bLvrZ0xNimE/m/yRlIF1OzAgAJ

from what we saw, matlab 2011a and newer versions had been giving stable outputs, but it appears that matlab's windows version now produces different results compared to its Linux version. I can look into some settings from our processing scripts to see if we can get around this.

if you have old version of matlab (R2018 or earlier) on windows, or have a Linux version, you can give it a try.