Tapioca : Différence entre versions

De MicMac
Aller à : navigation, rechercher
Ligne 4 : Ligne 4 :
 
===Syntax===
 
===Syntax===
 
The global syntax for Tapioca is <br>
 
The global syntax for Tapioca is <br>
<code>mm3d Tapioca Command UnNamedArgs NamedArgs</code>
+
<code>mm3d Tapioca UnNamedArgs NamedArgs</code>
  
 
===Allowed commands===
 
===Allowed commands===
Ligne 18 : Ligne 18 :
 
===Help===  
 
===Help===  
 
You can access to the help by typing :<br>
 
You can access to the help by typing :<br>
<br>
 
 
<code>mm3d Tapioca MulScale -help</code> <br>
 
<code>mm3d Tapioca MulScale -help</code> <br>
<br>
+
 
 
Mandatory unnamed args :
 
Mandatory unnamed args :
*<span style="font-family:times roman;"> ''string :: {Full Name (Dir+Pat)}''</span style>
+
*string :: {Full Name (Dir+Pat)}
*<span style="font-family:times roman;"> ''INT :: {Size of Low Resolution Images}''</span style>
+
*INT :: {Size of Low Resolution Images}
*<span style="font-family:times roman;"> ''INT :: {Size of High Resolution Images}''</span style><br>
+
*INT :: {Size of High Resolution Images}
<br>
+
 
 
Named args :
 
Named args :
*<span style="font-family:times roman;">''[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}''</span style>
+
*[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}
*<span style="font-family:times roman;">''[Name=ByP] INT :: {By process}''</span style>
+
*[Name=ByP] INT :: {By process}
*<span style="font-family:times roman;">''[Name=PostFix] string :: {Add postfix in directory}''</span style>
+
*[Name=PostFix] string :: {Add postfix in directory}
*<span style="font-family:times roman;">''[Name=NbMinPt] INT :: {Minimum number of points}''</span style>
+
*[Name=NbMinPt] INT :: {Minimum number of points}
*<span style="font-family:times roman;">''[Name=DLR] INT :: {Do Low Resolution}''</span style>
+
*[Name=DLR] INT :: {Do Low Resolution}
*<span style="font-family:times roman;">''[Name=Pat2] string :: {Second pattern}''</span style>
+
*[Name=Pat2] string :: {Second pattern}
*<span style="font-family:times roman;">''[Name=Detect] string''</span style>
+
*[Name=Detect] string
*<span style="font-family:times roman;">''[Name=Match] string''</span style>
+
*[Name=Match] string
*<span style="font-family:times roman;">''[Name=NoMax] bool''</span style>
+
*[Name=NoMax] bool
*<span style="font-family:times roman;">''[Name=NoMin] bool''</span style>
+
*[Name=NoMin] bool
*<span style="font-family:times roman;">''[Name=NoUnknown] bool''</span style>
+
*[Name=NoUnknown] bool
  
 
===Example===
 
===Example===
 
For example with the Buddha dataset, you can launch : <br>
 
For example with the Buddha dataset, you can launch : <br>
 
<code>mm3d Tapioca MulScale "IMG_[0-9]{4}.tif" 300 -1</code>
 
<code>mm3d Tapioca MulScale "IMG_[0-9]{4}.tif" 300 -1</code>
<br>
 
 
<br>
 
<br>
 
For example with the Cuxa dataset, you can launch :<br>
 
For example with the Cuxa dataset, you can launch :<br>
 
<code>mm3d Tapioca MulScale "Abbey-IMG_.*.jpg" 200 800</code>
 
<code>mm3d Tapioca MulScale "Abbey-IMG_.*.jpg" 200 800</code>
<br>
 
  
 
==All==
 
==All==
Ligne 54 : Ligne 51 :
 
You can access to the help by typing :<br>
 
You can access to the help by typing :<br>
 
<code>mm3d Tapioca All -help</code> <br>
 
<code>mm3d Tapioca All -help</code> <br>
<br>
+
 
 
Mandatory unnamed args :
 
Mandatory unnamed args :
*<span style="font-family:times roman;"> ''string :: {Full Name (Dir+Pat)}''</span style>
+
*string :: {Full Name (Dir+Pat)}
*<span style="font-family:times roman;"> ''INT :: {Size of image}''</span style>
+
*INT :: {Size of image}
<br>
+
 
 
Named args :
 
