MeshTool is a tool for converting multiple polyhedral surfaces into a tetrahedral volume mesh suitable for simulation with FullMonte or other tetrahedral-geometry physical simulators.
In order to use MeshTool, you first have to contour and segment your medical images with an appropriate application (we use Itk-snap). Itk-snap produces meshes of the segmented layers form the medical images. These meshes then need to be combined to create the full model of the imaged object. Exactly the combination of these individual layers is the task of MeshTool. MeshTool then creates a complete mesh containing all individual layers previously obtained through Itk-snap. The final mesh of the desired object can then be loaded into our light propagation simulator FullMonte.
Getting set up
Docker is a system that facilitates software deployment. It packages together all of the files an application needs to run and provides a standardized interface and execution environment. It can run the same application on multiple platforms using a built-in virtual machine. It also defines the concept of a registry, which is a place to store and retrieve Docker images. Gitlab provides an automated build process for Docker images from the project source code, and a registry attached to this project.
MeshTool has a Docker deployment. If you have Docker installed on your computer, you do not need to worry about installing any of the prerequisites (VTK etc) or building the software. The pre-built application is distributed to you via the Docker registry.
Install Docker on your system (Linux, Windows 10 Pro/Enterprise, or Mac).
Without Windows 10 Pro or Enterprise Docker Toolbox is the alternative.
No special steps required.
You will need an X Windows server such as XMing to display the GUI.
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" brew install socat
Pull (copy to your machine) the MeshTool Docker image:
docker pull registry.gitlab.com/fullmonte/meshtool/meshtool-run:demo
In the URL above, the
registry.gitlab.com is the server,
fullmonte is the group,
meshtool is the project,
meshtool-run is the Docker image, and
demo specifies the tag. In general,
meshtool-run contains all you need to run meshtool (except data files).
demo is a tag applied to a specific version. Other versions are generated by the automatic build system, or manually by developers (as
After completing the preceding steps, you will need to run the Docker container with the following considerations:
- The X Windows display needs to be connected from the container to the host X Server
- Unless in a mounted folder on the host(
-voption) all files inside the container are deleted when the container is finished
Once the initial setup is complete and you are ready to run MeshTool, please see our brief tutorial on how to use MeshTool
Certain combinations of parameters will cause the tool to crash. This appears to be an underlying behavior of CGAL. We are not sure why it happens.
Details regarding parameter selection, including examples of good and bad parameters we have found.
Itk-snap is a software application used to segment structures in 3D medical images. We often use it to create the surface meshes that are input to meshtool, as detailed in
Tips and Tricks - tips for how to avoid common problems, such as having holes in the segmented mesh
Download link : http://www.itksnap.org/pmwiki/pmwiki.php?n=Downloads.SNAP3
Version: 3.6.0 or later