-
Notifications
You must be signed in to change notification settings - Fork 5
Examples ultraVessMorpho2Mesh
ultraVessMorpho2Mesh reconstructs multi-partitioned and two-manifold watertight surface mesh models of vascular networks from their input graphs (morphology skeletons). The application takes input morphologies in .SWC, .VMV and .H5 formats.
-
Sample datasets provided in Ultraliser (link).
-
Datasets provided by Pablo Blinder.
-
Datasets provided by the BraVA database.
Due to the huge list of command line options provided with the application, we recommend using the following command line for optimum results based on our experience.
ultraAstroMorpho2Mesh --morphology < PATH_TO_MORPHOLOGY_FILE > --output-directory < OUTPUT_DIRECTORY > \
--export-obj-mesh --auto-parameters
The --auto-parameters
option allows the application to analyze the input morphology skeleton to provide the optimum values of the reconstruction parameters without manual intervention from the user. Nevertheless, experienced users can find other (or better) values that can be further optimum for their specific applications.
This option affects the following parameters:
-
The voxelization resolution, which is then computed based on the radius of the smallest sample in the morphology. Note that there is an initial pre-processing function to verify the structural aspects of the morphology including the detection of zero-radii samples and adjusting them.
-
Using
--auto-parameters
automatically sets the solid voxelization flag--solid
and uses 3-way solid voxelization--voxelization-axis xyz
. -
The number of iterations of the Laplacian kernel, in which we can maximize smoothing the surface of the resulting mesh without detaching any fine branches from the reconstructed mesh after the optimization procedure.
-
The optimization parameters including the number of optimization iterations and the optimization factors.
-
All the intermediate meshes (marching cubes, laplacian and optimization) are not written to disk to save storage.
ultraAstroMorpho2Mesh \
--morphology ultraAstroMorpho2Mesh/input/vessels-1.vmv \
--output-directory ultraAstroMorpho2Mesh/example-1 \
--export-obj-mesh
This example uses a VMV dataset vessels-1.vmv
and produces a multi-partitioned watertight output mesh in the meshes
subdirectory. Since we did not use the supression flags, the vessels-1-dmc.obj
and vessels-1-laplacian.obj
are written to disk. A side by side comparison between the input morphology and the resulting mesh is shown in the image below.
-
This example is minimalistic. It is only intended to demonstrate how the application works.
-
The resulting mesh is watertight, but is not optimized. The surface is a little bit smoothed using the Laplacian operator, however, the mesh still contains noisy structures. This will be addressed in the following examples.
-
The resulting mesh has multiple partitions.
-
Partitions inside !
This example addresses the limitations of the previous one including: optimizing the surface and topology of the resulting watertight mesh, not writing the intermediate meshes to disk. It also projects the morphology along the XY, XZ and ZY planes to visualize its structure.
ultraAstroMorpho2Mesh \
--morphology ultraAstroMorpho2Mesh/input/vessels-1.vmv \
--output-directory ultraAstroMorpho2Mesh/example-2 \
--export-obj-mesh \
--project-xy --project-xz --project-zy \
--laplacian-iterations 15 --adaptive-optimization \
ultraAstroMorpho2Mesh \
--morphology ultraAstroMorpho2Mesh/input/vessels-1.vmv \
--output-directory ultraAstroMorpho2Mesh/example-2 \
--export-obj-mesh \
--project-xy --project-xz --project-zy \
--laplacian-iterations 15 --adaptive-optimization \
--preserve-partitions
ultraAstroMorpho2Mesh \
--morphology ultraAstroMorpho2Mesh/input/vessels-1.vmv \
--output-directory ultraAstroMorpho2Mesh/example-2 \
--export-obj-mesh \
--project-xy --project-xz --project-zy \
--laplacian-iterations 15 --adaptive-optimization \
--preserve-partitions \
--solid
Find some dataset with loop and makes an issue
ultraAstroMorpho2Mesh \
--morphology ultraAstroMorpho2Mesh/input/vessels-1.vmv \
--output-directory ultraAstroMorpho2Mesh/example-2 \
--export-obj-mesh \
--project-xy --project-xz --project-zy \
--laplacian-iterations 15 --adaptive-optimization \
--preserve-partitions \
--solid --voxelization-axis xyz
Using the command --auto-parameters
ultraAstroMorpho2Mesh \
--morphology ultraAstroMorpho2Mesh/input/1.h5 \
--output-directory ultraAstroMorpho2Mesh/example-1 \
--export-obj-mesh --auto-parameters