Named args :
*<span style="font-family:times roman;"> ''[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}''</span style>
+
*[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}
*<span style="font-family:times roman;"> ''[Name=PostFix] string :: {Add postfix in directory}''</span style>
+
*[Name=PostFix] string :: {Add postfix in directory}
*<span style="font-family:times roman;"> ''[Name=ByP] INT :: {By process}''</span style>
+
*[Name=ByP] INT :: {By process}
*<span style="font-family:times roman;"> ''[Name=Pat2] string :: {Second pattern}''</span style>
+
*[Name=Pat2] string :: {Second pattern}
*<span style="font-family:times roman;"> ''[Name=Detect] string''</span style>
+
*[Name=Detect] string
*<span style="font-family:times roman;"> ''[Name=Match] string''</span style>
+
*[Name=Match] string
*<span style="font-family:times roman;"> ''[Name=NoMax] bool''</span style>
+
*[Name=NoMax] bool
*<span style="font-family:times roman;"> ''[Name=NoMin] bool''</span style>
+
*[Name=NoMin] bool
*<span style="font-family:times roman;"> ''[Name=NoUnknown] bool''</span style>
+
*[Name=NoUnknown] bool
  
 
===Example===
 
===Example===
 
For example with the Ramses dataset, you can launch : <br>
 
For example with the Ramses dataset, you can launch : <br>
 
<code>mm3d Tapioca All "IMG.*CR2" 1000</code>
 
<code>mm3d Tapioca All "IMG.*CR2" 1000</code>
<br>
+
 
<br>
+
 
For example with the Zhenjue dataset, you can launch : <br>
 
For example with the Zhenjue dataset, you can launch : <br>
 
<code>mm3d Tapioca All ".*JPG" 1500</code>
 
<code>mm3d Tapioca All ".*JPG" 1500</code>
Ligne 83 : Ligne 79 :
 
===Help===  
 
===Help===  
 
You can access to the help by typing :<br>
 
You can access to the help by typing :<br>
<code>mm3d Tapioca Line -help</code> <br>
+
<code>mm3d Tapioca Line -help</code>
<br>
+
 
 
Mandatory unnamed args :
 
