Examples

The following examples should give you an idea of how use the software on your own data. All computation times are measured on a standard portable PC (Thinkpad Lenovo T61P, 4GB RAM, Windows XP). They include computation of the distance field, regularisation, and remeshing.

Facescan

Facescan A face scanned with a 3dMD cranial scanner. A 2-pod setup is used so the front of the head is visible. The raw 3dMD data and the used script can be downloaded here. Please acknowledge Rasmus R. Paulsen if your are using this data.

Computation time 116 seconds
Input points 71647
Output Triangles 64414
The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -t 1 -i facescan.txt -o facescan_MRF.vtk

Facescan 2

Facescan2 A face scanned with a 3dMD cranial scanner. A 2-pod setup is used so only one side of the head is visible. The raw 3dMD data and the used script can be downloaded here. Please acknowledge Rasmus R. Paulsen and Tron Darvann if your are using this data.

Computation time 170 seconds
Input points 82235
Output Triangles 75815
The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -t 1 -i facescan2.txt -o facescan2_MRF.vtk

Facescan 3

Facescan3 A face scanned with a 3dMD cranial scanner. A 2-pod setup is used so only one side of the head is visible. The raw 3dMD data and the used script can be downloaded here. Please acknowledge Rasmus R. Paulsen if your are using this data.

Computation time 132 seconds
Input points 67275
Output Triangles 62620
The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -t 1 -i facescan3.txt -o facescan3_MRF.vtk

Child

Child A child scanned with a 3dMD cranial scanner. Parts of the father holding the child is also scanned and there is a big hole under the chin. The result of using the command line below is that only the face of the child is kept and the hole under the chin is filled. The raw 3dMD data and the used script can be downloaded here. Please acknowledge Andreas Bærentzen if your are using this data.

Computation time 68 seconds
Input points 49592
Output Triangles 25020
The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -l -t 1 -i child.txt -o child.vtk


Synthetic Data

Synthetic A synthetic dataset containing points with normals sampled on open cylinders and open spheres. The purpose of this dataset is to demonstrate the behaviour of the surface reconstruction in regions where no reliable samples exist. The algorithm has been tested with type 2, meaning that the original normals are used and no points are removed as noise. The top image is showing the result when the Laplacian prior is used and the bottom when the membrane prior is used. The data and the used script can be downloaded here. Synthetic

Computation time (Laplacian) 210 seconds
Computation time (membrane) 237 seconds
Input points 47538
Output Triangles (Laplacian) 225044
Output Triangles (membrane) 213412
The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -t 2 -p 0 -i ComplexShape.vtk -o ComplexShape_prior0.vtk
"C:\program files\MRFSurface\MRFSurface.exe" -t 2 -p 1 -i ComplexShape.vtk -o ComplexShape_prior1.vtk

Skull

skull A plastic skull scanned with a prototype structured light scanner built by Vesselin Perfanov and Henrik Aanæs. An approximate camera position is provided to estimate approximate normals. The membrane prior turned out to give the most satisfactory result. The data and the used script file is available here. Please acknowledge Vesselin Perfanov and Henrik Aanæs if you use the data.

Computation time 540 seconds
Input points 179670
Output Triangles 213382
The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -t 1 -p 1 -i Skull_export.csv -o Skull_MRF.vtk -v SkullCam.txt Here SkullCam.txt contains the world coordinates of the camera (X Y Z).

Mannequin head

Mannequin A plastic mannequin head scanned with a prototype structured light scanner built by Oline Vinter Olesen. An approximate camera position is provided to estimate approximate normals. The data and the used script file is available here. Please acknowledge Oline Vinter Olesen and Rasmus R. Paulsen if you use the data.

Computation time 105 seconds
Input points 55008
Output Triangles 50939
The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -t 1 -i ScanOutput.dat -o ProtoScan_MRF.vtk -v Camera.txt Here Camera.txt contains the world coordinates of the camera (X Y Z).

Earscan

