Nuage2Ply : Différence entre versions

De MicMac
Aller à : navigation, rechercher
m (Help : Correction signe Offs example (cf Additional comments))
 
(15 révisions intermédiaires par 5 utilisateurs non affichées)
Ligne 1 : Ligne 1 :
 +
[[Image:picto-liste.png|25px]] [[Command|List of commands]]
 
==Description==
 
==Description==
Nuage2Ply is used for transforming depth map in cloud point in ply format;
+
Nuage2Ply is used to convert a depth map (or DEM when applicable) to a point cloud in ply format. The color of an image can be projected to the points (option "attr"). In case of a DEM (classically computed by "[[Malt]] Ortho"), the ortho-image mosaic computed by [[Tawny]] can be used.
  
 
===Syntax===
 
===Syntax===
The global syntax for Nuage2Ply is <br>
+
The global syntax for Nuage2Ply is :
<code>mm3d Nuage2Ply Command UnNamedArgs NamedArgs</code>
+
<pre>mm3d Nuage2Ply XMLFile NamedArgs</pre>
  
 
===Help===
 
===Help===
 +
You can access to the help by typing :
 +
<pre>mm3d Nuage2Ply -help</pre>
  
Mandatory unnamed args :
 
*<span style="font-family:times roman;">''string :: {Name of XML file}''<span style/>
 
  
 +
Mandatory unnamed args :
 +
*string :: {Name of XML file}
 
Named args :  
 
Named args :  
*<span style="font-family:times roman;">''[Name=Sz] Pt2dr :: {Sz (to crop)}''<span style/>
+
*[Name=Sz] Pt2dr :: {Sz (to crop)}
*<span style="font-family:times roman;">''[Name=P0] Pt2dr :: {Origin (to crop)}''<span style/>
+
*[Name=P0] Pt2dr :: {Origin (to crop)}
*<span style="font-family:times roman;">''[Name=Out] string :: {Name of result (default toto.xml => toto.ply)}''<span style/>
+
*[Name=Out] string :: {Name of result (default toto.xml => toto.ply)}
*<span style="font-family:times roman;">''[Name=Scale] REAL :: {Do change the scale of result (def=1, 2 mean smaller)}''<span style/>
+
*[Name=Scale] REAL :: {Do change the scale of result (def=1, 2 mean smaller)}
*<span style="font-family:times roman;">''[Name=Attr] string :: {Image to colour the point}''<span style/>
+
*[Name=Attr] string :: {Image to colour the point}
*<span style="font-family:times roman;">''[Name=Comments] vector<std::string> :: {Commentary to add in the ply file (Def=None)}''<span style/>
+
*[Name=Comments] vector<std::string> :: {Commentary to add in the ply file (Def=None)}
*<span style="font-family:times roman;">''[Name=Bin] INT :: {Generate Binary or Ascii (Def=1, Binary)}''<span style/>
+
*[Name=Bin] INT :: {Generate Binary or Ascii (Def=1, Binary)}
*<span style="font-family:times roman;">''[Name=Mask] string :: {Supplementary mask image}''<span style/>
+
*[Name=Mask] string :: {Supplementary mask image}
*<span style="font-family:times roman;">''[Name=SeuilMask] REAL :: {Theshold for supplementary mask}''<span style/>
+
*[Name=SeuilMask] REAL :: {Theshold for supplementary mask}
*<span style="font-family:times roman;">''[Name=Dyn] REAL :: {Dynamic of attribute}''<span style/>
+
*[Name=Dyn] REAL :: {Dynamic of attribute}
*<span style="font-family:times roman;">''[Name=DoPly] INT :: {Do Ply, def = true}''<span style/>
+
*[Name=DoPly] INT :: {Do Ply, def = true}
*<span style="font-family:times roman;">''[Name=DoXYZ] INT :: {Do XYZ, export as RGB image where R=X,G=Y,B=Z}''<span style/>
+
*[Name=DoXYZ] INT :: {Do XYZ, export as RGB image where R=X,G=Y,B=Z}
*<span style="font-family:times roman;">''[Name=Normale] INT :: {Add normale (Def=false, usable for Poisson)}''<span style/>
+
*[Name=Normale] INT :: {Add normale (Def=false, usable for Poisson)}
*<span style="font-family:times roman;">''[Name=NormByC] INT :: {Replace normal (Def=0, 2=optical center 1=point to center vector)}''<span style/>
+
*[Name=NormByC] INT :: {Replace normal (Def=0, 2=optical center 1=point to center vector)}
*<span style="font-family:times roman;">''[Name=ExagZ] REAL :: {To exagerate the depth, Def=1.0}''<span style/>
+
*[Name=ExagZ] REAL :: {To exagerate the depth, Def=1.0}
*<span style="font-family:times roman;">''[Name=RatioAttrCarte] REAL''<span style/>
+
*[Name=RatioAttrCarte] REAL
*<span style="font-family:times roman;">''[Name=Mesh] bool :: {Do mesh (Def=false)}''<span style/>
+
*[Name=Mesh] bool :: {Do mesh (Def=false)}
*<span style="font-family:times roman;">''[Name=64B] bool :: {To generate 64 Bits ply, Def=false, WARN = do not work properly with meshlab or cloud compare}''<span style/>
+
*[Name=64B] bool :: {To generate 64 Bits ply, Def=false, WARN = do not work properly with meshlab or cloud compare}
*<span style="font-family:times roman;">''[Name=Offs] Pt3dr :: {Offset in points to limit 32 Bits accuracy problem}''<span style/>
+
*[Name=Offs] Pt3dr :: {Offset in points to limit 32 Bits accuracy problem ; example : Offs=[300000,5000000,0]}
*<span style="font-family:times roman;">''[Name=NeighMask] string :: {Mask for neighboors when larger than point selection (for normals computation)}''<span style/>
+
*[Name=NeighMask] string :: {Mask for neighboors when larger than point selection (for normals computation)}
*<span style="font-family:times roman;">''[Name=ForceRGB] bool :: {Force RGB even with gray image (Def=true because of bug in QT)}''<span style/>
+
*[Name=ForceRGB] bool :: {Force RGB even with gray image (Def=true because of bug in QT)}
 +
 
 +
