Tapioca : Différence entre versions
(Created page with "<!DOCTYPE html> <html> <head> <title>Outils MicMac</title> <link rel="stylesheet" type="text/css" href="StyleSheet/content_style.css"> </head> <body> <h1>Tapioca</h1> <...") |
|||
| Ligne 1 : | Ligne 1 : | ||
| − | + | ==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 <br> | |
| − | + | <code>mm3d Tapioca Command UnNamedArgs NamedArgs</code> | |
| − | + | ===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 :<br> | |
| − | + | <br> | |
| − | + | <code>mm3d Tapioca MulScale -help</code> <br> | |
| − | + | <br> | |
| − | + | Mandatory unnamed args : | |
| − | + | *<span style="font-family:times roman;"> ''string :: {Full Name (Dir+Pat)}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''INT :: {Size of Low Resolution Images}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''INT :: {Size of High Resolution Images}''</span style><br> | |
| − | + | <br> | |
| − | + | Named args : | |
| − | + | *<span style="font-family:times roman;">''[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}''</span style> | |
| − | + | *<span style="font-family:times roman;">''[Name=ByP] INT :: {By process}''</span style> | |
| − | + | *<span style="font-family:times roman;">''[Name=PostFix] string :: {Add postfix in directory}''</span style> | |
| − | + | *<span style="font-family:times roman;">''[Name=NbMinPt] INT :: {Minimum number of points}''</span style> | |
| − | + | *<span style="font-family:times roman;">''[Name=DLR] INT :: {Do Low Resolution}''</span style> | |
| − | + | *<span style="font-family:times roman;">''[Name=Pat2] string :: {Second pattern}''</span style> | |
| + | *<span style="font-family:times roman;">''[Name=Detect] string''</span style> | ||
| + | *<span style="font-family:times roman;">''[Name=Match] string''</span style> | ||
| + | *<span style="font-family:times roman;">''[Name=NoMax] bool''</span style> | ||
| + | *<span style="font-family:times roman;">''[Name=NoMin] bool''</span style> | ||
| + | *<span style="font-family:times roman;">''[Name=NoUnknown] bool''</span style> | ||
| − | + | ===Example=== | |
| − | + | For example with the Buddha dataset, you can launch : <br> | |
| − | + | <code>mm3d Tapioca MulScale "IMG_[0-9]{4}.tif" 300 -1</code> | |
| − | + | <br> | |
| − | + | <br> | |
| − | + | For example with the Cuxa dataset, you can launch :<br> | |
| − | + | <code>mm3d Tapioca MulScale "Abbey-IMG_.*.jpg" 200 800</code> | |
| − | + | <br> | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ==All== | |
| − | + | For all possible pairs. | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ===Help=== | |
| − | + | You can access to the help by typing :<br> | |
| − | + | <code>mm3d Tapioca All -help</code> <br> | |
| − | + | <br> | |
| − | + | Mandatory unnamed args : | |
| − | + | *<span style="font-family:times roman;"> ''string :: {Full Name (Dir+Pat)}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''INT :: {Size of image}''</span style> | |
| − | + | <br> | |
| − | + | Named args : | |
| − | + | *<span style="font-family:times roman;"> ''[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=PostFix] string :: {Add postfix in directory}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=ByP] INT :: {By process}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=Pat2] string :: {Second pattern}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=Detect] string''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=Match] string''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=NoMax] bool''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=NoMin] bool''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=NoUnknown] bool''</span style> | |
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | + | ||
| − | < | + | ===Example=== |
| − | + | For example with the Ramses dataset, you can launch : <br> | |
| − | + | <code>mm3d Tapioca All "IMG.*CR2" 1000</code> | |
| − | + | <br> | |
| − | + | <br> | |
| − | + | For example with the Zhenjue dataset, you can launch : <br> | |
| − | + | <code>mm3d Tapioca All ".*JPG" 1500</code> | |
| − | + | ||
| − | + | ==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 :<br> | |
| − | + | <code>mm3d Tapioca Line -help</code> <br> | |
| − | + | <br> | |
| − | + | Mandatory unnamed args : | |
| − | + | *<span style="font-family:times roman;"> ''string :: {Full Name (Dir+Pat)}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''INT :: {Image size}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''INT :: {Number of adjacent images to look for (δ)}''</span style> | |
| − | + | <br> | |
| − | + | Named args : | |
| − | + | *<span style="font-family:times roman;"> ''[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=Jump] vector<int> :: {Densification by jump }''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=PostFix] string :: {Add postfix in directory}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=ByP] INT :: {By process}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=Circ] INT :: {In line mode if it's a loop (begin ~ end)}''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=ForceAdSupResol] bool :: {to force computation even when Resol''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=Detect] string''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=Match] string''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=NoMax] bool''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=NoMin] bool''</span style> | |
| − | + | *<span style="font-family:times roman;"> ''[Name=NoUnknown] bool''</span style> | |
| − | + | ||
| − | + | ===Example=== | |
| − | + | For example with the Ramses dataset, you can launch : <br> | |
| − | + | <code> mm3d Tapioca Line "IMG.*CR2" 3 1000</code> | |
| + | <br> | ||
| + | |||
| + | |||
| + | ==Graph== | ||
| + | |||
| + | |||
| + | ===Help=== | ||
| + | You can access to the help by typing :<br> | ||
| + | <code>mm3d Tapioca Graph -help</code> <br> | ||
| + | <br> | ||
| + | Mandatory unnamed args : | ||
| + | *<span style="font-family:times roman;"> ''string :: {Full images' pattern (directory+pattern)}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''INT :: {Processing size of image (for the greater dimension)} ''</span style> | ||
| + | <br> | ||
| + | Named args : | ||
| + | *<span style="font-family:times roman;"> ''[Name=ByP] INT :: {By process}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=Detect] string :: {executable used to detect keypoints}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=MaxPoint] INT :: {number of points used per image to construct the graph (default 200)}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=MinScale] REAL :: {if specified, points with a lesser scale are ignored}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=MaxScale] REAL :: {if specified, points with a greater scale are ignored}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=NbRequired] INT :: {number of matches to create a connexion between two images (default 1)}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=Out] string :: {name of the produced XML file}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=PrintGraph] bool :: {print result graph in standard output}''</span style> | ||
| + | |||
| + | ==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 :<br> | ||
| + | <code>mm3d Tapioca File -help</code> <br> | ||
| + | <br> | ||
| + | Mandatory unnamed args : | ||
| + | *<span style="font-family:times roman;"> ''string :: {XML-File of pair}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''INT :: {Resolution}''</span style> | ||
| + | <br> | ||
| + | Named args : | ||
| + | *<span style="font-family:times roman;"> ''[Name=ExpTxt] INT :: {Export files in text format (Def=false means binary)}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=PostFix] string :: {Add postfix in directory}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=ByP] INT :: {By process}''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=Detect] string''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=Match] string''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=NoMax] bool''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=NoMin] bool''</span style> | ||
| + | *<span style="font-family:times roman;"> ''[Name=NoUnknown] bool''</span style> | ||
Version du 2 novembre 2015 à 09:17
Sommaire
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 Command 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 (δ)}
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