{"id":2341,"date":"2013-10-15T15:55:00","date_gmt":"2013-10-15T19:55:00","guid":{"rendered":"https:\/\/www.med.unc.edu\/psych\/research\/niral\/niral\/download\/software-pages\/meshvalmet\/"},"modified":"2018-09-24T15:00:13","modified_gmt":"2018-09-24T19:00:13","slug":"meshvalmet","status":"publish","type":"page","link":"https:\/\/www.med.unc.edu\/psych\/research\/niral\/download\/download-software\/deprecated-software\/meshvalmet\/","title":{"rendered":"MeshValmet"},"content":{"rendered":"<div>\n<h2><b>MeshValmet 1.2<\/b><\/h2>\n<h3><img loading=\"lazy\" decoding=\"async\" title=\"arrowbullet2.gif\" src=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/arrowbullet2.gif\" alt=\"arrowbullet2.gif\" width=\"14\" height=\"14\" border=\"0\" \/> <b>Description:<\/b><\/h3>\n<p>MeshValmet is a tool that measures surface to surface distance between two triangle meshes using user-specified uniform sampling. Thus, user can always choose finer sampling level to calculate errors in order to gain more accuracy in the &#8220;error space&#8221;, or sparser sampling to achieve speed requirement and get a general feeling of error distribution over boundaries.<\/p>\n<p>Besides its pleasant visualization using VTK library, MeshValmet also provides useful statistics and histogram information.<\/p>\n<p>MeshValmet is based on the work of Nicolas Aspert, etc.: http:\/\/mesh.epfl.ch. <i>Paper: <\/i><i>MESH: MEASURING ERRORS BETWEEN SURFACES USING THE HAUSDORFF DISTANCE<\/i><i> in the proceedings of the IEEE Int. Conf. on Multimedia and Expo 2002 (ICME), vol. I, pp. 705-708. <\/i>Based on their code and paper, I made intense modification and added a lot of new functions.<\/p>\n<h3><img loading=\"lazy\" decoding=\"async\" title=\"arrowbullet2.gif\" src=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/arrowbullet2.gif\" alt=\"arrowbullet2.gif\" width=\"14\" height=\"14\" border=\"0\" \/><b> Features:<\/b><\/h3>\n<ul>\n<li>\n<p style=\"line-height: 200%\">Use point to triangle closest point distance<\/p>\n<\/li>\n<li>\n<p style=\"line-height: 200%\">User specified uniform sampling<\/p>\n<p><img decoding=\"async\" class=\"image-right\" style=\"float: left\" title=\"unisam.gif\" src=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/unisam.gif\" alt=\"unisam.gif\" \/><\/li>\n<\/ul>\n<ul>\n<li><\/li>\n<li><\/li>\n<\/ul>\n<ul>\n<li>Space subdivision algorithm, fast computation (avoid brute force)<\/li>\n<\/ul>\n<p><img decoding=\"async\" class=\"image-inline\" style=\"margin-left: auto;margin-right: auto\" title=\"subdiv.gif\" src=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/subdiv.gif\" alt=\"subdiv.gif\" \/><\/p>\n<ul>\n<li>\n<p style=\"line-height: 200%\">Use point to triangle closest point distance<\/p>\n<\/li>\n<li>\n<p style=\"line-height: 200%\">User specified uniform sampling<\/p>\n<\/li>\n<li>\n<p style=\"line-height: 200%\">Run in a batch, pipelining of statistical analysis<\/p>\n<\/li>\n<li>\n<p style=\"line-height: 200%\">Compute the volume of shape differences<\/p>\n<\/li>\n<li>\n<p style=\"line-height: 200%\">Provide histogram and statistical information<\/p>\n<\/li>\n<li>\n<p style=\"line-height: 200%\">3D visualization of surface distances<\/p>\n<\/li>\n<\/ul>\n<h3><img loading=\"lazy\" decoding=\"async\" title=\"arrowbullet2.gif\" src=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/arrowbullet2.gif\" alt=\"arrowbullet2.gif\" width=\"14\" height=\"14\" border=\"0\" \/><b> Usage:<\/b><\/h3>\n<p>From GUI:<\/p>\n<ul>\n<li>Step 1. First user has to load in two triangle meshes, currently RAW, BYU, and IV are the only three supported file format. Key &#8220;t&#8221; and &#8220;j&#8221; can switch between &#8220;trackball&#8221; and &#8220;joystick&#8221; mode in two display windows.<\/li>\n<\/ul>\n<ul>\n<li>Step 2. Then specify sampling step and minimum sampling frequency to be used for sub-sample the meshes, here sampling step is measure in percentage of the bounding box of the second model.<\/li>\n<\/ul>\n<ul>\n<li>Step 3. Choose whether you want to measure the distortion from model A-&gt;B, or B-&gt;A, or both. This is due to the asymmetric property of Hausdorff distance.<\/li>\n<\/ul>\n<ul>\n<li>Step 4. Click button &#8220;Compute Error&#8221;, the corresponding model would be colormapped based on the errors of the sampling points. The slider between the two windows controls display of the sampling points.<\/li>\n<\/ul>\n<ul>\n<li>Step 5. On the lower left of the panel is ColormapControl, where user can change the colormap properties to achieve better visual effect and gain more intuition.<\/li>\n<\/ul>\n<p style=\"line-height: 200%\">From command line:<\/p>\n<ul>\n<li>Usage: MeshValmet [options]\n-p batchFile<br \/>\n-s samplingStep (Default value = 0.5)<br \/>\n-f MinSamplingFreq (Default value = 2)<br \/>\n-b NumOfBins (Default value = 256)<br \/>\n-type computeType (Use 0 to compute the error of A &lt;-&gt; B,<br \/>\nuse 1 to compute the error of A -&gt; B, use 2 to compute the error of B -&gt; A)<br \/>\n-absolute (Default value = FALSE)<br \/>\n-in1 inFile1<br \/>\n-in2 inFile2<br \/>\n-o outFile<br \/>\nBatch File Format:<\/p>\n<p>numOfFiles<br \/>\ninFile1 inFile1 outFile1<br \/>\ninFile2 inFile2 outFile2<br \/>\n&#8230;&#8230; &#8230;&#8230; &#8230;&#8230;<\/li>\n<\/ul>\n<h3><img loading=\"lazy\" decoding=\"async\" title=\"arrowbullet2.gif\" src=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/arrowbullet2.gif\" alt=\"arrowbullet2.gif\" width=\"14\" height=\"14\" border=\"0\" \/> <b>Download:<\/b><\/h3>\n<table class=\"plain\" border=\"0\">\n<tbody>\n<tr>\n<th>Plateform<\/th>\n<th>Binaries<\/th>\n<\/tr>\n<tr>\n<td>Windows<\/td>\n<td><a class=\"internal-link\" title=\"\" href=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/MeshValmet-2.1_win.zip\" target=\"_self\">MeshValmet-2.1.zip<\/a> , <a class=\"internal-link\" title=\"\" href=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/MeshValmet-tutorial.pdf\" target=\"_self\">documentation<\/a><\/td>\n<\/tr>\n<tr>\n<td>Windows<\/td>\n<td><a class=\"internal-link\" title=\"\" href=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/meshvalmet-1-2.zip\" target=\"_self\">MeshValmet-1.2.zip<\/a> , <a class=\"internal-link\" title=\"\" href=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/Torus-sample.zip\" target=\"_self\">torus-sample.zip<\/a> , <a class=\"internal-link\" title=\"\" href=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/hippoL.zip\" target=\"_self\">HippoL.zip<\/a><\/td>\n<\/tr>\n<tr>\n<td>Windows<\/td>\n<td>Not available right now<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><img loading=\"lazy\" decoding=\"async\" title=\"arrowbullet2.gif\" src=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/arrowbullet2.gif\" alt=\"arrowbullet2.gif\" width=\"14\" height=\"14\" border=\"0\" \/> <b>Progress:<\/b><\/h3>\n<table class=\"plain\" border=\"0\">\n<tbody>\n<tr>\n<th>Date<\/th>\n<th>Progress<\/th>\n<\/tr>\n<tr>\n<td>Aug. 4, 2004<\/td>\n<td>MeshValmet -1.0 completed.<\/td>\n<\/tr>\n<tr>\n<td>Oct. 28, 2004<\/td>\n<td>Fix an IV-file supporting bug. MeshValmet -1.1<\/td>\n<\/tr>\n<tr>\n<td>Nov. 9, 2004<\/td>\n<td>(1) Command line batch support added.(2) Refine once again the tool, more statistics information provided. (3) More output options provided, and outputs are in an excel recognizable format.<\/p>\n<p>MeshValmet -1.2<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><img loading=\"lazy\" decoding=\"async\" title=\"arrowbullet2.gif\" src=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/arrowbullet2.gif\" alt=\"arrowbullet2.gif\" width=\"14\" height=\"14\" border=\"0\" \/> <b>Things remain to be done:<\/b><\/h3>\n<table class=\"plain\" style=\"width: 768px;height: 154px\" border=\"0\">\n<tbody>\n<tr>\n<th>\n<p style=\"text-align: left\">1. Support M3D file format, read in M-Rep models and generate mesh boundaries using Pablo library.<\/p>\n<\/th>\n<\/tr>\n<tr>\n<td>2. Support various medical image formats, such as CT, MRI, and ANALYZE, read in images, and use marching cube algorithm to generate implied boundary meshes.<\/td>\n<\/tr>\n<tr>\n<td>3. Implement the &#8220;Synchronize Viewport&#8221; function to support viewport synchronization between the two meshes.<\/td>\n<\/tr>\n<tr>\n<td>4. A window to view the overlay of the two models.<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<h3><img loading=\"lazy\" decoding=\"async\" title=\"arrowbullet2.gif\" src=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/arrowbullet2.gif\" alt=\"arrowbullet2.gif\" width=\"14\" height=\"14\" border=\"0\" \/> <b>Screenshot:<\/b><\/h3>\n<p><b><img decoding=\"async\" class=\"image-inline\" title=\"MeshValmet-screenshot\" src=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-content\/uploads\/sites\/770\/2018\/07\/meshvalmet-screenshot.jpeg\" alt=\"MeshValmet-screenshot\" \/><\/b><\/p>\n<\/div>\n","protected":false},"excerpt":{"rendered":"<p>MeshValmet 1.2 Description: MeshValmet is a tool that measures surface to surface distance between two triangle meshes using user-specified uniform sampling. Thus, user can always choose finer sampling level to calculate errors in order to gain more accuracy in the &#8220;error space&#8221;, or sparser sampling to achieve speed requirement and get a general feeling of &hellip; <a href=\"https:\/\/www.med.unc.edu\/psych\/research\/niral\/download\/download-software\/deprecated-software\/meshvalmet\/\" aria-label=\"Read more about MeshValmet\">Read more<\/a><\/p>\n","protected":false},"author":7371,"featured_media":0,"parent":2297,"menu_order":0,"comment_status":"closed","ping_status":"closed","template":"","meta":{"_acf_changed":false,"footnotes":"","_links_to":"","_links_to_target":""},"class_list":["post-2341","page","type-page","status-publish","hentry","odd"],"acf":[],"_links_to":[],"_links_to_target":[],"_links":{"self":[{"href":"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-json\/wp\/v2\/pages\/2341","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-json\/wp\/v2\/users\/7371"}],"replies":[{"embeddable":true,"href":"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-json\/wp\/v2\/comments?post=2341"}],"version-history":[{"count":0,"href":"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-json\/wp\/v2\/pages\/2341\/revisions"}],"up":[{"embeddable":true,"href":"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-json\/wp\/v2\/pages\/2297"}],"wp:attachment":[{"href":"https:\/\/www.med.unc.edu\/psych\/research\/niral\/wp-json\/wp\/v2\/media?parent=2341"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}