Skip to content

Commit f178570

Browse files
committed
Merge branch 'master' of https://github.com/micmacIGN/micmac
fusion
2 parents 5ebb792 + dc106dd commit f178570

33 files changed

Lines changed: 2891 additions & 273 deletions

CMakeLists.txt

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -610,6 +610,10 @@ ENDIF()
610610
611611
# DEFINITION : des preprocesseurs windows
612612
IF (MSVC)
613+
if (CMAKE_INSTALL_PREFIX_INITIALIZED_TO_DEFAULT)
614+
set (CMAKE_INSTALL_PREFIX "${PROJECT_SOURCE_DIR}" CACHE PATH "default install path" FORCE )
615+
endif()
616+
613617
set (CMAKE_EXE_LINKER_FLAGS "${CMAKE_EXE_LINKER_FLAGS} /LARGEADDRESSAWARE" )
614618
# Zm131 -> Erreur de compilation sous windows 7 avec Cuda et Boost
615619
if (${CUDA_ENABLED})

CodeGenere/File2String/Str_SuperposImage.cpp

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
#include "StdAfx.h"
2-
const char * (theNameVar_SuperposImage[1969]) = {
2+
const char * (theNameVar_SuperposImage[1993]) = {
33
"<GenCpp>\n",
44
"\n",
55
"\n",
@@ -1493,6 +1493,30 @@ const char * (theNameVar_SuperposImage[1969]) = {
14931493
" <Triplets Nb=\"*\" RefType=\"Xml_OneTriplet\"> </Triplets>\n",
14941494
"</Xml_TopoTriplet>\n",
14951495
"\n",
1496+
"\n",
1497+
"<!-- Export camera directions -->\n",
1498+
"<Xml_SingleDir Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
1499+
" <PIm Nb=\"1\" Type=\"Pt2dr\"> </PIm>\n",
1500+
" <P1 Nb=\"1\" Type=\"Pt3dr\"> </P1>\n",
1501+
" <P2 Nb=\"1\" Type=\"Pt3dr\"> </P2>\n",
1502+
"</Xml_SingleDir>\n",
1503+
"\n",
1504+
"\n",
1505+
"<Xml_ImDir Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
1506+
" <Name Nb=\"1\" Type=\"std::string\"> </Name>\n",
1507+
" <P1OC Nb=\"1\" Type=\"Pt3dr\"> </P1OC>\n",
1508+
" <P2OC Nb=\"1\" Type=\"Pt3dr\"> </P2OC>\n",
1509+
" <ListDir Nb=\"*\" RefType=\"Xml_SingleDir\"> </ListDir>\n",
1510+
"</Xml_ImDir>\n",
1511+
"\n",
1512+
"\n",
1513+
"<Xml_ImSetDir Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
1514+
" <Ims Nb=\"*\" RefType=\"Xml_ImDir\"> </Ims>\n",
1515+
"</Xml_ImSetDir>\n",
1516+
"\n",
1517+
"\n",
1518+
"\n",
1519+
"\n",
14961520
"<!-- Export RPCs -->\n",
14971521
"<SAMP_NUM_COEFF Nb=\"1\" Class=\"true\" ToReference=\"true\">\n",
14981522
" <SAMP_NUM_COEFF_1 Nb=\"1\" Type=\"double\"></SAMP_NUM_COEFF_1>\n",

include/XML_GEN/SuperposImage.h

Lines changed: 92 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -6724,6 +6724,98 @@ void BinaryUnDumpFromFile(cXml_TopoTriplet &,ELISE_fp &);
67246724

67256725
std::string Mangling( cXml_TopoTriplet *);
67266726

6727+
/******************************************************/
6728+
/******************************************************/
6729+
/******************************************************/
6730+
class cXml_SingleDir
6731+
{
6732+
public:
6733+
cGlobXmlGen mGXml;
6734+
6735+
friend void xml_init(cXml_SingleDir & anObj,cElXMLTree * aTree);
6736+
6737+
6738+
Pt2dr & PIm();
6739+
const Pt2dr & PIm()const ;
6740+
6741+
Pt3dr & P1();
6742+
const Pt3dr & P1()const ;
6743+
6744+
Pt3dr & P2();
6745+
const Pt3dr & P2()const ;
6746+
private:
6747+
Pt2dr mPIm;
6748+
Pt3dr mP1;
6749+
Pt3dr mP2;
6750+
};
6751+
cElXMLTree * ToXMLTree(const cXml_SingleDir &);
6752+
6753+
void BinaryDumpInFile(ELISE_fp &,const cXml_SingleDir &);
6754+
6755+
void BinaryUnDumpFromFile(cXml_SingleDir &,ELISE_fp &);
6756+
6757+
std::string Mangling( cXml_SingleDir *);
6758+
6759+
/******************************************************/
6760+
/******************************************************/
6761+
/******************************************************/
6762+
class cXml_ImDir
6763+
{
6764+
public:
6765+
cGlobXmlGen mGXml;
6766+
6767+
friend void xml_init(cXml_ImDir & anObj,cElXMLTree * aTree);
6768+
6769+
6770+
std::string & Name();
6771+
const std::string & Name()const ;
6772+
6773+
Pt3dr & P1OC();
6774+
const Pt3dr & P1OC()const ;
6775+
6776+
Pt3dr & P2OC();
6777+
const Pt3dr & P2OC()const ;
6778+
6779+
std::list< cXml_SingleDir > & ListDir();
6780+
const std::list< cXml_SingleDir > & ListDir()const ;
6781+
private:
6782+
std::string mName;
6783+
Pt3dr mP1OC;
6784+
Pt3dr mP2OC;
6785+
std::list< cXml_SingleDir > mListDir;
6786+
};
6787+
cElXMLTree * ToXMLTree(const cXml_ImDir &);
6788+
6789+
void BinaryDumpInFile(ELISE_fp &,const cXml_ImDir &);
6790+
6791+
void BinaryUnDumpFromFile(cXml_ImDir &,ELISE_fp &);
6792+
6793+
std::string Mangling( cXml_ImDir *);
6794+
6795+
/******************************************************/
6796+
/******************************************************/
6797+
/******************************************************/
6798+
class cXml_ImSetDir
6799+
{
6800+
public:
6801+
cGlobXmlGen mGXml;
6802+
6803+
friend void xml_init(cXml_ImSetDir & anObj,cElXMLTree * aTree);
6804+
6805+
6806+
std::list< cXml_ImDir > & Ims();
6807+
const std::list< cXml_ImDir > & Ims()const ;
6808+
private:
6809+
std::list< cXml_ImDir > mIms;
6810+
};
6811+
cElXMLTree * ToXMLTree(const cXml_ImSetDir &);
6812+
6813+
void BinaryDumpInFile(ELISE_fp &,const cXml_ImSetDir &);
6814+
6815+
void BinaryUnDumpFromFile(cXml_ImSetDir &,ELISE_fp &);
6816+
6817+
std::string Mangling( cXml_ImSetDir *);
6818+
67276819
/******************************************************/
67286820
/******************************************************/
67296821
/******************************************************/

include/XML_GEN/SuperposImage.xml

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1491,6 +1491,30 @@
14911491
<Triplets Nb="*" RefType="Xml_OneTriplet"> </Triplets>
14921492
</Xml_TopoTriplet>
14931493

1494+
1495+
<!-- Export camera directions -->
1496+
<Xml_SingleDir Nb="1" Class="true" ToReference="true">
1497+
<PIm Nb="1" Type="Pt2dr"> </PIm>
1498+
<P1 Nb="1" Type="Pt3dr"> </P1>
1499+
<P2 Nb="1" Type="Pt3dr"> </P2>
1500+
</Xml_SingleDir>
1501+
1502+
1503+
<Xml_ImDir Nb="1" Class="true" ToReference="true">
1504+
<Name Nb="1" Type="std::string"> </Name>
1505+
<P1OC Nb="1" Type="Pt3dr"> </P1OC>
1506+
<P2OC Nb="1" Type="Pt3dr"> </P2OC>
1507+
<ListDir Nb="*" RefType="Xml_SingleDir"> </ListDir>
1508+
</Xml_ImDir>
1509+
1510+
1511+
<Xml_ImSetDir Nb="1" Class="true" ToReference="true">
1512+
<Ims Nb="*" RefType="Xml_ImDir"> </Ims>
1513+
</Xml_ImSetDir>
1514+
1515+
1516+
1517+
14941518
<!-- Export RPCs -->
14951519
<SAMP_NUM_COEFF Nb="1" Class="true" ToReference="true">
14961520
<SAMP_NUM_COEFF_1 Nb="1" Type="double"></SAMP_NUM_COEFF_1>

include/general/photogram.h

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -863,9 +863,6 @@ class cElHomographie : public cElMap2D
863863
virtual void InitFromParams(const std::vector<double> &aSol);
864864
virtual std::vector<double> Params() const;
865865

866-
867-
868-
869866
bool HasNan() const;
870867

871868
Pt2dr Direct (const Pt2dr & aP) const;

include/private/files.h

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -193,7 +193,7 @@ class ELISE_fp
193193

194194
~ELISE_fp();
195195
ELISE_fp(eModeBinTxt ModeBin=eTxtOnPremierLigne);
196-
ELISE_fp(const char *,mode_open,bool svp = false,eModeBinTxt =eTxtOnPremierLigne);
196+
ELISE_fp(const char *,mode_open=READ,bool svp = false,eModeBinTxt =eTxtOnPremierLigne);
197197

198198
U_INT1 read_U_INT1();
199199
U_INT2 read_U_INT2();

src/CBinaires/mm3d.cpp

Lines changed: 11 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -620,6 +620,7 @@ extern int GCPCtrlPly_main(int argc,char ** argv);
620620
extern int TestCmpIm_Ewelina(int argc,char ** argv);
621621
extern int TestER_hom_main(int argc,char ** argv);
622622
extern int PFM2Tiff_main(int argc,char ** argv);
623+
extern int ImPts2Dir_main(int argc,char ** argv);
623624
extern int TestPush(int argc,char ** argv);
624625
//extern int Cillia_main(int argc,char ** argv);
625626
extern int Homol2GCP_main(int argc,char ** argv);
@@ -644,10 +645,14 @@ extern int T2V_main(int argc,char ** argv);
644645
extern int Tapioca_IDR_main(int argc,char ** argv);
645646
extern int resizeImg_main(int argc,char ** argv);
646647
extern int resizeHomol_main(int argc,char ** argv);
648+
extern int VarioCamTo8Bits_main(int argc,char ** argv);
647649
// test je jo
648650
extern int main_test(int argc,char ** argv);
651+
extern int main_test2(int argc,char ** argv);
649652
extern int main_ero(int argc,char ** argv);
650653
extern int main_ascii2tif(int argc,char ** argv);
654+
int Test_ascii2tif_BlurinessSelect(int argc,char ** argv);
655+
extern int GCP2Hom_main(int argc,char ** argv);
651656
#if (ELISE_UNIX)
652657
extern int DocEx_Introanalyse_main(int,char **);
653658
#endif
@@ -864,6 +869,7 @@ const std::vector<cMMCom> & TestLibAvailableCommands()
864869
aRes.push_back(cMMCom("TestER",TestER_main2,"ER test workplace"));
865870
aRes.push_back(cMMCom("TestER2",TestER_hom_main,"ER test hom"));
866871
aRes.push_back(cMMCom("Tif2Pfm",PFM2Tiff_main,"Tif to pfm or the other way around"));
872+
aRes.push_back(cMMCom("Im2Dir",ImPts2Dir_main,"Extract directions from images"));
867873
aRes.push_back(cMMCom("TestAT",TestPush,"AT test workplace"));
868874

869875
// aRes.push_back(cMMCom("TestCillia",Cillia_main,"cillia"));
@@ -950,15 +956,19 @@ const std::vector<cMMCom> & TestLibAvailableCommands()
950956
aRes.push_back(cMMCom("GeoSud",ServiceGeoSud_GeoSud_main,""));
951957
aRes.push_back(cMMCom("Surf",ServiceGeoSud_Surf_main,""));
952958
aRes.push_back(cMMCom("ImageRectification",ImageRectification,"Rectify individual aerial images, ground is assumed to be a plane"));
959+
aRes.push_back(cMMCom("ThermicVarioCamTo8Bits",VarioCamTo8Bits_main,"Convert 16 bits Variocam thermic images to 8 bits"));
953960
aRes.push_back(cMMCom("jo_FFH",FilterFileHom_main,"filtrer un fichier de paire d'image"));
954961
aRes.push_back(cMMCom("jo_T2V",T2V_main,"appliquer une homographie a un ensemble d'im thermique pour Reg avec images visibles"));
955962
aRes.push_back(cMMCom("jo_test",main_test,"test function for didro project"));
963+
aRes.push_back(cMMCom("jo_test2",main_test2,"test function for didro project"));
964+
aRes.push_back(cMMCom("GCP2Hom",GCP2Hom_main,"Convert GCP 2D measures in homol file"));
956965
aRes.push_back(cMMCom("TapiocaIDR",Tapioca_IDR_main,"Utiliser Tapioca avec des Images de Résolution Différente (effectue un resample des images)"));
957966
aRes.push_back(cMMCom("ResizeImg",resizeImg_main,"Resize image in order to reach a specific image width"));
958967
aRes.push_back(cMMCom("ResizeHomol",resizeHomol_main,"Resize Homol pack"));
959968
aRes.push_back(cMMCom("Ero",main_ero,"Egalisation Radiometrique pour une paire d'ortho"));
960969
aRes.push_back(cMMCom("Eros",EgalRadioOrto_main,"Egalisation Radiometrique d'OrthoS"));
961-
aRes.push_back(cMMCom("Ascii2Tif",main_ascii2tif,"transform ascii file from irbis software into tif file."));
970+
aRes.push_back(cMMCom("Ascii2Tif",main_ascii2tif,"transform ascii file to tif file, designed for ascii from irbis or sdk direct (variocam and optris)."));
971+
aRes.push_back(cMMCom("Ascii2TifWithSelection",Test_ascii2tif_BlurinessSelect,"from list of ascii file from video frame, perform a selection of sharpest frame and export it in tif format."));
962972

963973
// #if (ELISE_QT_VERSION >= 4)
964974
aRes.push_back(cMMCom("Masq3Dto2D",Masq3Dto2D_main,"Create a 2D Masq from Nuage and 3D Masq "));

src/RegTIRVIS/Keypoint.cpp

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -23,3 +23,9 @@ KeyPoint::KeyPoint(float x, float y, float size, float angle, float response)
2323
KeyPoint::KeyPoint(){}
2424

2525
KeyPoint::~KeyPoint(){}
26+
27+
void KeyPoint::undist(CamStenope * aCalib)
28+
{
29+
Pt2dr ptUndist=aCalib->DistDirecte(Pt2dr(m_Point.x,m_Point.y));
30+
m_Point=Pt2df(ptUndist.x,ptUndist.y);
31+
}

src/RegTIRVIS/Keypoint.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -31,6 +31,7 @@ class KeyPoint
3131
void setSize(float sz) {m_size=sz;}
3232
void setAngle(float angle){m_angle=angle;}
3333
void setResponse(float response){m_response=response;}
34+
void undist(CamStenope * aCalib);
3435
//getters
3536
Pt2df getPoint(){return m_Point;}
3637
float getAngle(){return m_angle;}

0 commit comments

Comments
 (0)