运行 Hausdorff 距离和按顶点质量着色不导出颜色和质量
Running Hausdorff distance and colorize by vertex quality doesnt export the color and quality
我是来自 meshlabserver 的 运行 Hausdorff Distance 过滤器,我想保存带有顶点着色的采样网格。
计算了距离,我在 shell 输出和日志文件中得到了它。
将输出导出到 *.ply 时,我没有得到顶点质量和颜色。
我是运行以下命令:
meshlabserver -i first.stl -i second.stl -o out.ply -m vc vq -s script.mlx
其中 script.mlx 包含以下内容:
<FilterScript>
<filter name="Remove Duplicate Vertices"/>
<filter name="Hausdorff Distance">
<Param value="1" tooltip="The mesh whose surface is sampled. For each sample we search the closest point on the Target Mesh." name="SampledMesh" type="RichMesh" description="Sampled Mesh"/>
<Param value="0" tooltip="The mesh that is sampled for the comparison." name="TargetMesh" type="RichMesh" description="Target Mesh"/>
<Param value="false" tooltip="Save the position and distance of all the used samples on both the two surfaces, creating two new layers with two point clouds representing the used samples." name="SaveSample" type="RichBool" description="Save Samples"/>
<Param value="true" tooltip="For the search of maxima it is useful to sample vertices and edges of the mesh with a greater care. It is quite probably the the farthest points falls along edges or on mesh vertexes, and with uniform montecarlo sampling approachesthe probability of taking a sample over a vertex or an edge is theoretically null.<br>On the other hand this kind of sampling could make the overall sampling distribution slightly biased and slightly affects the cumulative results." name="SampleVert" type="RichBool" description="Sample Vertexes"/>
<Param value="true" tooltip="See the above comment." name="SampleEdge" type="RichBool" description="Sample Edges"/>
<Param value="false" tooltip="See the above comment." name="SampleFauxEdge" type="RichBool" description="Sample FauxEdge"/>
<Param value="true" tooltip="See the above comment." name="SampleFace" type="RichBool" description="Sample Faces"/>
<Param value="30514" tooltip="The desired number of samples. It can be smaller or larger than the mesh size, and according to the choosed sampling strategy it will try to adapt." name="SampleNum" type="RichInt" description="Number of samples"/>
<Param min="0" value="233.888" tooltip="Sample points for which we do not find anything whithin this distance are rejected and not considered neither for averaging nor for max." name="MaxDist" type="RichAbsPerc" description="Max Distance" max="468.287"/>
</filter>
<filter name="Colorize by vertex Quality">
<Param value="0" tooltip="The value that will be mapped with the lower end of the scale (blue)" name="minVal" type="RichFloat" description="Min"/>
<Param value="0.8" tooltip="The value that will be mapped with the upper end of the scale (red)" name="maxVal" type="RichFloat" description="Max"/>
<Param min="0" value="0" tooltip="If not zero this value will be used for a percentile cropping of the quality values.<br> If this parameter is set a value P to <i>P</i> then the two values <i>V_min,V_max</i> for which <i>P</i>% of the vertices have a quality <b>lower or greater than <i>V_min,V_max</i> are used as min/max values for clamping.<br><br> The automated percentile cropping is very useful for automatically discarding outliers." name="perc" type="RichDynamicFloat" description="Percentile Crop [0..100]" max="100"/>
<Param value="false" tooltip="If true the min max range will be enlarged to be symmertic (so that green is always Zero)" name="zeroSym" type="RichBool" description="Zero Simmetric"/>
</filter>
</FilterScript>
当 运行 从 GUI MeshLab 按顶点质量进行 Hausdorff 距离和着色并导出到层时,我得到具有质量和颜色的网格。
是否可以从 meshlabserver 获得相同的行为? (即使只获得顶点质量也会很好)
我错过了什么吗?
谢谢 :)
我用我自己的两个网格完成了与您相同的步骤。第二个网格由 Quadric Decimation
过滤器和几个应用于机翼区域的 Taubin Smooth
过滤器生成。
当我 运行 你的 script.mlx 在 meshlabserver(pre-release 版本)中使用相同的命令时,我有这个日志:
Opening a file with extention ply
Mesh gargoyle.50k.ply loaded has 24511 vn 48939 fn
Opening a file with extention ply
Mesh gargoyle.2k.ply loaded has 1264 vn 2500 fn
output mesh ./out.ply
vertex color, vertex quality, Apply FilterScript: './script.mlx'
FilterScript
Reading filter with name Remove Duplicate Vertices
Reading filter with name Hausdorff Distance
Reading Param with name SampledMesh : RichMesh
Reading Param with name TargetMesh : RichMesh
Reading Param with name SaveSample : RichBool
Reading Param with name SampleVert : RichBool
Reading Param with name SampleEdge : RichBool
Reading Param with name SampleFauxEdge : RichBool
Reading Param with name SampleFace : RichBool
Reading Param with name SampleNum : RichInt
Reading Param with name MaxDist : RichAbsPerc
Reading filter with name Colorize by vertex Quality
Reading Param with name minVal : RichFloat
Reading Param with name maxVal : RichFloat
Reading Param with name perc : RichDynamicFloat
Reading Param with name zeroSym : RichBool
Starting Script of 3 actionsfilter: Remove Duplicate Vertices
LOG: 2 Removed 0 duplicated vertices
Removed 0 duplicated vertices
filter: Hausdorff Distance
Sampled mesh has 1264 vert 2500 face
Searched mesh has 24511 vert 48939 face
Max sampling distance 233.888000 on a bbox diag of 198.622528
LOG: 2 Hausdorff Distance computed
LOG: 2 Sampled 62292 pts (rng: 0) on gargoyle.2k.ply searched closest on gargoyle.50k.ply
LOG: 2 min : 0.000016 max 7.446799 mean : 0.756087 RMS : 1.266457
LOG: 2 Values w.r.t. BBox Diag (201.385788)
LOG: 2 min : 0.000000 max 0.036978 mean : 0.003754 RMS : 0.006289
Removed 0 duplicated vertices
Hausdorff Distance computed
Sampled 62292 pts (rng: 0) on gargoyle.2k.ply searched closest on gargoyle.50k.ply
min : 0.000016 max 7.446799 mean : 0.756087 RMS : 1.266457
Values w.r.t. BBox Diag (201.385788)
min : 0.000000 max 0.036978 mean : 0.003754 RMS : 0.006289
filter: Colorize by vertex Quality
LOG: 2 Quality Range: 0.000250 7.398357; Used (0.000000 0.800000)
Removed 0 duplicated vertices
Hausdorff Distance computed
Sampled 62292 pts (rng: 0) on gargoyle.2k.ply searched closest on gargoyle.50k.ply
min : 0.000016 max 7.446799 mean : 0.756087 RMS : 1.266457
Values w.r.t. BBox Diag (201.385788)
min : 0.000000 max 0.036978 mean : 0.003754 RMS : 0.006289
Quality Range: 0.000250 7.398357; Used (0.000000 0.800000)
Mesh ./gargoyle.2k.ply saved as ./out.ply (1264 vn 2500 fn)
我的输出文件具有预期的颜色和质量。由于我的额外平滑,机翼中的距离大于 body(蓝色表示更大的距离,如质量直方图所示)。
我的电脑一切正常,你的有什么问题吗?...我使用 2016 的 meshlab 服务器下载了官方 2016-12 版的 meshlab 和 运行 相同的脚本。这是结果:
作为您的输出:无颜色,每个质量值设置为零。但是,等等... 这看起来像原始的 50k 型号,而不是预期的大减价型号。 Meshlabserver-2016 正在保存第一个网格,而不是第二个网格。
所以我后运行ged 你的 script.mlx 文件在网格 0 而不是网格 1 上采样
...
<filter name="Hausdorff Distance">
<Param value="0" tooltip="The mesh whose surface is sampled. For each sample we search the closest point on the Target Mesh." name="SampledMesh" type="RichMesh" description="Sampled Mesh"/>
<Param value="1" tooltip="The mesh that is sampled for the comparison." name="TargetMesh" type="RichMesh" description="Target Mesh"/>
...
和运行交换输入网格顺序的新脚本:
meshlab-2016.12/src/distrib/meshlabserver -i gargoyle.2k.ply -i gargoyle.50k.ply -o out2.ply -m vq vc -s script2.mlx
输出文件 out2.ply 没有颜色,但有正确的距离质量值 ,所以我可以在 meshlab 中加载它并在那里应用 Colorize by vertex Quality
.向全能的豪斯多夫石像鬼致敬!
结论:您必须在更新 meshlab 到当前 pre-release 或继续使用 meshlab-2016 并更改输入网格的顺序之间做出选择。
我是来自 meshlabserver 的 运行 Hausdorff Distance 过滤器,我想保存带有顶点着色的采样网格。 计算了距离,我在 shell 输出和日志文件中得到了它。 将输出导出到 *.ply 时,我没有得到顶点质量和颜色。
我是运行以下命令:
meshlabserver -i first.stl -i second.stl -o out.ply -m vc vq -s script.mlx
其中 script.mlx 包含以下内容:
<FilterScript>
<filter name="Remove Duplicate Vertices"/>
<filter name="Hausdorff Distance">
<Param value="1" tooltip="The mesh whose surface is sampled. For each sample we search the closest point on the Target Mesh." name="SampledMesh" type="RichMesh" description="Sampled Mesh"/>
<Param value="0" tooltip="The mesh that is sampled for the comparison." name="TargetMesh" type="RichMesh" description="Target Mesh"/>
<Param value="false" tooltip="Save the position and distance of all the used samples on both the two surfaces, creating two new layers with two point clouds representing the used samples." name="SaveSample" type="RichBool" description="Save Samples"/>
<Param value="true" tooltip="For the search of maxima it is useful to sample vertices and edges of the mesh with a greater care. It is quite probably the the farthest points falls along edges or on mesh vertexes, and with uniform montecarlo sampling approachesthe probability of taking a sample over a vertex or an edge is theoretically null.<br>On the other hand this kind of sampling could make the overall sampling distribution slightly biased and slightly affects the cumulative results." name="SampleVert" type="RichBool" description="Sample Vertexes"/>
<Param value="true" tooltip="See the above comment." name="SampleEdge" type="RichBool" description="Sample Edges"/>
<Param value="false" tooltip="See the above comment." name="SampleFauxEdge" type="RichBool" description="Sample FauxEdge"/>
<Param value="true" tooltip="See the above comment." name="SampleFace" type="RichBool" description="Sample Faces"/>
<Param value="30514" tooltip="The desired number of samples. It can be smaller or larger than the mesh size, and according to the choosed sampling strategy it will try to adapt." name="SampleNum" type="RichInt" description="Number of samples"/>
<Param min="0" value="233.888" tooltip="Sample points for which we do not find anything whithin this distance are rejected and not considered neither for averaging nor for max." name="MaxDist" type="RichAbsPerc" description="Max Distance" max="468.287"/>
</filter>
<filter name="Colorize by vertex Quality">
<Param value="0" tooltip="The value that will be mapped with the lower end of the scale (blue)" name="minVal" type="RichFloat" description="Min"/>
<Param value="0.8" tooltip="The value that will be mapped with the upper end of the scale (red)" name="maxVal" type="RichFloat" description="Max"/>
<Param min="0" value="0" tooltip="If not zero this value will be used for a percentile cropping of the quality values.<br> If this parameter is set a value P to <i>P</i> then the two values <i>V_min,V_max</i> for which <i>P</i>% of the vertices have a quality <b>lower or greater than <i>V_min,V_max</i> are used as min/max values for clamping.<br><br> The automated percentile cropping is very useful for automatically discarding outliers." name="perc" type="RichDynamicFloat" description="Percentile Crop [0..100]" max="100"/>
<Param value="false" tooltip="If true the min max range will be enlarged to be symmertic (so that green is always Zero)" name="zeroSym" type="RichBool" description="Zero Simmetric"/>
</filter>
</FilterScript>
当 运行 从 GUI MeshLab 按顶点质量进行 Hausdorff 距离和着色并导出到层时,我得到具有质量和颜色的网格。
是否可以从 meshlabserver 获得相同的行为? (即使只获得顶点质量也会很好) 我错过了什么吗?
谢谢 :)
我用我自己的两个网格完成了与您相同的步骤。第二个网格由 Quadric Decimation
过滤器和几个应用于机翼区域的 Taubin Smooth
过滤器生成。
当我 运行 你的 script.mlx 在 meshlabserver(pre-release 版本)中使用相同的命令时,我有这个日志:
Opening a file with extention ply
Mesh gargoyle.50k.ply loaded has 24511 vn 48939 fn
Opening a file with extention ply
Mesh gargoyle.2k.ply loaded has 1264 vn 2500 fn
output mesh ./out.ply
vertex color, vertex quality, Apply FilterScript: './script.mlx'
FilterScript
Reading filter with name Remove Duplicate Vertices
Reading filter with name Hausdorff Distance
Reading Param with name SampledMesh : RichMesh
Reading Param with name TargetMesh : RichMesh
Reading Param with name SaveSample : RichBool
Reading Param with name SampleVert : RichBool
Reading Param with name SampleEdge : RichBool
Reading Param with name SampleFauxEdge : RichBool
Reading Param with name SampleFace : RichBool
Reading Param with name SampleNum : RichInt
Reading Param with name MaxDist : RichAbsPerc
Reading filter with name Colorize by vertex Quality
Reading Param with name minVal : RichFloat
Reading Param with name maxVal : RichFloat
Reading Param with name perc : RichDynamicFloat
Reading Param with name zeroSym : RichBool
Starting Script of 3 actionsfilter: Remove Duplicate Vertices
LOG: 2 Removed 0 duplicated vertices
Removed 0 duplicated vertices
filter: Hausdorff Distance
Sampled mesh has 1264 vert 2500 face
Searched mesh has 24511 vert 48939 face
Max sampling distance 233.888000 on a bbox diag of 198.622528
LOG: 2 Hausdorff Distance computed
LOG: 2 Sampled 62292 pts (rng: 0) on gargoyle.2k.ply searched closest on gargoyle.50k.ply
LOG: 2 min : 0.000016 max 7.446799 mean : 0.756087 RMS : 1.266457
LOG: 2 Values w.r.t. BBox Diag (201.385788)
LOG: 2 min : 0.000000 max 0.036978 mean : 0.003754 RMS : 0.006289
Removed 0 duplicated vertices
Hausdorff Distance computed
Sampled 62292 pts (rng: 0) on gargoyle.2k.ply searched closest on gargoyle.50k.ply
min : 0.000016 max 7.446799 mean : 0.756087 RMS : 1.266457
Values w.r.t. BBox Diag (201.385788)
min : 0.000000 max 0.036978 mean : 0.003754 RMS : 0.006289
filter: Colorize by vertex Quality
LOG: 2 Quality Range: 0.000250 7.398357; Used (0.000000 0.800000)
Removed 0 duplicated vertices
Hausdorff Distance computed
Sampled 62292 pts (rng: 0) on gargoyle.2k.ply searched closest on gargoyle.50k.ply
min : 0.000016 max 7.446799 mean : 0.756087 RMS : 1.266457
Values w.r.t. BBox Diag (201.385788)
min : 0.000000 max 0.036978 mean : 0.003754 RMS : 0.006289
Quality Range: 0.000250 7.398357; Used (0.000000 0.800000)
Mesh ./gargoyle.2k.ply saved as ./out.ply (1264 vn 2500 fn)
我的输出文件具有预期的颜色和质量。由于我的额外平滑,机翼中的距离大于 body(蓝色表示更大的距离,如质量直方图所示)。
我的电脑一切正常,你的有什么问题吗?...我使用 2016 的 meshlab 服务器下载了官方 2016-12 版的 meshlab 和 运行 相同的脚本。这是结果:
作为您的输出:无颜色,每个质量值设置为零。但是,等等... 这看起来像原始的 50k 型号,而不是预期的大减价型号。 Meshlabserver-2016 正在保存第一个网格,而不是第二个网格。
所以我后运行ged 你的 script.mlx 文件在网格 0 而不是网格 1 上采样
...
<filter name="Hausdorff Distance">
<Param value="0" tooltip="The mesh whose surface is sampled. For each sample we search the closest point on the Target Mesh." name="SampledMesh" type="RichMesh" description="Sampled Mesh"/>
<Param value="1" tooltip="The mesh that is sampled for the comparison." name="TargetMesh" type="RichMesh" description="Target Mesh"/>
...
和运行交换输入网格顺序的新脚本:
meshlab-2016.12/src/distrib/meshlabserver -i gargoyle.2k.ply -i gargoyle.50k.ply -o out2.ply -m vq vc -s script2.mlx
输出文件 out2.ply 没有颜色,但有正确的距离质量值 ,所以我可以在 meshlab 中加载它并在那里应用 Colorize by vertex Quality
.向全能的豪斯多夫石像鬼致敬!
结论:您必须在更新 meshlab 到当前 pre-release 或继续使用 meshlab-2016 并更改输入网格的顺序之间做出选择。