Author: Hubert Mara
Detailed steps to re-create the HeiCuBeDa/HeiCu3Da files to be added to the documentation for easier application. This is possible with the information in the Breaking the Code paper, but not in a cookbook like manner.
So this is the cookbook, which was tested with 2021 GigaMesh versions of the develop branch and should work with other versions quite well. The cookbook assumes a Linux. Windows users will have to adopt the power shell or similar because of the wildcard expansion.
-
Inital steps are:
0.1. Make sure to have your 3D data as Stanford Polygon (PLY). Wavefront OBJ is also possible.
0.2. Apply
gigamesh-clean
to all files. Check the options for meta data preparation.0.3. Orient the 3D models with
gigamesh
(GUI).
The transformation matrix of the orientation will saved in a sidecar file (..._transmat.txt
).
Keep those as this can be helpful in case you have to apply changes to the 3D model in the 3D scanners software.
Orientation should be done after cleaning as the positioning can differ.
Bulk cleaning using the command line interface (CLI) is preferable.
In rare cases of meshes consisting of multiple parts (connected components) the cleaning might remove small parts,
which should be kept. So an additional manual check for completness of the surface is recommended.
Feature vector computation is done with a radius of 1.5 (mm) and a higher sampling (v512) than the default.
We assume that the files are (o)rientated, (c)leaned and (f)illed with GigaMesh (GM) and use GMOCF
as suffix:
gigamesh-featurevectors -r1.5. -l512 --no-normals-file *GMOCF.ply'
Optional: The featurevectors for the volume integration are also conntained within the newly created PLY files,
so the .mat
file can be removed and the surface based featurevectors compressed to safe diskspace:
'rm -f *.volume.mat; bzip2 *.mat'
-
Creating the renderings is done with the GUI version. So we need to load one of the tablets with featurevectors and setup the rendering parameters as starting for submission of PDFs and images to HeidICON:
1.1. Load any 3D-model from your collection.
1.2. Switch to “Function Value” rendering in the right handside panel (Colormap).
1.3. Menu “Colorramp” => “Grayscale”
1.4. Menu “Colorramp” => “Invert”
1.5. Menu “Colorramp” => “Fixed Range”
1.6. Menu “Colorramp” => “Fixed Range - Minimum” and “… Maximum”:
minFuncValue =-0.12910306806
; Value used for HeiCuBeDa 1%
maxFuncValue =+0.48764927169
; Value used for HeiCuBeDa 99%1.7. Toolbar “Strong ambient light” (Colored sphere icon)
1.8. Menu “File” => “Export Screenshot Directory” and select “No” for PDFs - requires latex/miktex to be installed.
Set resolution to 600 DPI when asked.
Set suffix to_FunctionValue_Shaded
.
Note: in case of faces with zero area there can be a comment within the tex files in the line showing the volume. This intentionally causes an error to check the values and eventually the dataset itself. If the value for the volume is valid the comment can be removed and the PDF compiled. Zero area faces seem to appear for datasets cleaned on windows. Possibly due to slight numeric errors.
-
For HeiDATA the same procedue as above is applied with slight variations:
2.0. Steps identical to 1.1-6.
2.1. MSII filtered images using no light unchecking the menu “Settings” => “Lightning” to off (or using the “0” key).
2.2. Image generation without PDFs as in 1.8 with suffix
_FunctionValue
. -
For HeiDATA also renderings with a shiny surface is rendered:
3.1. Load any 3D-model from your collection. Note: This can be performed also on datasets without MSII filtering.
3.2. Surface rendering without any color by using “Solidcolor” in the right handside panel (Colormap).
3.x. Colorramp steps are not necessary.
3.7. Toolbar “High Contrast” (Middle sphere marked with D for default)
3.8. Image generation without PDFs as in 1.8 with suffix
_SolidColor
.
For HeidICON we compute an alternate 3D-model having the functionvalue stored as color per vertex (“colorization”).
Therefore the steps 1.1-6 have to be applied.
Afterwards “File” => “Directory: FuncVal to RGB” per directory has to be applied for
the whole collection of datasets within a directory.
The default suffixe _FuncValColor
is fine.
Recommended for HeidICON: A legacy PLY without metainformation like synthetic vertices should be created as this makes the datasets compatible with a wider range of software packages. The files will also a bit smaller:
'gigamesh-tolegacy -b *_FuncValColor.ply' with '-b' for binary, which is smaller in size.
Note: GigaMesh produces PLYs according to its definition, but there are a number of programs, which did not follow the specification. So there are programs incapable to ignore GigaMesh’s metainformation leading to file not being read.