Skip to content

Commit

Permalink
Merge branch 'master' into IncludeALGLIB
Browse files Browse the repository at this point in the history
  • Loading branch information
luc-girod committed May 19, 2021
2 parents 5de0597 + 7378653 commit f004ec9
Show file tree
Hide file tree
Showing 213 changed files with 19,754 additions and 2,195 deletions.
7 changes: 4 additions & 3 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -608,11 +608,12 @@ include_directories(${PROJECT_SOURCE_DIR}/include)
# DEFINITION : des preprocesseurs G++

if(CMAKE_COMPILER_IS_GNUCC)
#~ add_compile_options(-O2 -Wall) // pas gere par le cmake de la forge
#~ add_compile_options(-O2 -Wall -fPIC) // pas gere par le cmake de la forge
set(CMAKE_C_FLAGS "${CMAKE_C_FLAGS} -fPIC")
if (${WERROR})
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall -Werror")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall -fPIC -Werror")
else ()
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall")
set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -O2 -Wall -fPIC")
endif()
endif()

Expand Down
9 changes: 8 additions & 1 deletion CodeGenere/File2String/Str_ParamChantierPhotogram.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "StdAfx.h"
const char * theNameVar_ParamChantierPhotogram[2164] = {
const char * theNameVar_ParamChantierPhotogram[2171] = {
"<GenCpp>\n",
"\n",
"\n",
Expand Down Expand Up @@ -2151,6 +2151,13 @@ const char * theNameVar_ParamChantierPhotogram[2164] = {
"\n",
"</Xml_ParamGraphStereopolis>\n",
"\n",
"<enum Name=\"eRANSAC_HistoP\">\n",
" <eR3D> </eR3D>\n",
" <eR2D> </eR2D>\n",
" <eNbTypeRHP></eNbTypeRHP>\n",
"</enum>\n",
"\n",
"\n",
"<Verbatim File=\".h.cpp\">\n",
"// };\n",
"</Verbatim>\n",
Expand Down
35 changes: 33 additions & 2 deletions CodeGenere/File2String/Str_SuperposImage.cpp
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
#include "StdAfx.h"
const char * theNameVar_SuperposImage[2022] = {
const char * theNameVar_SuperposImage[2053] = {
"<GenCpp>\n",
"\n",
"\n",
Expand Down Expand Up @@ -1987,8 +1987,9 @@ const char * theNameVar_SuperposImage[2022] = {
" <Maps Nb=\"*\" RefType=\"Xml_Map2DElem\"> </Maps>\n",
"</Xml_Map2D>\n",
"\n",
"<!-- ------------------------------------------------------------------------------- --> \n",
"<!-- Classes to represent measures used for projection of unknown 3D lines in images -->\n",
"\n",
"<!-- ------------------------------------------------------------------------------- --> \n",
"<!-- Nb, Class and ToRef must be present on \"top\" class -->\n",
"<Xml_OneMeasure3DLineInIm Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
" <!-- std::string and Pt2dr are atomic types eligible to generate code -->\n",
Expand All @@ -2006,8 +2007,38 @@ const char * theNameVar_SuperposImage[2022] = {
"<Xml_SetMeasureGlob3DLine Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
" <AllMeasures Nb=\"*\" RefType=\"Xml_SetMeasure3DLineInOneIm\"> </AllMeasures>\n",
"</Xml_SetMeasureGlob3DLine>\n",
"<!-- ------------------------------------------------------------------------------- -->\n",
" \n",
"<!-- ------------------------------------------------------------------------------- --> \n",
"<!-- Classes to represent 3D lines in space -->\n",
"<!-- ------------------------------------------------------------------------------- --> \n",
"<Xml_One3DLine Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
" <NameLine3D Nb=\"1\" Type=\"std::string\"> </NameLine3D>\n",
" <Pt Nb=\"1\" Type=\"Pt3dr\"> </Pt> <!-- \"Origin\" point -->\n",
" <Vec Nb=\"1\" Type=\"Pt3dr\"> </Vec> <!-- Direction vector -->\n",
"</Xml_One3DLine>\n",
" \n",
"<Xml_Set3DLine Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
" <AllLines Nb=\"*\" RefType=\"Xml_One3DLine\"> </AllLines> <!-- List of 3D lines -->\n",
"</Xml_Set3DLine>\n",
"<!-- ------------------------------------------------------------------------------- -->\n",
"\n",
"\n",
"<!-- ******************** BEGIN HistoricalTiep ******************************* -->\n",
"<SetOfPatches Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
" <Mes1Im Nb=\"*\" Class=\"true\">\n",
" <NameIm Nb=\"1\" Type=\"std::string\"> </NameIm>\n",
" <PrecPointeByIm Nb=\"?\" Type=\"double\"> </PrecPointeByIm>\n",
" <OnePatch1I Nb=\"*\">\n",
" <PrecH Nb=\"?\" Type=\"double\"> </PrecH>\n",
" <NamePatch Nb=\"1\" Type=\"std::string\"> </NamePatch>\n",
" <PatchH Nb=\"1\" RefType=\"XmlHomogr\"> </PatchH>\n",
" </OnePatch1I>\n",
" </Mes1Im>\n",
"</SetOfPatches>\n",
"\n",
"<!-- ******************** END HistoricalTiep ******************************* -->\n",
"\n",
"\n",
"<Verbatim File=\".h.cpp\">\n",
"// };\n",
Expand Down
10 changes: 10 additions & 0 deletions MMVII/.gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -5,5 +5,15 @@ include/CodeGen_*.h
*.log
*.out
*.toc
*.ilg
*.ind
MMVII/MMVII-TestDir/Input/Files/RelTest.xml
MMVII/MMVII-TestDir/Input/Files/RelTest_0-5.xml
.*.d
!bin/
bin/*
!bin/Makefile
!bin/Mk-MMVII.makefile
html/
latex/
doxygen/
19 changes: 19 additions & 0 deletions MMVII/Doc/Doc2007.tex
Original file line number Diff line number Diff line change
Expand Up @@ -44,6 +44,25 @@
\setcounter{secnumdepth}{4}


%allow to break on / in texttt
\usepackage{xparse}
\ExplSyntaxOn
\NewDocumentCommand{\replace}{mmm}
{
\marian_replace:nnn {#1} {#2} {#3}
}
\tl_new:N \l_marian_input_text_tl
\cs_new_protected:Npn \marian_replace:nnn #1 #2 #3
{
\tl_set:Nn \l_marian_input_text_tl { #1 }
\tl_replace_all:Nnn \l_marian_input_text_tl { #2 } { #3 }
\tl_use:N \l_marian_input_text_tl
}
\ExplSyntaxOff
\let\OldTexttt\texttt
\renewcommand{\texttt}[1]{\OldTexttt{\replace{#1}{/}{/\allowbreak}}}
\let\Oldtt\tt
\renewcommand{\tt}[1]{\Oldtt{\replace{#1}{/}{/\allowbreak}}}

%---------------------------------------------
\newcommand{\CPP}{\mbox{\tt C\hspace{-0.05cm}\raisebox{0.2ex}{\small ++} }}
Expand Down
17 changes: 10 additions & 7 deletions MMVII/Doc/Generalities/Intro.tex
Original file line number Diff line number Diff line change
Expand Up @@ -121,12 +121,15 @@ \subsection{Getting help}
== Mandatory unnamed args : ==
* string [FDP] :: Full Name of Xml in/out
* string :: Operator in (+= *= -= = =0)
* string [MPI0] :: Pattern or Xml for modifying
* OpAff :: Operator
* string [MPF0] :: Pattern or Xml for modifying
== Optional named args : ==
* [Name=Show] int :: Show detail of set before/after , (def) 0->none, (1) modif, (2) all
* [Name=Show] int :: Show detail of set before/after, 0->none, (1) modif, (2) all ,[Default=0]
* [Name=Out] string :: Destination, def=Input, no save for NONE
* [Name=FFI0] string [FFI0] :: File Filter Interval, Main Set
\end{verbatim}

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

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

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

\subsubsection{Exercices}
Expand All @@ -239,7 +242,7 @@ \subsection{Optional paramaters}
\subsubsection{{\tt Out} paramater}

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

After first line {\tt File.xml} contains t$4$ names.
After first line {\tt File.xml} contains $4$ names.
After second line, the {\tt File.xml} is unchanged
while {\tt File2.xml} contains $7$ names.

Expand Down
32 changes: 32 additions & 0 deletions MMVII/Doc/Generalities/ProjectManag.tex
Original file line number Diff line number Diff line change
Expand Up @@ -9,3 +9,35 @@ \section{Help command}
\label{HelpCmd}


\section{Bench command}


\begin{itemize}
\item {\tt MMVII Bench 2 } : standard mode for execuring all bench at level 2

\item {\tt MMVII Bench 2 PatBench=.*Der.* Show=0} : execute benches matchin {\tt ".*Der.*"},
{\tt Show} is explicite as, by default, it is set to {\tt true}
when {\tt PatBench} is set;

\item {\tt MMVII Bench 1 PatBench=XXX} : pattern specified but no match, print all benche existing


\item {\tt MMVII Bench 2 KeyBug=Debord\_M1 } : force the generation of a given error

\item {\tt MMVII Bench 1 KeyBug=XXXX } : will print all possible value for explicit error generation


\item {\tt MMVII Bench 1 PatBench=InspectCube } : as InspectCube is not a bench function, but
only print information, exact name must be set with {\tt PatBench}

\end{itemize}






{\tt MMVII Bench 2 KeyBug=XXX } : standard mode for execuring all bench at level 2

{\tt MMVII Bench 1 PatBench=MemoryOperation KeyBug} : pattern specified but no match, print all benche existing

43 changes: 21 additions & 22 deletions MMVII/Doc/Paper/Epipolar_ipol/Epipolar_ipol.tex
Original file line number Diff line number Diff line change
Expand Up @@ -1068,27 +1068,27 @@ \subsubsection{Estimating the directions without model}

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

Datasets:
\begin{itemize}
\item Corona, +MPD, les courbes (teorique fait par Benjamin)
\item Pleiades, residu
\item Spot
\end{itemize}

\begin{itemize}
\item nous
\item Oh
\end{itemize}
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}.

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}


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

\subsection{Satellite images}
\paragraph{Pl\'eiade-1A images with known geometry}
%
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


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

hyperparms:
- grid XY for estimation, 100x100
- NbZRand equal to 1
- NbZ equal to 1 (three layers)

%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%ù
\begin{table}
\begin{table}[h!]

\begin{center}
\begin{tabular}{|c|c|c|c|c||c|c|c|c|}
Expand All @@ -1112,7 +1112,7 @@ \subsection{Satellite images}
\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}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{table}
\begin{table}[h!]

\begin{center}
\begin{tabular}{|c|c|c|c|c||c|c|c|c|}
Expand All @@ -1136,7 +1136,7 @@ \subsection{Satellite images}
\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}
\end{table}
%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%%
\begin{table}[t!]
\begin{table}[h!]

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

\subsection{Radar images}
%\subsection{Radar images}

?


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

\subsection{Images without the geometric model}

\paragraph{Corona KH-4B images}

\paragraph{Corona KH-4B images without the geometric model}
Exposé precis avec modele analytique:

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


\paragraph{Pl\'eiades images}
%\paragraph{Pl\'eiades images}
%---------------------------------------------
%---------------------------------------------

Expand Down
7 changes: 7 additions & 0 deletions MMVII/Doc/Paper/Epipolar_ipol/epip.bib
Original file line number Diff line number Diff line change
Expand Up @@ -196,4 +196,11 @@ @InProceedings{okamoto:99:DLT
year = {1999},
}

@Article{rupnika2016refined,
author = {Rupnik, E. and Pierrot-Deseilligny, M. and Delorme, A. and Klinger, Y.},
title = {Refined Satellite Image Orientation in the Free Open-Source Photogrammetric Tools {A}pero/{M}ic{M}ac},
journal = {ISPRS Ann. Photogramm. Remote Sens. Spatial Inf. Sci.},
year = {2016},
}

@Comment{jabref-meta: databaseType:bibtex;}
Loading

0 comments on commit f004ec9

Please sign in to comment.