Mandatory unnamed args :
*<span style="font-family:times roman;"> ''string :: {Full Name (Dir+Pat)}''</span style>
+
*string :: {Full Name (Dir+Pat)}
*<span style="font-family:times roman;"> ''INT :: {Image size}''</span style>
+
*INT :: {Image size}
*<span style="font-family:times roman;"> ''INT :: {Number of adjacent images to look for (&#948)}''</span style>
+
*INT :: {Number of adjacent images to look for (&#948)}
<br>
+
 
 
Named args :
 
Named args :
*<span style="font-family:times roman;"> ''[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}''</span style>
+
*[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}
*<span style="font-family:times roman;"> ''[Name=Jump] vector<int> :: {Densification by jump }''</span style>
+
*[Name=Jump] vector<int> :: {Densification by jump }
*<span style="font-family:times roman;"> ''[Name=PostFix] string :: {Add postfix in directory}''</span style>
+
*[Name=PostFix] string :: {Add postfix in directory}
*<span style="font-family:times roman;"> ''[Name=ByP] INT :: {By process}''</span style>
+
*[Name=ByP] INT :: {By process}
*<span style="font-family:times roman;"> ''[Name=Circ] INT :: {In line mode if it's a loop (begin ~ end)}''</span style>
+
*[Name=Circ] INT :: {In line mode if it's a loop (begin ~ end)}
*<span style="font-family:times roman;"> ''[Name=ForceAdSupResol] bool :: {to force computation even when Resol''</span style>
+
*[Name=ForceAdSupResol] bool :: {to force computation even when Resol
*<span style="font-family:times roman;"> ''[Name=Detect] string''</span style>
+
*[Name=Detect] string
*<span style="font-family:times roman;"> ''[Name=Match] string''</span style>
+
*[Name=Match] string
*<span style="font-family:times roman;"> ''[Name=NoMax] bool''</span style>
+
*[Name=NoMax] bool
*<span style="font-family:times roman;"> ''[Name=NoMin] bool''</span style>
+
*[Name=NoMin] bool
*<span style="font-family:times roman;"> ''[Name=NoUnknown] bool''</span style>
+
*[Name=NoUnknown] bool
  
 
===Example===
 
===Example===
Ligne 107 : Ligne 103 :
 
<code> mm3d Tapioca Line "IMG.*CR2" 3 1000</code>
 
<code> mm3d Tapioca Line "IMG.*CR2" 3 1000</code>
 
<br>
 
<br>
 
  
 
==Graph==
 
==Graph==
 
  
 
===Help===  
 
===Help===  
 
You can access to the help by typing :<br>
 
You can access to the help by typing :<br>
<code>mm3d Tapioca Graph -help</code> <br>
+
<code>mm3d Tapioca Graph -help</code>  
<br>
+
 
 
Mandatory unnamed args :
 
Mandatory unnamed args :
*<span style="font-family:times roman;"> ''string :: {Full images' pattern (directory+pattern)}''</span style>
+
*string :: {Full images' pattern (directory+pattern)}
*<span style="font-family:times roman;"> ''INT :: {Processing size of image (for the greater dimension)} ''</span style>
+
*INT :: {Processing size of image (for the greater dimension)}
<br>
+
 
 
Named args :
 
Named args :
*<span style="font-family:times roman;"> ''[Name=ByP] INT :: {By process}''</span style>
+
*[Name=ByP] INT :: {By process}
*<span style="font-family:times roman;"> ''[Name=Detect] string :: {executable used to detect keypoints}''</span style>
+
*[Name=Detect] string :: {executable used to detect keypoints}
*<span style="font-family:times roman;"> ''[Name=MaxPoint] INT :: {number of points used per image to construct the graph (default 200)}''</span style>
+
*[Name=MaxPoint] INT :: {number of points used per image to construct the graph (default 200)}
*<span style="font-family:times roman;"> ''[Name=MinScale] REAL :: {if specified, points with a lesser scale are ignored}''</span style>
+
*[Name=MinScale] REAL :: {if specified, points with a lesser scale are ignored}
*<span style="font-family:times roman;"> ''[Name=MaxScale] REAL :: {if specified, points with a greater scale are ignored}''</span style>
+
*[Name=MaxScale] REAL :: {if specified, points with a greater scale are ignored}
*<span style="font-family:times roman;"> ''[Name=NbRequired] INT :: {number of matches to create a connexion between two images (default 1)}''</span style>
+
*[Name=NbRequired] INT :: {number of matches to create a connexion between two images (default 1)}
*<span style="font-family:times roman;"> ''[Name=Out] string :: {name of the produced XML file}''</span style>
+
*[Name=Out] string :: {name of the produced XML file}
*<span style="font-family:times roman;"> ''[Name=PrintGraph] bool :: {print result graph in standard output}''</span style>
+
*[Name=PrintGraph] bool :: {print result graph in standard output}
  
 
==File==
 
==File==
Ligne 135 : Ligne 129 :
 
===Help===  
 
===Help===  
 
You can access to the help by typing :<br>
 
You can access to the help by typing :<br>
<code>mm3d Tapioca File -help</code> <br>
+
<code>mm3d Tapioca File -help</code>  
<br>
+
 
 
Mandatory unnamed args :
 
Mandatory unnamed args :
*<span style="font-family:times roman;"> ''string :: {XML-File of pair}''</span style>
+
*string :: {XML-File of pair}
*<span style="font-family:times roman;"> ''INT :: {Resolution}''</span style>
+
*INT :: {Resolution}
<br>
+
 
 
Named args :
 
Named args :
*<span style="font-family:times roman;"> ''[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}''</span style>
+
*[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}
*<span style="font-family:times roman;"> ''[Name=PostFix] string :: {Add postfix in directory}''</span style>
+
*[Name=PostFix] string :: {Add postfix in directory}
*<span style="font-family:times roman;"> ''[Name=ByP] INT :: {By process}''</span style>
+
*[Name=ByP] INT :: {By process}
*<span style="font-family:times roman;"> ''[Name=Detect] string''</span style>
+
*[Name=Detect] string
*<span style="font-family:times roman;"> ''[Name=Match] string''</span style>
+
*[Name=Match] string
*<span style="font-family:times roman;"> ''[Name=NoMax] bool''</span style>
+
*[Name=NoMax] bool
*<span style="font-family:times roman;"> ''[Name=NoMin] bool''</span style>
+
*[Name=NoMin] bool
*<span style="font-family:times roman;"> ''[Name=NoUnknown] bool''</span style>
+
*[Name=NoUnknown] bool

Version du 18 janvier 2016 à 10:22

Description

Tapioca is a simple tool interface for computing tie points. I think Tapioca should be sufficient in 95% of cases. If it is not the case, you will have to refer to a more complex and powerful tool named Pastis which will be described later. In fact, Tapioca is only an interface to Pastis.

Syntax

The global syntax for Tapioca is
mm3d Tapioca UnNamedArgs NamedArgs

Allowed commands

  • MulScale
  • All
  • Line
  • File
  • Graph

MulScale

The mode MulScale can save significant computation time on large sets of images. Even if it is not optimal for all canvas, it has the benefit of being general and usable with any data set. In this mode, a first computation of tie points is made for all the pairs of images at very low resolution (so it is quite fast).Then the computation, at the desired resolution, is done only for the pairs having, at low resolution, a number of tie points exceeding a given threshold.

Help

You can access to the help by typing :
mm3d Tapioca MulScale -help

Mandatory unnamed args :

  • string :: {Full Name (Dir+Pat)}
  • INT :: {Size of Low Resolution Images}
  • INT :: {Size of High Resolution Images}

Named args :

  • [Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}
  • [Name=ByP] INT :: {By process}
  • [Name=PostFix] string :: {Add postfix in directory}
  • [Name=NbMinPt] INT :: {Minimum number of points}
  • [Name=DLR] INT :: {Do Low Resolution}
  • [Name=Pat2] string :: {Second pattern}
  • [Name=Detect] string
  • [Name=Match] string
  • [Name=NoMax] bool
  • [Name=NoMin] bool
  • [Name=NoUnknown] bool

Example

For example with the Buddha dataset, you can launch :
mm3d Tapioca MulScale "IMG_[0-9]{4}.tif" 300 -1
For example with the Cuxa dataset, you can launch :
mm3d Tapioca MulScale "Abbey-IMG_.*.jpg" 200 800

All

For all possible pairs.

Help

You can access to the help by typing :
mm3d Tapioca All -help

Mandatory unnamed args :

  • string :: {Full Name (Dir+Pat)}
  • INT :: {Size of image}

Named args :

  • [Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}
  • [Name=PostFix] string :: {Add postfix in directory}
  • [Name=ByP] INT :: {By process}
  • [Name=Pat2] string :: {Second pattern}
  • [Name=Detect] string
  • [Name=Match] string
  • [Name=NoMax] bool
  • [Name=NoMin] bool
  • [Name=NoUnknown] bool

Example

For example with the Ramses dataset, you can launch :
mm3d Tapioca All "IMG.*CR2" 1000

For example with the Zhenjue dataset, you can launch :
mm3d Tapioca All ".*JPG" 1500

Line

It often occurs that the photos canvas has a linear structure, for example, when you acquire photos of a facade walking along the street. In this case, you know that Kth can only have tie points with images in the interval [K - δ, K + δ] giving this information to Tapioca can save a lot of time. The syntax is : delta is δ and all the other arguments have the same meaning as in the All mode.

Help

You can access to the help by typing :
mm3d Tapioca Line -help

Mandatory unnamed args :

  • string :: {Full Name (Dir+Pat)}
  • INT :: {Image size}
  • INT :: {Number of adjacent images to look for (&#948)}

Named args :

  • [Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}
  • [Name=Jump] vector<int> :: {Densification by jump }
  • [Name=PostFix] string :: {Add postfix in directory}
  • [Name=ByP] INT :: {By process}
  • [Name=Circ] INT :: {In line mode if it's a loop (begin ~ end)}
  • [Name=ForceAdSupResol] bool :: {to force computation even when Resol
  • [Name=Detect] string
  • [Name=Match] string
  • [Name=NoMax] bool
  • [Name=NoMin] bool
  • [Name=NoUnknown] bool

Example

For example with the Ramses dataset, you can launch :
mm3d Tapioca Line "IMG.*CR2" 3 1000

Graph

Help

You can access to the help by typing :
mm3d Tapioca Graph -help

Mandatory unnamed args :

  • string :: {Full images' pattern (directory+pattern)}
  • INT :: {Processing size of image (for the greater dimension)}

Named args :

  • [Name=ByP] INT :: {By process}
  • [Name=Detect] string :: {executable used to detect keypoints}
  • [Name=MaxPoint] INT :: {number of points used per image to construct the graph (default 200)}
  • [Name=MinScale] REAL :: {if specified, points with a lesser scale are ignored}
  • [Name=MaxScale] REAL :: {if specified, points with a greater scale are ignored}
  • [Name=NbRequired] INT :: {number of matches to create a connexion between two images (default 1)}
  • [Name=Out] string :: {name of the produced XML file}
  • [Name=PrintGraph] bool :: {print result graph in standard output}

File

File specifies a set of images to be matched. For all these images, a set of sift descriptor will be computed. However, all the pairs of descriptors sets will not be matched. To optimize the computation, a subset of images pair will be described by the Mode parameters. The first part of File is a directory, and the second one is the description of the files to be computed with Tapioca. The results will be written in the subdirectory Homol of the specified directory.

Help

You can access to the help by typing :
mm3d Tapioca File -help

Mandatory unnamed args :

  • string :: {XML-File of pair}
  • INT :: {Resolution}

Named args :

  • [Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}
  • [Name=PostFix] string :: {Add postfix in directory}
  • [Name=ByP] INT :: {By process}
  • [Name=Detect] string
  • [Name=Match] string
  • [Name=NoMax] bool
  • [Name=NoMin] bool
  • [Name=NoUnknown] bool