-
Notifications
You must be signed in to change notification settings - Fork 5
Output
Every application in Ultraliser will create a set of resulting data in the output directory defined by the end user setting the command line argument --output-directory
. The content of this directory is organized in several subdirectories to make it easy to find the resulting data.
The structure of this output directory depends on the types of resulting data (or artefacts) created by the application. For instance, if the user specified any of the mesh export flags (for example: --export-obj-mesh
), the output directory will contain a meshes
subdirectory that would potentially contain the resulting mesh(es).
Assuming that an executable will create all the artifacts that can be produced by Ultraliser, the output directory should have the following structure:
output directory
|
+--> meshes
|
+--> volumes
|
+--> projections
|
+--> stacks
|
+--> morphologies
|
+--> stats
|
+--> distributions
The base name of every file produced by Ultraliser will be basically derived from the base name of the principal input data. For example, in ultraMesh2Mesh
, if the absolute path of the input mesh is defined in the following command as follows --mesh /root/path/input/neuron.obj --output-directory /root/path/output --export-obj-mesh --project-xy
, the base names of the output meshes and projections should have neuron
.
If the --prefix=VALUE
option is used, then VALUE
will be used to label the resulting data instead of the base name of the input mesh.
This directory (meshes) will contain all the resulting meshes, including all the meshes created to represent the volumes grid used to voxelize an input mesh or morphology. The directory will be automatically created if one of the following command line options are used:
-
--export-obj-mesh
, -
--export-stl-mesh
, -
--export--off-mesh
, or -
--export-ply-mesh
.
By default, the re-meshing pipeline creates 4 subsequent meshes that represent the following stages:
- polygonization, using marching cubes or dual marching cubes,
- surface smoothing, using the Laplacian smoothing algorithm,
- topology optimization, using surface optimization kernels, and
- watertightness verification, in which all the self-intersections of the optimized mesh are removed.
The polygonization mesh results from applying either the basic marching cube (mc) algorithm or the advanced dual marching cubes (dmc) algorithm on the volume grid created from the voxelization of the input mesh. If this mesh is stored to disk, the suffix -mc
or -dmc
will be used to label the output mesh.
For the smoothed mesh that results from the Laplacian smoothing stage, the suffix -laplacian
will be used to label the output mesh.
Similarly, the resulting mesh from the optimization stage will be tagged with the suffix -optimized
and the final mesh that results from the watertightness verification stage will have the following suffix -watertight
.
Therefore, the previous command line will produce the following artifacts:
output
|
+--> meshes
| |
| +--> neuron-dmc.obj
| |
| +--> neuron-laplacian.obj
| |
| +--> neuron-watertight.obj
|
+--> projections
| |
| +--> neuron-xy.ppm
Note that the default isosurface extraction technique used to polygonize the mesh from the intermediate volume is the dual marching cubes and the default number of laplacian iterations is 5. This is why the -dmc
and -laplacian
meshes are created. The -optimized
mesh is not created becuase the neither the --optimize-mesh
nor --adaptive-optimization
flags were used.
This directory (projections) will contain all the projections of the intermediate volume that is used to voxelize the input mesh. The directory will be created if any of the following flags are used:
-
--project-xy
, -
--project-xz
, or -
--project-zy
.
The previous arguments create gray-scale projections. To create color-coded projections, users can use the option --color-coded-projections
.
Further details are availabiel at this link.
This directory (volumes) will contain all the resulting volumes. The directory will be created if any of the following flags are used:
-
--export-bit-volume
, -
--export-unsigned-volume
, -
--export-nrrd-volume
, or -
--export-raw-volume
.