Skip to content

Commit f004ec9

Browse files
committed
Merge branch 'master' into IncludeALGLIB
2 parents 5de0597 + 7378653 commit f004ec9

File tree

213 files changed

+19754
-2195
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

213 files changed

+19754
-2195
lines changed

Diff for: CMakeLists.txt

+4-3
Original file line numberDiff line numberDiff line change
@@ -608,11 +608,12 @@ include_directories(${PROJECT_SOURCE_DIR}/include)
608608
# DEFINITION : des preprocesseurs G++
609609

610610
if(CMAKE_COMPILER_IS_GNUCC)
611-
#~ add_compile_options(-O2 -Wall) // pas gere par le cmake de la forge
611+
#~ add_compile_options(-O2 -Wall -fPIC) // pas gere par le cmake de la forge
612+
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
612613
if (${WERROR})
613-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall -Werror")
614+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall -fPIC -Werror")
614615
else ()
615-
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall")
616+
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall -fPIC")
616617
endif()
617618
endif()
618619

Diff for: CodeGenere/File2String/Str_ParamChantierPhotogram.cpp

+8-1
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include "StdAfx.h"
2-
const char * theNameVar_ParamChantierPhotogram[2164] = {
2+
const char * theNameVar_ParamChantierPhotogram[2171] = {
33
"<GenCpp>\n",
44
"\n",
55
"\n",
@@ -2151,6 +2151,13 @@ const char * theNameVar_ParamChantierPhotogram[2164] = {
21512151
"\n",
21522152
"</Xml_ParamGraphStereopolis>\n",
21532153
"\n",
2154+
"<enum Name=\"eRANSAC_HistoP\">\n",
2155+
" <eR3D> </eR3D>\n",
2156+
" <eR2D> </eR2D>\n",
2157+
" <eNbTypeRHP></eNbTypeRHP>\n",
2158+
"</enum>\n",
2159+
"\n",
2160+
"\n",
21542161
"<Verbatim File=\".h.cpp\">\n",
21552162
"// };\n",
21562163
"</Verbatim>\n",

Diff for: CodeGenere/File2String/Str_SuperposImage.cpp

+33-2
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include "StdAfx.h"
2-
const char * theNameVar_SuperposImage[2022] = {
2+
const char * theNameVar_SuperposImage[2053] = {
33
"<GenCpp>\n",
44
"\n",
55
"\n",
@@ -1987,8 +1987,9 @@ const char * theNameVar_SuperposImage[2022] = {
19871987
" <Maps Nb=\"*\" RefType=\"Xml_Map2DElem\"> </Maps>\n",
19881988
"</Xml_Map2D>\n",
19891989
"\n",
1990+
"<!-- ------------------------------------------------------------------------------- --> \n",
19901991
"<!-- Classes to represent measures used for projection of unknown 3D lines in images -->\n",
1991-
"\n",
1992+
"<!-- ------------------------------------------------------------------------------- --> \n",
19921993
"<!-- Nb, Class and ToRef must be present on \"top\" class -->\n",
19931994
"<Xml_OneMeasure3DLineInIm Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
19941995
" <!-- std::string and Pt2dr are atomic types eligible to generate code -->\n",
@@ -2006,8 +2007,38 @@ const char * theNameVar_SuperposImage[2022] = {
20062007
"<Xml_SetMeasureGlob3DLine Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
20072008
" <AllMeasures Nb=\"*\" RefType=\"Xml_SetMeasure3DLineInOneIm\"> </AllMeasures>\n",
20082009
"</Xml_SetMeasureGlob3DLine>\n",
2010+
"<!-- ------------------------------------------------------------------------------- -->\n",
2011+
" \n",
2012+
"<!-- ------------------------------------------------------------------------------- --> \n",
2013+
"<!-- Classes to represent 3D lines in space -->\n",
2014+
"<!-- ------------------------------------------------------------------------------- --> \n",
2015+
"<Xml_One3DLine Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
2016+
" <NameLine3D Nb=\"1\" Type=\"std::string\"> </NameLine3D>\n",
2017+
" <Pt Nb=\"1\" Type=\"Pt3dr\"> </Pt> <!-- \"Origin\" point -->\n",
2018+
" <Vec Nb=\"1\" Type=\"Pt3dr\"> </Vec> <!-- Direction vector -->\n",
2019+
"</Xml_One3DLine>\n",
2020+
" \n",
2021+
"<Xml_Set3DLine Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
2022+
" <AllLines Nb=\"*\" RefType=\"Xml_One3DLine\"> </AllLines> <!-- List of 3D lines -->\n",
2023+
"</Xml_Set3DLine>\n",
2024+
"<!-- ------------------------------------------------------------------------------- -->\n",
20092025
"\n",
20102026
"\n",
2027+
"<!-- ******************** BEGIN HistoricalTiep ******************************* -->\n",
2028+
"<SetOfPatches Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
2029+
" <Mes1Im Nb=\"*\" Class=\"true\">\n",
2030+
" <NameIm Nb=\"1\" Type=\"std::string\"> </NameIm>\n",
2031+
" <PrecPointeByIm Nb=\"?\" Type=\"double\"> </PrecPointeByIm>\n",
2032+
" <OnePatch1I Nb=\"*\">\n",
2033+
" <PrecH Nb=\"?\" Type=\"double\"> </PrecH>\n",
2034+
" <NamePatch Nb=\"1\" Type=\"std::string\"> </NamePatch>\n",
2035+
" <PatchH Nb=\"1\" RefType=\"XmlHomogr\"> </PatchH>\n",
2036+
" </OnePatch1I>\n",
2037+
" </Mes1Im>\n",
2038+
"</SetOfPatches>\n",
2039+
"\n",
2040+
"<!-- ******************** END HistoricalTiep ******************************* -->\n",
2041+
"\n",
20112042
"\n",
20122043
"<Verbatim File=\".h.cpp\">\n",
20132044
"// };\n",

Diff for: MMVII/.gitignore

+10
Original file line numberDiff line numberDiff line change
@@ -5,5 +5,15 @@ include/CodeGen_*.h
55
*.log
66
*.out
77
*.toc
8+
*.ilg
9+
*.ind
810
MMVII/MMVII-TestDir/Input/Files/RelTest.xml
911
MMVII/MMVII-TestDir/Input/Files/RelTest_0-5.xml
12+
.*.d
13+
!bin/
14+
bin/*
15+
!bin/Makefile
16+
!bin/Mk-MMVII.makefile
17+
html/
18+
latex/
19+
doxygen/

Diff for: MMVII/Doc/Doc2007.tex

+19
Original file line numberDiff line numberDiff line change
@@ -44,6 +44,25 @@
4444
\setcounter{secnumdepth}{4}
4545

4646

47+
%allow to break on / in texttt
48+
\usepackage{xparse}
49+
\ExplSyntaxOn
50+
\NewDocumentCommand{\replace}{mmm}
51+
{
52+
\marian_replace:nnn {#1} {#2} {#3}
53+
}
54+
\tl_new:N \l_marian_input_text_tl
55+
\cs_new_protected:Npn \marian_replace:nnn #1 #2 #3
56+
{
57+
\tl_set:Nn \l_marian_input_text_tl { #1 }
58+
\tl_replace_all:Nnn \l_marian_input_text_tl { #2 } { #3 }
59+
\tl_use:N \l_marian_input_text_tl
60+
}
61+
\ExplSyntaxOff
62+
\let\OldTexttt\texttt
63+
\renewcommand{\texttt}[1]{\OldTexttt{\replace{#1}{/}{/\allowbreak}}}
64+
\let\Oldtt\tt
65+
\renewcommand{\tt}[1]{\Oldtt{\replace{#1}{/}{/\allowbreak}}}
4766

4867
%---------------------------------------------
4968
\newcommand{\CPP}{\mbox{\tt C\hspace{-0.05cm}\raisebox{0.2ex}{\small ++} }}

Diff for: MMVII/Doc/Generalities/Intro.tex

+10-7
Original file line numberDiff line numberDiff line change
@@ -121,12 +121,15 @@ \subsection{Getting help}
121121
122122
== Mandatory unnamed args : ==
123123
* string [FDP] :: Full Name of Xml in/out
124-
* string :: Operator in (+= *= -= = =0)
125-
* string [MPI0] :: Pattern or Xml for modifying
124+
* OpAff :: Operator
125+
* string [MPF0] :: Pattern or Xml for modifying
126126
127127
== Optional named args : ==
128-
* [Name=Show] int :: Show detail of set before/after , (def) 0->none, (1) modif, (2) all
128+
* [Name=Show] int :: Show detail of set before/after, 0->none, (1) modif, (2) all ,[Default=0]
129129
* [Name=Out] string :: Destination, def=Input, no save for NONE
130+
* [Name=FFI0] string [FFI0] :: File Filter Interval, Main Set
131+
132+
130133
\end{verbatim}
131134

132135
We get three part :
@@ -137,7 +140,7 @@ \subsection{Getting help}
137140
the entry point of the command is implemented (may be of interest to programmers);
138141

139142
\item second part contains the description of mandatory args, we see that here we
140-
have three mandatory args; for each args is indicated the type (here all strings),
143+
have three mandatory args; for each args is indicated the type (string for the first),
141144
and after {\tt ::}, the semantic of the parameter;
142145
sometime it is inserted inside square bracket (like {\tt [FDP]}) some "predefined semantics"
143146
that will be described later (~\ref{Param:Pred:Sem});
@@ -218,7 +221,7 @@ \subsection{basic usage}
218221

219222
As always when a regular expression is used to specify set of file,
220223
it is understood as a filter on existing file. So if one had used {\tt "F([0-3]|[a-z]).txt"},
221-
given the file present in {\tt {\MMVIDIR}MMVII-TestDir/Input/Files}, we woul have
224+
given the file present in \texttt{{\MMVIDIR}MMVII-TestDir/Input/Files}, we would have
222225
obtained exactly the same result.
223226

224227
\subsubsection{Exercices}
@@ -239,7 +242,7 @@ \subsection{Optional paramaters}
239242
\subsubsection{{\tt Out} paramater}
240243

241244
Optional parameter are given after the mandary one in a list of
242-
string {\tt Name=Value}. For example until now we have use
245+
string {\tt Name=Value}. For example until now we have used
243246
the file {\tt File.xml} both as input and output, but sometime
244247
we don't want to modify the input file, we can the use the optionnal
245248
{\tt Out} parameter. For example if we enter :
@@ -249,7 +252,7 @@ \subsubsection{{\tt Out} paramater}
249252
MMVII EditSet File.xml += "F[7-9].txt" Out=File2.xml
250253
\end{verbatim}
251254

252-
After first line {\tt File.xml} contains t$4$ names.
255+
After first line {\tt File.xml} contains $4$ names.
253256
After second line, the {\tt File.xml} is unchanged
254257
while {\tt File2.xml} contains $7$ names.
255258

Diff for: MMVII/Doc/Generalities/ProjectManag.tex

+32
Original file line numberDiff line numberDiff line change
@@ -9,3 +9,35 @@ \section{Help command}
99
\label{HelpCmd}
1010

1111

12+
\section{Bench command}
13+
14+
15+
\begin{itemize}
16+
\item {\tt MMVII Bench 2 } : standard mode for execuring all bench at level 2
17+
18+
\item {\tt MMVII Bench 2 PatBench=.*Der.* Show=0} : execute benches matchin {\tt ".*Der.*"},
19+
{\tt Show} is explicite as, by default, it is set to {\tt true}
20+
when {\tt PatBench} is set;
21+
22+
\item {\tt MMVII Bench 1 PatBench=XXX} : pattern specified but no match, print all benche existing
23+
24+
25+
\item {\tt MMVII Bench 2 KeyBug=Debord\_M1 } : force the generation of a given error
26+
27+
\item {\tt MMVII Bench 1 KeyBug=XXXX } : will print all possible value for explicit error generation
28+
29+
30+
\item {\tt MMVII Bench 1 PatBench=InspectCube } : as InspectCube is not a bench function, but
31+
only print information, exact name must be set with {\tt PatBench}
32+
33+
\end{itemize}
34+
35+
36+
37+
38+
39+
40+
{\tt MMVII Bench 2 KeyBug=XXX } : standard mode for execuring all bench at level 2
41+
42+
{\tt MMVII Bench 1 PatBench=MemoryOperation KeyBug} : pattern specified but no match, print all benche existing
43+

Diff for: MMVII/Doc/Paper/Epipolar_ipol/Epipolar_ipol.tex

+21-22
Original file line numberDiff line numberDiff line change
@@ -1068,27 +1068,27 @@ \subsubsection{Estimating the directions without model}
10681068

10691069
\section{Experiments}\label{sec:experiments}
10701070

1071-
Datasets:
1072-
\begin{itemize}
1073-
\item Corona, +MPD, les courbes (teorique fait par Benjamin)
1074-
\item Pleiades, residu
1075-
\item Spot
1076-
\end{itemize}
1077-
1078-
\begin{itemize}
1079-
\item nous
1080-
\item Oh
1081-
\end{itemize}
1071+
We demonstrate the performance of the algorithm in two scenarios: with and without the geometric model of the camera. In the first scenario, we use high resolution satellite images acquired with the Pl\'eiades-1A satellite. We form pairs of images of varying base-to-height ratios ($\sfrac{B}{H}$), and differentiate between \textit{single orbit} and \textit{multiple orbit} acquisitions. The results are evaluated in terms of the remaining \textit{y-parallaxes}, and compared to a competetive method by Oh~\cite{Oh2011}.
1072+
1073+
In the second scenario, we do not dispose of the camera geometry, and the epipolar resampling is based on image correspondences (i.e., SIFT~\cite{lowe2004distinctive}). \er{ bla bla how we evaluate it and on which datasets}
1074+
10821075

10831076
Exemple de résultats avec résidus. + qq crop d'images rectifiees.
10841077

1085-
\subsection{Satellite images}
1078+
\paragraph{Pl\'eiade-1A images with known geometry}
1079+
%
1080+
The geometries of 5 images with their corresponding RPC coefficients are first refined in a RPC-bundle adjustment~\cite{rupnika2016refined}. We then combine them in pairs of $\sfrac{B}{H}$ range $\in \left< 0.1,0.45 \right> $. Table~\ref{tab:PHR1mono} shows the remaining y-parallaxes
1081+
10861082

1087-
C'est la que c'est vraiment utile ....
1083+
about $Z_buff$, what is that we want from it
10881084

1085+
hyperparms:
1086+
- grid XY for estimation, 100x100
1087+
- NbZRand equal to 1
1088+
- NbZ equal to 1 (three layers)
10891089

10901090
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ù
1091-
\begin{table}
1091+
\begin{table}[h!]
10921092

10931093
\begin{center}
10941094
\begin{tabular}{|c|c|c|c|c||c|c|c|c|}
@@ -1112,7 +1112,7 @@ \subsection{Satellite images}
11121112
\caption{Maximum value of the remaining y-parallax [pix] for acquisitions from a \textbf{single orbit}. $Z_{buff}$ corresponds to half the depth of the volumne used in the resampling calculation.}\label{tab:PHR1mono}
11131113
\end{table}
11141114
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1115-
\begin{table}
1115+
\begin{table}[h!]
11161116

11171117
\begin{center}
11181118
\begin{tabular}{|c|c|c|c|c||c|c|c|c|}
@@ -1136,7 +1136,7 @@ \subsection{Satellite images}
11361136
\caption{Maximum value of the remaining y-parallax [pix] for acquisitions from \textbf{multiple orbits}. $Z_{buff}$ corresponds to half the depth of the volumne used in the resampling calculation.}\label{tab:PHR1multi}
11371137
\end{table}
11381138
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
1139-
\begin{table}[t!]
1139+
\begin{table}[h!]
11401140

11411141
\begin{center}
11421142
\begin{tabular}{|c|c|c|c|c||c|c|c|c|}
@@ -1160,16 +1160,15 @@ \subsection{Satellite images}
11601160
\caption{Epipolarability indices for acquisitions from a single and {multiple orbits}.}\label{tab:PHR1indices}
11611161
\end{table}
11621162

1163-
\subsection{Radar images}
1163+
%\subsection{Radar images}
11641164

1165-
?
1165+
11661166

11671167
%\subsection{Use with pinhole camera}
11681168
%Permet de faire des test supplémentaire.
11691169

1170-
\subsection{Images without the geometric model}
1171-
1172-
\paragraph{Corona KH-4B images}
1170+
1171+
\paragraph{Corona KH-4B images without the geometric model}
11731172
Exposé precis avec modele analytique:
11741173

11751174
* calcul des points homologues, en 3D => direction moyenne
@@ -1190,7 +1189,7 @@ \subsection{Images without the geometric model}
11901189
\end{figure}
11911190

11921191

1193-
\paragraph{Pl\'eiades images}
1192+
%\paragraph{Pl\'eiades images}
11941193
%---------------------------------------------
11951194
%---------------------------------------------
11961195

Diff for: MMVII/Doc/Paper/Epipolar_ipol/epip.bib

+7
Original file line numberDiff line numberDiff line change
@@ -196,4 +196,11 @@ @InProceedings{okamoto:99:DLT
196196
year = {1999},
197197
}
198198

199+
@Article{rupnika2016refined,
200+
author = {Rupnik, E. and Pierrot-Deseilligny, M. and Delorme, A. and Klinger, Y.},
201+
title = {Refined Satellite Image Orientation in the Free Open-Source Photogrammetric Tools {A}pero/{M}ic{M}ac},
202+
journal = {ISPRS Ann. Photogramm. Remote Sens. Spatial Inf. Sci.},
203+
year = {2016},
204+
}
205+
199206
@Comment{jabref-meta: databaseType:bibtex;}

0 commit comments

Comments
 (0)