EarScan A laser scanned ear impression. A modern hearing aid is normally custom made to each hearing aid user. Today most hearing aids are produced based on laser scans of silicon ear impressions. The current scan is acquired using a 3Shape scanner. It contains a few non-manifold edges. In this case, MRFSurface removes the non-manifold edges and remesh the model. The data and scripts can be downloaded here.

Computation time 47 seconds
Input points 18189
Output Triangles 25525
The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -t 3 -i EarScan.stl -o EarScan_MRF.vtk

Stanford Bunny

Bunny The Stanford bunny. Original data can be found here. This data has already been processed so it can be considered noise free. In this case MRFSurface acts more like a remesher than a surface reconstructor. As seen the output triangles are homogenous. We force the computation of normals (by vtkPolyDataNormals) but do not use the PCA based method or the connected component analysis.

Computation time 60 seconds
Input points 35947
Output Triangles 40612
The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -t 3 -c 0 -n 0 -i bun_zipper.ply -o bunny_MRF.vtk

Stanford Dragon

Dragon The Stanford dragon. Original data can be found here. This data has already been processed so it can be considered (nearly) noise free. In this case MRFSurface acts more like a remesher than a surface reconstructor. As seen the output triangles are homogenous. We force the computation of normals (by vtkPolyDataNormals) and are also using the PCA based method and connected component analysis.

Computation time 910 seconds
Input points 437645
Output Triangles 401370

The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -t 3 -i dragon_vrip.ply -o dragon_MRF.vtk

House of Cards

HOC One frame from the music video House of Cards by Radiohead. The data is very noisy since it was created using a largescale-lidar (and I suspect noise is also added for artistic purposes). However, the algorithm is still able to extract something that looks like the face of Thom Yorke. There is something wrong with scaling though. The data and some code can be downloaded here. To get an estimate of the normals and artificial camera has been placed far out the Z-axis. This is done by creating a HocCam.txt file with the numbers 0 0 2000.

Computation time 35 seconds
Input points 12048
Output Triangles 7901
The used command line: "C:\program files\MRFSurface\MRFSurface.exe" -t 1 -i 676.csv -o HOC_MRF.vtk -v HocCam.txt

Human Ear - Alignment and Reconstruction

EarAlign Combined alignment and reconstruction of the surface of a human ear. The Input data is five scans from different angles of the ear. The scanner used is a 3dMD cranial scanner i a 2-POD configuration. The five sub-scans are represented as surface patches, so their normals can be used in the combined reconstruction. We therefore use the input type 2 (-t 2). Since the data is quite noise we use a rather large neighbour size (-D 25) to get a smooth reconstruction. The file names of the input files are stored in the input text file (EarFiles.txt). The output is an entire directory (alignedEar) with several reconstructed surfaces, including the surface at multiple scales. The data and scripts can be downloaded here.

Computation time Approx. 3 minutes
Input points 20117 from 5 scans
Output Triangles 17816
The used command line: "C:\Program Files\MRFSurface\MRFSurface.exe" -i EarFiles.txt -o alignedEar -a -t 2 -D 25

Mannequin head - Alignment and Reconstruction

Mannequin A plastic mannequin head scanned with a prototype structured light scanner built by Oline Vinter Olesen. Several scans have been taken and is aligned and a surface is reconstructed. Since the scans contains a large number of points we limit the used number of points (-m 70000). Experiments showed that a neighbour size of 10 samples was suitable both for normal estimation and distance estimation (-N 10 -D 10). The data and the used script file is available here. Please acknowledge Oline Vinter Olesen and Rasmus R. Paulsen if you use the data.

Computation time Approx. 5 minutes
Input points 550000, 70000 used
Output Triangles 17360
The used command line: C:\rrplocal\bin\rrp\MRFSurface\release\MRFSurface.exe -i FaceSurfaceFiles.txt -o FaceSurface -a -t 1 -m 70000 -N 10 -D 10 Here FaceSurfaceFiles.txt contains the file names of the input surfaces.