===Additional comments===
 +
The RatioAtrCarte that scaled the image to the same size as the depth map (or DEM) is automatically computed since mid 2014.
 +
 
 +
The Offs parameter exist to compensate for the maximum number of digits per number that can be stored in a 32bits ply file, too low to store accurate coordinates in a system like UTM where the coordinates are offseted by millions (Typical coordinate (Easting, Northing) looks like : 425170 8763100). The offset substract the given values to the points coordinates:
 +
<pre>Pt orig = [425170 8763100 100]
 +
Offs = [420000 8760000 100]
 +
Pt Cor = [2170 3100 0]</pre>
  
 
===Example===
 
===Example===
For example you can launch : <br>
+
For example, with the Ramses dataset, you can launch :
<code> mm3d Tapioca Line "IMG.*CR2" 3 1000</code>
+
<pre> mm3d Nuage2Ply NuageImProf_STD-MALT_Etape_8.xml Attr=../Ortho-MEC-Malt/Ortho-Eg-Test-Redr.tif RatioAttrCarte=2 Scale=2 </pre>
<br>
+

Version actuelle en date du 10 février 2017 à 06:34

Picto-liste.png List of commands

Description

Nuage2Ply is used to convert a depth map (or DEM when applicable) to a point cloud in ply format. The color of an image can be projected to the points (option "attr"). In case of a DEM (classically computed by "Malt Ortho"), the ortho-image mosaic computed by Tawny can be used.

Syntax

The global syntax for Nuage2Ply is :

mm3d Nuage2Ply XMLFile NamedArgs

Help

You can access to the help by typing :

mm3d Nuage2Ply -help


Mandatory unnamed args :

  • string :: {Name of XML file}

Named args :

  • [Name=Sz] Pt2dr :: {Sz (to crop)}
  • [Name=P0] Pt2dr :: {Origin (to crop)}
  • [Name=Out] string :: {Name of result (default toto.xml => toto.ply)}
  • [Name=Scale] REAL :: {Do change the scale of result (def=1, 2 mean smaller)}
  • [Name=Attr] string :: {Image to colour the point}
  • [Name=Comments] vector<std::string> :: {Commentary to add in the ply file (Def=None)}
  • [Name=Bin] INT :: {Generate Binary or Ascii (Def=1, Binary)}
  • [Name=Mask] string :: {Supplementary mask image}
  • [Name=SeuilMask] REAL :: {Theshold for supplementary mask}
  • [Name=Dyn] REAL :: {Dynamic of attribute}
  • [Name=DoPly] INT :: {Do Ply, def = true}
  • [Name=DoXYZ] INT :: {Do XYZ, export as RGB image where R=X,G=Y,B=Z}
  • [Name=Normale] INT :: {Add normale (Def=false, usable for Poisson)}
  • [Name=NormByC] INT :: {Replace normal (Def=0, 2=optical center 1=point to center vector)}
  • [Name=ExagZ] REAL :: {To exagerate the depth, Def=1.0}
  • [Name=RatioAttrCarte] REAL
  • [Name=Mesh] bool :: {Do mesh (Def=false)}
  • [Name=64B] bool :: {To generate 64 Bits ply, Def=false, WARN = do not work properly with meshlab or cloud compare}
  • [Name=Offs] Pt3dr :: {Offset in points to limit 32 Bits accuracy problem ; example : Offs=[300000,5000000,0]}
  • [Name=NeighMask] string :: {Mask for neighboors when larger than point selection (for normals computation)}
  • [Name=ForceRGB] bool :: {Force RGB even with gray image (Def=true because of bug in QT)}

Additional comments

The RatioAtrCarte that scaled the image to the same size as the depth map (or DEM) is automatically computed since mid 2014.

The Offs parameter exist to compensate for the maximum number of digits per number that can be stored in a 32bits ply file, too low to store accurate coordinates in a system like UTM where the coordinates are offseted by millions (Typical coordinate (Easting, Northing) looks like : 425170 8763100). The offset substract the given values to the points coordinates:

Pt orig = [425170 8763100 100]
Offs = [420000 8760000 100]
Pt Cor = [2170 3100 0]

Example

For example, with the Ramses dataset, you can launch :

 mm3d Nuage2Ply NuageImProf_STD-MALT_Etape_8.xml Attr=../Ortho-MEC-Malt/Ortho-Eg-Test-Redr.tif RatioAttrCarte=2 Scale=2