From af56cfcf0477c8a3ad67a00bddaf9ff261bbab2b Mon Sep 17 00:00:00 2001 From: Lulin Zhang Date: Fri, 22 Nov 2019 13:17:13 -0100 Subject: [PATCH 01/49] Add Lulin's sift export --- src/CBinaires/mm3d.cpp | 4 ++++ src/SamplesLibElise/Sources.cmake | 1 + 2 files changed, 5 insertions(+) diff --git a/src/CBinaires/mm3d.cpp b/src/CBinaires/mm3d.cpp index 02230f786a..6d82583534 100644 --- a/src/CBinaires/mm3d.cpp +++ b/src/CBinaires/mm3d.cpp @@ -856,6 +856,8 @@ int UnionFiltragePHom_Main(int argc, char ** argv); int TestYZ_main(int argc, char ** argv); +extern int TestLulin_main(int argc, char ** argv); + extern int ReechHomol_main(int argc, char ** argv); extern int DeformAnalyse_main(int argc, char ** argv); extern int ExtraitHomol_main(int argc, char ** argv); @@ -908,6 +910,8 @@ const std::vector & TestLibAvailableCommands() if (aRes.empty()) { + aRes.push_back(cMMCom("TestLulin", TestLulin_main, "Explaination: TestLulin ")); + aRes.push_back(cMMCom("Exo0", TD_Exo0, "Some stuff ")); aRes.push_back(cMMCom("Exo1", TD_Exo1, "Some stuff ")); aRes.push_back(cMMCom("Exo2", TD_Exo2, "Some stuff ")); diff --git a/src/SamplesLibElise/Sources.cmake b/src/SamplesLibElise/Sources.cmake index 68e807520f..777612a496 100644 --- a/src/SamplesLibElise/Sources.cmake +++ b/src/SamplesLibElise/Sources.cmake @@ -19,6 +19,7 @@ set(SamplesLibElise_Src_Files ${SAMPLESLIBELISE_DIR}/CPP_CilliaMap.cpp ${SAMPLESLIBELISE_DIR}/CPP_TestCamTOF.cpp ${SAMPLESLIBELISE_DIR}/CPP_TestMH.cpp + ${SAMPLESLIBELISE_DIR}/CPP_TestLulin.cpp ) # JE NE SAIS PAS SI CA SERT ??? From ebb21a4c6a746c87db7327b82fe8ef2265845978 Mon Sep 17 00:00:00 2001 From: Lulin Zhang Date: Fri, 22 Nov 2019 13:51:27 -0100 Subject: [PATCH 02/49] Add forgotten cpp --- src/SamplesLibElise/CPP_TestLulin.cpp | 85 +++++++++++++++++++++++++++ 1 file changed, 85 insertions(+) create mode 100644 src/SamplesLibElise/CPP_TestLulin.cpp diff --git a/src/SamplesLibElise/CPP_TestLulin.cpp b/src/SamplesLibElise/CPP_TestLulin.cpp new file mode 100644 index 0000000000..e7d0d18110 --- /dev/null +++ b/src/SamplesLibElise/CPP_TestLulin.cpp @@ -0,0 +1,85 @@ +#include "../uti_image/Sift/Sift.h" +#include "../uti_image/NewRechPH/cParamNewRechPH.h" +#include "../uti_image/NewRechPH/ExternNewRechPH.h" +#include "../TpMMPD/TpPPMD.h" + + +int ExtractSiftPt(std::string aNameIm, int aSzSift) +{ + + std::string aOri; + + std::string aDir = DirOfFile(aNameIm); + std::string afileName = NameWithoutDir(aNameIm); + std::string aNameSift; + + getPastisGrayscaleFilename(aDir,afileName,aSzSift,aNameSift); + + aNameSift = DirOfFile(aNameSift) +"Pastis/" + "LBPp" + NameWithoutDir(aNameSift) + ".dat"; + + //read the file to know its original size + Tiff_Im aFileInit = PastisTif(aNameIm); + Pt2di imageSize = aFileInit.sz(); + + //calculate the scaling factor + double aSSF = (aSzSift<0) ? 1.0 : double( ElMax( imageSize.x, imageSize.y ) ) / double( aSzSift ) ; + + //read key-pts + std::vector aVSift; + bool Ok = read_siftPoint_list(aNameSift,aVSift); + if(Ok == false) + return 0; + + + std::string aNewDir = aDir + "unzip/"; + ELISE_fp::MkDir(aNewDir); + aNewDir = aDir + "unzip/" + afileName + ".sift/"; + ELISE_fp::MkDir(aNewDir); + + + //std::string aNameFile = aNameIm+".sift/keypoints.txt"; + std::string aNameFile = aDir + "unzip/" + afileName + ".sift/keypoints.txt"; + FILE * fpKeypoints = fopen(aNameFile.c_str(), "w"); + aNameFile = aDir + "unzip/" + afileName + ".sift/descriptors.txt"; + FILE * fpDescriptor = fopen(aNameFile.c_str(), "w"); + aNameFile = aDir + "unzip/" + afileName + ".sift/scores.txt"; + FILE * fpScores = fopen(aNameFile.c_str(), "w"); + aNameFile = aDir + "unzip/" + afileName + ".sift/otherInfo.txt"; + FILE * fpOther = fopen(aNameFile.c_str(), "w"); + int nSize = aVSift.size(); + for(int i=0; i Date: Fri, 22 Nov 2019 14:27:53 -0100 Subject: [PATCH 03/49] Fix winos not compile --- src/SamplesLibElise/CPP_TestLulin.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/SamplesLibElise/CPP_TestLulin.cpp b/src/SamplesLibElise/CPP_TestLulin.cpp index e7d0d18110..87375c1a01 100644 --- a/src/SamplesLibElise/CPP_TestLulin.cpp +++ b/src/SamplesLibElise/CPP_TestLulin.cpp @@ -64,7 +64,7 @@ int ExtractSiftPt(std::string aNameIm, int aSzSift) return EXIT_SUCCESS; } -int TestLulin_main(int argc, char *argv[]) +int TestLulin_main(int argc, char **argv) { std::string aNameIm; int aSzSift; From a2c0eb162ff37f969ddcf2b5a51d2ac2b1fc64cf Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Sun, 24 Nov 2019 23:26:53 +0100 Subject: [PATCH 04/49] Fix lulin export and change GIMMI to GIMMI_ --- src/GIMMI/CMakeLists.txt | 6 +++--- src/SamplesLibElise/CPP_TestLulin.cpp | 16 ++++++++++++++-- 2 files changed, 17 insertions(+), 5 deletions(-) diff --git a/src/GIMMI/CMakeLists.txt b/src/GIMMI/CMakeLists.txt index d0da7a11c6..b600b2ccff 100644 --- a/src/GIMMI/CMakeLists.txt +++ b/src/GIMMI/CMakeLists.txt @@ -54,8 +54,8 @@ set(GIMM_HEADER QT5_WRAP_CPP(GIMM_HEADER_MOC ${GIMM_HEADER} ) -ADD_EXECUTABLE(GIMMI ${GIMM_SRC} ${GIMM_HEADER_MOC}) +ADD_EXECUTABLE(GIMMI_ ${GIMM_SRC} ${GIMM_HEADER_MOC}) -TARGET_LINK_LIBRARIES(GIMMI elise ${OPENGL_gl_LIBRARY} ${OPENGL_LIBRARIES} ${QT_LIBRARIES} ${X11_LIBRARIES} ${KAKADU_LIBRARIES} ANN) +TARGET_LINK_LIBRARIES(GIMMI_ elise ${OPENGL_gl_LIBRARY} ${OPENGL_LIBRARIES} ${QT_LIBRARIES} ${X11_LIBRARIES} ${KAKADU_LIBRARIES} ANN) -INSTALL(TARGETS GIMMI RUNTIME DESTINATION ${Install_Dir}) +INSTALL(TARGETS GIMMI_ RUNTIME DESTINATION ${Install_Dir}) diff --git a/src/SamplesLibElise/CPP_TestLulin.cpp b/src/SamplesLibElise/CPP_TestLulin.cpp index 87375c1a01..b3734a96dd 100644 --- a/src/SamplesLibElise/CPP_TestLulin.cpp +++ b/src/SamplesLibElise/CPP_TestLulin.cpp @@ -15,7 +15,17 @@ int ExtractSiftPt(std::string aNameIm, int aSzSift) getPastisGrayscaleFilename(aDir,afileName,aSzSift,aNameSift); - aNameSift = DirOfFile(aNameSift) +"Pastis/" + "LBPp" + NameWithoutDir(aNameSift) + ".dat"; + if (aSzSift>0) + aNameSift = DirOfFile(aNameSift) +"Pastis/" + "LBPp" + NameWithoutDir(aNameSift) + ".dat"; + else + { + aNameSift = "LBPp" + afileName + ".dat"; + aNameSift = "Pastis/" + aNameSift; + } + + + std::cout << aNameSift << "\n"; + //read the file to know its original size Tiff_Im aFileInit = PastisTif(aNameIm); @@ -28,8 +38,10 @@ int ExtractSiftPt(std::string aNameIm, int aSzSift) std::vector aVSift; bool Ok = read_siftPoint_list(aNameSift,aVSift); if(Ok == false) + { + std::cout << "something went wrong" << "\n"; return 0; - + } std::string aNewDir = aDir + "unzip/"; ELISE_fp::MkDir(aNewDir); From be00b207e95c49830bca1487083d6fcc8065f2cf Mon Sep 17 00:00:00 2001 From: deseilligny Date: Thu, 5 Dec 2019 17:17:18 +0100 Subject: [PATCH 05/49] Dans MMVII --- MMVII/bin/Mk-MMVII.makefile | 8 +- MMVII/include/MMVII_AimeTieP.h | 36 ++++- MMVII/include/MMVII_Bench.h | 1 + MMVII/include/MMVII_DeclareAllCmd.h | 1 + MMVII/include/MMVII_Images.h | 1 + MMVII/include/MMVII_NonLinear2DFiltering.h | 4 + MMVII/include/MMVII_enums.h | 3 +- MMVII/include/MMVII_nums.h | 20 +-- MMVII/src/Appli/cMMVII_Appli.cpp | 9 ++ MMVII/src/Appli/cSpecMMVII_Appli.cpp | 1 + MMVII/src/Bench/BenchGlob.cpp | 10 ++ MMVII/src/CalcDescriptPCar/cAimeTieP.cpp | 80 +++++++++- MMVII/src/CalcDescriptPCar/cAppliCalcPCar.cpp | 9 +- MMVII/src/MMV1/XmlMMV1.cpp | 10 ++ MMVII/src/Matrix/SpecMat3x3.cpp | 21 +++ MMVII/src/Matrix/cDM_Orthog.cpp | 2 +- MMVII/src/Matrix/cDenseMatrix.cpp | 2 +- MMVII/src/UtiMaths/uti_nums.cpp | 2 +- src/CBinaires/mm3d.cpp | 3 + src/photogram/phgr_mep_rel.cpp | 8 + src/uti_phgrm/CPP_CmpCalib.cpp | 2 + src/uti_phgrm/CPP_XYZ2Im.cpp | 145 ++++++++++++++++++ 22 files changed, 351 insertions(+), 27 deletions(-) create mode 100644 MMVII/src/Matrix/SpecMat3x3.cpp diff --git a/MMVII/bin/Mk-MMVII.makefile b/MMVII/bin/Mk-MMVII.makefile index 3ccb59379b..627b7a5f2d 100644 --- a/MMVII/bin/Mk-MMVII.makefile +++ b/MMVII/bin/Mk-MMVII.makefile @@ -97,11 +97,15 @@ SrcCalcDescriptPCar=$(wildcard ${MMV2DirCalcDescriptPCar}*.cpp) ObjCalcDescriptPCar=$(SrcCalcDescriptPCar:.cpp=.o) # # +MMV2DirMatchTieP=${MMV2DirSrc}MatchTieP/ +SrcMatchTieP=$(wildcard ${MMV2DirMatchTieP}*.cpp) +ObjMatchTieP=$(SrcMatchTieP:.cpp=.o) +# # => Le Main MAIN=${MMV2DirSrc}main.cpp #============ Calcul des objets # -OBJ= ${ObjCalcDescriptPCar} ${ObjImagesBase} ${ObjMMV1} ${ObjUtiMaths} ${ObjImagesInfoExtract} ${ObjImagesFiltrLinear} ${ObjCmdSpec} ${ObjBench} ${ObjMatrix} ${ObjAppli} ${ObjDIB} ${ObjTLE} ${ObjMkf} ${ObjUtils} ${ObjSerial} ${ObjPerso} +OBJ= ${ObjMatchTieP} ${ObjCalcDescriptPCar} ${ObjImagesBase} ${ObjMMV1} ${ObjUtiMaths} ${ObjImagesInfoExtract} ${ObjImagesFiltrLinear} ${ObjCmdSpec} ${ObjBench} ${ObjMatrix} ${ObjAppli} ${ObjDIB} ${ObjTLE} ${ObjMkf} ${ObjUtils} ${ObjSerial} ${ObjPerso} # #========= Header ======== # @@ -132,6 +136,8 @@ ${MMV2ResultInstal} : ${MMV2SrcInstal} # # ================ Objects ================== # +${MMV2DirMatchTieP}%.o : ${MMV2DirMatchTieP}%.cpp ${HEADER} + ${CXX} -c $< ${CFlags} -o $@ ${MMV2DirCalcDescriptPCar}%.o : ${MMV2DirCalcDescriptPCar}%.cpp ${HEADER} ${CXX} -c $< ${CFlags} -o $@ ${MMV2DirPerso}%.o : ${MMV2DirPerso}%.cpp ${HEADER} diff --git a/MMVII/include/MMVII_AimeTieP.h b/MMVII/include/MMVII_AimeTieP.h index bde1002bd8..3f4dc1b054 100644 --- a/MMVII/include/MMVII_AimeTieP.h +++ b/MMVII/include/MMVII_AimeTieP.h @@ -5,6 +5,7 @@ namespace MMVII { class cAimeDescriptor; class cAimePCar; +class cSetAimePCAR; /// Proto-class for Aime TieP @@ -84,14 +85,24 @@ class cAimeDescriptor : public cMemCheck const std::vector & DirPrinc() const; ///< const accesor to main directions std::vector & DirPrinc() ; ///< non const accessor + + /// this[x] / AD2[x+aShift] + double DistanceFromIShift(const cAimeDescriptor & aAD2,int aShift,const cSetAimePCAR & aSet) const; + // X1 and X2 are the peek, supposed to be homologous in + double DistanceFrom2RPeek(double aX1,const cAimeDescriptor & aAD2,double aX2,const cSetAimePCAR & aSet) const; + // IPeek is an index from DirPrinc + double DistanceFromStdPeek(int aIPeek,const cAimeDescriptor & aAD2,const cSetAimePCAR & aSet) const; + // Compute best match from all Dir Princ + cWhitchMin DistanceFromBestPeek(const cAimeDescriptor & aAD2,const cSetAimePCAR & aSet) const; + private : - cIm2D mILP; ///< mImLogPol + cIm2D mILP; ///< mImLogPol std::vector mDirPrinc ; ///< Principal directions options }; /** Class to store Aime Pts Car = Descriptor + localization */ -class cAimePCar +class cAimePCar : public cMemCheck { public : cAimeDescriptor & Desc(); @@ -103,21 +114,30 @@ class cAimePCar /** Class to store aSet of AimePcar = vector + some common caracteritic on type */ -class cSetAimePCAR +class cSetAimePCAR : public cMemCheck { public : // cSetAimePCAR(); - cSetAimePCAR(eTyPyrTieP aType,bool IsMax); + cSetAimePCAR(eTyPyrTieP aType,bool IsMax); ///< "Real" constructor + cSetAimePCAR(); ///< Sometime need a default constructor int & IType(); eTyPyrTieP Type(); bool& IsMax(); + bool& Census(); + const bool& Census() const; + double& Ampl2N(); + const double& Ampl2N() const; std::vector& VPC(); void SaveInFile(const std::string &) const; + void InitFromFile(const std::string &) ; + // For census, as the value are strictly in [-1,1] we can use a universall value for normalize + static const double TheCensusMult; private : - int mType; ///< Type registered as int, easier for AddData, in fact a eTyPyrTieP - bool mIsMax; ///< Is it a maxima or a minima of its caracteristic - std::vector mVPC; ///< Vector of Aime points - + int mType; ///< Type registered as int, easier for AddData, in fact a eTyPyrTieP + bool mIsMax; ///< Is it a maxima or a minima of its caracteristic + std::vector mVPC; ///< Vector of Aime points + bool mCensus; ///< Is it Census mode + double mAmpl2N; ///< Ampl between the normalized value IPL = Norm*Ampl }; diff --git a/MMVII/include/MMVII_Bench.h b/MMVII/include/MMVII_Bench.h index cf6608823c..9fd0615609 100644 --- a/MMVII/include/MMVII_Bench.h +++ b/MMVII/include/MMVII_Bench.h @@ -54,6 +54,7 @@ void BenchStat(); void BenchUnbiasedStdDev(); ///< Test one specific function currently not correct, by default test not activated void BenchSupport(); ///< Test support function that could/should exist in standard libs +void BenchMyJets(); }; diff --git a/MMVII/include/MMVII_DeclareAllCmd.h b/MMVII/include/MMVII_DeclareAllCmd.h index 396d8e8c04..333f8fccd8 100644 --- a/MMVII/include/MMVII_DeclareAllCmd.h +++ b/MMVII/include/MMVII_DeclareAllCmd.h @@ -23,6 +23,7 @@ extern cSpecMMVII_Appli TheSpecTestRecall; extern cSpecMMVII_Appli TheSpecScaleImage; extern cSpecMMVII_Appli TheSpecCalcDiscIm; extern cSpecMMVII_Appli TheSpecCalcDescPCar; +extern cSpecMMVII_Appli TheSpecMatchTieP; }; diff --git a/MMVII/include/MMVII_Images.h b/MMVII/include/MMVII_Images.h index f82f74d788..14e9485748 100644 --- a/MMVII/include/MMVII_Images.h +++ b/MMVII/include/MMVII_Images.h @@ -506,6 +506,7 @@ template class cDataIm2D : public cDataTypedIm /// Raw image, lost all waranty is you use it... tVal ** ExtractRawData2D() {return mRawData2D;} + const tPVal * ExtractRawData2D() const {return mRawData2D;} protected : private : void PostInit(); diff --git a/MMVII/include/MMVII_NonLinear2DFiltering.h b/MMVII/include/MMVII_NonLinear2DFiltering.h index 92b075dc69..258c9aae91 100644 --- a/MMVII/include/MMVII_NonLinear2DFiltering.h +++ b/MMVII/include/MMVII_NonLinear2DFiltering.h @@ -14,12 +14,16 @@ namespace MMVII /* */ /* *********************************************** */ +/// Curvature in the level-line direction ; +or- corner detector template cIm2D CourbTgt(cIm2D aImIn); +/// Idem but apply to itself template void SelfCourbTgt(cIm2D aImIn); +/// Majoritar label in a given neighbouhoord template void SelfLabMaj(cIm2D aImIn,const cBox2di &); +/// Basic laplacien cIm2D Lapl(cIm2D aImIn); // Well linear ... diff --git a/MMVII/include/MMVII_enums.h b/MMVII/include/MMVII_enums.h index 5e8d39aac5..7c3bf43624 100644 --- a/MMVII/include/MMVII_enums.h +++ b/MMVII/include/MMVII_enums.h @@ -55,8 +55,9 @@ enum class eApF enum class eApDT { Ori, ///< Orientation + PCar, ///< Tie Points TieP, ///< Tie Points - Image, ///< Tie Points + Image, ///< Image Ply, ///< Ply file None, ///< Nothing Console, ///< Console diff --git a/MMVII/include/MMVII_nums.h b/MMVII/include/MMVII_nums.h index beb154f6f8..a158398e45 100644 --- a/MMVII/include/MMVII_nums.h +++ b/MMVII/include/MMVII_nums.h @@ -449,10 +449,10 @@ tREAL8 CubAppGaussVal(const tREAL8&); /* Witch Min and Max */ /* ********************************** */ -template class cWitchMin +template class cWhitchMin { public : - cWitchMin(const TypeIndex & anIndex,const TypeVal & aVal) : + cWhitchMin(const TypeIndex & anIndex,const TypeVal & aVal) : mIndexMin (anIndex), mVMin (aVal) { @@ -471,10 +471,10 @@ template class cWitchMin TypeIndex mIndexMin; TypeVal mVMin; }; -template class cWitchMax +template class cWhitchMax { public : - cWitchMax(const TypeIndex & anIndex,const TypeVal & aVal) : + cWhitchMax(const TypeIndex & anIndex,const TypeVal & aVal) : mIndexMax (anIndex), mVMax (aVal) { @@ -493,10 +493,10 @@ template class cWitchMax TypeIndex mIndexMax; TypeVal mVMax; }; -template class cWitchMinMax +template class cWhitchMinMax { public : - cWitchMinMax(const TypeIndex & anIndex,const TypeVal & aVal) : + cWhitchMinMax(const TypeIndex & anIndex,const TypeVal & aVal) : mMin(anIndex,aVal), mMax(anIndex,aVal) { @@ -506,12 +506,12 @@ template class cWitchMinMax mMin.Add(anIndex,aVal); mMax.Add(anIndex,aVal); } - const cWitchMin & Min() const {return mMin;} - const cWitchMax & Max() const {return mMax;} + const cWhitchMin & Min() const {return mMin;} + const cWhitchMax & Max() const {return mMax;} private : - cWitchMin mMin; - cWitchMax mMax; + cWhitchMin mMin; + cWhitchMax mMax; }; diff --git a/MMVII/src/Appli/cMMVII_Appli.cpp b/MMVII/src/Appli/cMMVII_Appli.cpp index feb27b831f..a7c660bd1a 100644 --- a/MMVII/src/Appli/cMMVII_Appli.cpp +++ b/MMVII/src/Appli/cMMVII_Appli.cpp @@ -306,6 +306,15 @@ void cMMVII_Appli::InitParam() { mArgFac << AOpt2007(mCarPPrefOut,"CarPOut","Name for Output caracteristic points",{eTA2007::HDV}); } + if (HasSharedSPO(eSharedPO::eSPO_CarPI)) + { + mArgFac << AOpt2007(mCarPPrefIn,"CarPIn","Name for Input caracteristic points",{eTA2007::HDV}); + } + + + + + // To not put intervals in help/parameters when they are not usefull { bool HasMain0 = false; diff --git a/MMVII/src/Appli/cSpecMMVII_Appli.cpp b/MMVII/src/Appli/cSpecMMVII_Appli.cpp index 92308767ce..d4909a1449 100644 --- a/MMVII/src/Appli/cSpecMMVII_Appli.cpp +++ b/MMVII/src/Appli/cSpecMMVII_Appli.cpp @@ -137,6 +137,7 @@ std::vector & cSpecMMVII_Appli::InternVecAll() TheVecAll.push_back(&TheSpecScaleImage); TheVecAll.push_back(&TheSpecCalcDiscIm); TheVecAll.push_back(&TheSpecCalcDescPCar); + TheVecAll.push_back(&TheSpecMatchTieP); std::sort(TheVecAll.begin(),TheVecAll.end(),CmpCmd); } diff --git a/MMVII/src/Bench/BenchGlob.cpp b/MMVII/src/Bench/BenchGlob.cpp index c772a180a3..4e4ad3f72c 100644 --- a/MMVII/src/Bench/BenchGlob.cpp +++ b/MMVII/src/Bench/BenchGlob.cpp @@ -219,6 +219,8 @@ int cAppli_MMVII_Bench::Exe() CreateDirectories(TmpDirTestMMVII(),true ); RemoveRecurs(TmpDirTestMMVII(),true,false); + // Test jets + BenchMyJets(); // On teste les macro d'assertion MMVII_INTERNAL_ASSERT_bench((1+1)==2,"Theoreme fondamental de l'arithmetique"); @@ -581,6 +583,14 @@ void ShowAdr(double & anAdr) // #include int cAppli_MPDTest::Exe() { + { + // Si on le met a 10h => reveil a 6h20 + double t = 8.0; + sleep(3600.0 * t); + std::string aName= "/home/mpd/Bureau/Perso1/Musik/Bach/bach-goldberg-variations-bwv-988-glenn-gould-1981.mp3"; + aName = "cvlc " + aName; + StdOut() << system(aName.c_str()) << "\n";; + } { cPt3dr * anAdr = nullptr; StdOut () << "ADDDDDr " << anAdr << "\n"; diff --git a/MMVII/src/CalcDescriptPCar/cAimeTieP.cpp b/MMVII/src/CalcDescriptPCar/cAimeTieP.cpp index 541d8000cc..d48484951f 100644 --- a/MMVII/src/CalcDescriptPCar/cAimeTieP.cpp +++ b/MMVII/src/CalcDescriptPCar/cAimeTieP.cpp @@ -19,12 +19,69 @@ cIm2D cAimeDescriptor::ILP() {return mILP;} const std::vector & cAimeDescriptor::DirPrinc() const {return mDirPrinc;} std::vector & cAimeDescriptor::DirPrinc() {return mDirPrinc;} +double cAimeDescriptor::DistanceFromIShift(const cAimeDescriptor & aAD2,int aShift,const cSetAimePCAR & aSet) const +{ + const cDataIm2D & aDIm1(mILP.DIm()); + cPt2di aSz1= aDIm1.Sz(); + tU_INT1 * const * aData1 = aDIm1.ExtractRawData2D(); + + const cDataIm2D & aDIm2(aAD2.mILP.DIm()); + cPt2di aSz2= aDIm2.Sz(); + tU_INT1 * const * aData2 = aDIm2.ExtractRawData2D(); + + MMVII_INTERNAL_ASSERT_tiny(aSz1==aSz2,"cAimeDescriptor::Distance"); + int aNbX = aSz1.x(); + aShift = mod(aShift,aNbX); + int aIRes = 0; + + for (int aY=0 ; aY cAimeDescriptor::DistanceFromBestPeek(const cAimeDescriptor & aAD2,const cSetAimePCAR & aSet) const +{ + cWhitchMin aWMin(-1,1e60); + for (int aK=0 ; aK bool cProtoAimeTieP::FillAPC(const cFilterPCar& aFP if (aCensusMode) { // double aVN = aV0/aVCentral; - aValRes = 128 * (1+ NormalisedRatio(aV0,aVCentral)); + aValRes = 128 + cSetAimePCAR::TheCensusMult * NormalisedRatio(aV0,aVCentral); } else { @@ -252,24 +309,45 @@ template bool cProtoAimeTieP::TestFillAPC(const cFilterPCar& a /* cSetAimePCAR */ /* ================================= */ +const double cSetAimePCAR::TheCensusMult = 128.0; + cSetAimePCAR::cSetAimePCAR(eTyPyrTieP aType,bool IsMax) : mType ((int)aType), mIsMax (IsMax) { } +cSetAimePCAR::cSetAimePCAR(): + cSetAimePCAR(eTyPyrTieP::eNbVals,true) +{ +} + + eTyPyrTieP cSetAimePCAR::Type() {return eTyPyrTieP(mType);} int & cSetAimePCAR::IType() {return mType;} bool& cSetAimePCAR::IsMax() {return mIsMax;} std::vector& cSetAimePCAR::VPC() {return mVPC;} +bool& cSetAimePCAR::Census() {return mCensus;} +const bool& cSetAimePCAR::Census() const {return mCensus;} +double& cSetAimePCAR::Ampl2N() {return mAmpl2N;} +const double& cSetAimePCAR::Ampl2N() const {return mAmpl2N;} + void AddData(const cAuxAr2007 & anAux,cSetAimePCAR & aSPC) { AddData(cAuxAr2007("Type",anAux),aSPC.IType()); AddData(cAuxAr2007("Max",anAux),aSPC.IsMax()); AddData(cAuxAr2007("VPC",anAux),aSPC.VPC() ); + AddData(cAuxAr2007("Census",anAux),aSPC.Census() ); + AddData(cAuxAr2007("Ampl2N",anAux),aSPC.Ampl2N() ); } +void cSetAimePCAR::InitFromFile(const std::string & aName) +{ + ReadFromFile(*this,aName); +} + + void cSetAimePCAR::SaveInFile(const std::string & aName) const { MMVII::SaveInFile(*this,aName); diff --git a/MMVII/src/CalcDescriptPCar/cAppliCalcPCar.cpp b/MMVII/src/CalcDescriptPCar/cAppliCalcPCar.cpp index 946ecc98cb..ce27027a76 100644 --- a/MMVII/src/CalcDescriptPCar/cAppliCalcPCar.cpp +++ b/MMVII/src/CalcDescriptPCar/cAppliCalcPCar.cpp @@ -49,6 +49,7 @@ template class cTplAppliCalcDescPCar cRect2 mBoxIn; ///< Current Input Box cPt2di mSzIn; ///< Current size of inputs cRect2 mBoxOut; ///< Current Output Box, inside wich we muste save data + int mNbTiles; ///< Number of tiles, usefull to know if we need to merge at end // To adapt dynamic StoredVal = (RealVal-mVC) / mDyn tREAL4 mVC; ///< Central Value @@ -112,6 +113,8 @@ template cTplAppliCalcDescPCar::cTplAppliCalcDescPCar(cAppliCa template void cTplAppliCalcDescPCar::ExeGlob() { cParseBoxInOut<2> aPBI = cParseBoxInOut<2>::CreateFromSizeCste(cRect2(cPt2di(0,0),mDFI.Sz()),mAppli.mSzTile); + mNbTiles = aPBI.BoxIndex().NbElem(); + MMVII_INTERNAL_ASSERT_always(mNbTiles==1,"Merge of Tiling to do ..."); for (const auto & anIndex : aPBI.BoxIndex()) { @@ -122,7 +125,6 @@ template void cTplAppliCalcDescPCar::ExeGlob() template void cTplAppliCalcDescPCar::ExeOneBox(const cPt2di & anIndex,const cParseBoxInOut<2>& aPBI) { - // std::string aPref = "Tile"+ToStr(anIndex.x())+ToStr(anIndex.y()) ; // Initialize Box, Params, gaussian pyramid mBoxIn = aPBI.BoxIn(anIndex,mAppli.mOverlap); @@ -130,7 +132,8 @@ template void cTplAppliCalcDescPCar::ExeOneBox(const cPt2di & mBoxOut = aPBI.BoxOut(anIndex); cGP_Params aGP(mSzIn,mAppli.mNbOct,mAppli.mNbLevByOct,mAppli.mNbOverLapByO,&mAppli); - aGP.mNumTile = anIndex; + // Value cPt2di(-1,-1) : special value indicating that tiles must not be written at end + aGP.mNumTile = (mNbTiles==1) ? cPt2di(-1,-1) : anIndex; // aGP.mPrefixSave = mAppli.mPrefixOut ; aGP.mScaleDirOrig = mAppli.mSDON ; aGP.mConvolIm0 = mAppli.mCI0 ; @@ -341,7 +344,7 @@ cSpecMMVII_Appli TheSpecCalcDescPCar "Compute caracteristic points and descriptors, using Aime method", {eApF::TieP,eApF::ImProc}, {eApDT::Image}, - {eApDT::TieP}, + {eApDT::PCar}, __FILE__ ); diff --git a/MMVII/src/MMV1/XmlMMV1.cpp b/MMVII/src/MMV1/XmlMMV1.cpp index 2c7568e35e..2898c51019 100644 --- a/MMVII/src/MMV1/XmlMMV1.cpp +++ b/MMVII/src/MMV1/XmlMMV1.cpp @@ -200,6 +200,16 @@ template mMMV1_XmlPts.TypePt() = int(ATypePt); mMMV1_XmlPts.NameTypePt() = aNameType; + if (mFPC.LPS_CensusMode()) + { + mSetAPC.Census() = true; + mSetAPC.Ampl2N() = cSetAimePCAR::TheCensusMult; + } + else + { + mSetAPC.Census() = false; + mSetAPC.Ampl2N() = mFPC.LPS_Mult(); + } } template cImplem_ExportAimeTiep::~cImplem_ExportAimeTiep() { diff --git a/MMVII/src/Matrix/SpecMat3x3.cpp b/MMVII/src/Matrix/SpecMat3x3.cpp new file mode 100644 index 0000000000..2bb26b00e2 --- /dev/null +++ b/MMVII/src/Matrix/SpecMat3x3.cpp @@ -0,0 +1,21 @@ +#include "include/MMVII_all.h" +#include "include/MMVII_Tpl_Images.h" + +namespace MMVII +{ + +template inline void AssertMnxn(cDenseMatrix & aM) +{ + MMVII_INTERNAL_ASSERT_tiny(aM.Sz()==cPt2di(aSz,aSz),"Bad size for matrix"); +} + +template inline void AssertM3x3(cDenseMatrix & aM) +{ + AssertMnxn(aM); +} + + +}; + + + diff --git a/MMVII/src/Matrix/cDM_Orthog.cpp b/MMVII/src/Matrix/cDM_Orthog.cpp index 221f925957..1a611a5377 100644 --- a/MMVII/src/Matrix/cDM_Orthog.cpp +++ b/MMVII/src/Matrix/cDM_Orthog.cpp @@ -45,7 +45,7 @@ template void cResulSymEigenValue::SetKthEigenValue(int aK,c template Type cResulSymEigenValue::Cond(Type aDef) const { - cWitchMinMax aIMM(0,std::abs(mEigenValues(0))); + cWhitchMinMax aIMM(0,std::abs(mEigenValues(0))); for (int aK=1 ; aK cDenseMatrix cDenseMatrix::RandomSquareRegMat // Set conditionning { - cWitchMinMax aIMM(0,std::abs(aVEV(0))); + cWhitchMinMax aIMM(0,std::abs(aVEV(0))); for (int aK=0 ; aK void TplBenchMinMax(int aNb) std::vector aVVals; Type aV0 = tNumTrait::RandomValueCenter(); - cWitchMinMax aWMM(0,aV0); + cWhitchMinMax aWMM(0,aV0); aVVals.push_back(aV0); for (int aK=0 ; aK& AddLib(std::vector & aVC, const std::string & aLib) @@ -280,6 +282,7 @@ const std::vector & getAvailableCommands() static std::vector aRes; if (aRes.empty()) { + aRes.push_back(cMMCom("PPMD_MatEss2Orient", PPMD_MatEss2Orient, "transform essential matrix as list of orient ")); aRes.push_back(cMMCom("Help", CPP_MMHelp, "Help on existing MicMac commands ")); aRes.push_back(cMMCom("BAR", BasculeRobuste_main, "Bascule robutse ")); diff --git a/src/photogram/phgr_mep_rel.cpp b/src/photogram/phgr_mep_rel.cpp index b4bbdb14de..d4c6659ac3 100644 --- a/src/photogram/phgr_mep_rel.cpp +++ b/src/photogram/phgr_mep_rel.cpp @@ -364,11 +364,14 @@ std::list ElPackHomologue::MepRelStd(REAL LBase,bool SysL2) // Co return MatEssToMulipleRot(aMEss,LBase); } +extern bool ShowMSG_ListRot2RotPhys; + ElRotation3D ListRot2RotPhys(const std::list & aLRot,const ElPackHomologue & aPack) { const ElRotation3D * aRes = &(aLRot.front()); INT aScMin = -20 * aPack.size(); + int aCpt=0; for ( std::list::const_iterator it=aLRot.begin(); @@ -384,6 +387,11 @@ ElRotation3D ListRot2RotPhys(const std::list & aLRot,const ElPack aScMin = aScore; aRes = &(*it); } + if (ShowMSG_ListRot2RotPhys) + { + std::cout << "Cpt " << aCpt << " SCORE " << aScore << "\n"; + } + aCpt++; } return *aRes; diff --git a/src/uti_phgrm/CPP_CmpCalib.cpp b/src/uti_phgrm/CPP_CmpCalib.cpp index 83d5bbd739..2a4fffeae9 100644 --- a/src/uti_phgrm/CPP_CmpCalib.cpp +++ b/src/uti_phgrm/CPP_CmpCalib.cpp @@ -292,6 +292,8 @@ void cAppliCmpCal::OneItere(bool First,bool Last,const std::string Out) mP0.x * aPdsX+mP1.x * (1-aPdsX), mP0.y * aPdsY+mP1.y * (1-aPdsY) ); + +// std::cout << "PIMMM " << aPIm << "\n"; InitNormales (aPIm); mEqORV->AddObservation(mN1,mN2); diff --git a/src/uti_phgrm/CPP_XYZ2Im.cpp b/src/uti_phgrm/CPP_XYZ2Im.cpp index 2a2044ebfc..de7a338021 100644 --- a/src/uti_phgrm/CPP_XYZ2Im.cpp +++ b/src/uti_phgrm/CPP_XYZ2Im.cpp @@ -301,6 +301,151 @@ int Im2XYZ_main(int argc,char ** argv) { return TransfoCam_main(argc,argv,false); } + +ElRotation3D ListRot2RotPhys(const std::list & aLRot,const ElPackHomologue & aPack); +std::list MatEssToMulipleRot(const ElMatrix & aMEss,double LBase); + +void Sho33( ElMatrix aM) +{ + for (int aY=0 ; aY<3 ; aY++) + printf(" %f \t %f \t %f \n",aM(0,aY),aM(1,aY),aM(2,aY)); +} + +bool ShowMSG_ListRot2RotPhys=false; + +//int PPMD_CalcEss(int argc,char ** argv) +int PPMD_MatEss2Orient(int argc,char ** argv) +{ + ShowMSG_ListRot2RotPhys = true; + + Pt3dr aRefAll = vunit(Pt3dr(0.0743780117532993751,1.39204657194425052, -0.335883991159797279)); + Pt3dr aRef2 = vunit(Pt3dr(0.08730003023518626, 1.6357168231794974 ,-0.393890910854981069)); + + std::string I1,I2,Cal; + std::string PostH="txt"; + std::string SH="_ConvOLDFormat"; + + ElInitArgMain + ( + argc,argv, + LArgMain() << EAMC(I1,"Name Im1") + << EAMC(I2,"Name Im1") + << EAMC(Cal,"Name Calib"), + LArgMain() + ); + + cInterfChantierNameManipulateur * anICNM = cInterfChantierNameManipulateur::BasicAlloc("./"); + std::string aFilePtsIn = anICNM->Assoc1To2("NKS-Assoc-CplIm2Hom@"+ SH+"@"+PostH,I1,I2,true); + + ElPackHomologue aPackInit = ElPackHomologue::FromFile(aFilePtsIn); + CamStenope * aCam1 = anICNM->StdCamStenOfNames(I1,Cal); + CamStenope * aCam2 = anICNM->StdCamStenOfNames(I2,Cal); + + ElPackHomologue aPackPh = aCam1->F2toPtDirRayonL3(aPackInit,aCam2); + + std::vector aVMatPy({ -3.48751824, 20.52539487,-361.5038316, 101.79664035, -6.19477011, + -18.78353249, 351.48896237, -22.88157752,1}); + + ElMatrix aMatPy(3,3); + for (int aX=0 ; aX<3 ; aX++) + { + for (int aY=0 ; aY<3 ; aY++) + { + aMatPy(aX,aY) = aVMatPy.at(aX+3*aY); + } + } +/* + [[ -3.48751824 20.52539487 -361.5038316 ] + [ 101.79664035 -6.19477011 -18.78353249] + [ 351.48896237 -22.88157752 1. ]] + +*/ + ElMatrix aMM_MEss = aPackPh.MatriceEssentielle(true); + aMM_MEss *= 1/aMM_MEss(2,2); + + ElRotation3D aR1toW(Pt3dr(0,0,0),0,0,PI); + std::cout << "==== aR1ToMonde === \n"; + Sho33(aR1toW.Mat()); + + + for (int aKMat=0 ; aKMat<1 ; aKMat++) + { + std::cout << "===============\n"; + bool PyMath = (aKMat==0); + ElMatrix aMEss = PyMath ? aMatPy : aMM_MEss; + Sho33(aMEss); + + std::list aLR = MatEssToMulipleRot(aMEss,1.0); + for (const auto & aR : aLR) + { + std::cout << "=====TR=" << aR.inv().tr() << "\n"; + Sho33( aR.inv().Mat()); + } + + // Orientation Monde to Cam de la camera 1 + ElRotation3D aR1to2 = ListRot2RotPhys(aLR,aPackPh); + ElRotation3D aR2toW = aR1toW * aR1to2.inv(); + + + + std::cout << "WINN = " << aR2toW.tr() << "\n"; + Sho33(aR2toW.Mat()); + } + if (0) + { + std::cout << "Refpts " << aRef2 << " " << aRefAll << "\n"; + + ElMatrix aSvd1(3,3),aDiag(3,3),aSvd2(3,3); + svdcmp_diag(aMatPy,aSvd1,aDiag,aSvd2,true); + std::cout << " ================ SVD1 ============\n"; + Sho33(aSvd1); + std::cout << " ================ DIAG ============\n"; + Sho33(aDiag); + std::cout << " ================ SVD2 ============\n"; + Sho33(aSvd2); + } + { + ElMatrix MTest = ElMatrix::Rotation(0,0,PI/2); + Sho33(MTest); + } + + + return EXIT_SUCCESS; +} + +int XXX_PPMD_MatEss2Orient(int argc,char ** argv) +{ + std::vector VMat; + ElInitArgMain + ( + argc,argv, + LArgMain() << EAMC(VMat,"Matrice as vector of nine double"), + LArgMain() + ); + ELISE_ASSERT(VMat.size()==9,"Bad size 4 essential matrix"); + + ElMatrix aMat(3,3); + for (int aX=0 ; aX<3 ; aX++) + { + for (int aY=0 ; aY<3 ; aY++) + { + aMat(aX,aY) = VMat.at(aX+3*aY); + // aMat(aY,aX) = VMat.at(aX+3*aY); + } + } + + std::list LM= MatEssToMulipleRot(aMat,1.0); + for (const auto & aR : LM) + { + std::cout << aR.tr() << "\n"; + } + + + return EXIT_SUCCESS; +} + + + /* int main(int argc,char ** argv) { From dec9d9f4662d8ada3bce94394218ccdb5122838d Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Sun, 15 Dec 2019 22:45:56 +0100 Subject: [PATCH 06/49] Add exo ppmd appariement --- src/CBinaires/mm3d.cpp | 2 + src/TpMMPD/Sources.cmake | 1 + src/TpMMPD/cTD_PPMD_Appariement.cpp | 251 ++++++++++++++++++++++++++++ 3 files changed, 254 insertions(+) create mode 100644 src/TpMMPD/cTD_PPMD_Appariement.cpp diff --git a/src/CBinaires/mm3d.cpp b/src/CBinaires/mm3d.cpp index 58518fc1b9..1b7b51b1db 100644 --- a/src/CBinaires/mm3d.cpp +++ b/src/CBinaires/mm3d.cpp @@ -641,6 +641,7 @@ extern int TD_Exo6(int argc, char ** argv); extern int TD_Exo7(int argc, char ** argv); extern int TD_Exo8(int argc, char ** argv); extern int TD_Exo9(int argc, char ** argv); +extern int PPMD_Appariement_main(int argc, char ** argv); extern int TD_Match1_main(int argc, char ** argv); extern int TD_Match2_main(int argc, char ** argv); @@ -925,6 +926,7 @@ const std::vector & TestLibAvailableCommands() aRes.push_back(cMMCom("Exo7", TD_Exo7, "Some stuff ")); aRes.push_back(cMMCom("Exo8", TD_Exo8, "Some stuff ")); aRes.push_back(cMMCom("Exo9", TD_Exo9, "Some stuff ")); + aRes.push_back(cMMCom("ExoMatch", PPMD_Appariement_main, "Some stuff ")); aRes.push_back(cMMCom("NoBill", UnWindows, "Supress the big shit in file resulting from (f**king) Windows editing")); diff --git a/src/TpMMPD/Sources.cmake b/src/TpMMPD/Sources.cmake index aa38e949eb..1ea3e4dfd4 100644 --- a/src/TpMMPD/Sources.cmake +++ b/src/TpMMPD/Sources.cmake @@ -129,6 +129,7 @@ set(Src_TD_PPMD ${TDPPMD_DIR}/TiePByMesh/TiepTriFar/TiepTriFar_method.cpp ${TDPPMD_DIR}/MosaicTFWImg/mosaictfwimg.cpp + ${TDPPMD_DIR}/cTD_PPMD_Appariement.cpp ) #SOURCE_GROUP(Util FILES ${Util_Src_Files}) diff --git a/src/TpMMPD/cTD_PPMD_Appariement.cpp b/src/TpMMPD/cTD_PPMD_Appariement.cpp new file mode 100644 index 0000000000..41df4093f9 --- /dev/null +++ b/src/TpMMPD/cTD_PPMD_Appariement.cpp @@ -0,0 +1,251 @@ +#include "StdAfx.h" +#include "TpPPMD.h" + +/************************************* + * + * Creation d'une class image : cImg + * +*************************************/ +class cImg +{ + public : + cImg(int aX,int aY); + cImg(const cImg &); + + static cImg Read(const std::string& aName); + void Save(const std::string& aName); + + double Get(const Pt2di aP) {return mTIm.get(aP);} + void Set(const Pt2di aP,double aVal) {mTIm.oset(aP,aVal);} + + Pt2di Sz() {return mSz;} + + + + cImg & operator = (const cImg&); + private : + Im2D mIm; //lib MicMac + TIm2D mTIm; //lib + + Pt2di mSz; +}; + +enum eCorMode +{ + eSSD, + eCORR, + eCENSUS +}; + +eCorMode Str2Enum(std::string& aMode) +{ + eCorMode aRes; + + if (aMode=="SSD") + aRes = eSSD; + else if (aMode=="CORR") + aRes = eCORR; + else if (aMode=="CENSUS") + aRes = eCENSUS; + else + aRes = eSSD; + + return aRes; +} + +/***************************** + * + * The matching class + * + * ***************************/ + +class cMEC +{ + public : + + //class constructor + cMEC(const cImg& aI1,const cImg& aI2, + int aSzW,int aPxMax, eCorMode aMode); + + // perform matching of all pixels in mI1 + void DoAll(); + + // different functions to calculate the correlation + // between two windows + double Cost(int X,int Y,int X2); + double CostSSD(int X,int Y,int X2); + double CostCORR(int X,int Y,int X2); + double CostCENSUS(int X,int Y,int X2); + + // getter function of the parallax image + cImg Px() {return mPxIm;} + + private: + // correlation mode + eCorMode mMode; + + // the images that you want to match + cImg mI1; + cImg mI2; + + // image sizes + Pt2di mSz1; + Pt2di mSz2; + + // correlation window + int mSzW; + // the tested parallax + int mPxMax; + + // the correlation image (result) + cImg mCorIm; + // the parallax/surface image (result) + cImg mPxIm; + +}; + +cMEC::cMEC(const cImg& aI1,const cImg& aI2, + int aSzW,int aPxMax, eCorMode aMode) : + mMode(aMode), + mI1(aI1), + mI2(aI2), + mSz1(mI1.Sz()), + mSz2(mI2.Sz()), + mSzW(aSzW), + mPxMax(aPxMax), + mCorIm(mSz1.x,mSz1.y), + mPxIm(mSz1.x,mSz1.y) +{ + DoAll(); +} + +/* TO DO */ +void cMEC::DoAll() +{ + + +} + +double cMEC::Cost(int X,int Y,int X2) +{ + switch (mMode) + { + case eSSD : return CostSSD(X,Y,X2); + case eCORR : return CostCORR(X,Y,X2); + case eCENSUS : return CostCENSUS(X,Y,X2); + } + + return 0.0; +} + + +/* TO DO */ +double cMEC::CostSSD(int X,int Y,int X2) +{ + + return 1.0; + +} + +/* TO DO */ +double cMEC::CostCORR(int X,int Y,int X2) +{ + return 1.0; +} + +/* TO DO */ +double cMEC::CostCENSUS(int X,int Y,int X2) +{ + return 1.0; +} + +void cImg::Save(const std::string& aName) +{ + Tiff_Im aTif(aName.c_str(), + mSz, + GenIm::real4, + Tiff_Im::No_Compr, + Tiff_Im::BlackIsZero); + ELISE_COPY(aTif.all_pts(),mIm.in(),aTif.out()); +} + +cImg cImg::Read(const std::string& aName) +{ + Tiff_Im aTif = Tiff_Im::StdConvGen(aName,-1,true); + cImg aRes (aTif.sz().x,aTif.sz().y); + + ELISE_COPY(aTif.all_pts(),aTif.in_proj(),aRes.mIm.out()); + + return aRes; + +} + +cImg::cImg(int aX,int aY) : + mIm(aX,aY), + mTIm(mIm), + mSz(aX,aY) +{ +} + +cImg::cImg(const cImg &aIm) : + mIm(aIm.mIm), + mTIm(aIm.mTIm), + mSz(aIm.mSz) +{ +} + + +/************************************ + * + * The starting point of the program + * + * *********************************/ +int PPMD_Appariement_main(int argc,char** argv) +{ + std::cout << "TP appariement dense" << "\n"; + + std::string aIm1Name, aIm2Name; + int aSzW(2); + int aPx(50); + std::string aModeStr="SSD"; + + // program's menu when called from terminal + ElInitArgMain + ( + argc,argv, + LArgMain() << EAMC(aIm1Name,"First image name") + << EAMC(aIm2Name,"Second image name"), + LArgMain() << EAM(aSzW,"Sz",true,"Window size") + << EAM(aPx,"Px",true,"Max Dispiarity") + << EAM(aModeStr,"Mode",true,"Correlation mode (SSD, CORR, CENSUS)") + ); + eCorMode aMode = Str2Enum(aModeStr); + std::cout << aMode << "\n"; + + + // Read the images + + // Do the matching + + // Save the result to images + + + + return EXIT_SUCCESS; +} + + + + + + + + + + + + + + + + From 7a792510370e5282c317e3f0f201e202fd3a1db3 Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Mon, 16 Dec 2019 17:40:40 +0100 Subject: [PATCH 07/49] Liquor take tie-pts in txt --- src/uti_phgrm/CPP_Liquor.cpp | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/src/uti_phgrm/CPP_Liquor.cpp b/src/uti_phgrm/CPP_Liquor.cpp index 1a9f6abb71..47d6d124fa 100644 --- a/src/uti_phgrm/CPP_Liquor.cpp +++ b/src/uti_phgrm/CPP_Liquor.cpp @@ -146,6 +146,7 @@ class cAppliLiquor : public cAppli_Tapas_Campari double mOverlapProp; // entre les 2, il peut sembler logique d'avoir une raccord prop int mExe; std::string mSH; + bool mExpTxt; std::string mParamCommon; std::string mKeyName; }; @@ -202,7 +203,8 @@ cAppliLiquor::cAppliLiquor(int argc,char ** argv) : mSzLim (40), mIntervOverlap (3,40), mOverlapProp (0.1), - mExe (2) + mExe (2), + mExpTxt (false) { @@ -216,6 +218,7 @@ cAppliLiquor::cAppliLiquor(int argc,char ** argv) : << EAM(mIntervOverlap,"IOL",true,"Interval Overlap Def(3,40) image / (4,8) Blocs") << EAM(mExe,"Exe",true,"Execute commands 2 always, 1 if dont exist, 0 never") << EAM(mSH,"SH",true,"Set of Homogue") + << EAM(mExpTxt,"ExpTxt",true,"Homol in txt, Def=false") << EAM(mKeyName,"KeyName",true,"Key Name for print") << ArgATP() ); @@ -249,6 +252,7 @@ cAppliLiquor::cAppliLiquor(int argc,char ** argv) : mParamCommon += BlQUOTE(StrInitOfEAM(&mSH)); mParamCommon += std::string(" SauvAutom=NONE "); + mParamCommon += std::string(" ExpTxt=") + ToString(mExpTxt); /* { for (const auto & aS : *mVNames) From 385af13c69df9c03c5efc4a40351cf36773166ab Mon Sep 17 00:00:00 2001 From: deseilligny Date: Tue, 17 Dec 2019 17:30:41 +0100 Subject: [PATCH 08/49] Post Sismiq option, phgf =>P3D --- MMVII/include/MMVII_all.h | 1 + MMVII/include/MMVII_nums.h | 1 + MMVII/include/cMMVII_Appli.h | 1 + MMVII/src/Appli/cMMVII_Appli.cpp | 1 + MMVII/src/Bench/BenchGlob.cpp | 21 +- MMVII/src/MMV1/DenseMapCorresp.cpp | 8 + MMVII/src/MMV1/GenCodeTestCam.cpp | 171 +++++ MMVII/src/MMV1/cGeneratedCodeTestCam.cpp | 542 ++++++++++++++ MMVII/src/MMV1/cGeneratedCodeTestCam.h | 42 ++ MMVII/src/TestLibsExtern/TestMyJets.cpp | 854 +++++++++++++++++++++++ include/XML_MicMac/MM-PostSism.xml | 6 +- include/general/exemple_phgr_formel.h | 37 + include/private/fonc_num.h | 4 +- src/CBinaires/mm3d.cpp | 3 + src/fonc_num/fnum_compile.cpp | 19 +- src/photogram/phgr_formel.cpp | 31 + src/uti_files/CPP_CheckChantier.cpp | 46 ++ src/uti_phgrm/CPP_MM2DPostSism.cpp | 119 ++++ 18 files changed, 1899 insertions(+), 8 deletions(-) create mode 100644 MMVII/src/MMV1/DenseMapCorresp.cpp create mode 100644 MMVII/src/MMV1/GenCodeTestCam.cpp create mode 100644 MMVII/src/MMV1/cGeneratedCodeTestCam.cpp create mode 100644 MMVII/src/MMV1/cGeneratedCodeTestCam.h create mode 100644 MMVII/src/TestLibsExtern/TestMyJets.cpp diff --git a/MMVII/include/MMVII_all.h b/MMVII/include/MMVII_all.h index 961371d381..2913ed1494 100644 --- a/MMVII/include/MMVII_all.h +++ b/MMVII/include/MMVII_all.h @@ -70,6 +70,7 @@ // communication MMVII/MMv1 #include "MMVII_MMV1Compat.h" +#include "MMVII_Derivatives.h" #endif // _MMVII_ALL_H_ diff --git a/MMVII/include/MMVII_nums.h b/MMVII/include/MMVII_nums.h index a158398e45..67212a693d 100644 --- a/MMVII/include/MMVII_nums.h +++ b/MMVII/include/MMVII_nums.h @@ -409,6 +409,7 @@ inline tREAL8 FracPart(tREAL8 r) {return r - round_down(r);} template Type Square(const Type & aV) {return aV*aV;} +template Type Cube(const Type & aV) {return aV*aV*aV;} template TCast TSquare(const Type & aV) {return aV* TCast(aV);} template tREAL8 R8Square(const Type & aV) {return TSquare(aV);} ///< To avoid oveflow with int type diff --git a/MMVII/include/cMMVII_Appli.h b/MMVII/include/cMMVII_Appli.h index 4640c3c99a..f416da4b6f 100644 --- a/MMVII/include/cMMVII_Appli.h +++ b/MMVII/include/cMMVII_Appli.h @@ -337,6 +337,7 @@ class cMMVII_Appli : public cMMVII_Ap_NameManip, void InitParam(); ///< Parse the parameter list + const std::string & TopDirMMVII() const; ///< main directory of MMVII , upon include,src .. const std::string & TmpDirTestMMVII() const; ///< where to put binary file for bench, Export for global bench funtion const std::string & InputDirTestMMVII() const; ///< where are input files for bench , Export for global bench funtion diff --git a/MMVII/src/Appli/cMMVII_Appli.cpp b/MMVII/src/Appli/cMMVII_Appli.cpp index a7c660bd1a..0958acd1eb 100644 --- a/MMVII/src/Appli/cMMVII_Appli.cpp +++ b/MMVII/src/Appli/cMMVII_Appli.cpp @@ -1001,6 +1001,7 @@ void cMMVII_Appli::MMVII_WARNING(const std::string & aMes) // Accessors const std::string & cMMVII_Appli::TmpDirTestMMVII() const {return mTmpDirTestMMVII;} const std::string & cMMVII_Appli::InputDirTestMMVII() const {return mInputDirTestMMVII;} +const std::string & cMMVII_Appli::TopDirMMVII() const {return mTopDirMMVII;} void cMMVII_Appli::InitOutFromIn(std::string &aFileOut,const std::string& aFileIn) diff --git a/MMVII/src/Bench/BenchGlob.cpp b/MMVII/src/Bench/BenchGlob.cpp index 4e4ad3f72c..20e4cb9ada 100644 --- a/MMVII/src/Bench/BenchGlob.cpp +++ b/MMVII/src/Bench/BenchGlob.cpp @@ -479,11 +479,22 @@ class cAppli_MPDTest : public cMMVII_Appli cAppli_MPDTest(const std::vector & aVArgs,const cSpecMMVII_Appli & aSpec); int Exe() override; cCollecSpecArg2007 & ArgObl(cCollecSpecArg2007 & anArgObl) override {return anArgObl;} - cCollecSpecArg2007 & ArgOpt(cCollecSpecArg2007 & anArgOpt) override {return anArgOpt;} + cCollecSpecArg2007 & ArgOpt(cCollecSpecArg2007 & anArgOpt) override ; + private : + bool mMMV1_GenCodeTestCam; }; +cCollecSpecArg2007 & cAppli_MPDTest::ArgOpt(cCollecSpecArg2007 & anArgOpt) +{ + return + anArgOpt + << AOpt2007(mMMV1_GenCodeTestCam,"V1_GCTC","Generate code for Test Cam") + ; +} + cAppli_MPDTest:: cAppli_MPDTest(const std::vector & aVArgs,const cSpecMMVII_Appli & aSpec) : - cMMVII_Appli (aVArgs,aSpec) + cMMVII_Appli (aVArgs,aSpec), + mMMV1_GenCodeTestCam (false) { } @@ -583,6 +594,12 @@ void ShowAdr(double & anAdr) // #include int cAppli_MPDTest::Exe() { + if (mMMV1_GenCodeTestCam) + { + //StdOut() << "kkk=[" << mTopDirMMVII <<"]\n"; + MMV1_GenerateCodeTestCam(); + return EXIT_SUCCESS; + } { // Si on le met a 10h => reveil a 6h20 double t = 8.0; diff --git a/MMVII/src/MMV1/DenseMapCorresp.cpp b/MMVII/src/MMV1/DenseMapCorresp.cpp new file mode 100644 index 0000000000..fd97a4d4b3 --- /dev/null +++ b/MMVII/src/MMV1/DenseMapCorresp.cpp @@ -0,0 +1,8 @@ +#include "include/V1VII.h" + + +//extern std::string MM3DFixeByMMVII; + +namespace MMVII +{ +}; diff --git a/MMVII/src/MMV1/GenCodeTestCam.cpp b/MMVII/src/MMV1/GenCodeTestCam.cpp new file mode 100644 index 0000000000..5011293f16 --- /dev/null +++ b/MMVII/src/MMV1/GenCodeTestCam.cpp @@ -0,0 +1,171 @@ +#include "include/V1VII.h" +#include "cGeneratedCodeTestCam.h" + +namespace MMVII +{ +/** \file GenCodeTestCam.cpp + \brief Make benchmark on generated formal code + + This file contain test to generate formal class, and use them + to make benchmark between jets and computed analyticall + +*/ + + +class cGenCodeTestCam +{ + public : + cGenCodeTestCam(); + void Generate(); + void Init(cGeneratedCodeTestCam &aGCTC); + + private : + cIncListInterv mLInterv; + cSetEqFormelles mSet; + AllocateurDInconnues & mAlloc; + cMatr_Etat_PhgrF mRot0; + cP2d_Etat_PhgrF mMesIm; + + cP3dFormel mPTer; + cP3dFormel mCCam; + cP3dFormel mOmega; + cP2dFormel mCDist; + cValFormel mK2; + cValFormel mK4; + cValFormel mK6; + cValFormel mFoc; + cP2dFormel mPP; +}; + +class cMMV1_TestCam : public cInterfaceTestCam +{ + public : + void InitFromParams(const std::vector &) override; + void Compute(std::vector & Vals,std::vector > & ) override; + void Compute(int aNb) override; + cMMV1_TestCam (); + private : + cGenCodeTestCam mGenerator; + cGeneratedCodeTestCam mCamGen; +}; + +/* *********************************************** */ +/* */ +/* cMMV1_TestCam */ +/* */ +/* *********************************************** */ + +void cMMV1_TestCam::InitFromParams(const std::vector & aVals) +{ + mCamGen.SetCoordCur(aVals.data()); +} + +cMMV1_TestCam::cMMV1_TestCam () +{ + mGenerator.Init(mCamGen); +} + +void cMMV1_TestCam::Compute(std::vector & aVals,std::vector > & aDeriv) +{ + mCamGen.ComputeValDeriv(); + aVals = mCamGen.Vals(); + aDeriv = mCamGen.CompDer(); +} + +void cMMV1_TestCam::Compute(int aNb) +{ + for (int aK=0 ; aK aPCam = mRot0.Mat() * (mPTer.FPt()-mCCam.FPt()); + aPCam = aPCam + (mOmega.FPt() ^ aPCam); + + Pt2d aPi (aPCam.x/aPCam.z,aPCam.y/aPCam.z); + Pt2d aCdPi = aPi-mCDist.FPt(); + Fonc_Num aRho2 = Square(aCdPi.x) + Square(aCdPi.y); + Fonc_Num aRho4 = Square(aRho2); + Fonc_Num aRho6 = Cube(aRho2); + + Fonc_Num aCoeffDist = mK2.FVal()*aRho2 + mK4.FVal()*aRho4 + mK6.FVal()*aRho6; + Pt2d aPDist = aPi + Pt2d(aCdPi.x*aCoeffDist,aCdPi.y*aCoeffDist); + Pt2d aPProj = mPP.FPt() + Pt2d(aPDist.x*mFoc.FVal(),aPDist.y*mFoc.FVal()); + Pt2d aResidu = aPProj-mMesIm.PtF(); + + std::string aDirApp = cMMVII_Appli::CurrentAppli().TopDirMMVII() ; + cElCompileFN::DoEverything + ( + aDirApp + "src/MMV1/", // Directory ou est localise le code genere + "cGeneratedCodeTestCam", // donne les noms de .cpp et .h de classe + // std::vector ({aPi.x,aPi.y}), // expressions formelles + std::vector ({aResidu.x,aResidu.y}), // expressions formelles + mLInterv // intervalle de reference + ); + + +} + + +void MMV1_GenerateCodeTestCam() +{ + if (0) + { + cGenCodeTestCam aGCTC; + aGCTC.Generate(); + } + if (1) + { + double aVVals[30]; + cGenCodeTestCam aGen; + cGeneratedCodeTestCam aCamGen; + aGen.Init(aCamGen); + aCamGen.SetCoordCur(aVVals); + aCamGen.ComputeValDeriv(); + + } +} + + + +}; diff --git a/MMVII/src/MMV1/cGeneratedCodeTestCam.cpp b/MMVII/src/MMV1/cGeneratedCodeTestCam.cpp new file mode 100644 index 0000000000..42088905ba --- /dev/null +++ b/MMVII/src/MMV1/cGeneratedCodeTestCam.cpp @@ -0,0 +1,542 @@ +// File Automatically generated by eLiSe +#include "StdAfx.h" +#include "cGeneratedCodeTestCam.h" + + +cGeneratedCodeTestCam::cGeneratedCodeTestCam(): + cElCompiledFonc(2) +{ + AddIntRef (cIncIntervale("CCam",3,6)); + AddIntRef (cIncIntervale("CD",9,11)); + AddIntRef (cIncIntervale("F",14,15)); + AddIntRef (cIncIntervale("K2",11,12)); + AddIntRef (cIncIntervale("K4",12,13)); + AddIntRef (cIncIntervale("K6",13,14)); + AddIntRef (cIncIntervale("PGr",0,3)); + AddIntRef (cIncIntervale("PP",15,17)); + AddIntRef (cIncIntervale("W",6,9)); + Close(false); +} + + + +void cGeneratedCodeTestCam::ComputeVal() +{ + double tmp0_ = mCompCoord[0]; + double tmp1_ = mCompCoord[3]; + double tmp2_ = tmp0_ - tmp1_; + double tmp3_ = mCompCoord[1]; + double tmp4_ = mCompCoord[4]; + double tmp5_ = tmp3_ - tmp4_; + double tmp6_ = mCompCoord[2]; + double tmp7_ = mCompCoord[5]; + double tmp8_ = tmp6_ - tmp7_; + double tmp9_ = mLocR0_0_2 * (tmp2_); + double tmp10_ = mLocR0_1_2 * (tmp5_); + double tmp11_ = tmp9_ + tmp10_; + double tmp12_ = mLocR0_2_2 * (tmp8_); + double tmp13_ = tmp11_ + tmp12_; + double tmp14_ = mLocR0_0_1 * (tmp2_); + double tmp15_ = mLocR0_1_1 * (tmp5_); + double tmp16_ = tmp14_ + tmp15_; + double tmp17_ = mLocR0_2_1 * (tmp8_); + double tmp18_ = tmp16_ + tmp17_; + double tmp19_ = mCompCoord[7]; + double tmp20_ = mLocR0_0_0 * (tmp2_); + double tmp21_ = mLocR0_1_0 * (tmp5_); + double tmp22_ = tmp20_ + tmp21_; + double tmp23_ = mLocR0_2_0 * (tmp8_); + double tmp24_ = tmp22_ + tmp23_; + double tmp25_ = tmp19_ * (tmp13_); + double tmp26_ = mCompCoord[8]; + double tmp27_ = tmp26_ * (tmp18_); + double tmp28_ = tmp25_ - tmp27_; + double tmp29_ = tmp24_ + tmp28_; + double tmp30_ = mCompCoord[6]; + double tmp31_ = tmp30_ * (tmp18_); + double tmp32_ = tmp19_ * (tmp24_); + double tmp33_ = tmp31_ - tmp32_; + double tmp34_ = tmp13_ + tmp33_; + double tmp35_ = (tmp29_) / (tmp34_); + double tmp36_ = mCompCoord[9]; + double tmp37_ = tmp35_ - tmp36_; + double tmp38_ = ElSquare(tmp37_); + double tmp39_ = tmp26_ * (tmp24_); + double tmp40_ = tmp30_ * (tmp13_); + double tmp41_ = tmp39_ - tmp40_; + double tmp42_ = tmp18_ + tmp41_; + double tmp43_ = (tmp42_) / (tmp34_); + double tmp44_ = mCompCoord[10]; + double tmp45_ = tmp43_ - tmp44_; + double tmp46_ = ElSquare(tmp45_); + double tmp47_ = tmp38_ + tmp46_; + double tmp48_ = mCompCoord[11]; + double tmp49_ = tmp48_ * (tmp47_); + double tmp50_ = mCompCoord[12]; + double tmp51_ = ElSquare(tmp47_); + double tmp52_ = tmp50_ * tmp51_; + double tmp53_ = tmp49_ + tmp52_; + double tmp54_ = mCompCoord[13]; + double tmp55_ = VCube(tmp47_); + double tmp56_ = tmp54_ * tmp55_; + double tmp57_ = tmp53_ + tmp56_; + double tmp58_ = mCompCoord[14]; + + mVal[0] = (mCompCoord[15] + (tmp35_ + (tmp37_) * (tmp57_)) * tmp58_) - mLocMesIm_x; + + mVal[1] = (mCompCoord[16] + (tmp43_ + (tmp45_) * (tmp57_)) * tmp58_) - mLocMesIm_y; + +} + + +void cGeneratedCodeTestCam::ComputeValDeriv() +{ + double tmp0_ = mCompCoord[0]; + double tmp1_ = mCompCoord[3]; + double tmp2_ = tmp0_ - tmp1_; + double tmp3_ = mCompCoord[1]; + double tmp4_ = mCompCoord[4]; + double tmp5_ = tmp3_ - tmp4_; + double tmp6_ = mCompCoord[2]; + double tmp7_ = mCompCoord[5]; + double tmp8_ = tmp6_ - tmp7_; + double tmp9_ = mLocR0_0_2 * (tmp2_); + double tmp10_ = mLocR0_1_2 * (tmp5_); + double tmp11_ = tmp9_ + tmp10_; + double tmp12_ = mLocR0_2_2 * (tmp8_); + double tmp13_ = tmp11_ + tmp12_; + double tmp14_ = mLocR0_0_1 * (tmp2_); + double tmp15_ = mLocR0_1_1 * (tmp5_); + double tmp16_ = tmp14_ + tmp15_; + double tmp17_ = mLocR0_2_1 * (tmp8_); + double tmp18_ = tmp16_ + tmp17_; + double tmp19_ = mCompCoord[7]; + double tmp20_ = mLocR0_0_0 * (tmp2_); + double tmp21_ = mLocR0_1_0 * (tmp5_); + double tmp22_ = tmp20_ + tmp21_; + double tmp23_ = mLocR0_2_0 * (tmp8_); + double tmp24_ = tmp22_ + tmp23_; + double tmp25_ = tmp19_ * (tmp13_); + double tmp26_ = mCompCoord[8]; + double tmp27_ = tmp26_ * (tmp18_); + double tmp28_ = tmp25_ - tmp27_; + double tmp29_ = tmp24_ + tmp28_; + double tmp30_ = mCompCoord[6]; + double tmp31_ = tmp30_ * (tmp18_); + double tmp32_ = tmp19_ * (tmp24_); + double tmp33_ = tmp31_ - tmp32_; + double tmp34_ = tmp13_ + tmp33_; + double tmp35_ = (tmp29_) / (tmp34_); + double tmp36_ = mCompCoord[9]; + double tmp37_ = tmp35_ - tmp36_; + double tmp38_ = ElSquare(tmp37_); + double tmp39_ = tmp26_ * (tmp24_); + double tmp40_ = tmp30_ * (tmp13_); + double tmp41_ = tmp39_ - tmp40_; + double tmp42_ = tmp18_ + tmp41_; + double tmp43_ = (tmp42_) / (tmp34_); + double tmp44_ = mCompCoord[10]; + double tmp45_ = tmp43_ - tmp44_; + double tmp46_ = ElSquare(tmp45_); + double tmp47_ = tmp38_ + tmp46_; + double tmp48_ = mLocR0_0_2 * tmp19_; + double tmp49_ = mLocR0_0_1 * tmp26_; + double tmp50_ = tmp48_ - tmp49_; + double tmp51_ = mLocR0_0_0 + tmp50_; + double tmp52_ = (tmp51_) * (tmp34_); + double tmp53_ = mLocR0_0_1 * tmp30_; + double tmp54_ = mLocR0_0_0 * tmp19_; + double tmp55_ = tmp53_ - tmp54_; + double tmp56_ = mLocR0_0_2 + tmp55_; + double tmp57_ = (tmp29_) * (tmp56_); + double tmp58_ = tmp52_ - tmp57_; + double tmp59_ = ElSquare(tmp34_); + double tmp60_ = (tmp58_) / tmp59_; + double tmp61_ = mCompCoord[11]; + double tmp62_ = tmp61_ * (tmp47_); + double tmp63_ = mCompCoord[12]; + double tmp64_ = ElSquare(tmp47_); + double tmp65_ = tmp63_ * tmp64_; + double tmp66_ = tmp62_ + tmp65_; + double tmp67_ = mCompCoord[13]; + double tmp68_ = VCube(tmp47_); + double tmp69_ = tmp67_ * tmp68_; + double tmp70_ = tmp66_ + tmp69_; + double tmp71_ = 2 * (tmp60_); + double tmp72_ = tmp71_ * (tmp37_); + double tmp73_ = mLocR0_0_0 * tmp26_; + double tmp74_ = mLocR0_0_2 * tmp30_; + double tmp75_ = tmp73_ - tmp74_; + double tmp76_ = mLocR0_0_1 + tmp75_; + double tmp77_ = (tmp76_) * (tmp34_); + double tmp78_ = (tmp42_) * (tmp56_); + double tmp79_ = tmp77_ - tmp78_; + double tmp80_ = (tmp79_) / tmp59_; + double tmp81_ = 2 * (tmp80_); + double tmp82_ = tmp81_ * (tmp45_); + double tmp83_ = tmp72_ + tmp82_; + double tmp84_ = mCompCoord[14]; + double tmp85_ = mLocR0_1_2 * tmp19_; + double tmp86_ = mLocR0_1_1 * tmp26_; + double tmp87_ = tmp85_ - tmp86_; + double tmp88_ = mLocR0_1_0 + tmp87_; + double tmp89_ = (tmp88_) * (tmp34_); + double tmp90_ = mLocR0_1_1 * tmp30_; + double tmp91_ = mLocR0_1_0 * tmp19_; + double tmp92_ = tmp90_ - tmp91_; + double tmp93_ = mLocR0_1_2 + tmp92_; + double tmp94_ = (tmp29_) * (tmp93_); + double tmp95_ = tmp89_ - tmp94_; + double tmp96_ = (tmp95_) / tmp59_; + double tmp97_ = 2 * (tmp96_); + double tmp98_ = tmp97_ * (tmp37_); + double tmp99_ = mLocR0_1_0 * tmp26_; + double tmp100_ = mLocR0_1_2 * tmp30_; + double tmp101_ = tmp99_ - tmp100_; + double tmp102_ = mLocR0_1_1 + tmp101_; + double tmp103_ = (tmp102_) * (tmp34_); + double tmp104_ = (tmp42_) * (tmp93_); + double tmp105_ = tmp103_ - tmp104_; + double tmp106_ = (tmp105_) / tmp59_; + double tmp107_ = 2 * (tmp106_); + double tmp108_ = tmp107_ * (tmp45_); + double tmp109_ = tmp98_ + tmp108_; + double tmp110_ = mLocR0_2_2 * tmp19_; + double tmp111_ = mLocR0_2_1 * tmp26_; + double tmp112_ = tmp110_ - tmp111_; + double tmp113_ = mLocR0_2_0 + tmp112_; + double tmp114_ = (tmp113_) * (tmp34_); + double tmp115_ = mLocR0_2_1 * tmp30_; + double tmp116_ = mLocR0_2_0 * tmp19_; + double tmp117_ = tmp115_ - tmp116_; + double tmp118_ = mLocR0_2_2 + tmp117_; + double tmp119_ = (tmp29_) * (tmp118_); + double tmp120_ = tmp114_ - tmp119_; + double tmp121_ = (tmp120_) / tmp59_; + double tmp122_ = 2 * (tmp121_); + double tmp123_ = tmp122_ * (tmp37_); + double tmp124_ = mLocR0_2_0 * tmp26_; + double tmp125_ = mLocR0_2_2 * tmp30_; + double tmp126_ = tmp124_ - tmp125_; + double tmp127_ = mLocR0_2_1 + tmp126_; + double tmp128_ = (tmp127_) * (tmp34_); + double tmp129_ = (tmp42_) * (tmp118_); + double tmp130_ = tmp128_ - tmp129_; + double tmp131_ = (tmp130_) / tmp59_; + double tmp132_ = 2 * (tmp131_); + double tmp133_ = tmp132_ * (tmp45_); + double tmp134_ = tmp123_ + tmp133_; + double tmp135_ = -(1); + double tmp136_ = tmp135_ * mLocR0_0_2; + double tmp137_ = tmp135_ * mLocR0_0_1; + double tmp138_ = tmp135_ * mLocR0_0_0; + double tmp139_ = tmp136_ * tmp19_; + double tmp140_ = tmp137_ * tmp26_; + double tmp141_ = tmp139_ - tmp140_; + double tmp142_ = tmp138_ + tmp141_; + double tmp143_ = (tmp142_) * (tmp34_); + double tmp144_ = tmp137_ * tmp30_; + double tmp145_ = tmp138_ * tmp19_; + double tmp146_ = tmp144_ - tmp145_; + double tmp147_ = tmp136_ + tmp146_; + double tmp148_ = (tmp29_) * (tmp147_); + double tmp149_ = tmp143_ - tmp148_; + double tmp150_ = (tmp149_) / tmp59_; + double tmp151_ = 2 * (tmp150_); + double tmp152_ = tmp151_ * (tmp37_); + double tmp153_ = tmp138_ * tmp26_; + double tmp154_ = tmp136_ * tmp30_; + double tmp155_ = tmp153_ - tmp154_; + double tmp156_ = tmp137_ + tmp155_; + double tmp157_ = (tmp156_) * (tmp34_); + double tmp158_ = (tmp42_) * (tmp147_); + double tmp159_ = tmp157_ - tmp158_; + double tmp160_ = (tmp159_) / tmp59_; + double tmp161_ = 2 * (tmp160_); + double tmp162_ = tmp161_ * (tmp45_); + double tmp163_ = tmp152_ + tmp162_; + double tmp164_ = tmp135_ * mLocR0_1_2; + double tmp165_ = tmp135_ * mLocR0_1_1; + double tmp166_ = tmp135_ * mLocR0_1_0; + double tmp167_ = tmp164_ * tmp19_; + double tmp168_ = tmp165_ * tmp26_; + double tmp169_ = tmp167_ - tmp168_; + double tmp170_ = tmp166_ + tmp169_; + double tmp171_ = (tmp170_) * (tmp34_); + double tmp172_ = tmp165_ * tmp30_; + double tmp173_ = tmp166_ * tmp19_; + double tmp174_ = tmp172_ - tmp173_; + double tmp175_ = tmp164_ + tmp174_; + double tmp176_ = (tmp29_) * (tmp175_); + double tmp177_ = tmp171_ - tmp176_; + double tmp178_ = (tmp177_) / tmp59_; + double tmp179_ = 2 * (tmp178_); + double tmp180_ = tmp179_ * (tmp37_); + double tmp181_ = tmp166_ * tmp26_; + double tmp182_ = tmp164_ * tmp30_; + double tmp183_ = tmp181_ - tmp182_; + double tmp184_ = tmp165_ + tmp183_; + double tmp185_ = (tmp184_) * (tmp34_); + double tmp186_ = (tmp42_) * (tmp175_); + double tmp187_ = tmp185_ - tmp186_; + double tmp188_ = (tmp187_) / tmp59_; + double tmp189_ = 2 * (tmp188_); + double tmp190_ = tmp189_ * (tmp45_); + double tmp191_ = tmp180_ + tmp190_; + double tmp192_ = tmp135_ * mLocR0_2_2; + double tmp193_ = tmp135_ * mLocR0_2_1; + double tmp194_ = tmp135_ * mLocR0_2_0; + double tmp195_ = tmp192_ * tmp19_; + double tmp196_ = tmp193_ * tmp26_; + double tmp197_ = tmp195_ - tmp196_; + double tmp198_ = tmp194_ + tmp197_; + double tmp199_ = (tmp198_) * (tmp34_); + double tmp200_ = tmp193_ * tmp30_; + double tmp201_ = tmp194_ * tmp19_; + double tmp202_ = tmp200_ - tmp201_; + double tmp203_ = tmp192_ + tmp202_; + double tmp204_ = (tmp29_) * (tmp203_); + double tmp205_ = tmp199_ - tmp204_; + double tmp206_ = (tmp205_) / tmp59_; + double tmp207_ = 2 * (tmp206_); + double tmp208_ = tmp207_ * (tmp37_); + double tmp209_ = tmp194_ * tmp26_; + double tmp210_ = tmp192_ * tmp30_; + double tmp211_ = tmp209_ - tmp210_; + double tmp212_ = tmp193_ + tmp211_; + double tmp213_ = (tmp212_) * (tmp34_); + double tmp214_ = (tmp42_) * (tmp203_); + double tmp215_ = tmp213_ - tmp214_; + double tmp216_ = (tmp215_) / tmp59_; + double tmp217_ = 2 * (tmp216_); + double tmp218_ = tmp217_ * (tmp45_); + double tmp219_ = tmp208_ + tmp218_; + double tmp220_ = (tmp29_) * (tmp18_); + double tmp221_ = -(tmp220_); + double tmp222_ = tmp221_ / tmp59_; + double tmp223_ = 2 * (tmp222_); + double tmp224_ = tmp223_ * (tmp37_); + double tmp225_ = -(tmp13_); + double tmp226_ = tmp225_ * (tmp34_); + double tmp227_ = (tmp42_) * (tmp18_); + double tmp228_ = tmp226_ - tmp227_; + double tmp229_ = (tmp228_) / tmp59_; + double tmp230_ = 2 * (tmp229_); + double tmp231_ = tmp230_ * (tmp45_); + double tmp232_ = tmp224_ + tmp231_; + double tmp233_ = (tmp13_) * (tmp34_); + double tmp234_ = -(tmp24_); + double tmp235_ = (tmp29_) * tmp234_; + double tmp236_ = tmp233_ - tmp235_; + double tmp237_ = (tmp236_) / tmp59_; + double tmp238_ = 2 * (tmp237_); + double tmp239_ = tmp238_ * (tmp37_); + double tmp240_ = (tmp42_) * tmp234_; + double tmp241_ = -(tmp240_); + double tmp242_ = tmp241_ / tmp59_; + double tmp243_ = 2 * (tmp242_); + double tmp244_ = tmp243_ * (tmp45_); + double tmp245_ = tmp239_ + tmp244_; + double tmp246_ = -(tmp18_); + double tmp247_ = tmp246_ * (tmp34_); + double tmp248_ = (tmp247_) / tmp59_; + double tmp249_ = 2 * (tmp248_); + double tmp250_ = tmp249_ * (tmp37_); + double tmp251_ = (tmp24_) * (tmp34_); + double tmp252_ = (tmp251_) / tmp59_; + double tmp253_ = 2 * (tmp252_); + double tmp254_ = tmp253_ * (tmp45_); + double tmp255_ = tmp250_ + tmp254_; + double tmp256_ = 2 * tmp135_; + double tmp257_ = tmp256_ * (tmp37_); + double tmp258_ = tmp256_ * (tmp45_); + double tmp259_ = (tmp37_) * (tmp70_); + double tmp260_ = tmp35_ + tmp259_; + double tmp261_ = (tmp83_) * tmp61_; + double tmp262_ = 2 * (tmp83_); + double tmp263_ = tmp262_ * (tmp47_); + double tmp264_ = tmp263_ * tmp63_; + double tmp265_ = tmp261_ + tmp264_; + double tmp266_ = 3 * (tmp83_); + double tmp267_ = tmp266_ * tmp64_; + double tmp268_ = tmp267_ * tmp67_; + double tmp269_ = tmp265_ + tmp268_; + double tmp270_ = (tmp109_) * tmp61_; + double tmp271_ = 2 * (tmp109_); + double tmp272_ = tmp271_ * (tmp47_); + double tmp273_ = tmp272_ * tmp63_; + double tmp274_ = tmp270_ + tmp273_; + double tmp275_ = 3 * (tmp109_); + double tmp276_ = tmp275_ * tmp64_; + double tmp277_ = tmp276_ * tmp67_; + double tmp278_ = tmp274_ + tmp277_; + double tmp279_ = (tmp134_) * tmp61_; + double tmp280_ = 2 * (tmp134_); + double tmp281_ = tmp280_ * (tmp47_); + double tmp282_ = tmp281_ * tmp63_; + double tmp283_ = tmp279_ + tmp282_; + double tmp284_ = 3 * (tmp134_); + double tmp285_ = tmp284_ * tmp64_; + double tmp286_ = tmp285_ * tmp67_; + double tmp287_ = tmp283_ + tmp286_; + double tmp288_ = (tmp163_) * tmp61_; + double tmp289_ = 2 * (tmp163_); + double tmp290_ = tmp289_ * (tmp47_); + double tmp291_ = tmp290_ * tmp63_; + double tmp292_ = tmp288_ + tmp291_; + double tmp293_ = 3 * (tmp163_); + double tmp294_ = tmp293_ * tmp64_; + double tmp295_ = tmp294_ * tmp67_; + double tmp296_ = tmp292_ + tmp295_; + double tmp297_ = (tmp191_) * tmp61_; + double tmp298_ = 2 * (tmp191_); + double tmp299_ = tmp298_ * (tmp47_); + double tmp300_ = tmp299_ * tmp63_; + double tmp301_ = tmp297_ + tmp300_; + double tmp302_ = 3 * (tmp191_); + double tmp303_ = tmp302_ * tmp64_; + double tmp304_ = tmp303_ * tmp67_; + double tmp305_ = tmp301_ + tmp304_; + double tmp306_ = (tmp219_) * tmp61_; + double tmp307_ = 2 * (tmp219_); + double tmp308_ = tmp307_ * (tmp47_); + double tmp309_ = tmp308_ * tmp63_; + double tmp310_ = tmp306_ + tmp309_; + double tmp311_ = 3 * (tmp219_); + double tmp312_ = tmp311_ * tmp64_; + double tmp313_ = tmp312_ * tmp67_; + double tmp314_ = tmp310_ + tmp313_; + double tmp315_ = (tmp232_) * tmp61_; + double tmp316_ = 2 * (tmp232_); + double tmp317_ = tmp316_ * (tmp47_); + double tmp318_ = tmp317_ * tmp63_; + double tmp319_ = tmp315_ + tmp318_; + double tmp320_ = 3 * (tmp232_); + double tmp321_ = tmp320_ * tmp64_; + double tmp322_ = tmp321_ * tmp67_; + double tmp323_ = tmp319_ + tmp322_; + double tmp324_ = (tmp245_) * tmp61_; + double tmp325_ = 2 * (tmp245_); + double tmp326_ = tmp325_ * (tmp47_); + double tmp327_ = tmp326_ * tmp63_; + double tmp328_ = tmp324_ + tmp327_; + double tmp329_ = 3 * (tmp245_); + double tmp330_ = tmp329_ * tmp64_; + double tmp331_ = tmp330_ * tmp67_; + double tmp332_ = tmp328_ + tmp331_; + double tmp333_ = (tmp255_) * tmp61_; + double tmp334_ = 2 * (tmp255_); + double tmp335_ = tmp334_ * (tmp47_); + double tmp336_ = tmp335_ * tmp63_; + double tmp337_ = tmp333_ + tmp336_; + double tmp338_ = 3 * (tmp255_); + double tmp339_ = tmp338_ * tmp64_; + double tmp340_ = tmp339_ * tmp67_; + double tmp341_ = tmp337_ + tmp340_; + double tmp342_ = tmp257_ * tmp61_; + double tmp343_ = 2 * tmp257_; + double tmp344_ = tmp343_ * (tmp47_); + double tmp345_ = tmp344_ * tmp63_; + double tmp346_ = tmp342_ + tmp345_; + double tmp347_ = 3 * tmp257_; + double tmp348_ = tmp347_ * tmp64_; + double tmp349_ = tmp348_ * tmp67_; + double tmp350_ = tmp346_ + tmp349_; + double tmp351_ = tmp135_ * (tmp70_); + double tmp352_ = tmp258_ * tmp61_; + double tmp353_ = 2 * tmp258_; + double tmp354_ = tmp353_ * (tmp47_); + double tmp355_ = tmp354_ * tmp63_; + double tmp356_ = tmp352_ + tmp355_; + double tmp357_ = 3 * tmp258_; + double tmp358_ = tmp357_ * tmp64_; + double tmp359_ = tmp358_ * tmp67_; + double tmp360_ = tmp356_ + tmp359_; + double tmp361_ = (tmp45_) * (tmp70_); + double tmp362_ = tmp43_ + tmp361_; + + mVal[0] = (mCompCoord[15] + (tmp260_) * tmp84_) - mLocMesIm_x; + + mCompDer[0][0] = (tmp60_ + (tmp60_) * (tmp70_) + (tmp269_) * (tmp37_)) * tmp84_; + mCompDer[0][1] = (tmp96_ + (tmp96_) * (tmp70_) + (tmp278_) * (tmp37_)) * tmp84_; + mCompDer[0][2] = (tmp121_ + (tmp121_) * (tmp70_) + (tmp287_) * (tmp37_)) * tmp84_; + mCompDer[0][3] = (tmp150_ + (tmp150_) * (tmp70_) + (tmp296_) * (tmp37_)) * tmp84_; + mCompDer[0][4] = (tmp178_ + (tmp178_) * (tmp70_) + (tmp305_) * (tmp37_)) * tmp84_; + mCompDer[0][5] = (tmp206_ + (tmp206_) * (tmp70_) + (tmp314_) * (tmp37_)) * tmp84_; + mCompDer[0][6] = (tmp222_ + (tmp222_) * (tmp70_) + (tmp323_) * (tmp37_)) * tmp84_; + mCompDer[0][7] = (tmp237_ + (tmp237_) * (tmp70_) + (tmp332_) * (tmp37_)) * tmp84_; + mCompDer[0][8] = (tmp248_ + (tmp248_) * (tmp70_) + (tmp341_) * (tmp37_)) * tmp84_; + mCompDer[0][9] = (tmp351_ + (tmp350_) * (tmp37_)) * tmp84_; + mCompDer[0][10] = (tmp360_) * (tmp37_) * tmp84_; + mCompDer[0][11] = (tmp47_) * (tmp37_) * tmp84_; + mCompDer[0][12] = tmp64_ * (tmp37_) * tmp84_; + mCompDer[0][13] = tmp68_ * (tmp37_) * tmp84_; + mCompDer[0][14] = tmp260_; + mCompDer[0][15] = 1; + mCompDer[0][16] = 0; + mVal[1] = (mCompCoord[16] + (tmp362_) * tmp84_) - mLocMesIm_y; + + mCompDer[1][0] = (tmp80_ + (tmp80_) * (tmp70_) + (tmp269_) * (tmp45_)) * tmp84_; + mCompDer[1][1] = (tmp106_ + (tmp106_) * (tmp70_) + (tmp278_) * (tmp45_)) * tmp84_; + mCompDer[1][2] = (tmp131_ + (tmp131_) * (tmp70_) + (tmp287_) * (tmp45_)) * tmp84_; + mCompDer[1][3] = (tmp160_ + (tmp160_) * (tmp70_) + (tmp296_) * (tmp45_)) * tmp84_; + mCompDer[1][4] = (tmp188_ + (tmp188_) * (tmp70_) + (tmp305_) * (tmp45_)) * tmp84_; + mCompDer[1][5] = (tmp216_ + (tmp216_) * (tmp70_) + (tmp314_) * (tmp45_)) * tmp84_; + mCompDer[1][6] = (tmp229_ + (tmp229_) * (tmp70_) + (tmp323_) * (tmp45_)) * tmp84_; + mCompDer[1][7] = (tmp242_ + (tmp242_) * (tmp70_) + (tmp332_) * (tmp45_)) * tmp84_; + mCompDer[1][8] = (tmp252_ + (tmp252_) * (tmp70_) + (tmp341_) * (tmp45_)) * tmp84_; + mCompDer[1][9] = (tmp350_) * (tmp45_) * tmp84_; + mCompDer[1][10] = (tmp351_ + (tmp360_) * (tmp45_)) * tmp84_; + mCompDer[1][11] = (tmp47_) * (tmp45_) * tmp84_; + mCompDer[1][12] = tmp64_ * (tmp45_) * tmp84_; + mCompDer[1][13] = tmp68_ * (tmp45_) * tmp84_; + mCompDer[1][14] = tmp362_; + mCompDer[1][15] = 0; + mCompDer[1][16] = 1; +} + + +void cGeneratedCodeTestCam::ComputeValDerivHessian() +{ + ELISE_ASSERT(false,"Foncteur cGeneratedCodeTestCam Has no Der Sec"); +} + +void cGeneratedCodeTestCam::SetMesIm_x(double aVal){ mLocMesIm_x = aVal;} +void cGeneratedCodeTestCam::SetMesIm_y(double aVal){ mLocMesIm_y = aVal;} +void cGeneratedCodeTestCam::SetR0_0_0(double aVal){ mLocR0_0_0 = aVal;} +void cGeneratedCodeTestCam::SetR0_0_1(double aVal){ mLocR0_0_1 = aVal;} +void cGeneratedCodeTestCam::SetR0_0_2(double aVal){ mLocR0_0_2 = aVal;} +void cGeneratedCodeTestCam::SetR0_1_0(double aVal){ mLocR0_1_0 = aVal;} +void cGeneratedCodeTestCam::SetR0_1_1(double aVal){ mLocR0_1_1 = aVal;} +void cGeneratedCodeTestCam::SetR0_1_2(double aVal){ mLocR0_1_2 = aVal;} +void cGeneratedCodeTestCam::SetR0_2_0(double aVal){ mLocR0_2_0 = aVal;} +void cGeneratedCodeTestCam::SetR0_2_1(double aVal){ mLocR0_2_1 = aVal;} +void cGeneratedCodeTestCam::SetR0_2_2(double aVal){ mLocR0_2_2 = aVal;} + + + +double * cGeneratedCodeTestCam::AdrVarLocFromString(const std::string & aName) +{ + if (aName == "MesIm_x") return & mLocMesIm_x; + if (aName == "MesIm_y") return & mLocMesIm_y; + if (aName == "R0_0_0") return & mLocR0_0_0; + if (aName == "R0_0_1") return & mLocR0_0_1; + if (aName == "R0_0_2") return & mLocR0_0_2; + if (aName == "R0_1_0") return & mLocR0_1_0; + if (aName == "R0_1_1") return & mLocR0_1_1; + if (aName == "R0_1_2") return & mLocR0_1_2; + if (aName == "R0_2_0") return & mLocR0_2_0; + if (aName == "R0_2_1") return & mLocR0_2_1; + if (aName == "R0_2_2") return & mLocR0_2_2; + return 0; +} + + +cElCompiledFonc::cAutoAddEntry cGeneratedCodeTestCam::mTheAuto("cGeneratedCodeTestCam",cGeneratedCodeTestCam::Alloc); + + +cElCompiledFonc * cGeneratedCodeTestCam::Alloc() +{ return new cGeneratedCodeTestCam(); +} + + diff --git a/MMVII/src/MMV1/cGeneratedCodeTestCam.h b/MMVII/src/MMV1/cGeneratedCodeTestCam.h new file mode 100644 index 0000000000..1f803d250e --- /dev/null +++ b/MMVII/src/MMV1/cGeneratedCodeTestCam.h @@ -0,0 +1,42 @@ +// File Automatically generated by eLiSe +#include "StdAfx.h" + + +class cGeneratedCodeTestCam: public cElCompiledFonc +{ + public : + + cGeneratedCodeTestCam(); + void ComputeVal(); + void ComputeValDeriv(); + void ComputeValDerivHessian(); + double * AdrVarLocFromString(const std::string &); + void SetMesIm_x(double); + void SetMesIm_y(double); + void SetR0_0_0(double); + void SetR0_0_1(double); + void SetR0_0_2(double); + void SetR0_1_0(double); + void SetR0_1_1(double); + void SetR0_1_2(double); + void SetR0_2_0(double); + void SetR0_2_1(double); + void SetR0_2_2(double); + + + static cAutoAddEntry mTheAuto; + static cElCompiledFonc * Alloc(); + private : + + double mLocMesIm_x; + double mLocMesIm_y; + double mLocR0_0_0; + double mLocR0_0_1; + double mLocR0_0_2; + double mLocR0_1_0; + double mLocR0_1_1; + double mLocR0_1_2; + double mLocR0_2_0; + double mLocR0_2_1; + double mLocR0_2_2; +}; diff --git a/MMVII/src/TestLibsExtern/TestMyJets.cpp b/MMVII/src/TestLibsExtern/TestMyJets.cpp new file mode 100644 index 0000000000..33a66577ce --- /dev/null +++ b/MMVII/src/TestLibsExtern/TestMyJets.cpp @@ -0,0 +1,854 @@ +#include "include/MMVII_all.h" +#include "ExternalInclude/Eigen/Dense" + + +namespace MMVII +{ +/** \file TestMyJets.cpp + \brief Make some benchmark on jets (ceres) + + This file contain test on efficiency of jets. First draft with + home made implemntation + +*/ + +/* + Fab(X0,X1) = 1/(aX0 + b X1^2) + + Fab(X0+e0,X1+e1) = 1/(a(X0+e1) + b(X1+e1)^2) + = 1 / (aX0 + ae1 + b(X1^2 + 2Xe1)) + = 1 / (aX0+b +*/ + +/* ************************************** */ +/* */ +/* cVarEpsNum */ +/* */ +/* ************************************** */ + +struct cVarEpsNum +{ + public : + cVarEpsNum(double aNum) : + mNum (aNum) + { + Init(); + } + + void AddVal(double aVal,int aK) + { + mVEps.push_back(aVal); + mVInd.push_back(aK); + } + cVarEpsNum(double aNum,int aK) : + mNum (aNum) + { + AddVal(1.0,aK); + // mVEps.push_back(1.0); + // mVInd.push_back(aK); + } + + cVarEpsNum(const cVarEpsNum & aVEN,double aNum,double aMul) : + mNum (aNum), + mVEps (aVEN.mVEps), + mVInd (aVEN.mVInd) + { + for (auto & aEps : mVEps) + aEps *= aMul; + } + + + double mNum; + std::vector mVEps; + std::vector mVInd; + cVarEpsNum operator+(const cVarEpsNum& g) const; + cVarEpsNum operator*(const cVarEpsNum& g) const; + + + static const int SzBuf = 1000; + static int BufOccupied[SzBuf]; + static double BufEps[SzBuf]; + static bool IsInit; + + static void Init() + { + if (IsInit) return; + IsInit = true; + for (int aK=0 ; aK */ +/* */ +/* ************************************** */ + +template struct cEpsNum { + double mNum; + Eigen::Matrix mEps; + cEpsNum(const double & aNum,const Eigen::Matrix & aEps) : + mNum (aNum), + mEps (aEps) + { + } + cEpsNum(const double & aNum,int aK) : + mNum (aNum), + mEps (Eigen::Matrix::Zero()) + { + mEps(aK) = 1.0; + } + cEpsNum(double aNum) : + mNum (aNum), + mEps (Eigen::Matrix::Zero()) + { + } + cEpsNum() : + cEpsNum(0.0) + { + } + cVarEpsNum ToVEN() const; + static cEpsNum Random(double Densite); +}; + +template cEpsNum cEpsNum::Random(double Densite) +{ + cEpsNum aRes(N*RandUnif_C()); + for (int aK=0 ; aK cVarEpsNum cEpsNum::ToVEN() const +{ + cVarEpsNum aRes(mNum); + for (int aK=0 ; aK double EpsDifference(const cEpsNum & aEps,const cVarEpsNum & aVarEps) +{ + cVarEpsNum::Init(); + // double aRes=0.0; + double aRes= std::abs(aEps.mNum - aVarEps.mNum); + cEpsNum aEps2; + + for (unsigned int aK=0 ; aK=N) + aRes += std::abs(aVal); + else + aEps2.mEps[aInd] += aVal; + } + for (int aK=0 ; aK Eigen::Matrix ApplyOp(const Eigen::Matrix aMat,OpDouble anOp) +{ + Eigen::Matrix aRes; + for (int aK=0 ; aK cEpsNum operator+(const cEpsNum& f, const cEpsNum& g) { + return cEpsNum(f.mNum + g.mNum, f.mEps + g.mEps); +} + +template cEpsNum operator+(const double & f, const cEpsNum& g) { + return cEpsNum(f + g.mNum, g.mEps); +} +template cEpsNum operator+(const cEpsNum& g,const double & f) { + return f+g; +} + // ====== operator - ============= + +template cEpsNum operator-(const cEpsNum& f, const cEpsNum& g) { + return cEpsNum(f.mNum - g.mNum, f.mEps - g.mEps); +} + +template cEpsNum operator-(const double & f, const cEpsNum& g) { + return cEpsNum(f - g.mNum, -g.mEps); +} +template cEpsNum operator-(const cEpsNum& g,const double & f) { + return cEpsNum(g.mNum -f, g.mEps); +} + + // ====== operator * ============= + +template cEpsNum operator*(const cEpsNum& f, const cEpsNum& g) { + return cEpsNum(f.mNum * g.mNum, g.mNum * f.mEps + f.mNum * g.mEps); +} +template cEpsNum operator*(const double & f, const cEpsNum& g) { + return cEpsNum(f*g.mNum,f*g.mEps); +} +template cEpsNum operator*(const cEpsNum& g,const double & f) { + return f*g; +} + + + + +template cEpsNum operator/(const cEpsNum& f, const cEpsNum& g) { + return cEpsNum(f.mNum / g.mNum, (f.mEps / g.mNum) - g.mEps *(f.mNum/Square(g.mNum))); +} + +template cEpsNum Square(const cEpsNum& f) { + return cEpsNum(Square(f.mNum) , 2* f.mNum* f.mEps ); +} + +template cEpsNum Cube(const cEpsNum& f) { + return cEpsNum(Cube(f.mNum) , (3*Square(f.mNum)) * f.mEps ); +} + + + + +template cEpsNum COS(const cEpsNum& f) { + return cEpsNum(cos(f.mNum),-sin(f.mNum)*f.mEps); +} +inline double COS(const double & v) {return cos(v);} + +template class cProjCamRad +{ + public : + void Compute (Type * Parameter,Type * Residual); + + cProjCamRad(); + cDenseMatrix mRotCur; + cPt2dr mPix; + +}; +class cJetsTestCam : public cInterfaceTestCam +{ + public : + void InitFromParams(const std::vector &) override; + void Compute(std::vector & Vals,std::vector > & ) override; + void Compute(int aNb) override; + private : + cProjCamRad > mJetsCam; + +}; + +std::vector StdParamTestCam(double AmplNoise) +{ + std::vector aRes; + + aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //X-Gr + aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //Y-Gr + aRes.push_back(1.0+0.01*RandUnif_C()*AmplNoise); //Z-Gr + + aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //X-Cam + aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //Y-Cam + aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //Z-Cam + + aRes.push_back(0.0); // W-x Mandotary 000 as it is the complementary rotation + aRes.push_back(0.0); // W-y + aRes.push_back(0.0); // W-z + + aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // Centre dist X + aRes.push_back(0.02 *RandUnif_C()*AmplNoise); // Centre dist Y + + + aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // K1 + aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // K2 + aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // K3 + + + aRes.push_back(3000 * (1+ 0.01 *RandUnif_C()*AmplNoise)); // PPx + aRes.push_back(2000 * (1+ 0.01 *RandUnif_C()*AmplNoise)); // PPy + aRes.push_back(5000 * (1+ 0.01 *RandUnif_C()*AmplNoise)); // PPz / Focale + + return aRes; + +} + + +template cProjCamRad::cProjCamRad() : + mRotCur(3,3,eModeInitImage::eMIA_MatrixId) +{ +} +// std::vector InitParam(); + +template void cProjCamRad::Compute(Type * Parameter,Type * Residu) +{ + // Ground Coordinates of projected point + Type & XTer = Parameter[0]; + Type & YTer = Parameter[1]; + Type & ZTer = Parameter[2]; + + // Coordinate of camera center + Type & C_XCam = Parameter[3]; + Type & C_YCam = Parameter[4]; + Type & C_ZCam = Parameter[5]; + + // Coordinate of Omega vector coding the unknown "tiny" rotation + Type & Wx = Parameter[6]; + Type & Wy = Parameter[7]; + Type & Wz = Parameter[8]; + + // Coordinate Center of distorstion + Type & xCD = Parameter[9]; + Type & yCD = Parameter[10]; + + // Distortions coefficients + Type & k2D = Parameter[11]; + Type & k4D = Parameter[12]; + Type & k6D = Parameter[13]; + + // PP and Focal + Type & xPP = Parameter[14]; + Type & yPP = Parameter[15]; + Type & zPP = Parameter[16]; // also named as focal + + // Vector P->Cam + Type XPC = XTer-C_XCam; + Type YPC = YTer-C_YCam; + Type ZPC = ZTer-C_ZCam; + + // Coordinate of points in camera coordinate system, do not integrate "tiny" rotation + + Type XCam0 = mRotCur(0,0)*XPC + mRotCur(1,0)*YPC + mRotCur(2,0)*ZPC; + Type YCam0 = mRotCur(0,1)*XPC + mRotCur(1,1)*YPC + mRotCur(2,1)*ZPC; + Type ZCam0 = mRotCur(0,2)*XPC + mRotCur(1,2)*YPC + mRotCur(2,2)*ZPC; + + + // Wx X Wy * Z - Wz * Y + // Wy ^ Y = Wz * X - Wx * Z + // Wz Z Wx * Y - Wy * X + + // P = P0 + W ^ P0 + + Type XCam = XCam0 + Wy * ZCam0 - Wz * YCam0; + Type YCam = YCam0 + Wz * XCam0 - Wx * ZCam0; + Type ZCam = ZCam0 + Wx * YCam0 - Wy * XCam0; + + // Projection + + Type xPi = XCam/ZCam; + Type yPi = YCam/ZCam; + + + // Coordinate relative to distorsion center + Type xC = xPi-xCD; + Type yC = yPi-yCD; + Type Rho2C = Square(xC) + Square(yC); + + // Compute the distorsion + Type Dist = k2D*Rho2C + k4D * Square(Rho2C) + k6D*Cube(Rho2C); + + Type xDist = xPi + xC * Dist; + Type yDist = xPi + yC * Dist; + + // Use principal point and focal + Type xIm = xPP + zPP * xDist; + Type yIm = yPP + zPP * yDist; + + Residu[0] = xIm - mPix.x(); + Residu[1] = yIm - mPix.y(); +} + +// class cProjCamRad; +// class cProjCamRad >; + + +template class cTestJets +{ + public : + Type ComputeExpansed(Type * Parameter) const; + Type ComputeLoop(Type * Parameter) const; + double Phase[Nb]; + double Freq[Nb]; + + cTestJets() ; +}; + +/// TJ(K) (COS(Freq[K]*Square(Param[K]+0.2) + Phase[K])) + +/* +template cEpsNum TJ_DerAnalytique(const cTestJets & aTJ,double * aParam) +{ + const double* Phase = aTJ.Phase; + const double* Freq = aTJ.Freq; + double Val = aTJ.ComputeExpansed(aParam); + double V2 = Square(Val); + Eigen::Matrix mEps; + for (int aK=0 ; aK(Val,mEps); +} +*/ + +/// TJ(K) (COS(Freq[K]*Square(Param[K]+0.2) + Phase[K])) +template cEpsNum TJ_DerAnalytique(const cTestJets & aTJ,double * aParam) +{ + static double Tmp[Nb]; + double Som = 0.0; + const double* Phase = aTJ.Phase; + const double* Freq = aTJ.Freq; + for (int aK=0 ; aK mEps; + + for (int aK=0 ; aK(Som,mEps); +} + + + + + +template cTestJets::cTestJets() +{ + for (int aK=0 ; aK Type cTestJets::ComputeExpansed(Type * Param) const +{ + if (Nb==2) + return Type(1)/ (TJ(0)+TJ(1)); + if (Nb==6) + return Type(1)/ (TJ(0)+TJ(1)-TJ(2)+TJ(3)+TJ(4)+TJ(5)); + if (Nb==12) + return Type(1)/ (TJ(0)+TJ(1)-TJ(2)+TJ(3)+TJ(4)+TJ(5)+TJ(6)+TJ(7)+TJ(8)+TJ(9)+TJ(10)+TJ(11)); + + if (Nb==18) + return Type(1)/ (TJ(0)+TJ(1)-TJ(2)+TJ(3)+TJ(4)+TJ(5)+TJ(6)+TJ(7)+TJ(8)+TJ(9)+TJ(10)+TJ(11)+TJ(12)+TJ(13)+TJ(14)+TJ(15)+TJ(16)+TJ(17)); + + + if (Nb==24) + return Type(1)/ (TJ(0)+TJ(1)-TJ(2)+TJ(3)+TJ(4)+TJ(5)+TJ(6)+TJ(7)+TJ(8)+TJ(9)+TJ(10)+TJ(11)+TJ(12)+TJ(13)+TJ(14)+TJ(15)+TJ(16)+TJ(17)+TJ(18)+TJ(19)+TJ(20)+TJ(21)+TJ(22)+TJ(23)); + +/* + MMVII_INTERNAL_ASSERT_always(false,"COMMPUUTE"); + return Type(1)/ TJ(0); +*/ + return ComputeLoop(Param); +} + +template Type cTestJets::ComputeLoop(Type * Param) const +{ + Type aRes = TJ(0); + for (int aK=1 ; aK; +// class cTestJets,6 >; + +/* +Eigen::Matrix ApplyOp(const Eigen::Matrix aMat,OpDouble anOp); +template cEpsNum operator/(const cEpsNum& f, const cEpsNum& g) { + return cEpsNum(f.mNum / g.mNum, f.mEps * g.mNum + f.mNum * g.mEps); +} +*/ + +extern bool NEVER; + +template void TplTestJet(double aTiny) +{ + cEpsNum TabJets[Nb]; + double TabDouble[Nb]; + // On initialise le Jet et les double a la meme valeur + for (int aK=0 ; aK(TabDouble[aK],aK); + } + cTestJets,Nb > aTestJet; + cTestJets aTestDouble; + + cEpsNum aDerAn = TJ_DerAnalytique(aTestDouble,TabDouble); + cEpsNum aJetDer = aTestJet.ComputeExpansed(TabJets); + cEpsNum aJetLoop = aTestJet.ComputeLoop(TabJets); + for (int aKv=0 ; aKv aDerJet = aTestJet.ComputeExpansed(TabJets); + if (NEVER) + StdOut() << aDerJet.mNum << "\n"; + } + double aT1 = cMMVII_Appli::CurrentAppli().SecFromT0(); + for (int aK=0 ; aK aDerAn = TJ_DerAnalytique(aTestDouble,TabDouble); + IgnoreUnused(aDerAn); + if (NEVER) + StdOut() << aDerAn.mNum << "\n"; + } + double aT2 = cMMVII_Appli::CurrentAppli().SecFromT0(); + + for (int aK=0 ; aK aDerLoop = aTestJet.ComputeLoop(TabJets); + if (NEVER) + StdOut() << aDerLoop.mNum << "\n"; + } + double aT3 = cMMVII_Appli::CurrentAppli().SecFromT0(); + + StdOut() << "TIME; Ratio Jet/An=" << (aT1-aT0) / (aT2-aT1) + << " Jets= " << aT1-aT0 + << " An=" << aT2-aT1 + << " Loop=" << aT3-aT2 + << "\n"; + } + StdOut() << "============== Nb=" << Nb << "\n"; +} + + +template void TplBenchDifJets() +{ + { + static int aCpt=0,aNbTot=0,aNbNot0=0; aCpt++; + + cEpsNum anEps1 = cEpsNum::Random(RandUnif_0_1()); + cVarEpsNum aVEps1 = anEps1.ToVEN(); + double aDif1 = EpsDifference(anEps1,aVEps1); + aNbTot+= Nb; + aNbNot0 += aVEps1.mVInd.size(); + + if (aCpt>100) + { + double aProp = aNbNot0/double(aNbTot); + // Verif que les proportion sont respectees pour que test soit probants + MMVII_INTERNAL_ASSERT_bench((aProp>0.25) && (aProp<0.75),"TplBenchDifJets"); + } + // Verif conversion, + MMVII_INTERNAL_ASSERT_bench(aDif1<1e-5,"TplBenchDifJets"); + + + // operation algebrique + cEpsNum anEps2 = cEpsNum::Random(RandUnif_0_1()); + cVarEpsNum aVEps2 = anEps2.ToVEN(); + + cEpsNum anEps3 = cEpsNum::Random(RandUnif_0_1()); + cVarEpsNum aVEps3 = anEps3.ToVEN(); + // + cEpsNum anEpsCmp = 2.7+ 1.2*anEps1*1.3 + anEps2*COS(anEps3)+3.14; + cVarEpsNum aVEpsCmp = 2.7+ 1.3*aVEps1*1.2 + aVEps2*COS(aVEps3)+3.14; + + double aDifCmp = EpsDifference(anEpsCmp,aVEpsCmp); + MMVII_INTERNAL_ASSERT_bench(aDifCmp<1e-5,"TplBenchDifJets"); + } + double aVNum = RandUnif_C(); + cVarEpsNum aVE(aVNum); + cEpsNum aE(aVNum); + int aNbCoeff = RandUnif_N(Nb); + for (int aTime=0 ; aTime void TplOpJets() +{ + cVarEpsNum aVE(0.0); + cEpsNum aE; +} +*/ + +void BenchMyJets() +{ + + for (int aK=0 ; aK<1000 ; aK++) + { + TplBenchDifJets<10>(); + TplBenchDifJets<60>(); + } + + + //===== + + TplTestJet<2>(1e-5); + TplTestJet<6>(1e-5); + TplTestJet<12>(1e-5); + TplTestJet<18>(1e-5); + TplTestJet<24>(1e-5); + TplTestJet<48>(1e-5); + TplTestJet<96>(1e-5); + TplTestJet<192>(1e-5); + TplTestJet<484>(1e-5); + + getchar(); + cEpsNum<20> aEps(3.0,1); + cPtxd,3> aP1(aEps,aEps,aEps); + cPtxd,3> aP2; + cPtxd,3> aP3 = aP1+aP2; + + IgnoreUnused(aP3); + +/* + cEpsNum<255> aEps(3.0,1); + aEps = COS(aEps) + aEps*aEps + Square(aEps)/aEps; + StdOut() << aEps.mEps; + cProjCamRad aCamD; +*/ + cProjCamRad > aCamJ6; + aCamJ6.Compute(nullptr,nullptr); + // cProjCamRad >::ParamInitStd(); + // void Compute (Type * Parameter,Type * Residual); + +/* + cEpsNum<6> TabJ6[6]; + double TabD6[6]; + // On initialise le Jet et les double a la meme valeur + for (int aK=0 ; aK<6 ; aK++) + { + TabD6[aK] = tan(aK); + TabJ6[aK] = cEpsNum<6>(TabD6[aK],aK); + } + cTestJets,6 > aTestJ6; + + cEpsNum<6> aJ6Der = aTestJ6.ComputeExpansed(TabJ6); +*/ +} +bool NEVER=false; + + + +}; diff --git a/include/XML_MicMac/MM-PostSism.xml b/include/XML_MicMac/MM-PostSism.xml index 48d5f7b2bd..4fae414a83 100644 --- a/include/XML_MicMac/MM-PostSism.xml +++ b/include/XML_MicMac/MM-PostSism.xml @@ -47,6 +47,8 @@ Px1Moy=0 Px2Moy=0 + Interpolateur=eInterpolSinCard + SurEchWCor=1 ZoomInit=1 WithZ4= SupEq ${ZoomInit} 4 @@ -162,7 +164,9 @@ L'ordre des resolutions : les plus basses aux plus grandes. true - eInterpolSinCard + ${Interpolateur} + ${SurEchWCor} + 5.0 5.0 diff --git a/include/general/exemple_phgr_formel.h b/include/general/exemple_phgr_formel.h index dd493b334b..1671313bf5 100644 --- a/include/general/exemple_phgr_formel.h +++ b/include/general/exemple_phgr_formel.h @@ -1220,6 +1220,43 @@ template class cStructMergeTieP }; +class cP3dFormel : public cElemEqFormelle +{ + public : + cP3dFormel(const Pt3dr &,const std::string & aName,cSetEqFormelles &,cIncListInterv & aLI); + const Pt3dr & Pt() const {return mPt;} + const Pt3d & FPt() const {return mFPt;} + + private : + Pt3dr mPt; + Pt3d mFPt; +}; + +class cP2dFormel : public cElemEqFormelle +{ + public : + cP2dFormel(const Pt2dr &,const std::string & aName,cSetEqFormelles &,cIncListInterv & aLInterv); + const Pt2dr & Pt() const {return mPt;} + const Pt2d & FPt() const {return mFPt;} + + private : + Pt2dr mPt; + Pt2d mFPt; +}; + +class cValFormel : public cElemEqFormelle +{ + public : + cValFormel(const double &,const std::string & aName,cSetEqFormelles &,cIncListInterv & aLI); + const double & Val() const {return mVal;} + const Fonc_Num & FVal() const {return mFVal;} + + private : + double mVal; + Fonc_Num mFVal; +}; + + diff --git a/include/private/fonc_num.h b/include/private/fonc_num.h index 6480fd6a1b..eb4600654b 100644 --- a/include/private/fonc_num.h +++ b/include/private/fonc_num.h @@ -124,7 +124,7 @@ class cElCompiledFonc void SetMappingCur(const cIncListInterv &,cSetEqFormelles *); const cIncListInterv & MapRef() const; - void SetCoordCur(double * aRealCoord); + void SetCoordCur(const double * aRealCoord); void ComputeValAndSetIVC(); @@ -135,6 +135,8 @@ class cElCompiledFonc REAL Deriv(INT aD,INT aK) const; REAL DerSec(INT aD,INT aK1,INT aK2) const; const std::vector & Vals() const; + const std::vector & CompCoord() const; + const std::vector > & CompDer() const; void SVD_And_AddEqSysSurResol diff --git a/src/CBinaires/mm3d.cpp b/src/CBinaires/mm3d.cpp index 24bdfbdb03..6590d6d0e1 100644 --- a/src/CBinaires/mm3d.cpp +++ b/src/CBinaires/mm3d.cpp @@ -276,6 +276,8 @@ int HomolFromProfEtPx_main(int argc,char ** argv); int Line2Line_main(int argc,char ** argv); int CoronaRessample_main(int argc,char ** argv); int DivFilters_main(int argc,char ** argv); +int AnalysePxFrac_Main(int argc,char ** argv); + const std::vector & getAvailableCommands() { @@ -411,6 +413,7 @@ const std::vector & getAvailableCommands() aRes.push_back(cMMCom("MMInitialModel", MMInitialModel_main, " Initial Model for MicMac ")); // ,cArgLogCom(2))); aRes.push_back(cMMCom("MMTestAllAuto", MMAllAuto_main, " Full automatic version for 1 view point, test mode ", cArgLogCom(2))); aRes.push_back(cMMCom("MM2DPosSism", MM2DPostSism_Main, " Simplified interface for post 2D post sismic deformation ", cArgLogCom(2))); + aRes.push_back(cMMCom("DistPxFrac", AnalysePxFrac_Main, "Compute distribution of fractional part of paralax ", cArgLogCom(2))); aRes.push_back(cMMCom("MMMergeCloud", MM_FusionNuage_main, " Merging of low resol cloud, in preparation 2 MicMac ", cArgLogCom(2))); aRes.push_back(cMMCom("MergeDepthMap", FusionCarteProf_main, " Merging of individual, stackable, depth maps ")); diff --git a/src/fonc_num/fnum_compile.cpp b/src/fonc_num/fnum_compile.cpp index 6c2af6a2f5..4b7b10301c 100644 --- a/src/fonc_num/fnum_compile.cpp +++ b/src/fonc_num/fnum_compile.cpp @@ -811,7 +811,7 @@ void cElCompiledFonc::InitBloc(const cSetEqFormelles & aSet) } -void cElCompiledFonc::SetCoordCur(double * aRealCoord) +void cElCompiledFonc::SetCoordCur(const double * aRealCoord) { ELISE_ASSERT(isCurMappingSet,"No Current Mapping"); @@ -823,6 +823,7 @@ void cElCompiledFonc::SetCoordCur(double * aRealCoord) { INT aIC = LIC(aK); mCompCoord[aIC] = aRealCoord[mMapComp2Real[aIC]]; + // std::cout << "FFFffFFf " << aIC << " " < & cElCompiledFonc::Vals() const { ELISE_ASSERT(isValComputed,"No Val Computed"); return mVal; } +const std::vector > & cElCompiledFonc::CompDer() const +{ + ELISE_ASSERT(isDerComputed,"No Der Computed"); + return mCompDer; +} +const std::vector & cElCompiledFonc::CompCoord() const +{ + ELISE_ASSERT(isCoordSet,"No Coord Set"); + return mCompCoord; +} + + + REAL cElCompiledFonc::Deriv(INT aD,INT aK) const { ELISE_ASSERT(false,"No more Hessian "); diff --git a/src/photogram/phgr_formel.cpp b/src/photogram/phgr_formel.cpp index 5d309180aa..727e5d50ac 100644 --- a/src/photogram/phgr_formel.cpp +++ b/src/photogram/phgr_formel.cpp @@ -1846,6 +1846,37 @@ void cMultiContEQF::Add(const cMultiContEQF & aM2) } +cP3dFormel::cP3dFormel(const Pt3dr & aPt,const std::string & aName,cSetEqFormelles & aSet,cIncListInterv & aLI) : + cElemEqFormelle(aSet,false), + mPt (aPt), + mFPt (aSet.Alloc().NewPt3(aName,mPt)) +{ + IncInterv().SetName(aName); + CloseEEF(); + aLI.AddInterv(IncInterv()); +} + +cP2dFormel::cP2dFormel(const Pt2dr & aPt,const std::string & aName,cSetEqFormelles & aSet,cIncListInterv & aLI) : + cElemEqFormelle(aSet,false), + mPt (aPt), + mFPt (aSet.Alloc().NewPt2(aName,mPt)) +{ + IncInterv().SetName(aName); + CloseEEF(); + aLI.AddInterv(IncInterv()); +} + +cValFormel::cValFormel(const double & aVal,const std::string & aName,cSetEqFormelles & aSet,cIncListInterv & aLI) : + cElemEqFormelle(aSet,false), + mVal (aVal), + mFVal (aSet.Alloc().NewF(aName,aName,&mVal)) +{ + IncInterv().SetName(aName); + CloseEEF(); + aLI.AddInterv(IncInterv()); +} + + /*Footer-MicMac-eLiSe-25/06/2007 diff --git a/src/uti_files/CPP_CheckChantier.cpp b/src/uti_files/CPP_CheckChantier.cpp index d92b172955..d03bd60705 100644 --- a/src/uti_files/CPP_CheckChantier.cpp +++ b/src/uti_files/CPP_CheckChantier.cpp @@ -38,6 +38,7 @@ English : Header-MicMac-eLiSe-25/06/2007*/ #include "StdAfx.h" #include +#include "../include/im_tpl/image.h" /* */ @@ -136,9 +137,54 @@ void CheckSetFile(const std::string & aDir,const std::string & aKey,const std::s int CheckOneTiff_main(int argc,char ** argv) { + // Comme c'etait comme cela, j'y touche pas, mais rajoute quand meme qqchose std::string aName = InitJunkErrorHandler(argc,argv); + + int CorrecNan = 0; + ElInitArgMain + ( + argc,argv, + LArgMain() << EAMC(aName,"Directory "), + LArgMain() << EAM(CorrecNan,"WCNan",true,"With check/correction of nan (1=check,2=correc)") + ); + Tiff_Im aTF(aName.c_str()); ELISE_COPY(aTF.all_pts(),aTF.in(),Output::onul()); + if (CorrecNan) + { + Im2D aIm = Im2D::FromFileStd(aName); + TIm2D aTIm(aIm); + + Pt2di aSz = aIm.sz(); + Pt2di aP; + Im2D_Bits<1> aMasqOk(aSz.x,aSz.y,1); + TIm2DBits<1> aTMasqOk(aMasqOk); + Im2D_Bits<1> aMasqRes(aSz.x,aSz.y,1); + int aCptNan=0; + for (aP.x=0 ; aP.x=2) + { + Im2D aImCorrec = ImpaintL2(aMasqOk,aMasqRes,aIm,4); + + std::string aNameRes = StdPrefix(aName)+"_Correc.tif"; + + Tiff_Im aTifOut(aNameRes.c_str(),aSz,aTF.type_el(),aTF.mode_compr(),aTF.phot_interp()); + ELISE_COPY(aImCorrec.all_pts(),aImCorrec.in(),aTifOut.out()); + } + } return EXIT_SUCCESS; } diff --git a/src/uti_phgrm/CPP_MM2DPostSism.cpp b/src/uti_phgrm/CPP_MM2DPostSism.cpp index 1904eea2f9..073c5c7cfa 100644 --- a/src/uti_phgrm/CPP_MM2DPostSism.cpp +++ b/src/uti_phgrm/CPP_MM2DPostSism.cpp @@ -143,7 +143,9 @@ int MM2DPostSism_Main(int argc,char ** argv) bool useDequant=true; double aIncCalc=2.0; int aSsResolOpt=4; + int aSurEchWCor=1; std::string aDirMEC="MEC/"; + std::string anInterp = "SinCard"; Pt2dr aPxMoy(0,0); int aZoomInit = 1; @@ -164,6 +166,8 @@ int MM2DPostSism_Main(int argc,char ** argv) << EAM(aDirMEC,"DirMEC",true,"Subdirectory where the results will be stored (Def='MEC/')") << EAM(aPxMoy,"PxMoy",true,"Px-Moy , Def=(0,0)") << EAM(aZoomInit,"ZoomInit",true,"Initial Zoom, Def=1 (can be long of Inc>2)") + << EAM(anInterp,"Interp",true,"Interpolator,Def=SinCard, can be PPV,MPD,Bilin,BiCub,BicubOpt)") + << EAM(aSurEchWCor,"SEWC",true,"Over Sampling Correlation Window)") ); if (!MMVisualMode) @@ -188,6 +192,7 @@ int MM2DPostSism_Main(int argc,char ** argv) { aPxMoy = Pt2dr(DecalageFromPC(aIm1,aIm2)); } + std::string aCom = MM3dBinFile("MICMAC") + XML_MM_File("MM-PostSism.xml") @@ -203,6 +208,8 @@ int MM2DPostSism_Main(int argc,char ** argv) + " +Px1Moy=" + ToString(aPxMoy.x) + " +Px2Moy=" + ToString(aPxMoy.y) + " +ZoomInit=" + ToString(aZoomInit) + + " +Interpolateur=eInterpol" + anInterp + + " +SurEchWCor=" + ToString(aSurEchWCor) ; @@ -683,6 +690,118 @@ int FusionDepl_Main(int argc,char ** argv) } +int AnalysePxFrac_Main(int argc,char ** argv) +{ + std::string aNameIm; + int aNbStep=100; + Box2di aBox; + int aBrd; + Pt2dr aMinMax; + bool Unsigned=true; + double aMul=1.0; + + ElInitArgMain + ( + argc,argv, + LArgMain() << EAMC(aNameIm,"Name of Image"), + LArgMain() << EAM(aNbStep,"NbStep",true,"Number of step in one pixel, def=100") + << EAM(aBox,"Box",true,"Box, def=full image") + << EAM(aBrd,"Border",true,"Border to supr, def=0") + << EAM(aMinMax,"MinMax",true,"MinMax values") + << EAM(Unsigned,"USigned",true,"Unsigned frac") + << EAM(aMul,"Mul",true,"Multiplier, def=1.0") + ); + + Im2D_REAL4 aIm = Im2D_REAL4::FromFileStd(aNameIm); + + Pt2di aP0(0,0); + Pt2di aP1 = aIm.sz(); + + if (EAMIsInit(&aBox)) + { + aP0 = aBox._p0; + aP1 = aBox._p1; + } + if (EAMIsInit(&aBrd)) + { + Pt2di aPBrd(aBrd,aBrd); + aP0 = aP0 + aPBrd; + aP1 = aP1 - aPBrd; + } + + Flux_Pts aFlux = rectangle(aP0,aP1); + if (EAMIsInit(&aMinMax)) + { + Symb_FNum aSI0(aIm.in()); + aFlux = select(aFlux,(aSI0>=aMinMax.x) && (aSI0 aH(aSzHist,0.0); + double NbTot; + + ELISE_COPY + ( + aFlux, + 1, + aH.histo().chc(aFonc) + | sigma(NbTot) + ); + + ELISE_COPY(aH.all_pts(),aH.in() *(aSzHist/NbTot),aH.out()); + + for (int aK=0 ; aK aVPt; + for (int aX=0 ; aX Date: Wed, 18 Dec 2019 10:11:35 +0100 Subject: [PATCH 09/49] Option Ori Rel dans CmpOri --- src/uti_phgrm/CPP_CenterBascule.cpp | 55 +++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) diff --git a/src/uti_phgrm/CPP_CenterBascule.cpp b/src/uti_phgrm/CPP_CenterBascule.cpp index db222623ba..436cfa8146 100644 --- a/src/uti_phgrm/CPP_CenterBascule.cpp +++ b/src/uti_phgrm/CPP_CenterBascule.cpp @@ -140,6 +140,7 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : double aScaleC; double aScaleO; double aF; + Pt2dr SeuilMatRel; ElInitArgMain ( @@ -157,6 +158,7 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : << EAM(aScaleC,"ScaleC",true,"Scale for camera center difference, the center diff is displayed when this option is activated") << EAM(aScaleO,"ScaleO",true,"Scale for camera orientation difference, the ori diff is displayed when this option is activated") << EAM(aF,"F",true,"approximate value of focal length in (m), Def=0.03875m for Camlight") + << EAM(SeuilMatRel,"SMR",true,"Seuil Mat Rel [Ratio,Prop] ") ); @@ -181,10 +183,15 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : { mCSVContent.open(mCSV); isCSV = true; - mCSVContent<< "Img,X1,Y1,Z1,dX,dY,dZ,dXY,dXYZ\n"; + mCSVContent<< "Img,X1,Y1,Z1,dX,dY,dZ,dXY,dXYZ,dMat,dTrRel,dMatRel\n"; } cPlyCloud aPlyC, aPlyO; + CamStenope * aCamPrec1 = nullptr; + CamStenope * aCamPrec2 = nullptr; + std::vector aVDMatRel; + std::vector aVName; + double aMoyMatRel =0; for (int aK=0 ; aKattr().mIma; @@ -194,6 +201,22 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : Pt3dr aC1 = aCam1->VraiOpticalCenter(); Pt3dr aC2 = aCam2->VraiOpticalCenter(); + double aDMat = aCam1->Orient().Mat().L2(aCam2->Orient().Mat()); + double aDMatRel = 0.0; + double aDTrRel = 0.0; + if (aK>0) + { + // Orientation Monde to Cam + ElRotation3D aP1_2_C1 = aCam1->Orient() * aCamPrec1->Orient().inv(); // M2C1 * P12M = P12C1 + ElRotation3D aP2_2_C2 = aCam2->Orient() * aCamPrec2->Orient().inv(); // M2C1 * P12M = P12C1 + aDMatRel = aP1_2_C1.Mat().L2(aP2_2_C2.Mat()) ; + aDTrRel = euclid(aP1_2_C1.tr()-aP2_2_C2.tr()) ; + } + aMoyMatRel+=aDMatRel; + aVDMatRel.push_back(aDMatRel); + aVName.push_back(anIm->mNameIm); + + if (EAMIsInit(&aScaleO)) { ElSeg3D aRay2 = aCam2->Capteur2RayTer(aCam2->PP()); @@ -219,7 +242,19 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : if (isCSV) { - mCSVContent << anIm->mNameIm <<","<< ToString(aC1.x) << "," << ToString(aC1.y) << "," << ToString(aC1.z) << "," << ToString(abs(aC1.x - aC2.x)) << "," << ToString(abs(aC1.y - aC2.y)) << "," <mNameIm <<"," + << ToString(aC1.x) << "," + << ToString(aC1.y) << "," + << ToString(aC1.z) << "," + << ToString(abs(aC1.x - aC2.x)) << "," + << ToString(abs(aC1.y - aC2.y)) << "," + << ToString(aC1.z - aC2.z) << "," + << ToString(aDCXY) << "," + << ToString(aDC) << "," + << ToString(aDMat*1e5) << "," + << ToString(aDTrRel ) << "," + << ToString(aDMatRel*1e10) + ; mCSVContent << "\n"; } @@ -228,6 +263,8 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : aPlyC.AddSeg(aColXY,aC1,Pt3dr(aC2.x+(aC2.x-aC1.x)*100000*aScaleC,aC2.y+(aC2.y-aC1.y)*100000*aScaleC,aC1.z),10000); aPlyC.AddSeg(aColZ,aC1,Pt3dr(aC1.x,aC1.y,aC2.z+(aC2.z-aC1.z)*100000*aScaleC),10000); } + aCamPrec1 = aCam1; + aCamPrec2 = aCam2; } std::cout << "Aver; DistCenter= " << aSomDC/mVSoms.size() @@ -257,6 +294,20 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : aPlyC.PutFile(mPly.substr(0,mPly.size()-4)+"_Center.ply"); aPlyO.PutFile(mPly.substr(0,mPly.size()-4)+"_Orientation.ply"); } + + if (EAMIsInit(&SeuilMatRel)) + { + std::cout << "======= Threshold Matrix Relative ======\n"; + std::vector aVDM = aVDMatRel; + double aValStd = KthValProp(aVDM,SeuilMatRel.y); + + for (int aK=0 ; aKSeuilMatRel.x) + std::cout << aVName[aK] << " " << aRatio << "\n"; + } + } } int CPP_CmpOriCam_main(int argc, char** argv) From 3fcdfc32ed8b786b96076bcc2e4849faafc1bf9a Mon Sep 17 00:00:00 2001 From: deseilligny Date: Wed, 18 Dec 2019 15:09:55 +0100 Subject: [PATCH 10/49] Bug ExpImRes --- src/uti_phgrm/CPP_Campari.cpp | 1 + src/uti_phgrm/CPP_CenterBascule.cpp | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+) diff --git a/src/uti_phgrm/CPP_Campari.cpp b/src/uti_phgrm/CPP_Campari.cpp index 073813ef22..5b1ea0366b 100644 --- a/src/uti_phgrm/CPP_Campari.cpp +++ b/src/uti_phgrm/CPP_Campari.cpp @@ -697,6 +697,7 @@ cAppli_Campari::cAppli_Campari (int argc,char ** argv) : + std::string(" +UEIR_ByPose=") + ToString(aVExpImRes[1]) + std::string(" +UEIR_ByPair=") + ToString(aVExpImRes[2]) + std::string(" +UEIR_NbMesByCase=") + ToString(aNbByC) + + std::string(" ") ; } diff --git a/src/uti_phgrm/CPP_CenterBascule.cpp b/src/uti_phgrm/CPP_CenterBascule.cpp index 436cfa8146..d4beca1d7f 100644 --- a/src/uti_phgrm/CPP_CenterBascule.cpp +++ b/src/uti_phgrm/CPP_CenterBascule.cpp @@ -117,6 +117,24 @@ int CentreBascule_main(int argc,char ** argv) /* */ /*********************************************************************/ +class cCmpOriOneSom +{ + public : + cCmpOriOneSom(const std::string& aName,CamStenope* C1,CamStenope* C2) ; + + public : + const std::string mName; + const CamStenope * mCam1; + const CamStenope * mCam2; +}; + +cCmpOriOneSom::cCmpOriOneSom(const std::string& aName,CamStenope* aCam1,CamStenope* aCam2) : + mName (aName), + mCam1 (aCam1), + mCam2 (aCam2) +{ +} + class cAppli_CmpOriCam : public cAppliWithSetImage { public : From 236b7ebb1f976a94d7a2aedc3442229f629f93aa Mon Sep 17 00:00:00 2001 From: deseilligny Date: Thu, 19 Dec 2019 18:49:29 +0100 Subject: [PATCH 11/49] Mise au propor CmpOri + nouvelles options --- include/general/bitm.h | 2 + src/uti_phgrm/CPP_CenterBascule.cpp | 273 ++++++++++++++++++++-------- 2 files changed, 203 insertions(+), 72 deletions(-) diff --git a/include/general/bitm.h b/include/general/bitm.h index 77c12e06f7..0f170254d5 100644 --- a/include/general/bitm.h +++ b/include/general/bitm.h @@ -1321,6 +1321,8 @@ ElRotation3D RotationOfInvariantPoint(const Pt3dr & ,const ElMatrix &); ElMatrix VecKern ( const ElMatrix & aMat); ElMatrix VecOfValP(const ElMatrix & aMat,REAL aVP); Pt3dr AxeRot(const ElMatrix & aMat); +double TetaOfAxeRot(const ElMatrix & aMat, Pt3dr & aP1); + double LongBase(const ElRotation3D &); ElRotation3D ScaleBase(const ElRotation3D &,const double & aScale); // Passer 1/LongBase pour faire base unit diff --git a/src/uti_phgrm/CPP_CenterBascule.cpp b/src/uti_phgrm/CPP_CenterBascule.cpp index d4beca1d7f..327745ce8d 100644 --- a/src/uti_phgrm/CPP_CenterBascule.cpp +++ b/src/uti_phgrm/CPP_CenterBascule.cpp @@ -120,19 +120,130 @@ int CentreBascule_main(int argc,char ** argv) class cCmpOriOneSom { public : - cCmpOriOneSom(const std::string& aName,CamStenope* C1,CamStenope* C2) ; + cCmpOriOneSom(const std::string& aName,CamStenope* C1,CamStenope* C2) ; + void SetPrec(const cCmpOriOneSom & aS1); + + void Show(ofstream & ofs,bool WithRel,bool DoCirc) const; + void PlyShowDiffRot(cPlyCloud & aPlyFile,double aMult,const Pt3di & aCol) const; + void PlyShowDiffCenter(cPlyCloud & aPlyFile,double aMult,const Pt3di & aCol) const; public : const std::string mName; const CamStenope * mCam1; + // mCam1.Orient() = Orientation Monde to Cam + ElRotation3D mRC1ToM; + Pt3dr mC1; + Pt2dr mP1; const CamStenope * mCam2; + ElRotation3D mRC2ToM; + Pt3dr mC2; + Pt2dr mP2; + int mNum; + double mAbsCurv; + double mDC; + double mDMat; + double mDMatRel; + double mDCRel; + ElRotation3D mRC1ToC2; + // For analyzing circular traj + double mDistBcl; // Ratio of "bouclage" + bool mIsPivot; + int mNumTour; + int mNumInTour; + double mAbscInTour; }; + +void cCmpOriOneSom::SetPrec(const cCmpOriOneSom & aSPrec) +{ + mNum = aSPrec.mNum + 1; + mAbsCurv = aSPrec.mAbsCurv+ euclid(mC1-aSPrec.mC1); + // Calcul des orientations relatives / à image prec pour 1 et 2 + ElRotation3D aCurToPrec1 = aSPrec.mRC1ToM.inv() * mRC1ToM ; + ElRotation3D aCurToPrec2 = aSPrec.mRC2ToM.inv() * mRC2ToM ; + + // Calcul des difference en rotation et centres pour ces orientations relatives + mDMatRel = sqrt(aCurToPrec1.Mat().L2(aCurToPrec2.Mat())) ; // plus ou moin homogene a des radians + mDCRel = euclid(aCurToPrec1.tr()-aCurToPrec2.tr()) ; + + // They are similar but different + // double aDD = sqrt(mRC1ToC2.Mat().L2(aSPrec.mRC1ToC2.Mat())); + // std::cout << "FFFFff " << aDD / mDMatRel << "\n"; +} + +void cCmpOriOneSom::Show(ofstream & ofs,bool WithRel,bool DoCirc) const +{ + double MultDMat = 1e5; + + ofs << mName + << "," << ToString(mC1.x) + << "," << ToString(mC1.y) + << "," << ToString(mC1.z) + << "," << ToString(abs(mC1.x - mC2.x)) + << "," << ToString(abs(mC1.y - mC2.y)) + << "," << ToString(mC1.z - mC2.z) + << "," << ToString(euclid(mP1-mP2)) + << "," << ToString(euclid(mC1-mC2)) + << "," << ToString(mDMat*MultDMat) + ; + + if (WithRel) + { + ofs + << "," << ToString(mDCRel) + << "," << ToString(mDMatRel*MultDMat) + ; + } + if (DoCirc) + { + ofs + << "," << ToString(mNumTour) + << "," << ToString(mNumInTour) + << "," << ToString(mAbscInTour) + ; + } + ofs << "\n"; + +} + +void cCmpOriOneSom::PlyShowDiffRot(cPlyCloud & aPlyFile,double aMult,const Pt3di & aCol) const +{ + // We represent the Axiator of differential orientation + Pt3dr anAxe = AxeRot(mRC1ToC2.Mat()); + double anAngle = TetaOfAxeRot(mRC1ToC2.Mat(),anAxe); + aPlyFile.AddSeg(aCol,mC1,mC1+anAxe*(anAngle*aMult),3000); +} + +void cCmpOriOneSom::PlyShowDiffCenter(cPlyCloud & aPlyFile,double aMult,const Pt3di & aCol) const +{ + aPlyFile.AddSeg(aCol,mC1,mC1+(mC2-mC1)*aMult,3000); +} + cCmpOriOneSom::cCmpOriOneSom(const std::string& aName,CamStenope* aCam1,CamStenope* aCam2) : - mName (aName), - mCam1 (aCam1), - mCam2 (aCam2) + mName (aName), + mCam1 (aCam1), + mRC1ToM (aCam1->Orient().inv()), + mC1 (mRC1ToM.tr()), + mP1 (mC1.x,mC1.y), + mCam2 (aCam2), + mRC2ToM (aCam2->Orient().inv()), + mC2 (mRC2ToM.tr()), + mP2 (mC2.x,mC2.y), + mNum (0.0), + mAbsCurv (0.0), + mDC (euclid(mC1-mC2)), + mDMat (sqrt(mRC1ToM.Mat().L2(mRC2ToM.Mat()))), + mDMatRel (0.0), + mDCRel (0.0), + mRC1ToC2 (mRC2ToM.inv() * mRC1ToM), + mDistBcl (0.0), + mIsPivot (false), + mNumTour (0), + mNumInTour (0), + mAbscInTour (0) { + ELISE_ASSERT(euclid( mCam1->VraiOpticalCenter() - mC1)<1e-5,"Verif conventions"); + // Pt3dr AxeRot(const ElMatrix & aMat); } class cAppli_CmpOriCam : public cAppliWithSetImage @@ -140,15 +251,64 @@ class cAppli_CmpOriCam : public cAppliWithSetImage public : cAppli_CmpOriCam(int argc, char** argv); + void ComputeCircular(); std::string mPat,mOri1,mOri2; std::string mDirOri2; std::string mXmlG; std::string mCSV = "CSVEachPose.csv"; std::string mPly; + std::vector mVCmp; cInterfChantierNameManipulateur * mICNM2; + std::vector mSeuilsCircs; + }; +void cAppli_CmpOriCam::ComputeCircular() +{ + ELISE_ASSERT(mSeuilsCircs.size()==2,"Size Seuil Circs"); + int aI0 = round_ni(mSeuilsCircs.at(0)); + double aSeuilDist = mSeuilsCircs.at(1); + std::vector aVRatio; + cCmpOriOneSom & aS0=mVCmp[aI0]; + for (auto & aSom : mVCmp) + { + aSom.mDistBcl = euclid(aSom.mC1-aS0.mC1) ; + } + for (int aK=1 ; aKCorrecNameOrient(mOri2); @@ -201,88 +361,57 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : { mCSVContent.open(mCSV); isCSV = true; - mCSVContent<< "Img,X1,Y1,Z1,dX,dY,dZ,dXY,dXYZ,dMat,dTrRel,dMatRel\n"; + mCSVContent<< "Img,X1,Y1,Z1,dX,dY,dZ,dXY,dXYZ,dMat"; + if (DoRel) + mCSVContent<< ",dTrRel,dMatRel"; + if (DoCirc) + mCSVContent<< ",NumTour,NumInTour,AbscInTour"; + mCSVContent<< "\n"; } cPlyCloud aPlyC, aPlyO; - CamStenope * aCamPrec1 = nullptr; - CamStenope * aCamPrec2 = nullptr; - std::vector aVDMatRel; - std::vector aVName; - double aMoyMatRel =0; + // Calcul de la structure de sommets fusionnant les 2 orientations for (int aK=0 ; aKattr().mIma; CamStenope * aCam1 = anIm->CamSNN(); CamStenope * aCam2 = mICNM2->StdCamStenOfNames(anIm->mNameIm,mOri2); - Pt3dr aC1 = aCam1->VraiOpticalCenter(); - Pt3dr aC2 = aCam2->VraiOpticalCenter(); - - double aDMat = aCam1->Orient().Mat().L2(aCam2->Orient().Mat()); - double aDMatRel = 0.0; - double aDTrRel = 0.0; - if (aK>0) - { - // Orientation Monde to Cam - ElRotation3D aP1_2_C1 = aCam1->Orient() * aCamPrec1->Orient().inv(); // M2C1 * P12M = P12C1 - ElRotation3D aP2_2_C2 = aCam2->Orient() * aCamPrec2->Orient().inv(); // M2C1 * P12M = P12C1 - aDMatRel = aP1_2_C1.Mat().L2(aP2_2_C2.Mat()) ; - aDTrRel = euclid(aP1_2_C1.tr()-aP2_2_C2.tr()) ; - } - aMoyMatRel+=aDMatRel; - aVDMatRel.push_back(aDMatRel); - aVName.push_back(anIm->mNameIm); - - - if (EAMIsInit(&aScaleO)) - { - ElSeg3D aRay2 = aCam2->Capteur2RayTer(aCam2->PP()); - double prof = - aCam1->Focale()/5120*32.7/1000; + mVCmp.push_back(cCmpOriOneSom(anIm->mNameIm,aCam1,aCam2)); + } - Pt2dr aP = aCam1->Ter2Capteur(aRay2.P1()-(aC2-aC1)); + // Calcul des orientation relatives, des abscisses etc ... + std::vector aVDMatRel; + for (int aK=1 ; aKImEtProf2Terrain(aCam1->PP(),prof); + if (DoCirc) + { + ComputeCircular(); + } - Pt3dr aP3D = aCam1->ImEtProf2Terrain(aP,prof); - aPlyO.AddSeg(aColOri,aPP3D,aP3D+(aPP3D-aP3D)*1000*aScaleO,10000); + for (const auto & aSom : mVCmp) + { + aSomDC += aSom.mDC; + aSomDM += aSom.mDMat; + if (EAMIsInit(&aScaleO)) + { + aSom.PlyShowDiffRot(aPlyO,aScaleO,aColOri); } - ElRotation3D aR1= aCam1->Orient(); - ElRotation3D aR2= aCam2->Orient(); - - double aDC = euclid(aC1-aC2); - double aDCXY = euclid(Pt2dr(aC1.x,aC1.y)-Pt2dr(aC2.x,aC2.y)); - double aDM = aR1.Mat().L2(aR2.Mat()); - aSomDC += aDC; - aSomDM += aDM; - std::cout << anIm->mNameIm << "\n"; if (isCSV) { - mCSVContent << anIm->mNameIm <<"," - << ToString(aC1.x) << "," - << ToString(aC1.y) << "," - << ToString(aC1.z) << "," - << ToString(abs(aC1.x - aC2.x)) << "," - << ToString(abs(aC1.y - aC2.y)) << "," - << ToString(aC1.z - aC2.z) << "," - << ToString(aDCXY) << "," - << ToString(aDC) << "," - << ToString(aDMat*1e5) << "," - << ToString(aDTrRel ) << "," - << ToString(aDMatRel*1e10) - ; - mCSVContent << "\n"; + aSom.Show(mCSVContent,DoRel,DoCirc); } if(EAMIsInit(&aScaleC)) { - aPlyC.AddSeg(aColXY,aC1,Pt3dr(aC2.x+(aC2.x-aC1.x)*100000*aScaleC,aC2.y+(aC2.y-aC1.y)*100000*aScaleC,aC1.z),10000); - aPlyC.AddSeg(aColZ,aC1,Pt3dr(aC1.x,aC1.y,aC2.z+(aC2.z-aC1.z)*100000*aScaleC),10000); + aSom.PlyShowDiffCenter(aPlyC,aScaleC,aColXY); } - aCamPrec1 = aCam1; - aCamPrec2 = aCam2; } std::cout << "Aver; DistCenter= " << aSomDC/mVSoms.size() @@ -313,17 +442,17 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : aPlyO.PutFile(mPly.substr(0,mPly.size()-4)+"_Orientation.ply"); } + if (EAMIsInit(&SeuilMatRel)) { std::cout << "======= Threshold Matrix Relative ======\n"; - std::vector aVDM = aVDMatRel; - double aValStd = KthValProp(aVDM,SeuilMatRel.y); + double aValStd = KthValProp(aVDMatRel,SeuilMatRel.y); - for (int aK=0 ; aKSeuilMatRel.x) - std::cout << aVName[aK] << " " << aRatio << "\n"; + std::cout << aSom.mName << " " << aRatio << "\n"; } } } From 3ec6adb60e4b524c4ded4ce020f8ef2667bd2613 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Mon, 30 Dec 2019 17:01:09 +0100 Subject: [PATCH 12/49] Bench derivative OK, qq evol sur TurnIm --- MMVII/include/MMVII_Bench.h | 5 +- MMVII/include/MMVII_all.h | 2 +- MMVII/src/Bench/BenchMatrix.cpp | 3 +- MMVII/src/MMV1/GenCodeTestCam.cpp | 40 +- MMVII/src/MMV1/cGeneratedCodeTestCam.cpp | 28 +- MMVII/src/TestLibsExtern/TestJetsCam.cpp | 334 ++++++++++++++ MMVII/src/TestLibsExtern/TestMyJets.cpp | 562 +---------------------- include/private/fonc_num.h | 3 + src/fonc_num/fnum_compile.cpp | 8 + src/uti_files/CPP_MyRename.cpp | 10 +- src/uti_image/CPP_Filter.cpp | 44 +- 11 files changed, 462 insertions(+), 577 deletions(-) create mode 100644 MMVII/src/TestLibsExtern/TestJetsCam.cpp diff --git a/MMVII/include/MMVII_Bench.h b/MMVII/include/MMVII_Bench.h index 9fd0615609..2323139c7e 100644 --- a/MMVII/include/MMVII_Bench.h +++ b/MMVII/include/MMVII_Bench.h @@ -54,7 +54,10 @@ void BenchStat(); void BenchUnbiasedStdDev(); ///< Test one specific function currently not correct, by default test not activated void BenchSupport(); ///< Test support function that could/should exist in standard libs -void BenchMyJets(); +void BenchMyJets(); ///< Test on Jets, correctness and efficience +void BenchJetsCam(); ///< Test specifique to camera projection +void MMV1_GenerateCodeTestCam(); ///< To generate code of derivative MMV1-like (for comparing with jets) + }; diff --git a/MMVII/include/MMVII_all.h b/MMVII/include/MMVII_all.h index 2913ed1494..00df1443cf 100644 --- a/MMVII/include/MMVII_all.h +++ b/MMVII/include/MMVII_all.h @@ -70,7 +70,7 @@ // communication MMVII/MMv1 #include "MMVII_MMV1Compat.h" -#include "MMVII_Derivatives.h" +// #include "MMVII_Derivatives.h" => not include by default now, requires => time consuming #endif // _MMVII_ALL_H_ diff --git a/MMVII/src/Bench/BenchMatrix.cpp b/MMVII/src/Bench/BenchMatrix.cpp index 174c970841..830364c9c6 100644 --- a/MMVII/src/Bench/BenchMatrix.cpp +++ b/MMVII/src/Bench/BenchMatrix.cpp @@ -523,8 +523,9 @@ template void BenchSysSur(cSysSurResolu& aSys,bool Exact) aNewV(aK) = aSol(aK) + aEps * RandUnif_C(); Type aRN = Residual(aSys,aNewV,aLWeight,aLVec,aLVal); + // StdOut() << "RRRRR " << aRN-aR0 << "\n"; - MMVII_INTERNAL_ASSERT_bench(aRN>aR0,"Bench residual "); + MMVII_INTERNAL_ASSERT_bench(aRN>=aR0-1e-7,"Bench residual "); // double aD = aSol.DIm().L2Dist(aNewV.DIm()); // StdOut() << " D=" << aD << "Dif " << (aRN-aR0) /Square(aD) << "\n"; diff --git a/MMVII/src/MMV1/GenCodeTestCam.cpp b/MMVII/src/MMV1/GenCodeTestCam.cpp index 5011293f16..e76ec19ef6 100644 --- a/MMVII/src/MMV1/GenCodeTestCam.cpp +++ b/MMVII/src/MMV1/GenCodeTestCam.cpp @@ -1,5 +1,7 @@ #include "include/V1VII.h" #include "cGeneratedCodeTestCam.h" +#include "include/MMVII_Derivatives.h" + namespace MMVII { @@ -33,8 +35,8 @@ class cGenCodeTestCam cValFormel mK2; cValFormel mK4; cValFormel mK6; - cValFormel mFoc; cP2dFormel mPP; + cValFormel mFoc; }; class cMMV1_TestCam : public cInterfaceTestCam @@ -58,6 +60,22 @@ class cMMV1_TestCam : public cInterfaceTestCam void cMMV1_TestCam::InitFromParams(const std::vector & aVals) { mCamGen.SetCoordCur(aVals.data()); +// MesIm_x + *(mCamGen.AdrVarLocFromString("MesIm_x")) = 0.0; + *(mCamGen.AdrVarLocFromString("MesIm_y")) = 0.0; + + *(mCamGen.AdrVarLocFromString("R0_0_0")) = 1.0; + *(mCamGen.AdrVarLocFromString("R0_1_0")) = 0.0; + *(mCamGen.AdrVarLocFromString("R0_2_0")) = 0.0; + + *(mCamGen.AdrVarLocFromString("R0_0_1")) = 0.0; + *(mCamGen.AdrVarLocFromString("R0_1_1")) = 1.0; + *(mCamGen.AdrVarLocFromString("R0_2_1")) = 0.0; + + *(mCamGen.AdrVarLocFromString("R0_0_2")) = 0.0; + *(mCamGen.AdrVarLocFromString("R0_1_2")) = 0.0; + *(mCamGen.AdrVarLocFromString("R0_2_2")) = 1.0; + } cMMV1_TestCam::cMMV1_TestCam () @@ -68,8 +86,8 @@ cMMV1_TestCam::cMMV1_TestCam () void cMMV1_TestCam::Compute(std::vector & aVals,std::vector > & aDeriv) { mCamGen.ComputeValDeriv(); - aVals = mCamGen.Vals(); - aDeriv = mCamGen.CompDer(); + aVals = mCamGen.ValSsVerif(); + aDeriv = mCamGen.CompDerSsVerif(); } void cMMV1_TestCam::Compute(int aNb) @@ -83,6 +101,14 @@ cInterfaceTestCam * cInterfaceTestCam::AllocMMV1() return new cMMV1_TestCam; } +/* + cGenCodeTestCam aGen; + cGeneratedCodeTestCam aCamGen; + aGen.Init(aCamGen); + aCamGen.SetCoordCur(aVVals); + aCamGen.ComputeValDeriv(); + +*/ @@ -104,8 +130,8 @@ cGenCodeTestCam::cGenCodeTestCam() : mK2 ( 0.002,"K2",mSet,mLInterv), mK4 (-0.001,"K4",mSet,mLInterv), mK6 ( 0.001,"K6",mSet,mLInterv), - mFoc ( 5000,"F",mSet,mLInterv), - mPP (Pt2dr(3000,2000),"PP",mSet,mLInterv) + mPP (Pt2dr(3000,2000),"PP",mSet,mLInterv), + mFoc ( 5000,"F",mSet,mLInterv) { } @@ -149,12 +175,12 @@ void cGenCodeTestCam::Generate() void MMV1_GenerateCodeTestCam() { - if (0) + if (1) { cGenCodeTestCam aGCTC; aGCTC.Generate(); } - if (1) + if (0) { double aVVals[30]; cGenCodeTestCam aGen; diff --git a/MMVII/src/MMV1/cGeneratedCodeTestCam.cpp b/MMVII/src/MMV1/cGeneratedCodeTestCam.cpp index 42088905ba..43478da79f 100644 --- a/MMVII/src/MMV1/cGeneratedCodeTestCam.cpp +++ b/MMVII/src/MMV1/cGeneratedCodeTestCam.cpp @@ -8,12 +8,12 @@ cGeneratedCodeTestCam::cGeneratedCodeTestCam(): { AddIntRef (cIncIntervale("CCam",3,6)); AddIntRef (cIncIntervale("CD",9,11)); - AddIntRef (cIncIntervale("F",14,15)); + AddIntRef (cIncIntervale("F",16,17)); AddIntRef (cIncIntervale("K2",11,12)); AddIntRef (cIncIntervale("K4",12,13)); AddIntRef (cIncIntervale("K6",13,14)); AddIntRef (cIncIntervale("PGr",0,3)); - AddIntRef (cIncIntervale("PP",15,17)); + AddIntRef (cIncIntervale("PP",14,16)); AddIntRef (cIncIntervale("W",6,9)); Close(false); } @@ -80,11 +80,11 @@ void cGeneratedCodeTestCam::ComputeVal() double tmp55_ = VCube(tmp47_); double tmp56_ = tmp54_ * tmp55_; double tmp57_ = tmp53_ + tmp56_; - double tmp58_ = mCompCoord[14]; + double tmp58_ = mCompCoord[16]; - mVal[0] = (mCompCoord[15] + (tmp35_ + (tmp37_) * (tmp57_)) * tmp58_) - mLocMesIm_x; + mVal[0] = (mCompCoord[14] + (tmp35_ + (tmp37_) * (tmp57_)) * tmp58_) - mLocMesIm_x; - mVal[1] = (mCompCoord[16] + (tmp43_ + (tmp45_) * (tmp57_)) * tmp58_) - mLocMesIm_y; + mVal[1] = (mCompCoord[15] + (tmp43_ + (tmp45_) * (tmp57_)) * tmp58_) - mLocMesIm_y; } @@ -175,7 +175,7 @@ void cGeneratedCodeTestCam::ComputeValDeriv() double tmp81_ = 2 * (tmp80_); double tmp82_ = tmp81_ * (tmp45_); double tmp83_ = tmp72_ + tmp82_; - double tmp84_ = mCompCoord[14]; + double tmp84_ = mCompCoord[16]; double tmp85_ = mLocR0_1_2 * tmp19_; double tmp86_ = mLocR0_1_1 * tmp26_; double tmp87_ = tmp85_ - tmp86_; @@ -455,7 +455,7 @@ void cGeneratedCodeTestCam::ComputeValDeriv() double tmp361_ = (tmp45_) * (tmp70_); double tmp362_ = tmp43_ + tmp361_; - mVal[0] = (mCompCoord[15] + (tmp260_) * tmp84_) - mLocMesIm_x; + mVal[0] = (mCompCoord[14] + (tmp260_) * tmp84_) - mLocMesIm_x; mCompDer[0][0] = (tmp60_ + (tmp60_) * (tmp70_) + (tmp269_) * (tmp37_)) * tmp84_; mCompDer[0][1] = (tmp96_ + (tmp96_) * (tmp70_) + (tmp278_) * (tmp37_)) * tmp84_; @@ -471,10 +471,10 @@ void cGeneratedCodeTestCam::ComputeValDeriv() mCompDer[0][11] = (tmp47_) * (tmp37_) * tmp84_; mCompDer[0][12] = tmp64_ * (tmp37_) * tmp84_; mCompDer[0][13] = tmp68_ * (tmp37_) * tmp84_; - mCompDer[0][14] = tmp260_; - mCompDer[0][15] = 1; - mCompDer[0][16] = 0; - mVal[1] = (mCompCoord[16] + (tmp362_) * tmp84_) - mLocMesIm_y; + mCompDer[0][14] = 1; + mCompDer[0][15] = 0; + mCompDer[0][16] = tmp260_; + mVal[1] = (mCompCoord[15] + (tmp362_) * tmp84_) - mLocMesIm_y; mCompDer[1][0] = (tmp80_ + (tmp80_) * (tmp70_) + (tmp269_) * (tmp45_)) * tmp84_; mCompDer[1][1] = (tmp106_ + (tmp106_) * (tmp70_) + (tmp278_) * (tmp45_)) * tmp84_; @@ -490,9 +490,9 @@ void cGeneratedCodeTestCam::ComputeValDeriv() mCompDer[1][11] = (tmp47_) * (tmp45_) * tmp84_; mCompDer[1][12] = tmp64_ * (tmp45_) * tmp84_; mCompDer[1][13] = tmp68_ * (tmp45_) * tmp84_; - mCompDer[1][14] = tmp362_; - mCompDer[1][15] = 0; - mCompDer[1][16] = 1; + mCompDer[1][14] = 0; + mCompDer[1][15] = 1; + mCompDer[1][16] = tmp362_; } diff --git a/MMVII/src/TestLibsExtern/TestJetsCam.cpp b/MMVII/src/TestLibsExtern/TestJetsCam.cpp new file mode 100644 index 0000000000..7996b9b06d --- /dev/null +++ b/MMVII/src/TestLibsExtern/TestJetsCam.cpp @@ -0,0 +1,334 @@ +#include "include/MMVII_all.h" +#include "include/MMVII_Derivatives.h" + + +namespace MMVII +{ +static const int SzJetCam=17; + +/** \file TestJetsCam.cpp + \brief Make benchmark on jets vs with camera projection + + This file contain test on efficiency of jets , sparse and dense, + compared to generated code. Ceres implementation is still to add. + +*/ + +/* ************************************** */ +/* */ +/* cVarEpsNum */ +/* */ +/* ************************************** */ + +double cVarEpsNum::BufEps[SzBuf]; +bool cVarEpsNum::IsInit = false; + + + +/* ************************************** */ +/* */ +/* cProjCamRad */ +/* */ +/* ************************************** */ + +/** Template class for implementing the projection formula, + can be used with any type having the 4 operation "+*-/" + (i.e double, jets, sparse jets ...) +*/ +template class cProjCamRad +{ + public : + void Compute (Type * Residual); + + cProjCamRad(); + cDenseMatrix mRotCur; + cPt2dr mPix; + + Type mParameter[SzJetCam]; +}; + +template cProjCamRad::cProjCamRad() : + mRotCur(3,3,eModeInitImage::eMIA_MatrixId), + mPix (0,0) +{ +} + +template void cProjCamRad::Compute(Type * Residu) +{ + // Ground Coordinates of projected point + Type & XTer = mParameter[0]; + Type & YTer = mParameter[1]; + Type & ZTer = mParameter[2]; + + // Coordinate of camera center + Type & C_XCam = mParameter[3]; + Type & C_YCam = mParameter[4]; + Type & C_ZCam = mParameter[5]; + + // Coordinate of Omega vector coding the unknown "tiny" rotation + Type & Wx = mParameter[6]; + Type & Wy = mParameter[7]; + Type & Wz = mParameter[8]; + + // Coordinate Center of distorstion + Type & xCD = mParameter[9]; + Type & yCD = mParameter[10]; + + // Distortions coefficients + Type & k2D = mParameter[11]; + Type & k4D = mParameter[12]; + Type & k6D = mParameter[13]; + + // PP and Focal + Type & xPP = mParameter[14]; + Type & yPP = mParameter[15]; + Type & zPP = mParameter[16]; // also named as focal + + // Vector P->Cam + Type XPC = XTer-C_XCam; + Type YPC = YTer-C_YCam; + Type ZPC = ZTer-C_ZCam; + + + // Coordinate of points in camera coordinate system, do not integrate "tiny" rotation + + Type XCam0 = mRotCur(0,0)*XPC + mRotCur(1,0)*YPC + mRotCur(2,0)*ZPC; + Type YCam0 = mRotCur(0,1)*XPC + mRotCur(1,1)*YPC + mRotCur(2,1)*ZPC; + Type ZCam0 = mRotCur(0,2)*XPC + mRotCur(1,2)*YPC + mRotCur(2,2)*ZPC; + + // Now "tiny" rotation + // Wx X Wy * Z - Wz * Y + // Wy ^ Y = Wz * X - Wx * Z + // Wz Z Wx * Y - Wy * X + + // P = P0 + W ^ P0 + + Type XCam = XCam0 + Wy * ZCam0 - Wz * YCam0; + Type YCam = YCam0 + Wz * XCam0 - Wx * ZCam0; + Type ZCam = ZCam0 + Wx * YCam0 - Wy * XCam0; + + // Projection + + Type xPi = XCam/ZCam; + Type yPi = YCam/ZCam; + + + // Coordinate relative to distorsion center + Type xC = xPi-xCD; + Type yC = yPi-yCD; + Type Rho2C = Square(xC) + Square(yC); + + // Compute the distorsion + Type Dist = k2D*Rho2C + k4D * Square(Rho2C) + k6D*Cube(Rho2C); + + Type xDist = xPi + xC * Dist; + Type yDist = yPi + yC * Dist; + + // Use principal point and focal + Type xIm = xPP + zPP * xDist; + Type yIm = yPP + zPP * yDist; + + Residu[0] = xIm - mPix.x(); + Residu[1] = yIm - mPix.y(); +} + +/* ************************************** */ +/* */ +/* cVarJetsTestCam */ +/* */ +/* ************************************** */ + +/** Class using sparse jets to implement camera projection & derivatives */ + +class cVarJetsTestCam : public cInterfaceTestCam +{ + public : + void InitFromParams(const std::vector &) override; + void Compute(std::vector & Vals,std::vector > & ) override; + void Compute(int aNb) override; + private : + cProjCamRad mVarJetsCam; +}; + +void cVarJetsTestCam::InitFromParams(const std::vector & aVParam) +{ + for (int aK=0 ; aK & Vals,std::vector > & aDer) +{ + Vals = std::vector(2); + aDer.clear(); + + cVarEpsNum aResidu[2]; + mVarJetsCam.Compute(aResidu); + for (int aDimXY=0 ; aDimXY<2 ; aDimXY++) + { + const cVarEpsNum & aR= aResidu[aDimXY]; + Vals[aDimXY] = aR.mNum; + aDer.push_back(std::vector(SzJetCam,0.0)); + for (int aKParam=0 ; aKParam &) override; + void Compute(std::vector & Vals,std::vector > & ) override; + void Compute(int aNb) override; + private : + cProjCamRad > mJetsCam; + +}; + +void cJetsTestCam::InitFromParams(const std::vector & aVParam) +{ + for (int aK=0 ; aK(aVParam[aK],aK); +} + +void cJetsTestCam::Compute(std::vector & Vals,std::vector > & aDer) +{ + Vals = std::vector(2); + aDer.clear(); + + cEpsNum aResidu[2]; + mJetsCam.Compute(aResidu); + for (int aDimXY=0 ; aDimXY<2 ; aDimXY++) + { + Vals[aDimXY] = aResidu[aDimXY].mNum; + aDer.push_back(std::vector(SzJetCam)); + for (int aKParam=0 ; aKParam aResidu[2]; + for (int aK=0 ; aK StdParamTestCam(double AmplNoise) +{ + std::vector aRes; + + aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //X-Gr + aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //Y-Gr + aRes.push_back(1.0+0.01*RandUnif_C()*AmplNoise); //Z-Gr + + aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //X-Cam + aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //Y-Cam + aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //Z-Cam + + aRes.push_back(0.0); // W-x Mandotary 000 as it is the complementary rotation + aRes.push_back(0.0); // W-y + aRes.push_back(0.0); // W-z + + aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // Centre dist X + aRes.push_back(0.02 *RandUnif_C()*AmplNoise); // Centre dist Y + + + aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // K1 + aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // K2 + aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // K3 + + + aRes.push_back(3000 * (1+ 0.01 *RandUnif_C()*AmplNoise)); // PPx + aRes.push_back(2000 * (1+ 0.01 *RandUnif_C()*AmplNoise)); // PPy + aRes.push_back(6000 * (1+ 0.01 *RandUnif_C()*AmplNoise)); // PPz / Focale + + return aRes; + +} + +void BenchJetsCam() +{ + for (int aK=0 ; aK<10 ; aK++) + { + std::vector aVParam = StdParamTestCam(1.0); + std::vector aValJet,aValV1,aVarValJet; + std::vector > aDerJet,aDerV1,aVarDerJet; + + cJetsTestCam aCamJet; + aCamJet.InitFromParams(aVParam); + aCamJet.Compute(aValJet,aDerJet); + + cVarJetsTestCam aVarCamJet; + aVarCamJet.InitFromParams(aVParam); + aVarCamJet.Compute(aVarValJet,aVarDerJet); + + + std::shared_ptr aCamV1 (cInterfaceTestCam::AllocMMV1()); + aCamV1->InitFromParams(aVParam); + aCamV1->Compute(aValV1,aDerV1); + + for (int aKXY=0 ; aKXY<2 ; aKXY++) + { + double aDif = aValJet[aKXY]-aValV1[aKXY]; + MMVII_INTERNAL_ASSERT_bench(std::abs(aDif)<1e-5,"Jets/V1 vals"); + + aDif = aVarValJet[aKXY]-aValV1[aKXY]; + + // StdOut() << "DDD=" << aDif<< " " << aValJet[aKXY] << " " << aValV1[aKXY] << "\n"; + for (int aKD=0 ; aKDCompute(aNbTest); + double aT2 = cMMVII_Appli::CurrentAppli().SecFromT0(); + // Now we now that sparse jets are slow save some time + double aT3 = aT2; + if (aK==0) + { + aVarCamJet.Compute(aNbTest); + aT3 = cMMVII_Appli::CurrentAppli().SecFromT0(); + } + + StdOut() << "TimeJets=" << (aT1-aT0) << " TimeV1=" << (aT2-aT1) << " TVar=" << (aT3-aT2) << "\n"; + } +} + + +}; diff --git a/MMVII/src/TestLibsExtern/TestMyJets.cpp b/MMVII/src/TestLibsExtern/TestMyJets.cpp index 33a66577ce..a356378fa0 100644 --- a/MMVII/src/TestLibsExtern/TestMyJets.cpp +++ b/MMVII/src/TestLibsExtern/TestMyJets.cpp @@ -1,497 +1,18 @@ #include "include/MMVII_all.h" -#include "ExternalInclude/Eigen/Dense" +#include "include/MMVII_Derivatives.h" namespace MMVII { -/** \file TestMyJets.cpp - \brief Make some benchmark on jets (ceres) - This file contain test on efficiency of jets. First draft with - home made implemntation -*/ - -/* - Fab(X0,X1) = 1/(aX0 + b X1^2) - - Fab(X0+e0,X1+e1) = 1/(a(X0+e1) + b(X1+e1)^2) - = 1 / (aX0 + ae1 + b(X1^2 + 2Xe1)) - = 1 / (aX0+b -*/ /* ************************************** */ /* */ -/* cVarEpsNum */ +/* cTestJets */ /* */ /* ************************************** */ -struct cVarEpsNum -{ - public : - cVarEpsNum(double aNum) : - mNum (aNum) - { - Init(); - } - - void AddVal(double aVal,int aK) - { - mVEps.push_back(aVal); - mVInd.push_back(aK); - } - cVarEpsNum(double aNum,int aK) : - mNum (aNum) - { - AddVal(1.0,aK); - // mVEps.push_back(1.0); - // mVInd.push_back(aK); - } - - cVarEpsNum(const cVarEpsNum & aVEN,double aNum,double aMul) : - mNum (aNum), - mVEps (aVEN.mVEps), - mVInd (aVEN.mVInd) - { - for (auto & aEps : mVEps) - aEps *= aMul; - } - - - double mNum; - std::vector mVEps; - std::vector mVInd; - cVarEpsNum operator+(const cVarEpsNum& g) const; - cVarEpsNum operator*(const cVarEpsNum& g) const; - - - static const int SzBuf = 1000; - static int BufOccupied[SzBuf]; - static double BufEps[SzBuf]; - static bool IsInit; - - static void Init() - { - if (IsInit) return; - IsInit = true; - for (int aK=0 ; aK */ -/* */ -/* ************************************** */ - -template struct cEpsNum { - double mNum; - Eigen::Matrix mEps; - cEpsNum(const double & aNum,const Eigen::Matrix & aEps) : - mNum (aNum), - mEps (aEps) - { - } - cEpsNum(const double & aNum,int aK) : - mNum (aNum), - mEps (Eigen::Matrix::Zero()) - { - mEps(aK) = 1.0; - } - cEpsNum(double aNum) : - mNum (aNum), - mEps (Eigen::Matrix::Zero()) - { - } - cEpsNum() : - cEpsNum(0.0) - { - } - cVarEpsNum ToVEN() const; - static cEpsNum Random(double Densite); -}; - -template cEpsNum cEpsNum::Random(double Densite) -{ - cEpsNum aRes(N*RandUnif_C()); - for (int aK=0 ; aK cVarEpsNum cEpsNum::ToVEN() const -{ - cVarEpsNum aRes(mNum); - for (int aK=0 ; aK double EpsDifference(const cEpsNum & aEps,const cVarEpsNum & aVarEps) -{ - cVarEpsNum::Init(); - // double aRes=0.0; - double aRes= std::abs(aEps.mNum - aVarEps.mNum); - cEpsNum aEps2; - - for (unsigned int aK=0 ; aK=N) - aRes += std::abs(aVal); - else - aEps2.mEps[aInd] += aVal; - } - for (int aK=0 ; aK Eigen::Matrix ApplyOp(const Eigen::Matrix aMat,OpDouble anOp) -{ - Eigen::Matrix aRes; - for (int aK=0 ; aK cEpsNum operator+(const cEpsNum& f, const cEpsNum& g) { - return cEpsNum(f.mNum + g.mNum, f.mEps + g.mEps); -} - -template cEpsNum operator+(const double & f, const cEpsNum& g) { - return cEpsNum(f + g.mNum, g.mEps); -} -template cEpsNum operator+(const cEpsNum& g,const double & f) { - return f+g; -} - // ====== operator - ============= - -template cEpsNum operator-(const cEpsNum& f, const cEpsNum& g) { - return cEpsNum(f.mNum - g.mNum, f.mEps - g.mEps); -} - -template cEpsNum operator-(const double & f, const cEpsNum& g) { - return cEpsNum(f - g.mNum, -g.mEps); -} -template cEpsNum operator-(const cEpsNum& g,const double & f) { - return cEpsNum(g.mNum -f, g.mEps); -} - - // ====== operator * ============= - -template cEpsNum operator*(const cEpsNum& f, const cEpsNum& g) { - return cEpsNum(f.mNum * g.mNum, g.mNum * f.mEps + f.mNum * g.mEps); -} -template cEpsNum operator*(const double & f, const cEpsNum& g) { - return cEpsNum(f*g.mNum,f*g.mEps); -} -template cEpsNum operator*(const cEpsNum& g,const double & f) { - return f*g; -} - - - - -template cEpsNum operator/(const cEpsNum& f, const cEpsNum& g) { - return cEpsNum(f.mNum / g.mNum, (f.mEps / g.mNum) - g.mEps *(f.mNum/Square(g.mNum))); -} - -template cEpsNum Square(const cEpsNum& f) { - return cEpsNum(Square(f.mNum) , 2* f.mNum* f.mEps ); -} - -template cEpsNum Cube(const cEpsNum& f) { - return cEpsNum(Cube(f.mNum) , (3*Square(f.mNum)) * f.mEps ); -} - - - - -template cEpsNum COS(const cEpsNum& f) { - return cEpsNum(cos(f.mNum),-sin(f.mNum)*f.mEps); -} -inline double COS(const double & v) {return cos(v);} - -template class cProjCamRad -{ - public : - void Compute (Type * Parameter,Type * Residual); - - cProjCamRad(); - cDenseMatrix mRotCur; - cPt2dr mPix; - -}; -class cJetsTestCam : public cInterfaceTestCam -{ - public : - void InitFromParams(const std::vector &) override; - void Compute(std::vector & Vals,std::vector > & ) override; - void Compute(int aNb) override; - private : - cProjCamRad > mJetsCam; - -}; - -std::vector StdParamTestCam(double AmplNoise) -{ - std::vector aRes; - - aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //X-Gr - aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //Y-Gr - aRes.push_back(1.0+0.01*RandUnif_C()*AmplNoise); //Z-Gr - - aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //X-Cam - aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //Y-Cam - aRes.push_back(0.0+0.01*RandUnif_C()*AmplNoise); //Z-Cam - - aRes.push_back(0.0); // W-x Mandotary 000 as it is the complementary rotation - aRes.push_back(0.0); // W-y - aRes.push_back(0.0); // W-z - - aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // Centre dist X - aRes.push_back(0.02 *RandUnif_C()*AmplNoise); // Centre dist Y - - - aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // K1 - aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // K2 - aRes.push_back(0.01 *RandUnif_C()*AmplNoise); // K3 - - - aRes.push_back(3000 * (1+ 0.01 *RandUnif_C()*AmplNoise)); // PPx - aRes.push_back(2000 * (1+ 0.01 *RandUnif_C()*AmplNoise)); // PPy - aRes.push_back(5000 * (1+ 0.01 *RandUnif_C()*AmplNoise)); // PPz / Focale - - return aRes; - -} - - -template cProjCamRad::cProjCamRad() : - mRotCur(3,3,eModeInitImage::eMIA_MatrixId) -{ -} -// std::vector InitParam(); - -template void cProjCamRad::Compute(Type * Parameter,Type * Residu) -{ - // Ground Coordinates of projected point - Type & XTer = Parameter[0]; - Type & YTer = Parameter[1]; - Type & ZTer = Parameter[2]; - - // Coordinate of camera center - Type & C_XCam = Parameter[3]; - Type & C_YCam = Parameter[4]; - Type & C_ZCam = Parameter[5]; - - // Coordinate of Omega vector coding the unknown "tiny" rotation - Type & Wx = Parameter[6]; - Type & Wy = Parameter[7]; - Type & Wz = Parameter[8]; - - // Coordinate Center of distorstion - Type & xCD = Parameter[9]; - Type & yCD = Parameter[10]; - - // Distortions coefficients - Type & k2D = Parameter[11]; - Type & k4D = Parameter[12]; - Type & k6D = Parameter[13]; - - // PP and Focal - Type & xPP = Parameter[14]; - Type & yPP = Parameter[15]; - Type & zPP = Parameter[16]; // also named as focal - - // Vector P->Cam - Type XPC = XTer-C_XCam; - Type YPC = YTer-C_YCam; - Type ZPC = ZTer-C_ZCam; - - // Coordinate of points in camera coordinate system, do not integrate "tiny" rotation - - Type XCam0 = mRotCur(0,0)*XPC + mRotCur(1,0)*YPC + mRotCur(2,0)*ZPC; - Type YCam0 = mRotCur(0,1)*XPC + mRotCur(1,1)*YPC + mRotCur(2,1)*ZPC; - Type ZCam0 = mRotCur(0,2)*XPC + mRotCur(1,2)*YPC + mRotCur(2,2)*ZPC; - - - // Wx X Wy * Z - Wz * Y - // Wy ^ Y = Wz * X - Wx * Z - // Wz Z Wx * Y - Wy * X - - // P = P0 + W ^ P0 - - Type XCam = XCam0 + Wy * ZCam0 - Wz * YCam0; - Type YCam = YCam0 + Wz * XCam0 - Wx * ZCam0; - Type ZCam = ZCam0 + Wx * YCam0 - Wy * XCam0; - - // Projection - - Type xPi = XCam/ZCam; - Type yPi = YCam/ZCam; - - - // Coordinate relative to distorsion center - Type xC = xPi-xCD; - Type yC = yPi-yCD; - Type Rho2C = Square(xC) + Square(yC); - - // Compute the distorsion - Type Dist = k2D*Rho2C + k4D * Square(Rho2C) + k6D*Cube(Rho2C); - - Type xDist = xPi + xC * Dist; - Type yDist = xPi + yC * Dist; - - // Use principal point and focal - Type xIm = xPP + zPP * xDist; - Type yIm = yPP + zPP * yDist; - - Residu[0] = xIm - mPix.x(); - Residu[1] = yIm - mPix.y(); -} // class cProjCamRad; // class cProjCamRad >; @@ -508,26 +29,8 @@ template class cTestJets cTestJets() ; }; -/// TJ(K) (COS(Freq[K]*Square(Param[K]+0.2) + Phase[K])) - -/* -template cEpsNum TJ_DerAnalytique(const cTestJets & aTJ,double * aParam) -{ - const double* Phase = aTJ.Phase; - const double* Freq = aTJ.Freq; - double Val = aTJ.ComputeExpansed(aParam); - double V2 = Square(Val); - Eigen::Matrix mEps; - for (int aK=0 ; aK(Val,mEps); -} -*/ +#define TJ(K) (COS(Freq[K]*Square(Param[K]+0.2) + Phase[K])) /// TJ(K) (COS(Freq[K]*Square(Param[K]+0.2) + Phase[K])) template cEpsNum TJ_DerAnalytique(const cTestJets & aTJ,double * aParam) { @@ -572,7 +75,6 @@ template cTestJets::cTestJets() } -#define TJ(K) (COS(Freq[K]*Square(Param[K]+0.2) + Phase[K])) template Type cTestJets::ComputeExpansed(Type * Param) const { @@ -610,15 +112,6 @@ template Type cTestJets::ComputeLoop(Type * Param) return Type(1.0) / aRes; } -// class cTestJets; -// class cTestJets,6 >; - -/* -Eigen::Matrix ApplyOp(const Eigen::Matrix aMat,OpDouble anOp); -template cEpsNum operator/(const cEpsNum& f, const cEpsNum& g) { - return cEpsNum(f.mNum / g.mNum, f.mEps * g.mNum + f.mNum * g.mEps); -} -*/ extern bool NEVER; @@ -731,9 +224,16 @@ template void TplBenchDifJets() cEpsNum anEps3 = cEpsNum::Random(RandUnif_0_1()); cVarEpsNum aVEps3 = anEps3.ToVEN(); + + cEpsNum anEps4 = cEpsNum::Random(RandUnif_0_1()); + cVarEpsNum aVEps4 = anEps4.ToVEN(); + + cEpsNum anEps5 = cEpsNum::Random(RandUnif_0_1()); + cVarEpsNum aVEps5 = anEps5.ToVEN(); + // - cEpsNum anEpsCmp = 2.7+ 1.2*anEps1*1.3 + anEps2*COS(anEps3)+3.14; - cVarEpsNum aVEpsCmp = 2.7+ 1.3*aVEps1*1.2 + aVEps2*COS(aVEps3)+3.14; + cEpsNum anEpsCmp = 2.7+ 1.2*anEps1*1.3 + anEps2*COS(anEps3)+3.14 -(anEps4-1)/anEps5; + cVarEpsNum aVEpsCmp = 2.7+ 1.3*aVEps1*1.2 + aVEps2*COS(aVEps3)+3.14 -(aVEps4-1)/aVEps5; double aDifCmp = EpsDifference(anEpsCmp,aVEpsCmp); MMVII_INTERNAL_ASSERT_bench(aDifCmp<1e-5,"TplBenchDifJets"); @@ -784,17 +284,14 @@ template void TplBenchDifJets() } MMVII_INTERNAL_ASSERT_bench(std::abs(aTheoDif-EpsDifference(aE,aVE))<1e-5,"TplBenchDifJets"); } -/* -template void TplOpJets() -{ - cVarEpsNum aVE(0.0); - cEpsNum aE; -} -*/ + + void BenchMyJets() { + BenchJetsCam(); + for (int aK=0 ; aK<1000 ; aK++) { TplBenchDifJets<10>(); @@ -814,7 +311,7 @@ void BenchMyJets() TplTestJet<192>(1e-5); TplTestJet<484>(1e-5); - getchar(); + // Test that we can compile with, for example, points on jets cEpsNum<20> aEps(3.0,1); cPtxd,3> aP1(aEps,aEps,aEps); cPtxd,3> aP2; @@ -822,33 +319,8 @@ void BenchMyJets() IgnoreUnused(aP3); -/* - cEpsNum<255> aEps(3.0,1); - aEps = COS(aEps) + aEps*aEps + Square(aEps)/aEps; - StdOut() << aEps.mEps; - cProjCamRad aCamD; -*/ - cProjCamRad > aCamJ6; - aCamJ6.Compute(nullptr,nullptr); - // cProjCamRad >::ParamInitStd(); - // void Compute (Type * Parameter,Type * Residual); - -/* - cEpsNum<6> TabJ6[6]; - double TabD6[6]; - // On initialise le Jet et les double a la meme valeur - for (int aK=0 ; aK<6 ; aK++) - { - TabD6[aK] = tan(aK); - TabJ6[aK] = cEpsNum<6>(TabD6[aK],aK); - } - cTestJets,6 > aTestJ6; - - cEpsNum<6> aJ6Der = aTestJ6.ComputeExpansed(TabJ6); -*/ } bool NEVER=false; - }; diff --git a/include/private/fonc_num.h b/include/private/fonc_num.h index eb4600654b..54f0d2c38e 100644 --- a/include/private/fonc_num.h +++ b/include/private/fonc_num.h @@ -137,6 +137,9 @@ class cElCompiledFonc const std::vector & Vals() const; const std::vector & CompCoord() const; const std::vector > & CompDer() const; + const std::vector & ValSsVerif() const; + const std::vector > & CompDerSsVerif() const; + void SVD_And_AddEqSysSurResol diff --git a/src/fonc_num/fnum_compile.cpp b/src/fonc_num/fnum_compile.cpp index 4b7b10301c..938add65bb 100644 --- a/src/fonc_num/fnum_compile.cpp +++ b/src/fonc_num/fnum_compile.cpp @@ -861,6 +861,14 @@ const std::vector & cElCompiledFonc::Vals() const ELISE_ASSERT(isValComputed,"No Val Computed"); return mVal; } +const std::vector & cElCompiledFonc::ValSsVerif() const +{ + return mVal; +} +const std::vector > & cElCompiledFonc::CompDerSsVerif() const +{ + return mCompDer; +} const std::vector > & cElCompiledFonc::CompDer() const { diff --git a/src/uti_files/CPP_MyRename.cpp b/src/uti_files/CPP_MyRename.cpp index e274d62f10..2ddac23f04 100644 --- a/src/uti_files/CPP_MyRename.cpp +++ b/src/uti_files/CPP_MyRename.cpp @@ -386,12 +386,14 @@ cAppliMyRename::cAppliMyRename(int argc,char ** argv) : for (int aK=0 ; aK Id,1=>90(def), 2=>180,3=>270,[4-7]=>Sym", eSAM_NoInit) ); Tiff_Im aTif = Tiff_Im::StdConvGen(aNameIm,-1,true); @@ -1175,20 +1177,52 @@ int TournIm_main(int argc,char ** argv) Pt2di aSz = aVIm[0]->sz(); std::cout << "SZ IN " << aSz << "\n"; - std::string aNameOut ="T90-"+ aNameIm; + Fonc_Num aFTrans = Virgule(FY,aSz.y-1-FX); + std::string aPref = "T90-"; + + if (aNumGeom==0) + { + aPref = "T0-"; + aFTrans = Virgule(FX,FY); + } + else if (aNumGeom==1) + { + aFTrans = Virgule(FY,aSz.y-1-FX); + } + else if (aNumGeom==2) + { + aPref = "T180-"; + aFTrans = Virgule(aSz.x-1-FX,aSz.y-1-FY); + } + else if (aNumGeom==3) + { + aPref = "T270-"; + aFTrans = Virgule(aSz.x-1-FY,FX); + } + else + { + ELISE_ASSERT(false,"Unhandled value for ²"); + } + + std::string aNameOut = DirOfFile(aNameIm) + aPref+ StdPrefix(NameWithoutDir(aNameIm))+".tif"; + L_Arg_Opt_Tiff aLarg; + aLarg = aLarg+ Arg_Tiff(Tiff_Im::ANoStrip()); Tiff_Im aTifOut ( aNameOut.c_str(), - Pt2di(aSz.y,aSz.x), + ((aNumGeom%2)==1) ? Pt2di(aSz.y,aSz.x) : Pt2di(aSz.x,aSz.y), aTif.type_el(), Tiff_Im::No_Compr, - aTif.phot_interp() + aTif.phot_interp(), + aLarg ); std::cout << "SZ OUT " << aTifOut.sz() << "\n"; Fonc_Num aF; int aKIm=0; - Fonc_Num aFTrans = Virgule(FY,aSz.y-1-FX); + + + // aFTrans = Virgule(FY,aSz.y-1-FX); for (auto aI : aVIm) { @@ -1197,6 +1231,7 @@ int TournIm_main(int argc,char ** argv) aF = (aKIm) ? Virgule(aF,aNewF) : aNewF; aKIm++; } +/* int aX0,aX1,aY0,aY1; ELISE_COPY( aTifOut.all_pts(), @@ -1204,6 +1239,7 @@ int TournIm_main(int argc,char ** argv) Virgule(VMin(aX0)|VMax(aX1),VMin(aY0)|VMax(aY1)) ); std::cout << "XXX " << aX0 << " " << aX1 << ";; Y " << aY0 << " " << aY1 << "\n"; +*/ ELISE_COPY(aTifOut.all_pts(),aF,aTifOut.out()); return EXIT_SUCCESS; From b492ebcac6d09a3813506053ae59d5478eda7109 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Tue, 31 Dec 2019 16:43:06 +0100 Subject: [PATCH 13/49] Gestion des ponderation sur les P Hom dans Apero --- src/photogram/phgr_basic.cpp | 9 +++++ src/uti_phgrm/Apero/Apero.h | 4 +-- src/uti_phgrm/Apero/cPackMultipleLiaison.cpp | 37 ++++++++++++++------ src/uti_phgrm/CPP_HomFilterMasq.cpp | 17 +++++---- 4 files changed, 49 insertions(+), 18 deletions(-) diff --git a/src/photogram/phgr_basic.cpp b/src/photogram/phgr_basic.cpp index b1fd271f6c..5e4b34661d 100644 --- a/src/photogram/phgr_basic.cpp +++ b/src/photogram/phgr_basic.cpp @@ -812,8 +812,17 @@ ElPackHomologue ElPackHomologue::FromFile(const std::string & aName) if ( aFTxt.fgets( aBuf, End ) ) //if (aFTxt.fgets(aBuf,200,End)) TEST_OVERFLOW { Pt2dr aP1,aP2; + double aPds=1.0; + int aNb = sscanf(aBuf.c_str(),"%lf %lf %lf %lf %lf",&aP1.x,&aP1.y,&aP2.x,&aP2.y,&aPds); + + if ((aNb==4) || (aNb==5)) + { + aPck.Cple_Add(ElCplePtsHomologues(aP1,aP2,aPds)); + } + /* if (sscanf(aBuf.c_str(),"%lf %lf %lf %lf",&aP1.x,&aP1.y,&aP2.x,&aP2.y)==4) //sscanf(aBuf.c_str(),"%lf %lf %lf %lf",&aP1.x,&aP1.y,&aP2.x,&aP2.y); TEST_OVERFLOW aPck.Cple_Add(ElCplePtsHomologues(aP1,aP2,1.0)); +*/ } } diff --git a/src/uti_phgrm/Apero/Apero.h b/src/uti_phgrm/Apero/Apero.h index 22641067d7..5a1e9de08d 100644 --- a/src/uti_phgrm/Apero/Apero.h +++ b/src/uti_phgrm/Apero/Apero.h @@ -1063,7 +1063,7 @@ class cOnePtsMult const Pt2dr& P0() const; const Pt2dr& PK(int ) const ; - void AddPt2PMul(int aNum,const Pt2dr & aP,bool IsFirstSet); + void AddPt2PMul(int aNum,const Pt2dr & aP,bool IsFirstSet,double aPds); cOnePtsMult(); const tFixedSetInt & Flag() const; void SetCombin(cOneCombinMult *); @@ -1332,7 +1332,7 @@ class cObsLiaisonMultiple bool packMustBeSwapped=false // file aNamePack contains the couples in inverse order (the first point belongs to aName2 and the second to aName1) ); - void AddCple(int anI1,int anI2,const ElCplePtsHomologues&,bool IsFirstSet); + void AddCple(int anI1,int anI2,const ElCplePtsHomologues&,bool IsFirstSet,double aPds); cAppliApero & mAppli; diff --git a/src/uti_phgrm/Apero/cPackMultipleLiaison.cpp b/src/uti_phgrm/Apero/cPackMultipleLiaison.cpp index dadc342b93..5a98ca697e 100644 --- a/src/uti_phgrm/Apero/cPackMultipleLiaison.cpp +++ b/src/uti_phgrm/Apero/cPackMultipleLiaison.cpp @@ -365,7 +365,7 @@ const Pt2dr& cOnePtsMult::PK(int aK ) const } -void cOnePtsMult::AddPt2PMul(int aNum,const Pt2dr & aP,bool IsFirstSet) +void cOnePtsMult::AddPt2PMul(int aNum,const Pt2dr & aP,bool IsFirstSet,double aNewPds) { if (mFlagI.IsIn(aNum)) { @@ -381,8 +381,22 @@ void cOnePtsMult::AddPt2PMul(int aNum,const Pt2dr & aP,bool IsFirstSet) #endif } mFlagI.Add(aNum); - mNPts.AddPts(aP); + + int aNbPts = mNPts.NbPts(); + // Update the weithgint of mNPts so that is is the average of weigth of pairs + if (aNbPts==0) + { + // First case is speciall, weight should not be re-used + mNPts.Pds() = aNewPds; + } + else + { + double aSomPds = mNPts.Pds() * (aNbPts-1) + aNewPds; // Transform avergae in som + mNPts.Pds() = aSomPds / aNbPts; // Back an average + } + + mNPts.AddPts(aP); } const tFixedSetInt & cOnePtsMult::Flag() const @@ -810,7 +824,7 @@ void cObsLiaisonMultiple::AddPack if (aC1->AcceptPoint(itP->P1()) && aC2->AcceptPoint(itP->P2())) { - aNewPack.Cple_Add(ElCplePtsHomologues(itP->P1(),itP->P2())); + aNewPack.Cple_Add(ElCplePtsHomologues(itP->P1(),itP->P2(),itP->Pds())); } } aPack = aNewPack; @@ -823,12 +837,13 @@ void cObsLiaisonMultiple::AddPack for (ElPackHomologue::const_iterator itP=aPack.begin();itP!=aPack.end();itP++) { - AddCple(anInd1,anInd2,itP->ToCple(),IsFirstSet); +/// std::cout << "PppPpppp " << itP->Pds() << "\n"; + AddCple(anInd1,anInd2,itP->ToCple(),IsFirstSet,itP->Pds()); } } -void cObsLiaisonMultiple::AddCple(int aK1,int aK2,const ElCplePtsHomologues& aCpl,bool IsFirstSet) +void cObsLiaisonMultiple::AddCple(int aK1,int aK2,const ElCplePtsHomologues& aCpl,bool IsFirstSet,double aPds) { std::list aLPM = mIndPMul->KPPVois @@ -846,7 +861,8 @@ void cObsLiaisonMultiple::AddCple(int aK1,int aK2,const ElCplePtsHomologues& aCp if (aLPM.empty()) { aPM = new cOnePtsMult; - aPM->AddPt2PMul(aK1,aCpl.P1(),IsFirstSet); + // Weitght doent matter for creation + aPM->AddPt2PMul(aK1,aCpl.P1(),IsFirstSet,aPds); mVPMul.push_back(aPM); if (! mBox.Include(aCpl.P1())) { @@ -861,7 +877,7 @@ void cObsLiaisonMultiple::AddCple(int aK1,int aK2,const ElCplePtsHomologues& aCp { aPM = *(aLPM.begin()); } - aPM->AddPt2PMul(aK2,aCpl.P2(),IsFirstSet); + aPM->AddPt2PMul(aK2,aCpl.P2(),IsFirstSet,aPds); if (mAppli.MemoSingleTieP()) // TestSTP { @@ -1324,9 +1340,10 @@ double cObsLiaisonMultiple::AddObsLM const std::vector & aVP = aCOM->GenVP(); std::vector aVpds; - double aPds = aNupl.Pds() * mMultPds; + double aPdsGlob = aNupl.Pds() * mMultPds; + int NbRRI; - int aNbRInit= aPM->InitPdsPMul(aPds,aVpds,&NbRRI); + int aNbRInit= aPM->InitPdsPMul(aPdsGlob,aVpds,&NbRRI); if (aNbRInit>=2) { aNbNN++; @@ -1552,7 +1569,7 @@ for (int aK=0 ; aKLiaisTer()->SetTerrainInit(true); diff --git a/src/uti_phgrm/CPP_HomFilterMasq.cpp b/src/uti_phgrm/CPP_HomFilterMasq.cpp index e7ce41c5af..5828c32a54 100644 --- a/src/uti_phgrm/CPP_HomFilterMasq.cpp +++ b/src/uti_phgrm/CPP_HomFilterMasq.cpp @@ -77,7 +77,8 @@ int HomFilterMasq_main(int argc,char ** argv) // MemoArg(argc,argv); MMD_InitArgcArgv(argc,argv); std::string aDir,aPat,aFullDir; - bool ExpTxt=false; + bool ExpTxtIn=false; + bool ExpTxtOut=false; std::string PostPlan="_Masq"; std::string KeyCalcMasq; std::string KeyEquivNoMasq; @@ -107,7 +108,8 @@ int HomFilterMasq_main(int argc,char ** argv) << EAM(KeyEquivNoMasq,"KeyEquivNoMasq",true,"When given if KENM(i1)==KENM(i2), don't masq") << EAM(aResol,"Resol",true,"Sub Resolution for masq storing, Def=10") << EAM(AcceptNoMask,"ANM",true,"Accept no mask, def = true if MasqGlob and false else") - << EAM(ExpTxt,"ExpTxt",true,"Ascii format for in and out, def=false") + << EAM(ExpTxtIn,"ExpTxt",true,"Ascii format for in and out, def=false") + << EAM(ExpTxtOut,"ExpTxtOut",true,"Ascii format for out when != in , def=ExpTxt") << EAM(aPostIn,"PostIn",true,"Post for Input dir Hom, Def=") << EAM(aPostOut,"PostOut",true,"Post for Output dir Hom, Def=MasqFiltered") << EAM(aOriMasq3D,"OriMasq3D",true,"Orientation for Masq 3D") @@ -221,17 +223,20 @@ int HomFilterMasq_main(int argc,char ** argv) if (aHasOri3D) aResolMoy /= aVCam.size(); - std::string anExt = ExpTxt ? "txt" : "dat"; + std::string anExtIn = ExpTxtIn ? "txt" : "dat"; + if (!EAMIsInit(&ExpTxtOut)) + ExpTxtOut = ExpTxtIn; + std::string anExtOut = ExpTxtOut ? "txt" : "dat"; std::string aKHIn = std::string("NKS-Assoc-CplIm2Hom@") + std::string(aPostIn) + std::string("@") - + std::string(anExt); + + std::string(anExtIn); std::string aKHOut = std::string("NKS-Assoc-CplIm2Hom@") + std::string(aPostOut) + std::string("@") - + std::string(anExt); + + std::string(anExtOut); double aPeriodTer=0,aSeuilDistTer=0; @@ -332,7 +337,7 @@ std::cout << aNameIm1 << " # " << aNameIm2 << "\n"; if (Ok) { - ElCplePtsHomologues aCple(aP1,aP2); + ElCplePtsHomologues aCple(aP1,aP2,itP->Pds()); aPackOut.Cple_Add(aCple); if (SymThisFile) { From 06c72a10d9caee5e8fc1826d67c5fb23fad8ca30 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Thu, 2 Jan 2020 00:36:39 +0100 Subject: [PATCH 14/49] Ponderation sur Nouv Format + bug dans conversion Nouv Format --- CodeGenere/File2String/Str_ParamApero.cpp | 5 ++- include/XML_GEN/ParamApero.xml | 3 ++ include/XML_MicMac/Apero-Compense.xml | 3 ++ src/uti_phgrm/Apero/NewPtsLiaison.cpp | 7 ++++ src/uti_phgrm/Apero/cParamApero.cpp | 40 ++++++++++++++++++++-- src/uti_phgrm/Apero/cParamApero.h | 7 ++++ src/uti_phgrm/CPP_Campari.cpp | 15 ++++++-- src/uti_phgrm/NewOri/NewOri.h | 2 ++ src/uti_phgrm/NewOri/cNewO_Appli.cpp | 2 ++ src/uti_phgrm/NewOri/cNewO_CpleIm.cpp | 20 ++++++++++- src/uti_phgrm/NewOri/cNewO_NameManager.cpp | 2 +- src/uti_phgrm/NewOri/cNewO_OneIm.cpp | 3 +- src/uti_phgrm/TiepTri/MultTieP.cpp | 29 ++++++++++++---- 13 files changed, 122 insertions(+), 16 deletions(-) diff --git a/CodeGenere/File2String/Str_ParamApero.cpp b/CodeGenere/File2String/Str_ParamApero.cpp index 6008a6c4cd..b7c06ad11d 100644 --- a/CodeGenere/File2String/Str_ParamApero.cpp +++ b/CodeGenere/File2String/Str_ParamApero.cpp @@ -1,5 +1,5 @@ #include "StdAfx.h" -const char * theNameVar_ParamApero[1845] = { +const char * theNameVar_ParamApero[1848] = { "\n", "\n", "\n", @@ -976,6 +976,9 @@ const char * theNameVar_ParamApero[1845] = { "\n", " \n", "\n", +" \n", +" \n", +"\n", " \n", " + + \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", "\n", " \n", " \n", diff --git a/include/XML_GEN/ParamApero.xml b/include/XML_GEN/ParamApero.xml index 0c58fa4d6b..d1fe3835ce 100644 --- a/include/XML_GEN/ParamApero.xml +++ b/include/XML_GEN/ParamApero.xml @@ -973,6 +973,13 @@ se limite a tester les 2 algo et a selectionner le meilleur. A priori peut pas f + + + + + + + diff --git a/include/XML_GEN/all.h b/include/XML_GEN/all.h index 6fb6493dc0..9f57281426 100644 --- a/include/XML_GEN/all.h +++ b/include/XML_GEN/all.h @@ -1117,6 +1117,16 @@ cXml_ParamBascRigide EL2Xml(const cSolBasculeRig &); cTypeCodageMatr ExportMatr(const ElMatrix & aMat); ElMatrix ImportMat(const cTypeCodageMatr & aCM); +// Return the cParamOrientSHC of a given name +cParamOrientSHC * POriFromBloc(cStructBlockCam & aBloc,const std::string & aName,bool SVP); +// Return the Rotation that transformate from Cam Coord to Block coordinates (in fact coord of "first" cam) +ElRotation3D RotCamToBlock(const cParamOrientSHC & aPOS); +// Return the Rotation that transformate from Cam1 Coord to Cam2 Coord +ElRotation3D RotCam1ToCam2(const cParamOrientSHC & aPOS1,const cParamOrientSHC & aPOS2); + + + + cXml_Rotation El2Xml(const ElRotation3D & aRot); ElRotation3D Xml2El(const cXml_Rotation & aXml); ElRotation3D Xml2ElRot(const cXml_O2IRotation & aXml); diff --git a/include/XML_MicMac/Apero-Glob-New.xml b/include/XML_MicMac/Apero-Glob-New.xml index 38dc641c2e..50ed423301 100644 --- a/include/XML_MicMac/Apero-Glob-New.xml +++ b/include/XML_MicMac/Apero-Glob-New.xml @@ -8,8 +8,8 @@ HasSinglePoseCalibEstim=false - PatSinglePose=XXXXX - PatSingleCalib=XXXXX + PatSinglePose=PSPXXXXX + PatSingleCalib=PSCXXXXX - SetImInit="XXXX" + SetImInit="SIIXXXX" FileCamInit=InitCamCenter.xml AeroIn=XXXXXX diff --git a/include/general/bitm.h b/include/general/bitm.h index 0f170254d5..1d44cb4c52 100644 --- a/include/general/bitm.h +++ b/include/general/bitm.h @@ -1330,6 +1330,7 @@ ElRotation3D ScaleBase(const ElRotation3D &,const double & aScale); // Passer 1/ double ProfFromCam(const ElRotation3D & anOr,const Pt3dr & aP); // anOr M->C +ElRotation3D AverRotation(const std::vector & aVRot,const std::vector & aVWeights); void SauvFile(const ElRotation3D &,const std::string &); void XML_SauvFile(const ElRotation3D &,const std::string &,const std::string & aNameEngl,bool aModeMatr); diff --git a/include/general/phgr_formel.h b/include/general/phgr_formel.h index 6c94df8ba7..ce1cb0519a 100644 --- a/include/general/phgr_formel.h +++ b/include/general/phgr_formel.h @@ -1516,7 +1516,9 @@ class cRotationFormelle : public cElemEqFormelle, Pt3d ImVect(Pt3d,int aKForceGL=-1); Pt3d COpt(); ElRotation3D CurRot(); - void SetCurRot(const ElRotation3D & aR2CM); + // Si on veut forcer une valeur de rotation, on le fait avec MForce * DRot et une contraintye Drot =0 + // du cout cela se fait en utilisant le codage guimbal et en separant la rotation courrante de la veleur guimbal + void SetCurRot(const ElRotation3D & aCurR2CM,const ElRotation3D & aGuimbCurR2CM); ElRotation3D CurRot(REAL aT); ~cRotationFormelle(); @@ -1540,7 +1542,7 @@ class cRotationFormelle : public cElemEqFormelle, void ReactuFcteurRapCoU(); // cMatr_Etat_PhgrF & MatGL(bool) ; // Mode Gimbal Lock - void SetGL(bool aModeGL); + void SetGL(bool aModeGL,const ElRotation3D & aGuimb2CM); const ElMatrix & MatFGL(int ForceGL); ElMatrix MatFGLComplete(int ForceGL); const ElMatrix & MGL() const; @@ -1660,7 +1662,7 @@ class cCameraFormelle : public cGenPDVFormelle ElAffin2D & ResiduM2C(); - void SetCurRot(const ElRotation3D & aR2CM); + void SetCurRot(const ElRotation3D & aR2CM,const ElRotation3D & aGuimbC2M); friend class cParamIntrinsequeFormel; Pt3d DirRayonF(Pt2d,int aKCam); @@ -1706,7 +1708,7 @@ class cCameraFormelle : public cGenPDVFormelle Pt2dr AddEqAppuisInc(const Pt2dr & aPIm,double aPds, cParamPtProj &,bool IsEqDroite,cParamCalcVarUnkEl*); virtual void Update_0F2D(); void TestVB10(const std::string& aMes) const; - void SetGL(bool aModeGL); + void SetGL(bool aModeGL,const ElRotation3D & aGuimb2CM); // cMatr_Etat_PhgrF & MatRGL(bool isP) ; // Mode Gimbal Lock bool IsGL() const; diff --git a/src/CBinaires/mm3d.cpp b/src/CBinaires/mm3d.cpp index db5aac9f82..b4d7332b77 100644 --- a/src/CBinaires/mm3d.cpp +++ b/src/CBinaires/mm3d.cpp @@ -208,6 +208,7 @@ int TestDistM2C_main(int argc, char ** argv); int TestDistortion_main(int argc, char ** argv); int Blinis_main(int argc, char ** argv); +int OrientFromBlock_main(int argc, char ** argv); int Contrast_main(int argc, char ** argv); int Nikrup_main(int argc, char ** argv); int TournIm_main(int argc,char ** argv); @@ -301,6 +302,7 @@ const std::vector & getAvailableCommands() aRes.push_back(cMMCom("TestPbRPC", TestCamRPC, "Test possible Problems on RPC ", cArgLogCom(2))); aRes.push_back(cMMCom("TestBundleInter", TestBundleInter_main, "Block Initialisation ")); aRes.push_back(cMMCom("Blinis", Blinis_main, "Block Initialisation ", cArgLogCom(2))); + aRes.push_back(cMMCom("OriFromBlock", OrientFromBlock_main, "Use Rigid Block to complete orientation ", cArgLogCom(2))); aRes.push_back(cMMCom("ContrastFilter", Contrast_main, "Some contrast filtering ")); aRes.push_back(cMMCom("Nikrup", Nikrup_main,/*(*/ "Generik image filter, using invert polish like notation ;-) ",cArgLogCom(3))); aRes.push_back(cMMCom("Turn90Im", TournIm_main, "Turn image of 90 degre")); diff --git a/src/photogram/OffsetGPS.cpp b/src/photogram/OffsetGPS.cpp index a5d576c1f9..9cf3bc009f 100644 --- a/src/photogram/OffsetGPS.cpp +++ b/src/photogram/OffsetGPS.cpp @@ -236,7 +236,7 @@ void GenerateCodeEqOffsetGPS(bool aGL) ElRotation3D aRot(Pt3dr(0,0,0),0,0,0); cRotationFormelle * aRF = aSet.NewRotation (cNameSpaceEqF::eRotLibre,aRot); - aRF->SetGL(aGL); + aRF->SetGL(aGL,ElRotation3D::Id); cBaseGPS * aBase = aSet.NewBaseGPS(Pt3dr(0,0,0)); aSet.NewEqOffsetGPS(*aRF,*aBase,true); diff --git a/src/photogram/phgr_extrinseque.cpp b/src/photogram/phgr_extrinseque.cpp index 4f8c6249d8..c9a37a4d11 100644 --- a/src/photogram/phgr_extrinseque.cpp +++ b/src/photogram/phgr_extrinseque.cpp @@ -224,7 +224,7 @@ bool cRotationFormelle::IsGL() const { return mModeGL; } -void cRotationFormelle::SetGL(bool aModeGL) +void cRotationFormelle::SetGL(bool aModeGL,const ElRotation3D & aGuimb2CM) { /* if (aModeGL) @@ -233,7 +233,7 @@ void cRotationFormelle::SetGL(bool aModeGL) MatGL(false); } */ - SetCurRot(CurRot()); + SetCurRot(CurRot(),aGuimb2CM); mModeGL = aModeGL; } const ElMatrix & cRotationFormelle::MatFGL(int aKForceGL) @@ -317,7 +317,7 @@ void cRotationFormelle::ReactuFcteurRapCoU() mFcteurRapCoU->SetNormValFtcrFixedNormEuclid(euclid(mCurCOpt-pRotAttach->mCurCOpt)); } -void cRotationFormelle::SetCurRot(const ElRotation3D & aR2CM) +void cRotationFormelle::SetCurRot(const ElRotation3D & aR2CM,const ElRotation3D & aGuimb2CM) { AssertDegre0(); @@ -326,14 +326,26 @@ void cRotationFormelle::SetCurRot(const ElRotation3D & aR2CM) mCurCOpt.z = aR2CM.tr().z; if (mModeGL) { - mMGL = aR2CM.Mat(); + // ElRotation3D cRotationFormelle::CurRot() + // aRes = ElRotation3D(aRes.tr(),mMGL*aRes.Mat(),true); + // Mat = mMGL-1 * Rot + // mCurCOpt.x = 0; // mCurCOpt.y = 0; // mCurCOpt.z = 0; + + mMGL = aGuimb2CM.Mat(); + ElRotation3D aCurDif (Pt3dr(0,0,0), mMGL.transpose()*aR2CM.Mat() ,true); + mCurTeta01 = aCurDif.teta01(); + mCurTeta02 = aCurDif.teta02(); + mCurTeta12 = aCurDif.teta12(); +/* + mMGL = aR2CM.Mat(); mCurTeta01 = 0; mCurTeta02 = 0; mCurTeta12 = 0; +*/ } else { @@ -709,7 +721,7 @@ cCameraFormelle::cEqAppui::cEqAppui { if (Code2Gen) // En mode normal, on ne modifie pas la camera { - mCam.SetGL(isGL); + mCam.SetGL(isGL,ElRotation3D::Id); } if (isProj) @@ -950,9 +962,9 @@ cMatr_Etat_PhgrF & cCameraFormelle::MatRGL(bool isP) } */ -void cCameraFormelle::SetGL(bool aModeGL) +void cCameraFormelle::SetGL(bool aModeGL,const ElRotation3D & aGuimb2CM) { - mRot->SetGL(aModeGL); + mRot->SetGL(aModeGL,aGuimb2CM); } bool cCameraFormelle::IsGL() const { @@ -1357,9 +1369,9 @@ void cCameraFormelle::Update_0F2D() mCameraCourante = CalcCameraCourante(); } -void cCameraFormelle::SetCurRot(const ElRotation3D & aR2CM) +void cCameraFormelle::SetCurRot(const ElRotation3D & aR2CM,const ElRotation3D & aGuimb2CM) { - mRot->SetCurRot(aR2CM); + mRot->SetCurRot(aR2CM,aGuimb2CM); mCameraCourante->SetOrientation(mRot->CurRot().inv()); // mCameraCourante->SetOrientation(aR2CM.inv()); Update_0F2D(); diff --git a/src/recipes/rejacobi.cpp b/src/recipes/rejacobi.cpp index fb24fd3fab..46a9c51c82 100644 --- a/src/recipes/rejacobi.cpp +++ b/src/recipes/rejacobi.cpp @@ -488,6 +488,29 @@ static REAL SetToMatDirecte(ElMatrix & aMat) return -1; } + +ElRotation3D AverRotation(const std::vector & aVRot,const std::vector & aVWeights) +{ + ELISE_ASSERT(aVRot.size()==aVWeights.size(),"AverRotation dif size"); + Pt3dr aC(0,0,0); + ElMatrix aMat(3,3,0.0); + double aSomW = 0.0; + + for (int aK=0 ; aK NearestRotation ( const ElMatrix & aMat) { INT n = aMat.tx(); diff --git a/src/uti_files/CPP_GenCode.cpp b/src/uti_files/CPP_GenCode.cpp index cac0cb7e4f..f6e1599243 100644 --- a/src/uti_files/CPP_GenCode.cpp +++ b/src/uti_files/CPP_GenCode.cpp @@ -337,7 +337,7 @@ void GenCodeAppui(bool C2M,bool isFixe,bool isGL,bool isAFocal,bool wDist,const { cCameraFormelle * aCam = aPIF->NewCam(cNameSpaceEqF::eRotFigee,aRot,0,"toto",false,false); if (isGL) - aCam->SetGL(true); + aCam->SetGL(true,ElRotation3D::Id); aCam->AddForUseFctrEqAppuisInc(true,false,wDist,EqDroite); aCam->AddForUseFctrEqAppuisInc(true,true,wDist,EqDroite); } diff --git a/src/uti_files/CPP_Ori_txt2Xml.cpp b/src/uti_files/CPP_Ori_txt2Xml.cpp index f7376663b7..1df291e7a8 100644 --- a/src/uti_files/CPP_Ori_txt2Xml.cpp +++ b/src/uti_files/CPP_Ori_txt2Xml.cpp @@ -296,6 +296,7 @@ class cAppli_Ori_Txt2Xml_main bool mComputeOrFromC; bool mComputeCple; bool mAcceptNonExitsingImage; + std::string mFileNonExist; }; void cAppli_Ori_Txt2Xml_main::operator()(tSomVois* aS1,tSomVois* aS2,bool) // Delaunay Call back @@ -762,9 +763,13 @@ cAppli_Ori_Txt2Xml_main::cAppli_Ori_Txt2Xml_main(int argc,char ** argv) : << EAM(mGenOrFromC,"CalOFC",true,"When specified compute initial orientation from centers (in Ori-GenFromC) Ori-${CalOFC}, must contains internal calibrations") << EAM(mAcceptNonExitsingImage,"OkNoIm",true,"Do not create error if image does not exist (def = false)") + << EAM(mFileNonExist,"FNI",true,"File to Create when non exist") << EAM(mSzV,"SzW",true,"Size for visualisation") ); + // It seems normal to non existing when it is automatically corrected (else why ?) + mAcceptNonExitsingImage = mAcceptNonExitsingImage || EAMIsInit(&mFileNonExist); + if (MMVisualMode) return; mComputeOrFromC = EAMIsInit(&mGenOrFromC); @@ -1047,6 +1052,11 @@ void cAppli_Ori_Txt2Xml_main::ParseFile() { ELISE_ASSERT(false,"This image does not exist"); } + else if (EAMIsInit(&mFileNonExist)) + { + Ok=true; + ELISE_fp::CpFile(mFileNonExist,aNameIm); + } } else { diff --git a/src/uti_phgrm/Apero/Apero.h b/src/uti_phgrm/Apero/Apero.h index 5a1e9de08d..ee9b5ca925 100644 --- a/src/uti_phgrm/Apero/Apero.h +++ b/src/uti_phgrm/Apero/Apero.h @@ -581,7 +581,7 @@ class cPoseCam : public cGenPoseCam ElRotation3D CurRot() const; Pt3dr CurCentre() const; Pt3dr CurCentreOfPt(const Pt2dr & ) const; - void SetCurRot(const ElRotation3D & aRot); + void PCSetCurRot(const ElRotation3D & aRot); void SetBascRig(const cSolBasculeRig & aSBR); @@ -728,6 +728,8 @@ class cPoseCam : public cGenPoseCam cStructRigidInit * mSRI; cPreCompBloc * mBlocCam; cPreCB1Pose * mPoseInBlocCam; + bool mUseRappelPose; // Do we use a "rappel" to a given value + ElRotation3D mRotURP; // Rotation use Rappel Pose }; @@ -2318,6 +2320,7 @@ class cAppliApero : public NROptF1vND return CalcDebugEliminateNumTieP(aNum); } + const cRappelPose * PtrRP() const; private : @@ -2806,6 +2809,7 @@ class cAppliApero : public NROptF1vND bool mUseVDETp; std::vector mNumsVDETp; int mDebugNumPts; + const cRappelPose * mRappelPose; }; #define ADDALLMAJ(aMes) AddAllMajick(__LINE__,__FILE__,aMes) diff --git a/src/uti_phgrm/Apero/Basculement.cpp b/src/uti_phgrm/Apero/Basculement.cpp index 0f1d736c4f..0b98704832 100644 --- a/src/uti_phgrm/Apero/Basculement.cpp +++ b/src/uti_phgrm/Apero/Basculement.cpp @@ -890,7 +890,7 @@ cSolBasculeRig cAppliApero::BasculePoints ElCamera::ChangeSys(aVC,*aPtrBNL,FTR,!aBonC); if (FTR) { - aPC->SetCurRot(aCS->Orient().inv()); + aPC->PCSetCurRot(aCS->Orient().inv()); } else { @@ -901,7 +901,6 @@ cSolBasculeRig cAppliApero::BasculePoints /* */ } - // aPC->SetCurRot ( aSBR.TransformOriC2M(aPC->CurRot())); if (aPC->HasObsOnCentre() && ((!CalcV) || (aPC->HasObsOnVitesse()))) { @@ -1281,7 +1280,6 @@ void cAppliApero::BasculePlan // {RP2E * Rc}(Cam) = Plan // // std::cout << euclid(aPC->CurRot().tr()) << " " << aPC->CurRot().tr() << "\n"; - // aPC->SetCurRot(aRP2E.inv()*(aPC->CurRot())); // std::cout << "BASCULE PLAN DONE FOR " << aPC->Name() << "\n"; // std::cout << euclid(aPC->CurRot().tr()) << " " << aPC->CurRot().tr() << "\n\n"; aPC->SetBascRig(aSBR); @@ -1395,7 +1393,7 @@ void cAppliApero::FixeEchelle(const cFixeEchelle & aFE) if ( aPC->RotIsInit()) { ElRotation3D aR = aPC->CurRot(); - aPC->SetCurRot(ElRotation3D(aR.tr()*aMult,aR.Mat(),true)); + aPC->PCSetCurRot(ElRotation3D(aR.tr()*aMult,aR.Mat(),true)); } } @@ -1626,8 +1624,7 @@ void cAppliApero::FixeOrientPlane(const cFixeOrientPlane & aFOP) { // std::cout << aR.Mat() * (Pt3dr(0,0,1)) << "\n"; // std::cout << aPC->CurRot().Mat() * (Pt3dr(0,0,1)) << "\n"; - aPC->SetCurRot(aR*aPC->CurRot()); -// std::cout << aPC->CurRot().Mat() * (Pt3dr(0,0,1)) << "\n\n"; + aPC->PCSetCurRot(aR*aPC->CurRot()); } } } diff --git a/src/uti_phgrm/Apero/GraphePose.cpp b/src/uti_phgrm/Apero/GraphePose.cpp index 01204d0bdf..92599468ae 100644 --- a/src/uti_phgrm/Apero/GraphePose.cpp +++ b/src/uti_phgrm/Apero/GraphePose.cpp @@ -140,6 +140,10 @@ void cAppliApero::ConstructMST UseBloc = true; PreInitBloc(aMST.MSTBlockRigid().Val()); } +{ + std::cout << "MM " << MPD_MM() << " BLoc=" << UseBloc << "\n"; + getchar(); +} // A chaque iteration on va affecter un sommet for (int aTimes=0 ; aTimesSetCurRot(Param2Rot(aP)); + mCam->PCSetCurRot(Param2Rot(aP)); } double cOneRotPowelOptimize::ResiduLiaison() diff --git a/src/uti_phgrm/Apero/cAppliApero.cpp b/src/uti_phgrm/Apero/cAppliApero.cpp index 82f9948727..8a0f457922 100644 --- a/src/uti_phgrm/Apero/cAppliApero.cpp +++ b/src/uti_phgrm/Apero/cAppliApero.cpp @@ -103,7 +103,8 @@ cAppliApero::cAppliApero (cResultSubstAndStdGetFile aParam) : mNumCalib (0), mNumImage (0), mLevStaB (mParam.SectionChantier().DoStatElimBundle().ValWithDef(0)), - mUseVDETp (false) + mUseVDETp (false), + mRappelPose (mParam.SectionChantier().RappelPose().PtrVal()) // mGlobManiP3TI (0) { @@ -1162,6 +1163,9 @@ bool cAppliApero::ExportTiePEliminated() const return (mLevStaB>=3) && IsLastEtapeOfLastIter(); } +const cRappelPose * cAppliApero::PtrRP() const {return mRappelPose;} + + /* int LevStaB() const; bool MemoSingleTieP() const; diff --git a/src/uti_phgrm/Apero/cImplemBlockCam.cpp b/src/uti_phgrm/Apero/cImplemBlockCam.cpp index 0b95169d32..a94e426486 100644 --- a/src/uti_phgrm/Apero/cImplemBlockCam.cpp +++ b/src/uti_phgrm/Apero/cImplemBlockCam.cpp @@ -41,6 +41,33 @@ Header-MicMac-eLiSe-25/06/2007*/ // ModifDIST ==> Tag Provisoire des modifs a rajouter si dist +// Return the cParamOrientSHC of a given name +cParamOrientSHC * POriFromBloc(cStructBlockCam & aBloc,const std::string & aName,bool SVP) +{ + for ( auto & aPOS : aBloc.ParamOrientSHC()) + { + if (aPOS.IdGrp() == aName) + return & aPOS; + } + if (!SVP) + { + ELISE_ASSERT(false ,"Cannot get POriFromBloc"); + } + return nullptr; +} + +// Return the Rotation that transformate from Cam Coord to Block coordinates (in fact coord of "first" cam) +ElRotation3D RotCamToBlock(const cParamOrientSHC & aPOS) +{ + return ElRotation3D(aPOS.Vecteur(),ImportMat(aPOS.Rot()),true); +} + +// Return the Rotation that transformate from Cam1 Coord to Cam2 Coord +ElRotation3D RotCam1ToCam2(const cParamOrientSHC & aPOS1,const cParamOrientSHC & aPOS2) +{ + return RotCamToBlock(aPOS2).inv() * RotCamToBlock(aPOS2); +} + /****************************************************************************/ /* */ /* Rigid Block, distance equation */ diff --git a/src/uti_phgrm/Apero/cParamApero.cpp b/src/uti_phgrm/Apero/cParamApero.cpp index 1815525d35..3ef6140876 100644 --- a/src/uti_phgrm/Apero/cParamApero.cpp +++ b/src/uti_phgrm/Apero/cParamApero.cpp @@ -10593,6 +10593,95 @@ void xml_init(cSectionInconnues & anObj,cElXMLTree * aTree) std::string Mangling( cSectionInconnues *) {return "4CECE2192C59959DFE3F";}; +std::string & cRappelPose::Id() +{ + return mId; +} + +const std::string & cRappelPose::Id()const +{ + return mId; +} + + +double & cRappelPose::PdsCentre() +{ + return mPdsCentre; +} + +const double & cRappelPose::PdsCentre()const +{ + return mPdsCentre; +} + + +double & cRappelPose::PdsOrient() +{ + return mPdsOrient; +} + +const double & cRappelPose::PdsOrient()const +{ + return mPdsOrient; +} + + +cElRegex_Ptr & cRappelPose::PatternApply() +{ + return mPatternApply; +} + +const cElRegex_Ptr & cRappelPose::PatternApply()const +{ + return mPatternApply; +} + +void BinaryUnDumpFromFile(cRappelPose & anObj,ELISE_fp & aFp) +{ + BinaryUnDumpFromFile(anObj.Id(),aFp); + BinaryUnDumpFromFile(anObj.PdsCentre(),aFp); + BinaryUnDumpFromFile(anObj.PdsOrient(),aFp); + BinaryUnDumpFromFile(anObj.PatternApply(),aFp); +} + +void BinaryDumpInFile(ELISE_fp & aFp,const cRappelPose & anObj) +{ + BinaryDumpInFile(aFp,anObj.Id()); + BinaryDumpInFile(aFp,anObj.PdsCentre()); + BinaryDumpInFile(aFp,anObj.PdsOrient()); + BinaryDumpInFile(aFp,anObj.PatternApply()); +} + +cElXMLTree * ToXMLTree(const cRappelPose & anObj) +{ + XMLPushContext(anObj.mGXml); + cElXMLTree * aRes = new cElXMLTree((cElXMLTree *)0,"RappelPose",eXMLBranche); + aRes->AddFils(::ToXMLTree(std::string("Id"),anObj.Id())->ReTagThis("Id")); + aRes->AddFils(::ToXMLTree(std::string("PdsCentre"),anObj.PdsCentre())->ReTagThis("PdsCentre")); + aRes->AddFils(::ToXMLTree(std::string("PdsOrient"),anObj.PdsOrient())->ReTagThis("PdsOrient")); + aRes->AddFils(::ToXMLTree(std::string("PatternApply"),anObj.PatternApply())->ReTagThis("PatternApply")); + aRes->mGXml = anObj.mGXml; + XMLPopContext(anObj.mGXml); + return aRes; +} + +void xml_init(cRappelPose & anObj,cElXMLTree * aTree) +{ + if (aTree==0) return; + anObj.mGXml = aTree->mGXml; + + xml_init(anObj.Id(),aTree->Get("Id",1)); //tototo + + xml_init(anObj.PdsCentre(),aTree->Get("PdsCentre",1)); //tototo + + xml_init(anObj.PdsOrient(),aTree->Get("PdsOrient",1)); //tototo + + xml_init(anObj.PatternApply(),aTree->Get("PatternApply",1)); //tototo +} + +std::string Mangling( cRappelPose *) {return "3A8AAFCD102ADFADFE3F";}; + + cTplValGesInit< double > & cUseExportImageResidu::SzByPair() { return mSzByPair; @@ -10825,6 +10914,61 @@ void xml_init(cTimeLinkage & anObj,cElXMLTree * aTree) std::string Mangling( cTimeLinkage *) {return "BEB337D7A41F8CD1FD3F";}; +std::string & cSectionChantier::Id() +{ + return RappelPose().Val().Id(); +} + +const std::string & cSectionChantier::Id()const +{ + return RappelPose().Val().Id(); +} + + +double & cSectionChantier::PdsCentre() +{ + return RappelPose().Val().PdsCentre(); +} + +const double & cSectionChantier::PdsCentre()const +{ + return RappelPose().Val().PdsCentre(); +} + + +double & cSectionChantier::PdsOrient() +{ + return RappelPose().Val().PdsOrient(); +} + +const double & cSectionChantier::PdsOrient()const +{ + return RappelPose().Val().PdsOrient(); +} + + +cElRegex_Ptr & cSectionChantier::PatternApply() +{ + return RappelPose().Val().PatternApply(); +} + +const cElRegex_Ptr & cSectionChantier::PatternApply()const +{ + return RappelPose().Val().PatternApply(); +} + + +cTplValGesInit< cRappelPose > & cSectionChantier::RappelPose() +{ + return mRappelPose; +} + +const cTplValGesInit< cRappelPose > & cSectionChantier::RappelPose()const +{ + return mRappelPose; +} + + cTplValGesInit< int > & cSectionChantier::NumAttrPdsNewF() { return mNumAttrPdsNewF; @@ -11223,6 +11367,14 @@ const cTplValGesInit< bool > & cSectionChantier::ExportMatrixMarket()const void BinaryUnDumpFromFile(cSectionChantier & anObj,ELISE_fp & aFp) { { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.RappelPose().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.RappelPose().ValForcedForUnUmp(),aFp); + } + else anObj.RappelPose().SetNoInit(); + } ; + { bool IsInit; BinaryUnDumpFromFile(IsInit,aFp); if (IsInit) { anObj.NumAttrPdsNewF().SetInitForUnUmp(); @@ -11450,6 +11602,8 @@ void BinaryUnDumpFromFile(cSectionChantier & anObj,ELISE_fp & aFp) void BinaryDumpInFile(ELISE_fp & aFp,const cSectionChantier & anObj) { + BinaryDumpInFile(aFp,anObj.RappelPose().IsInit()); + if (anObj.RappelPose().IsInit()) BinaryDumpInFile(aFp,anObj.RappelPose().Val()); BinaryDumpInFile(aFp,anObj.NumAttrPdsNewF().IsInit()); if (anObj.NumAttrPdsNewF().IsInit()) BinaryDumpInFile(aFp,anObj.NumAttrPdsNewF().Val()); BinaryDumpInFile(aFp,anObj.RatioMaxDistCS().IsInit()); @@ -11512,6 +11666,8 @@ cElXMLTree * ToXMLTree(const cSectionChantier & anObj) { XMLPushContext(anObj.mGXml); cElXMLTree * aRes = new cElXMLTree((cElXMLTree *)0,"SectionChantier",eXMLBranche); + if (anObj.RappelPose().IsInit()) + aRes->AddFils(ToXMLTree(anObj.RappelPose().Val())->ReTagThis("RappelPose")); if (anObj.NumAttrPdsNewF().IsInit()) aRes->AddFils(::ToXMLTree(std::string("NumAttrPdsNewF"),anObj.NumAttrPdsNewF().Val())->ReTagThis("NumAttrPdsNewF")); if (anObj.RatioMaxDistCS().IsInit()) @@ -11578,6 +11734,8 @@ void xml_init(cSectionChantier & anObj,cElXMLTree * aTree) if (aTree==0) return; anObj.mGXml = aTree->mGXml; + xml_init(anObj.RappelPose(),aTree->Get("RappelPose",1)); //tototo + xml_init(anObj.NumAttrPdsNewF(),aTree->Get("NumAttrPdsNewF",1),int(-1)); //tototo xml_init(anObj.RatioMaxDistCS(),aTree->Get("RatioMaxDistCS",1),double(30.0)); //tototo @@ -11635,7 +11793,7 @@ void xml_init(cSectionChantier & anObj,cElXMLTree * aTree) xml_init(anObj.ExportMatrixMarket(),aTree->Get("ExportMatrixMarket",1),bool(false)); //tototo } -std::string Mangling( cSectionChantier *) {return "BF5204A4724122A2FE3F";}; +std::string Mangling( cSectionChantier *) {return "BCC79A91A32077D5FCBF";}; cTplValGesInit< bool > & cSectionSolveur::AllMatSym() @@ -26486,6 +26644,61 @@ const cSectionInconnues & cParamApero::SectionInconnues()const } +std::string & cParamApero::Id() +{ + return SectionChantier().RappelPose().Val().Id(); +} + +const std::string & cParamApero::Id()const +{ + return SectionChantier().RappelPose().Val().Id(); +} + + +double & cParamApero::PdsCentre() +{ + return SectionChantier().RappelPose().Val().PdsCentre(); +} + +const double & cParamApero::PdsCentre()const +{ + return SectionChantier().RappelPose().Val().PdsCentre(); +} + + +double & cParamApero::PdsOrient() +{ + return SectionChantier().RappelPose().Val().PdsOrient(); +} + +const double & cParamApero::PdsOrient()const +{ + return SectionChantier().RappelPose().Val().PdsOrient(); +} + + +cElRegex_Ptr & cParamApero::PatternApply() +{ + return SectionChantier().RappelPose().Val().PatternApply(); +} + +const cElRegex_Ptr & cParamApero::PatternApply()const +{ + return SectionChantier().RappelPose().Val().PatternApply(); +} + + +cTplValGesInit< cRappelPose > & cParamApero::RappelPose() +{ + return SectionChantier().RappelPose(); +} + +const cTplValGesInit< cRappelPose > & cParamApero::RappelPose()const +{ + return SectionChantier().RappelPose(); +} + + cTplValGesInit< int > & cParamApero::NumAttrPdsNewF() { return SectionChantier().NumAttrPdsNewF(); @@ -27274,7 +27487,7 @@ void xml_init(cParamApero & anObj,cElXMLTree * aTree) xml_init(anObj.SectionCompensation(),aTree->Get("SectionCompensation",1)); //tototo } -std::string Mangling( cParamApero *) {return "461983D4EB88F2BEFD3F";}; +std::string Mangling( cParamApero *) {return "9AE0676CD8CEB4F7FC3F";}; std::string & cXmlSauvExportAperoOneIm::Name() diff --git a/src/uti_phgrm/Apero/cParamApero.h b/src/uti_phgrm/Apero/cParamApero.h index ac070d44a4..4f4e2abc65 100644 --- a/src/uti_phgrm/Apero/cParamApero.h +++ b/src/uti_phgrm/Apero/cParamApero.h @@ -3020,6 +3020,39 @@ std::string Mangling( cSectionInconnues *); /******************************************************/ /******************************************************/ /******************************************************/ +class cRappelPose +{ + public: + cGlobXmlGen mGXml; + + friend void xml_init(cRappelPose & anObj,cElXMLTree * aTree); + + + std::string & Id(); + const std::string & Id()const ; + + double & PdsCentre(); + const double & PdsCentre()const ; + + double & PdsOrient(); + const double & PdsOrient()const ; + + cElRegex_Ptr & PatternApply(); + const cElRegex_Ptr & PatternApply()const ; + private: + std::string mId; + double mPdsCentre; + double mPdsOrient; + cElRegex_Ptr mPatternApply; +}; +cElXMLTree * ToXMLTree(const cRappelPose &); + +void BinaryDumpInFile(ELISE_fp &,const cRappelPose &); + +void BinaryUnDumpFromFile(cRappelPose &,ELISE_fp &); + +std::string Mangling( cRappelPose *); + class cUseExportImageResidu { public: @@ -3094,6 +3127,21 @@ class cSectionChantier friend void xml_init(cSectionChantier & anObj,cElXMLTree * aTree); + std::string & Id(); + const std::string & Id()const ; + + double & PdsCentre(); + const double & PdsCentre()const ; + + double & PdsOrient(); + const double & PdsOrient()const ; + + cElRegex_Ptr & PatternApply(); + const cElRegex_Ptr & PatternApply()const ; + + cTplValGesInit< cRappelPose > & RappelPose(); + const cTplValGesInit< cRappelPose > & RappelPose()const ; + cTplValGesInit< int > & NumAttrPdsNewF(); const cTplValGesInit< int > & NumAttrPdsNewF()const ; @@ -3202,6 +3250,7 @@ class cSectionChantier cTplValGesInit< bool > & ExportMatrixMarket(); const cTplValGesInit< bool > & ExportMatrixMarket()const ; private: + cTplValGesInit< cRappelPose > mRappelPose; cTplValGesInit< int > mNumAttrPdsNewF; cTplValGesInit< double > mRatioMaxDistCS; cTplValGesInit< std::string > mDebugVecElimTieP; @@ -7122,6 +7171,21 @@ class cParamApero cSectionInconnues & SectionInconnues(); const cSectionInconnues & SectionInconnues()const ; + std::string & Id(); + const std::string & Id()const ; + + double & PdsCentre(); + const double & PdsCentre()const ; + + double & PdsOrient(); + const double & PdsOrient()const ; + + cElRegex_Ptr & PatternApply(); + const cElRegex_Ptr & PatternApply()const ; + + cTplValGesInit< cRappelPose > & RappelPose(); + const cTplValGesInit< cRappelPose > & RappelPose()const ; + cTplValGesInit< int > & NumAttrPdsNewF(); const cTplValGesInit< int > & NumAttrPdsNewF()const ; diff --git a/src/uti_phgrm/Apero/cPose.cpp b/src/uti_phgrm/Apero/cPose.cpp index 075c0ebb1e..0edddb91a2 100644 --- a/src/uti_phgrm/Apero/cPose.cpp +++ b/src/uti_phgrm/Apero/cPose.cpp @@ -1005,7 +1005,9 @@ cPoseCam::cPoseCam mEqOffsetGPS (0), mSRI (nullptr), mBlocCam (nullptr), - mPoseInBlocCam (nullptr) + mPoseInBlocCam (nullptr), + mUseRappelPose (false), + mRotURP (ElRotation3D::Id) { mPrec = this; mNext = this; @@ -1532,10 +1534,13 @@ void cPoseCam::AddLink(cPoseCam * aPC) -void cPoseCam::SetCurRot(const ElRotation3D & aRot) +void cPoseCam::PCSetCurRot(const ElRotation3D & aRot) { + ELISE_ASSERT(!mUseRappelPose,"Internam Error, probaly bascule + UseRappelPose"); + + AssertHasNotCamNonOrtho(); - mCF->SetCurRot(aRot); + mCF->SetCurRot(aRot,aRot); } @@ -1557,7 +1562,7 @@ void cPoseCam::SetBascRig(const cSolBasculeRig & aSBR) aP = aSBR(aP); } - SetCurRot(aSBR.TransformOriC2M(CurRot())); + PCSetCurRot(aSBR.TransformOriC2M(CurRot())); const CamStenope * aCS = CurCam() ; @@ -2291,7 +2296,6 @@ if (mSRI && MPD_MM()) ElCamera::ChangeSys(aVCam,aTransfo,true,true); ElRotation3D aRMod = aCS->Orient(); - // mCF->SetCurRot(aRMod.inv()); aRot = aRMod.inv(); // ShowMatr("Entree",aRot.Mat()); @@ -2300,19 +2304,26 @@ if (mSRI && MPD_MM()) } + mRotURP = aRot; + mUseRappelPose = mAppli.PtrRP() && mAppli.PtrRP()->PatternApply()->Match(mName); + if (mUseRappelPose) + { + mRotURP = mAppli.Orient(mAppli.PtrRP()->Id(),mName); + } + double aLMG = mAppli.Param().LimModeGL().Val(); double aGVal = GuimbalAnalyse(aRot,false); - if ((aLMG>0) && (aGVal0) && (aGValSetGL(true); + mCF->SetGL(true,mRotURP); } else { std::cout << "NO GUIMBAL " << mName << " " << aGVal<< "\n"; } - mCF->SetCurRot(aRot); + mCF->SetCurRot(aRot,mRotURP); diff --git a/src/uti_phgrm/CPP_Block.cpp b/src/uti_phgrm/CPP_Block.cpp index ac36f2021e..3854fe35ac 100644 --- a/src/uti_phgrm/CPP_Block.cpp +++ b/src/uti_phgrm/CPP_Block.cpp @@ -90,6 +90,170 @@ int Blinis_main(int argc,char ** argv) else return EXIT_SUCCESS; } +/***********************************************************************/ + +class cAOFB_Im +{ + public : + cAOFB_Im(const std::string & aName,CamStenope* aCamInit,const std::string& aNameCalib) : + mName (aName), + mCamInit (aCamInit), + mNameCalib (aNameCalib), + mDone (mCamInit!=nullptr), + mR_Cam2W (mDone ? mCamInit->Orient().inv() : ElRotation3D::Id) + { + } + + std::string mName; // Name of image + CamStenope * mCamInit; // Possible initial camera (pose+Cal) + std::string mNameCalib; // Name of calibration + bool mDone; + ElRotation3D mR_Cam2W; // Orientation Cam -> Word +}; + +class cAppli_OriFromBlock +{ + public : + cAppli_OriFromBlock (int argc,char ** argv); + private : + // Extract Time Stamp and Grp from Compiled image + typedef std::pair t2Str; + t2Str TimGrp(cAOFB_Im * aPtrI) + { + return mICNM->Assoc2To1(mKeyBl,aPtrI->mName,true); + } + + std::string mPatIm; // Liste of all images + std::string mOriIn; // input orientation + std::string mNameCalib; // input calibration (required for non oriented image) + std::string mNameBlock; // name of the block-blini + std::string mOriOut; // Output orientation + + cStructBlockCam mBlock; // structure of the rigid bloc + std::string mKeyBl; // key for name compute of bloc + + + cElemAppliSetFile mEASF; // Structure to extract pattern + name manip + std::string mDir; // Directory of data + cInterfChantierNameManipulateur * mICNM; // Name manip + const std::vector * mVN; // list of images + std::vector mVecI; // list of "compiled" + std::map mMapI; // map Time+Grp -> compiled image + +}; + +cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) +{ + MMD_InitArgcArgv(argc,argv); + + ElInitArgMain + ( + argc,argv, + LArgMain() << EAMC(mPatIm,"Full name (Dir+Pat)", eSAM_IsPatFile) + << EAMC(mOriIn,"Input Orientation folder", eSAM_IsExistDirOri) + << EAMC(mNameCalib,"Calibration folder", eSAM_IsExistDirOri) + << EAMC(mNameBlock,"File for block"), + LArgMain() + ); + + // =========== Naming and name stuff ==== + mEASF.Init(mPatIm); // Compute the pattern + mICNM = mEASF.mICNM; // Extract name manip + mVN = mEASF.SetIm(); // Extract list of input name + mDir = mEASF.mDir; + + StdCorrecNameOrient(mOriIn,mDir); + StdCorrecNameOrient(mNameCalib,mDir); + + + // =========== Block stuff ==== + mBlock = StdGetFromPCP(mNameBlock,StructBlockCam); // Init Block + mKeyBl = mBlock.KeyIm2TimeCam(); // Store key for facilitie + + // Create structur of "compiled" cam + for (int aKIm=0 ; aKImsize()) ; aKIm++) + { + const std::string & aName = (*mVN)[aKIm]; + CamStenope * aCamIn = mICNM->StdCamStenOfNamesSVP(aName,mOriIn); // Camera may not + std::string aNameCal = mICNM->StdNameCalib(mNameCalib,aName); + mICNM->GlobCalibOfName(aName,mNameCalib,true); // Calib should exist + cAOFB_Im * aPtrI = new cAOFB_Im(aName,aCamIn,aNameCal); // Create compiled + mVecI.push_back(aPtrI); // memo all compiled + mMapI[TimGrp(aPtrI)] = aPtrI; // We will need to access to pose from Time & Group + // std::pair aPair=mICNM->Assoc2To1(mKeyBl,aPtrI->mName,true); + } + + // Try to compile pose non existing + for (const auto & aPtrI : mVecI) + { + // If cam init exits nothing to do + if (! aPtrI->mCamInit) + { + int aNbInit = 0; + // Extract time stamp & name of this block + t2Str aPair= TimGrp(aPtrI); + std::string aNameTime = aPair.first; // get a time stamp + std::string aNameGrp = aPair.second;// get a cam name + + cParamOrientSHC * OrInBlock = POriFromBloc(mBlock,aNameGrp,false); // Extrac orientaion in block + + // In the case there is several head oriented, we store multiple solutio, + std::vector aVecOrient; + std::vector aVecPds; + + // Parse the block of camera + for (const auto & aLiaison : mBlock.LiaisonsSHC().Val().ParamOrientSHC()) + { + std::string aNeighGrp = aLiaison.IdGrp(); + if (aNameGrp != aNeighGrp) // No need to try to init on itself + { + // Extract neighboor in block from time-stamp & group + cAOFB_Im* aNeigh = mMapI[t2Str(aNameTime,aNeighGrp)]; + if (aNeigh && aNeigh->mCamInit) // If neighbooring exist and has orientation init + { + cParamOrientSHC * aOriNeigh = POriFromBloc(mBlock,aNeighGrp,false); + + ElRotation3D aOri_Neigh2World = aNeigh->mCamInit->Orient().inv(); // Monde->Neigh + ElRotation3D aOriBlock_This2Neigh = RotCam1ToCam2(*OrInBlock,*aOriNeigh); + ElRotation3D aOri_This2Word = aOri_Neigh2World * aOriBlock_This2Neigh; + aVecOrient.push_back(aOri_This2Word); + aVecPds.push_back(1.0); + aNbInit++; + std::cout << aPtrI->mName << " From " << aNeigh->mName << "\n"; + } + } + } + if (aNbInit) + { + aPtrI->mR_Cam2W = AverRotation(aVecOrient,aVecPds); + aPtrI->mDone = true; + } + else + { + } + } + } + + // Now export + for (const auto & aPtrI : mVecI) + { + if (aPtrI->mDone) + { + // aPtrI->mCamCalib->SetOrientation(aPtrI->mR_Cam2W.inv()); + // std::string StdExport2File(cInterfChantierNameManipulateur *,const std::string & aDirOri,const std::string & aNameIm); + } + } + + // cElemAppliSetFile anEASF(mPatIm); +} + +int OrientFromBlock_main(int argc,char ** argv) +{ + cAppli_OriFromBlock anAppli(argc,argv); + + return EXIT_SUCCESS; +} + /***********************************************************************/ diff --git a/src/uti_phgrm/CPP_Campari.cpp b/src/uti_phgrm/CPP_Campari.cpp index 7c01e0fdb6..8c4361015d 100644 --- a/src/uti_phgrm/CPP_Campari.cpp +++ b/src/uti_phgrm/CPP_Campari.cpp @@ -306,22 +306,27 @@ std::string cAppli_Tapas_Campari::TimeStamp(const std::string & aName,cInterfCh std::string cAppli_Tapas_Campari::ExtendPattern ( const std::string & aPatGlob, - const std::string & aImCenter, + const std::string & aPatCenter, cInterfChantierNameManipulateur * anICNM ) { const cInterfChantierNameManipulateur::tSet * aSetGlob = anICNM->Get(aPatGlob); std::string aKey = mSBC.KeyIm2TimeCam(); - std::string aTimeC = anICNM->Assoc2To1(mSBC.KeyIm2TimeCam(),aImCenter,true).first; + const cInterfChantierNameManipulateur::tSet * aSetCenter = anICNM->Get(aPatCenter); cPatOfName aPat; - for (const auto & aName : *aSetGlob) + + for (const auto & aImCenter : *aSetCenter) { + std::string aTimeC = anICNM->Assoc2To1(mSBC.KeyIm2TimeCam(),aImCenter,true).first; + for (const auto & aName : *aSetGlob) + { std::pair aPair = anICNM->Assoc2To1(mSBC.KeyIm2TimeCam(),aName,true); if (aPair.first == aTimeC) aPat.AddName(aName); // std::cout << "PAIR " << aPair.first << " *** " << aPair.second << "\n"; + } } diff --git a/src/uti_phgrm/CPP_NewTapas.cpp b/src/uti_phgrm/CPP_NewTapas.cpp index 4fc0c7fdc1..d0418ff900 100644 --- a/src/uti_phgrm/CPP_NewTapas.cpp +++ b/src/uti_phgrm/CPP_NewTapas.cpp @@ -408,6 +408,7 @@ int Tapas_main_new(int argc,char ** argv) double aLVM = 1.0; bool MultipleBlock =false; bool IsMidle= false; + bool InitBlocCam = false; ElInitArgMain ( @@ -455,6 +456,7 @@ int Tapas_main_new(int argc,char ** argv) << EAM(aVRegulDist,"RegulDist",true,"Parameter fo RegulDist [Val,Grad,Hessian,NbCase,SeuilNb]") << EAM(aLVM,"MulLVM",true,"Multipier Levenberg Markard") << EAM(MultipleBlock,"MultipleBlock",true,"Multiple block need special caution (only related to Levenberg Markard)") + << EAM(InitBlocCam,"UBR4I","Use Bloc Rigid for Init, def=context dependent") << anATP.ArgATP() ); @@ -784,7 +786,8 @@ int Tapas_main_new(int argc,char ** argv) */ if (EAMIsInit(&ImInit)) { - aCom = aCom + " +InitCamCenter=false +InitBlocCam=true "; + InitBlocCam = true; + aCom = aCom + " +InitCamCenter=false "; ImInit= QUOTE(anATP.ExtendPattern(aPat,ImInit,aICNM)); aCom = aCom + " +SetImInit="+ImInit; } @@ -800,6 +803,10 @@ int Tapas_main_new(int argc,char ** argv) } + if (InitBlocCam) + { + aCom = aCom + " +InitBlocCam=true "; + } anATP.AddParamBloc(aCom); std::cout << "Com = " << aCom << "\n"; diff --git a/src/uti_phgrm/NewOri/cNewO_FicObs.cpp b/src/uti_phgrm/NewOri/cNewO_FicObs.cpp index 7d1ccf863c..25d6162543 100644 --- a/src/uti_phgrm/NewOri/cNewO_FicObs.cpp +++ b/src/uti_phgrm/NewOri/cNewO_FicObs.cpp @@ -39,6 +39,7 @@ Header-MicMac-eLiSe-25/06/2007*/ #include "NewOri.h" #include "../TiepTri/MultTieP.h" +// #include "../Apero/Apero.h" #include "../Apero/cPose.cpp" //extern bool ERupnik_MM(); From 99b5affdc7186f1817e260bc8e99d86b87b66813 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Mon, 13 Jan 2020 18:23:26 +0100 Subject: [PATCH 16/49] =?UTF-8?q?Commande=20OriFromBlock=20valid=C3=A9e?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- include/general/photogram.h | 2 +- src/photogram/phgr_basic.cpp | 8 +++++++- src/uti_phgrm/Apero/cImplemBlockCam.cpp | 2 +- src/uti_phgrm/CPP_Block.cpp | 22 ++++++++++++++++++---- 4 files changed, 27 insertions(+), 7 deletions(-) diff --git a/include/general/photogram.h b/include/general/photogram.h index 4f54eea248..8b82fcb3f8 100644 --- a/include/general/photogram.h +++ b/include/general/photogram.h @@ -1684,7 +1684,7 @@ class ElCamera : public cCapture3D cVerifOrient MakeVerif( int aNbVerif,double aProf,const char *,const Pt3di * aNbDeterm=0) const; cOrientationConique StdExportCalibGlob(bool Matr) const; cOrientationConique StdExportCalibGlob() const; - std::string StdExport2File(cInterfChantierNameManipulateur *,const std::string & aDirOri,const std::string & aNameIm); // Test -> Ori-R + std::string StdExport2File(cInterfChantierNameManipulateur *,const std::string & aDirOri,const std::string & aNameIm,const std::string & aFileInterne = ""); // Test -> Ori-R virtual Pt3dr ImEtProf2Terrain(const Pt2dr & aP,double aZ) const = 0; virtual Pt3dr NoDistImEtProf2Terrain(const Pt2dr & aP,double aZ) const = 0; diff --git a/src/photogram/phgr_basic.cpp b/src/photogram/phgr_basic.cpp index 5e4b34661d..4644c8977d 100644 --- a/src/photogram/phgr_basic.cpp +++ b/src/photogram/phgr_basic.cpp @@ -3495,9 +3495,15 @@ cOrientationConique ElCamera::StdExportCalibGlob() const return StdExportCalibGlob(true); } -std::string ElCamera::StdExport2File(cInterfChantierNameManipulateur *anICNM,const std::string & aDirOri,const std::string & aNameIm) +std::string ElCamera::StdExport2File(cInterfChantierNameManipulateur *anICNM,const std::string & aDirOri,const std::string & aNameIm,const std::string & aNameFileInterne) { + bool FileInterne = (aNameFileInterne != ""); cOrientationConique anOC = StdExportCalibGlob() ; + if (FileInterne) + { + anOC.Interne().SetNoInit(); + anOC.FileInterne().SetVal(aNameFileInterne); + } std::string aName = anICNM->NameOriStenope(aDirOri,aNameIm); MakeFileXML(anOC,aName); return aName; diff --git a/src/uti_phgrm/Apero/cImplemBlockCam.cpp b/src/uti_phgrm/Apero/cImplemBlockCam.cpp index a94e426486..8c534aba90 100644 --- a/src/uti_phgrm/Apero/cImplemBlockCam.cpp +++ b/src/uti_phgrm/Apero/cImplemBlockCam.cpp @@ -65,7 +65,7 @@ ElRotation3D RotCamToBlock(const cParamOrientSHC & aPOS) // Return the Rotation that transformate from Cam1 Coord to Cam2 Coord ElRotation3D RotCam1ToCam2(const cParamOrientSHC & aPOS1,const cParamOrientSHC & aPOS2) { - return RotCamToBlock(aPOS2).inv() * RotCamToBlock(aPOS2); + return RotCamToBlock(aPOS2).inv() * RotCamToBlock(aPOS1); } /****************************************************************************/ diff --git a/src/uti_phgrm/CPP_Block.cpp b/src/uti_phgrm/CPP_Block.cpp index 3854fe35ac..e26fcdbcd1 100644 --- a/src/uti_phgrm/CPP_Block.cpp +++ b/src/uti_phgrm/CPP_Block.cpp @@ -128,6 +128,7 @@ class cAppli_OriFromBlock std::string mNameCalib; // input calibration (required for non oriented image) std::string mNameBlock; // name of the block-blini std::string mOriOut; // Output orientation + bool mCPI; // Calibration Per Image cStructBlockCam mBlock; // structure of the rigid bloc std::string mKeyBl; // key for name compute of bloc @@ -139,10 +140,12 @@ class cAppli_OriFromBlock const std::vector * mVN; // list of images std::vector mVecI; // list of "compiled" std::map mMapI; // map Time+Grp -> compiled image + }; -cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) +cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) : + mCPI (false) { MMD_InitArgcArgv(argc,argv); @@ -152,8 +155,10 @@ cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) LArgMain() << EAMC(mPatIm,"Full name (Dir+Pat)", eSAM_IsPatFile) << EAMC(mOriIn,"Input Orientation folder", eSAM_IsExistDirOri) << EAMC(mNameCalib,"Calibration folder", eSAM_IsExistDirOri) - << EAMC(mNameBlock,"File for block"), + << EAMC(mNameBlock,"File for block") + << EAMC(mOriOut,"Output Orientation folder"), LArgMain() + << EAM(mCPI,"CPI",true,"Calib Per Im") ); // =========== Naming and name stuff ==== @@ -239,8 +244,17 @@ cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) { if (aPtrI->mDone) { - // aPtrI->mCamCalib->SetOrientation(aPtrI->mR_Cam2W.inv()); - // std::string StdExport2File(cInterfChantierNameManipulateur *,const std::string & aDirOri,const std::string & aNameIm); + // Case calibration by image, we export directly the results + // std::string aNameFI = mICNM->StdNameCalib(mNameCalib,aName); + std::string aNameFI = mICNM->StdNameCalib(mOriOut,aPtrI->mName); + CamStenope * aCamCal = mICNM->GlobCalibOfName(aPtrI->mName,mNameCalib,true); + aCamCal->SetOrientation(aPtrI->mR_Cam2W.inv()); + aCamCal->StdExport2File(mICNM,mOriOut,aPtrI->mName,mCPI ? "" : aNameFI); + if (!mCPI) + { + std::string aNameCal = mICNM->StdNameCalib(mNameCalib,aPtrI->mName); + ELISE_fp::CpFile(aNameCal,aNameFI); + } } } From 5cd654d823f3e850fe3c3ea15dcd8371ffc25c53 Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Tue, 14 Jan 2020 11:07:44 +0100 Subject: [PATCH 17/49] Modify CalcPoids in FicObs --- src/photogram/phgr_basic.cpp | 2 +- src/uti_phgrm/NewOri/cNewO_FicObs.cpp | 93 ++++++++++++++++++--------- 2 files changed, 62 insertions(+), 33 deletions(-) diff --git a/src/photogram/phgr_basic.cpp b/src/photogram/phgr_basic.cpp index 5e4b34661d..6a60bc3782 100644 --- a/src/photogram/phgr_basic.cpp +++ b/src/photogram/phgr_basic.cpp @@ -901,7 +901,7 @@ void ElPackHomologue::StdPutInFile(const std::string & aName) const itP++ ) { - fprintf(aFP,"%f %f %f %f\n",itP->P1().x,itP->P1().y,itP->P2().x,itP->P2().y); + fprintf(aFP,"%f %f %f %f %f\n",itP->P1().x,itP->P1().y,itP->P2().x,itP->P2().y,itP->Pds()); } ElFclose(aFP); /* diff --git a/src/uti_phgrm/NewOri/cNewO_FicObs.cpp b/src/uti_phgrm/NewOri/cNewO_FicObs.cpp index 7d1ccf863c..e76c9fc131 100644 --- a/src/uti_phgrm/NewOri/cNewO_FicObs.cpp +++ b/src/uti_phgrm/NewOri/cNewO_FicObs.cpp @@ -88,9 +88,9 @@ class cAppliFictObs : public cCommonMartiniAppli void InitNFHomOne(std::string&,std::string&); bool CalculateEllipseParam3(cXml_Elips3D& anEl,std::vector& aVC, - const std::string& aName1,const std::string& aName2,const std::string& aName3); + const std::string& aName1,const std::string& aName2,const std::string& aName3,int& NbPts); bool CalculateEllipseParam2(cXml_Elips3D& anEl,std::vector& aVC, - const std::string& aName1,const std::string& aName2); + const std::string& aName1,const std::string& aName2,int& NbPts); void CalculteFromHomol3(std::vector& aVC, const std::string& aName1,const std::string& aName2,const std::string& aName3, std::vector & aVPts); @@ -147,7 +147,8 @@ class cAppliFictObs : public cCommonMartiniAppli cSetTiePMul * mPMulRed; std::map mHomRed; //hom name, hom std::map> mHomMap; //cam name, cam name, hom name - std::string mHomExp; + std::string mHomExpIn; + std::string mHomExpOut; std::string mNameOriCalib; cXml_TopoTriplet mLT; @@ -187,7 +188,8 @@ cAppliFictObs::cAppliFictObs(int argc,char **argv) : mCalcElip(true), NFHom(true), mPMulRed(0), - mHomExp("dat"), + mHomExpIn("dat"), + mHomExpOut("dat"), mNameOriCalib(""), mCorrCalib(false), mCorrGlob(mCorrCalib ? true : false), @@ -200,7 +202,8 @@ cAppliFictObs::cAppliFictObs(int argc,char **argv) : mPly(false) { - bool aExpTxt=false; + bool aExpTxtIn=false; + bool aExpTxtOut=false; std::vector aNumFPtsStr; ElInitArgMain @@ -217,7 +220,8 @@ cAppliFictObs::cAppliFictObs(int argc,char **argv) : << EAM (mResPoly,"Deg",true,"Degree of polyn to smooth residuals (used only if CorCal=true), Def=2") << EAM (mResMax,"RMax",true,"Maximum residual, everything above will be filtered out, Def=5") << EAM (NFHom,"NF",true,"Save homol to new format?, Def=true") - << EAM (aExpTxt,"ExpTxt",true,"ASCII homol?, Def=true") + << EAM (aExpTxtIn,"ExpTxtIn",true,"ASCII homol old format?, Def=false") + << EAM (aExpTxtOut,"ExpTxtOut",true,"ASCII homol old format?, Def=false") << EAM (mPrefHom,"SH",true,"Homol post-fix, Def=\"\"") << EAM (mNameOriCalib,"OriCalib",true,"Calibration folder if exists, Def=\"\"") << EAM (mOut,"Out",true,"Output file name") @@ -230,7 +234,8 @@ cAppliFictObs::cAppliFictObs(int argc,char **argv) : replace( mPattern.begin(), mPattern.end(), '\\', '/' ); #endif - aExpTxt ? mHomExp="txt" : mHomExp="dat"; + aExpTxtIn ? mHomExpIn="txt" : mHomExpIn="dat"; + aExpTxtOut ? mHomExpOut="txt" : mHomExpOut="dat"; SplitDirAndFile(mDir,mPattern,mPattern); @@ -333,7 +338,7 @@ double cAppliFictObs::BsurH(ElSeg3D& aDir1,ElSeg3D& aDir2) } bool cAppliFictObs::CalculateEllipseParam2(cXml_Elips3D& anEl,std::vector& aVC, - const std::string& aName1,const std::string& aName2) + const std::string& aName1,const std::string& aName2,int& NbPts) { ELISE_ASSERT(int(aVC.size())==2,"cAppliFictObs::CalculateEllipseParam. Two cameras are required."); @@ -367,6 +372,8 @@ std::cout << " ElPackHomologue dddddddhhhhhhhhhhhhhhhhhhhhhh " << aN << " " << ElPackHomologue aPack; FromHomolToPack(aVC,aName1,aName2,aPack); + NbPts = 0; + if ( int(aPack.size()) > MinNbPtTri) { for (ElPackHomologue::const_iterator itP=aPack.begin(); itP!=aPack.end() ; itP++) @@ -406,6 +413,7 @@ std::cout << " ElPackHomologue dddddddhhhhhhhhhhhhhhhhhhhhhh " << aN << " " << // add to ellipse AddEllips(anEl,aInt,aPds); + NbPts++; } } @@ -419,7 +427,7 @@ std::cout << " ElPackHomologue dddddddhhhhhhhhhhhhhhhhhhhhhh " << aN << " " << bool cAppliFictObs::CalculateEllipseParam3(cXml_Elips3D& anEl,std::vector& aVC, - const std::string& aName1,const std::string& aName2,const std::string& aName3) + const std::string& aName1,const std::string& aName2,const std::string& aName3,int& NbPts) { ELISE_ASSERT(int(aVC.size())==3,"cAppliFictObs::CalculateEllipseParam. Three cameras are required."); @@ -516,7 +524,7 @@ bool cAppliFictObs::CalculateEllipseParam3(cXml_Elips3D& anEl,std::vector MinNbPtTri) { for (tListM::const_iterator itM=aLM.begin() ; itM!=aLM.end() ; itM++) @@ -557,7 +565,7 @@ bool cAppliFictObs::CalculateEllipseParam3(cXml_Elips3D& anEl,std::vector& aVC, { // recover tie-pts & tracks - std::string aKey = "NKS-Assoc-CplIm2Hom@"+mPrefHom+"@"+mHomExp; + std::string aKey = "NKS-Assoc-CplIm2Hom@"+mPrefHom+"@"+mHomExpIn; std::string aN = mNM->ICNM()->Assoc1To2(aKey,aName1,aName2,true); std::string aNInv = mNM->ICNM()->Assoc1To2(aKey,aName2,aName1,true); @@ -678,7 +686,7 @@ void cAppliFictObs::FromHomolToMap(std::vector& aVC, bool Hom23Inv=false; // recover tie-pts & tracks - std::string aKey = "NKS-Assoc-CplIm2Hom@" + mPrefHom + "@" + mHomExp; + std::string aKey = "NKS-Assoc-CplIm2Hom@" + mPrefHom + "@" + mHomExpIn; std::string aN12 = mNM->ICNM()->Assoc1To2(aKey,aName1,aName2,true); std::string aN12Inv = mNM->ICNM()->Assoc1To2(aKey,aName2,aName1,true); @@ -944,6 +952,9 @@ void cAppliFictObs::GenerateFicticiousObs() std::vector aVP; bool SUCCESS_ELLIPSE = false; + //Nb of points that contributed to ellipsoid generation + int aNbPts3D=0; + //triplets if (aT.second->mC3) { @@ -952,7 +963,8 @@ void cAppliFictObs::GenerateFicticiousObs() SUCCESS_ELLIPSE = CalculateEllipseParam3(anEl,aVC, mSetName->at(aT.second->mId1), mSetName->at(aT.second->mId2), - mSetName->at(aT.second->mId3)); + mSetName->at(aT.second->mId3), + aNbPts3D); //original tie-pts are used @@ -963,6 +975,9 @@ void cAppliFictObs::GenerateFicticiousObs() mSetName->at(aT.second->mId2), mSetName->at(aT.second->mId3), aVP); + + aNbPts3D = int(aVP.size()); + std::cout << "ORIGINAL PTS FOR: " << mSetName->at(aT.second->mId1) << " " << mSetName->at(aT.second->mId2) << " " << mSetName->at(aT.second->mId3) << "\n"; } @@ -975,6 +990,7 @@ void cAppliFictObs::GenerateFicticiousObs() mSetName->at(aT.second->mId3)); cXml_Ori3ImInit aXml3Ori = StdGetFromSI(aName3R,Xml_Ori3ImInit); anEl = aXml3Ori.Elips(); + aNbPts3D = aXml3Ori.NbTriplet(); } } else//cple @@ -983,7 +999,8 @@ void cAppliFictObs::GenerateFicticiousObs() { SUCCESS_ELLIPSE = CalculateEllipseParam2(anEl,aVC, mSetName->at(aT.second->mId1), - mSetName->at(aT.second->mId2)); + mSetName->at(aT.second->mId2), + aNbPts3D); //original tie-pts are used @@ -993,6 +1010,8 @@ void cAppliFictObs::GenerateFicticiousObs() mSetName->at(aT.second->mId1), mSetName->at(aT.second->mId2), aVP); + aNbPts3D = int(aVP.size()); + std::cout << "ORIGINAL PTS FOR: " << mSetName->at(aT.second->mId1) << " " << mSetName->at(aT.second->mId2) << "\n"; } @@ -1004,6 +1023,7 @@ void cAppliFictObs::GenerateFicticiousObs() mSetName->at(aT.second->mId2),true); cXml_Ori2Im aXml2Ori = StdGetFromSI(aNamOri,Xml_Ori2Im); anEl = aXml2Ori.Geom().Val().Elips(); + aNbPts3D = aXml2Ori.NbPts(); } } @@ -1053,8 +1073,8 @@ void cAppliFictObs::GenerateFicticiousObs() if (aTriIdsIn.size() >1) { - double aPds = CalcPoids(anEl.Pds()); - + double aPds = CalcPoids(aNbPts3D); + std::vector aAttr; aAttr.push_back(aPds); @@ -1155,7 +1175,7 @@ void cAppliFictObs::GenerateFicticiousObs() SaveHomol(aSaveTo); std::cout << "cAppliFictObs::GenerateFicticiousObs()" << " "; - cout << " " << aNPtNum << " points saved. " << "\n"; + cout << " " << aNPtNum << " points saved." << "\n"; } @@ -1163,14 +1183,15 @@ void cAppliFictObs::GenerateFicticiousObs() double cAppliFictObs::CalcPoids(double aPds) { double aRes=1; - int NbPtsMax = 500; + int NbPtsMax = 100; if (mPdsFun == "C") aRes=1.0; else if (mPdsFun=="L1") aRes= aPds / double(NbPtsMax); else if (mPdsFun == "L2") - aRes = std::pow(aPds,0.3) / std::pow(NbPtsMax,0.3); + aRes = 1- ((aPds*NbPtsMax) / (aPds+NbPtsMax))/aPds; + //aRes = std::pow(aPds,0.3) / std::pow(NbPtsMax,0.3); //std::cout << "CalcPoids:" << aPds << " " << aRes << "\n"; @@ -1211,19 +1232,21 @@ void cAppliFictObs::SaveHomolOne(std::vector& aId,std::vector& aPImV std::string aN1 = mSetName->at(aId.at(aK1)); std::string aN2 = mSetName->at(aId.at(aK2)); - std::string aNameH = mNM->ICNM()->Assoc1To2("NKS-Assoc-CplIm2Hom@"+mOut+"@"+mHomExp,aN1,aN2,true); + std::string aNameH = mNM->ICNM()->Assoc1To2("NKS-Assoc-CplIm2Hom@"+mOut+"@"+mHomExpOut,aN1,aN2,true); if (DicBoolFind(mHomRed,aNameH)) { - ElCplePtsHomologues aP(aPImV.at(aK1),aPImV.at(aK2),aAttr.at(aK1));//a priori peut importe lequel K pour l'attribute comme il sera homogene par track ie par ellipse + ElCplePtsHomologues aP(aPImV.at(aK1),aPImV.at(aK2),aAttr.at(0));//a priori peut importe lequel K pour l'attribute comme il sera homogene par track ie par ellipse mHomRed[aNameH]->Cple_Add(aP); + } } } } } + } /* Updates the per image residual and the global (i.e. camera res) */ @@ -1364,14 +1387,6 @@ void cAppliFictObs::Initialize() mNM = new cNewO_NameManager("",mPrefHom,true,mDir,mNameOriCalib,"dat"); - //initialize reduced tie-points - if (NFHom) - { - mPMulRed = new cSetTiePMul(1,mSetName); - } - else - InitNFHom(); - //update triplet orientations in mTriMap @@ -1474,6 +1489,7 @@ void cAppliFictObs::Initialize() } } + if (aTriNb!=0) { mSz = mTriMap[0]->mC1->Sz(); @@ -1481,12 +1497,25 @@ void cAppliFictObs::Initialize() } else ELISE_ASSERT(false,"cAppliFictObs::Initialize no couples or triplets found"); + + + + //initialize reduced tie-points + if (NFHom) + { + mPMulRed = new cSetTiePMul(1,mSetName); + } + else + InitNFHom(); + + + } void cAppliFictObs::InitNFHomOne(std::string& N1,std::string& N2) { - std::string aNameH = mNM->ICNM()->Assoc1To2("NKS-Assoc-CplIm2Hom@"+mOut+"@"+mHomExp,N1,N2,true); + std::string aNameH = mNM->ICNM()->Assoc1To2("NKS-Assoc-CplIm2Hom@"+mOut+"@"+mHomExpOut,N1,N2,true); if (! DicBoolFind(mHomRed,aNameH)) { From 60588ee72bbdeb9c8a7aceed4754274ce80fe350 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Tue, 14 Jan 2020 11:55:13 +0100 Subject: [PATCH 18/49] Fichier oublie --- MMVII/include/MMVII_Derivatives.h | 455 ++++++++++++++++++++++++++++++ 1 file changed, 455 insertions(+) create mode 100644 MMVII/include/MMVII_Derivatives.h diff --git a/MMVII/include/MMVII_Derivatives.h b/MMVII/include/MMVII_Derivatives.h new file mode 100644 index 0000000000..8052285633 --- /dev/null +++ b/MMVII/include/MMVII_Derivatives.h @@ -0,0 +1,455 @@ +#ifndef _MMVII_Derivatives_H_ +#define _MMVII_Derivatives_H_ + +#include "ExternalInclude/Eigen/Dense" + +namespace MMVII +{ + +/** \file MMVII_Derivatives.h + \brief Contains stuff necessary for computing derivatives, dont know if MMVII + will use jets or generate code, for now it's interface for test +*/ + +class cInterfaceTestCam; // Interface for tested derivative +struct cVarEpsNum; // More or less like Ceres +template struct cEpsNum; // Sparse implementation of jets + + +/* *********************************************** */ +/* */ +/* :: */ +/* */ +/* *********************************************** */ + + +/** Class that is can interface for computing derivative of a camera (projection fonction) + derived are typically jets or generated code */ + +class cInterfaceTestCam +{ + public : + + /// initialize parameteres from "raw" vector + virtual void InitFromParams(const std::vector &) = 0; + /// compute values and derivatives and fill in VVals and VDer + virtual void Compute(std::vector & VVals,std::vector > & VDer)=0; + /// Makes Nb computation (time bench ...) + virtual void Compute(int aNb) =0; + /// Allocate a MMV1 object + static cInterfaceTestCam * AllocMMV1(); +}; + +/* ************************************** */ +/* */ +/* cVarEpsNum */ +/* */ +/* ************************************** */ + +/** cVarEpsNum functionnaly equivalent to cEpsNum, but are a tentative of optimization + taking into account the sparseness. The implementation use a vector of non null indexes. +*/ + +struct cVarEpsNum +{ + // ====================== Data =========== + private : + // ----- static data for buffering + static const int SzBuf = 1000; + static double BufEps[SzBuf]; + static bool IsInit; + public : + // ----- member data + double mNum; ///< Real value + std::vector mVInd; ///< Index of non 0 epsilon value + std::vector mVEps; ///< Value of non 0 + // ====================== Methods =========== + + /// Constructor for a "pure" number + inline cVarEpsNum(double aNum) : + mNum (aNum) + { + Init(); + } + /// Default Constructor convenient + inline cVarEpsNum() : + cVarEpsNum (0.0) + { + } + /// Constructor for number + dXk + inline cVarEpsNum(double aNum,int aK) : + cVarEpsNum (aNum) + { + AddVal(1.0,aK); + } + + /// Add aVal * dXk + inline void AddVal(double aVal,int aK) + { + mVEps.push_back(aVal); + mVInd.push_back(aK); + } + /** This constructor can be used in any "functionnal" composition + for exemple cos(g) => (g,cos(g.mNum),-sin(g.mNum)) */ + inline cVarEpsNum(const cVarEpsNum & aVEN,double aNum,double aMul) : + mNum (aNum), + mVInd (aVEN.mVInd), + mVEps (aVEN.mVEps) + { + for (auto & aEps : mVEps) + aEps *= aMul; + } + + inline cVarEpsNum(const double & aNum,const std::vector&aVInd,const std::vector&aVEps) : + mNum (aNum), + mVInd (aVInd), + mVEps (aVEps) + { + } + /// som + inline cVarEpsNum operator+(const cVarEpsNum& g) const + { + cVarEpsNum aRes(mNum+g.mNum); + + SetInBuf(); + g.AddToBuf(); + + BuffAdd(aRes); + g.BuffAdd(aRes); + + return aRes; + } + + /// products + inline cVarEpsNum operator*(const cVarEpsNum& g) const + { + cVarEpsNum aRes(mNum*g.mNum); + + AddToBuf(g.mNum); + g.AddToBuf(mNum); + + BuffAdd(aRes); + g.BuffAdd(aRes); + + return aRes; + } + /// Diff + cVarEpsNum operator-(const cVarEpsNum& g) const + { + cVarEpsNum aRes(mNum-g.mNum); + + SetInBuf(); + g.SubToBuf(); + + BuffAdd(aRes); + g.BuffAdd(aRes); + + return aRes; + } + /// Div + cVarEpsNum operator/(const cVarEpsNum& g) const + { + cVarEpsNum aRes(mNum/g.mNum); + + AddToBuf(1.0/g.mNum); + g.AddToBuf(-mNum/Square(g.mNum)); + + BuffAdd(aRes); + g.BuffAdd(aRes); + + return aRes; + } + + + /// Ensure that BufEps is clear + static void Init() + { + if (IsInit) return; // If not first time, job already done + IsInit = true; // next will not be first + for (int aK=0 ; aK */ +/* */ +/* ************************************** */ + +/** cEpsNum are more or less equivalent to Ceres jets : + it's a number + infininetely small in R^N + + Just wanted to be independant of Ceres during tests. +*/ + + +template struct cEpsNum { + + // ====================== Data =========== + + double mNum; ///< The number + Eigen::Matrix mEps; ///< The infinitely small part + + // ====================== Methods =========== + + /// Full constructor from Num + small + cEpsNum(const double & aNum,const Eigen::Matrix & aEps) : + mNum (aNum), + mEps (aEps) + { + } + + /// constructor only numeric + cEpsNum(double aNum) : + cEpsNum (aNum,Eigen::Matrix::Zero()) + { + } + + /// constructor Num + dXk + cEpsNum(const double & aNum,int aK) : + cEpsNum (aNum) + { + mEps(aK) = 1.0; + } + /// sometime need a def constructor + cEpsNum() : + cEpsNum(0.0) + { + } + cVarEpsNum ToVEN() const; + static cEpsNum Random(double Densite) + { + cEpsNum aRes(N*RandUnif_C()); + for (int aK=0 ; aK cEpsNum operator+(const cEpsNum& f, const cEpsNum& g) { + return cEpsNum(f.mNum + g.mNum, f.mEps + g.mEps); +} + +template cEpsNum operator+(const double & f, const cEpsNum& g) { + return cEpsNum(f + g.mNum, g.mEps); +} +template cEpsNum operator+(const cEpsNum& g,const double & f) { + return f+g; +} + // ====== operator - ============= + +template cEpsNum operator-(const cEpsNum& f, const cEpsNum& g) { + return cEpsNum(f.mNum - g.mNum, f.mEps - g.mEps); +} + +template cEpsNum operator-(const double & f, const cEpsNum& g) { + return cEpsNum(f - g.mNum, -g.mEps); +} +template cEpsNum operator-(const cEpsNum& g,const double & f) { + return cEpsNum(g.mNum -f, g.mEps); +} + + // ====== operator * ============= + +template cEpsNum operator*(const cEpsNum& f, const cEpsNum& g) { + return cEpsNum(f.mNum * g.mNum, g.mNum * f.mEps + f.mNum * g.mEps); +} +template cEpsNum operator*(const double & f, const cEpsNum& g) { + return cEpsNum(f*g.mNum,f*g.mEps); +} +template cEpsNum operator*(const cEpsNum& g,const double & f) { + return f*g; +} + + // ====== operator / ============= + +template cEpsNum operator/(const cEpsNum& f, const cEpsNum& g) { + return cEpsNum(f.mNum / g.mNum, (f.mEps / g.mNum) - g.mEps *(f.mNum/Square(g.mNum))); +} + +template cEpsNum Square(const cEpsNum& f) { + return cEpsNum(Square(f.mNum) , 2* f.mNum* f.mEps ); +} + +template cEpsNum Cube(const cEpsNum& f) { + return cEpsNum(Cube(f.mNum) , (3*Square(f.mNum)) * f.mEps ); +} + + // = conversion to Sparse + +template cVarEpsNum cEpsNum::ToVEN() const +{ + cVarEpsNum aRes(mNum); + for (int aK=0 ; aK cEpsNum COS(const cEpsNum& f) { + return cEpsNum(cos(f.mNum),-sin(f.mNum)*f.mEps); +} + +/* ************************************** */ +/* */ +/* :: */ +/* */ +/* ************************************** */ + +inline double COS(const double & v) {return cos(v);} + +/** Compute de difference between a sparse jet and a standard jet, used + to check the consistency of the jets */ + +template double EpsDifference(const cEpsNum & aEps,const cVarEpsNum & aVarEps) +{ + cVarEpsNum::Init(); + // take into account the standard value + double aRes= std::abs(aEps.mNum - aVarEps.mNum); + cEpsNum aEps2; // will be used to convert aVarEps + + for (unsigned int aK=0 ; aK=N) // Is over size, do as if value was 0 + aRes += std::abs(aVal); + else // else put it in the non sparse representation + aEps2.mEps[aInd] += aVal; + } + // now add the difference of value under N + for (int aK=0 ; aK Date: Sat, 25 Jan 2020 13:23:35 +0100 Subject: [PATCH 19/49] V0 Compensation INS complete . To test ... --- CodeGenere/File2String/Str_ParamApero.cpp | 6 +- .../Str_ParamChantierPhotogram.cpp | 39 +- include/XML_GEN/ParamApero.xml | 6 +- include/XML_GEN/ParamChantierPhotogram.h | 219 +++++- include/XML_GEN/ParamChantierPhotogram.xml | 37 + include/XML_MicMac/Apero-Compense.xml | 15 + include/general/phgr_formel.h | 5 +- src/CBinaires/mm3d.cpp | 6 + src/TpMMPD/SimuBBA/SimuRolShut.cpp | 7 +- src/XML_GEN/ParamChantierPhotogram.cpp | 684 +++++++++++++++++- src/photogram/phgr_extrinseque.cpp | 35 + src/photogram/phgr_formel.cpp | 24 +- src/uti_files/CPP_Ori_txt2Xml.cpp | 17 +- src/uti_files/CPP_TestKeys.cpp | 32 + src/uti_phgrm/Apero/AFaire.txt | 3 + src/uti_phgrm/Apero/Apero.h | 2 + src/uti_phgrm/Apero/cAA_Compensation.cpp | 6 + src/uti_phgrm/Apero/cParamApero.cpp | 102 +-- src/uti_phgrm/Apero/cParamApero.h | 42 +- src/uti_phgrm/Apero/cPose.cpp | 18 +- src/uti_phgrm/Apero/cPosePolynGenCam.cpp | 4 + src/uti_phgrm/CPP_Block.cpp | 469 +++++++++++- src/uti_phgrm/CPP_Campari.cpp | 15 + src/uti_phgrm/CPP_HomFilterMasq.cpp | 36 +- src/uti_phgrm/CPP_Nuage2Ply.cpp | 2 +- 25 files changed, 1688 insertions(+), 143 deletions(-) diff --git a/CodeGenere/File2String/Str_ParamApero.cpp b/CodeGenere/File2String/Str_ParamApero.cpp index 76ef91bbe5..540d8d23bd 100644 --- a/CodeGenere/File2String/Str_ParamApero.cpp +++ b/CodeGenere/File2String/Str_ParamApero.cpp @@ -977,9 +977,9 @@ const char * theNameVar_ParamApero[1855] = { " \n", " \n", " \n", -" \n", -" \n", -" \n", +" \n", +" \n", +" \n", " \n", " \n", "\n", diff --git a/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp b/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp index 967274895e..ce0d45a6df 100644 --- a/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp +++ b/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp @@ -1,5 +1,5 @@ #include "StdAfx.h" -const char * theNameVar_ParamChantierPhotogram[2124] = { +const char * theNameVar_ParamChantierPhotogram[2161] = { "\n", "\n", "\n", @@ -2111,6 +2111,43 @@ const char * theNameVar_ParamChantierPhotogram[2124] = { " \n", "\n", "\n", +"\n", +"\n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +"\n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +"\n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +" \n", +"\n", +"\n", +"\n", "\n", "// };\n", "\n", diff --git a/include/XML_GEN/ParamApero.xml b/include/XML_GEN/ParamApero.xml index d1fe3835ce..c5b5332046 100644 --- a/include/XML_GEN/ParamApero.xml +++ b/include/XML_GEN/ParamApero.xml @@ -975,9 +975,9 @@ se limite a tester les 2 algo et a selectionner le meilleur. A priori peut pas f - - - + + + diff --git a/include/XML_GEN/ParamChantierPhotogram.h b/include/XML_GEN/ParamChantierPhotogram.h index 9a725beb01..a5075a757e 100644 --- a/include/XML_GEN/ParamChantierPhotogram.h +++ b/include/XML_GEN/ParamChantierPhotogram.h @@ -2442,8 +2442,6 @@ class cOneMesureAF1I Pt2dr & PtIm(); const Pt2dr & PtIm()const ; - - void SetPtIm(Pt2dr & aPt); private: cTplValGesInit< double > mPrecPointe; std::string mNamePt; @@ -7903,6 +7901,223 @@ void BinaryUnDumpFromFile(cXml_SpecifAllMMCmd &,ELISE_fp &); std::string Mangling( cXml_SpecifAllMMCmd *); +/******************************************************/ +/******************************************************/ +/******************************************************/ +class cGS_OneLinear +{ + public: + cGlobXmlGen mGXml; + + friend void xml_init(cGS_OneLinear & anObj,cElXMLTree * aTree); + + + cTplValGesInit< int > & Period(); + const cTplValGesInit< int > & Period()const ; + + int & DeltaMin(); + const int & DeltaMin()const ; + + int & DeltaMax(); + const int & DeltaMax()const ; + + std::list< cCpleString > & CpleGrp(); + const std::list< cCpleString > & CpleGrp()const ; + private: + cTplValGesInit< int > mPeriod; + int mDeltaMin; + int mDeltaMax; + std::list< cCpleString > mCpleGrp; +}; +cElXMLTree * ToXMLTree(const cGS_OneLinear &); + +void BinaryDumpInFile(ELISE_fp &,const cGS_OneLinear &); + +void BinaryUnDumpFromFile(cGS_OneLinear &,ELISE_fp &); + +std::string Mangling( cGS_OneLinear *); + +class cGS_SectionLinear +{ + public: + cGlobXmlGen mGXml; + + friend void xml_init(cGS_SectionLinear & anObj,cElXMLTree * aTree); + + + std::list< cGS_OneLinear > & GS_OneLinear(); + const std::list< cGS_OneLinear > & GS_OneLinear()const ; + private: + std::list< cGS_OneLinear > mGS_OneLinear; +}; +cElXMLTree * ToXMLTree(const cGS_SectionLinear &); + +void BinaryDumpInFile(ELISE_fp &,const cGS_SectionLinear &); + +void BinaryUnDumpFromFile(cGS_SectionLinear &,ELISE_fp &); + +std::string Mangling( cGS_SectionLinear *); + +/******************************************************/ +/******************************************************/ +/******************************************************/ +class cGS_SectionCross +{ + public: + cGlobXmlGen mGXml; + + friend void xml_init(cGS_SectionCross & anObj,cElXMLTree * aTree); + + + double & DistMax(); + const double & DistMax()const ; + + double & DistCurvMin(); + const double & DistCurvMin()const ; + + double & AngleMinSpeed(); + const double & AngleMinSpeed()const ; + + double & DistMinTraj(); + const double & DistMinTraj()const ; + + std::list< std::string > & ListCam(); + const std::list< std::string > & ListCam()const ; + private: + double mDistMax; + double mDistCurvMin; + double mAngleMinSpeed; + double mDistMinTraj; + std::list< std::string > mListCam; +}; +cElXMLTree * ToXMLTree(const cGS_SectionCross &); + +void BinaryDumpInFile(ELISE_fp &,const cGS_SectionCross &); + +void BinaryUnDumpFromFile(cGS_SectionCross &,ELISE_fp &); + +std::string Mangling( cGS_SectionCross *); + +/******************************************************/ +/******************************************************/ +/******************************************************/ +class cOneInterv_OT +{ + public: + cGlobXmlGen mGXml; + + friend void xml_init(cOneInterv_OT & anObj,cElXMLTree * aTree); + + + double & DistMax(); + const double & DistMax()const ; + + std::list< cCpleString > & CpleGrp(); + const std::list< cCpleString > & CpleGrp()const ; + private: + double mDistMax; + std::list< cCpleString > mCpleGrp; +}; +cElXMLTree * ToXMLTree(const cOneInterv_OT &); + +void BinaryDumpInFile(ELISE_fp &,const cOneInterv_OT &); + +void BinaryUnDumpFromFile(cOneInterv_OT &,ELISE_fp &); + +std::string Mangling( cOneInterv_OT *); + +class cGS_SectionOverlapingTraj +{ + public: + cGlobXmlGen mGXml; + + friend void xml_init(cGS_SectionOverlapingTraj & anObj,cElXMLTree * aTree); + + + double & AngleMaxSpeed(); + const double & AngleMaxSpeed()const ; + + double & DistMaxTraj(); + const double & DistMaxTraj()const ; + + std::list< cOneInterv_OT > & OneInterv_OT(); + const std::list< cOneInterv_OT > & OneInterv_OT()const ; + private: + double mAngleMaxSpeed; + double mDistMaxTraj; + std::list< cOneInterv_OT > mOneInterv_OT; +}; +cElXMLTree * ToXMLTree(const cGS_SectionOverlapingTraj &); + +void BinaryDumpInFile(ELISE_fp &,const cGS_SectionOverlapingTraj &); + +void BinaryUnDumpFromFile(cGS_SectionOverlapingTraj &,ELISE_fp &); + +std::string Mangling( cGS_SectionOverlapingTraj *); + +/******************************************************/ +/******************************************************/ +/******************************************************/ +class cXml_ParamGraphStereopolis +{ + public: + cGlobXmlGen mGXml; + + friend void xml_init(cXml_ParamGraphStereopolis & anObj,cElXMLTree * aTree); + + + std::string & NameGrpC(); + const std::string & NameGrpC()const ; + + std::list< cGS_OneLinear > & GS_OneLinear(); + const std::list< cGS_OneLinear > & GS_OneLinear()const ; + + cTplValGesInit< cGS_SectionLinear > & GS_SectionLinear(); + const cTplValGesInit< cGS_SectionLinear > & GS_SectionLinear()const ; + + double & DistMax(); + const double & DistMax()const ; + + double & DistCurvMin(); + const double & DistCurvMin()const ; + + double & AngleMinSpeed(); + const double & AngleMinSpeed()const ; + + double & DistMinTraj(); + const double & DistMinTraj()const ; + + std::list< std::string > & ListCam(); + const std::list< std::string > & ListCam()const ; + + cTplValGesInit< cGS_SectionCross > & GS_SectionCross(); + const cTplValGesInit< cGS_SectionCross > & GS_SectionCross()const ; + + double & AngleMaxSpeed(); + const double & AngleMaxSpeed()const ; + + double & DistMaxTraj(); + const double & DistMaxTraj()const ; + + std::list< cOneInterv_OT > & OneInterv_OT(); + const std::list< cOneInterv_OT > & OneInterv_OT()const ; + + cTplValGesInit< cGS_SectionOverlapingTraj > & GS_SectionOverlapingTraj(); + const cTplValGesInit< cGS_SectionOverlapingTraj > & GS_SectionOverlapingTraj()const ; + private: + std::string mNameGrpC; + cTplValGesInit< cGS_SectionLinear > mGS_SectionLinear; + cTplValGesInit< cGS_SectionCross > mGS_SectionCross; + cTplValGesInit< cGS_SectionOverlapingTraj > mGS_SectionOverlapingTraj; +}; +cElXMLTree * ToXMLTree(const cXml_ParamGraphStereopolis &); + +void BinaryDumpInFile(ELISE_fp &,const cXml_ParamGraphStereopolis &); + +void BinaryUnDumpFromFile(cXml_ParamGraphStereopolis &,ELISE_fp &); + +std::string Mangling( cXml_ParamGraphStereopolis *); + /******************************************************/ /******************************************************/ /******************************************************/ diff --git a/include/XML_GEN/ParamChantierPhotogram.xml b/include/XML_GEN/ParamChantierPhotogram.xml index bea46864a6..04872de4fe 100644 --- a/include/XML_GEN/ParamChantierPhotogram.xml +++ b/include/XML_GEN/ParamChantierPhotogram.xml @@ -2109,6 +2109,43 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + // }; diff --git a/include/XML_MicMac/Apero-Compense.xml b/include/XML_MicMac/Apero-Compense.xml index 7810b00970..70acc9faae 100644 --- a/include/XML_MicMac/Apero-Compense.xml +++ b/include/XML_MicMac/Apero-Compense.xml @@ -225,6 +225,12 @@ NumAttrPdsNewF=-1 + + WithROP=false + ROPSigmaC=-11.0 + ROPSigmaR=-11.0 + ROPOrient="XXX_RopOrient" + ROPPattern="XXX_RopPattern" @@ -262,6 +268,7 @@ NKS-Set-Orient@${AeroIn} NKS-Assoc-Im2Orient@${AeroIn} + <#WHEN VTEST=${WithGCP}> @@ -470,6 +477,14 @@ + <#WHEN VTEST=${WithROP}> + + ${ROPOrient} + ${ROPSigmaC} + ${ROPSigmaR} + ${ROPPattern} + + ${NumAttrPdsNewF} ${ExportMatrixMarket} ${RatioMaxDistCS} diff --git a/include/general/phgr_formel.h b/include/general/phgr_formel.h index ce1cb0519a..dc939fbe8b 100644 --- a/include/general/phgr_formel.h +++ b/include/general/phgr_formel.h @@ -453,7 +453,8 @@ class cElemEqFormelle : public cNameSpaceEqF const cIncIntervale & IncInterv() const; cIncIntervale & IncInterv() ; tContFcteur & AllFonct(); - void AddFoncRappInit(cMultiContEQF &,INT i0,INT i1,double aTol); + // Is aVals given, its not on init value but on vals, then its size must be equal to i1-i0 + void AddFoncRappInit(cMultiContEQF &,INT i0,INT i1,double aTol,std::vector* aVals=nullptr); REAL AddRappViscosite ( const std::string & aContexte, @@ -1539,6 +1540,8 @@ class cRotationFormelle : public cElemEqFormelle, void SetTolCentre(double); Pt3dr AddRappOnCentre(const Pt3dr & aVal,const Pt3dr & aPds,bool WithDerSec); + void AddRappOnRot(const ElRotation3D & aRot,const Pt3dr & aPdsC,const Pt3dr & aPdsRot); + void ReactuFcteurRapCoU(); // cMatr_Etat_PhgrF & MatGL(bool) ; // Mode Gimbal Lock diff --git a/src/CBinaires/mm3d.cpp b/src/CBinaires/mm3d.cpp index b4d7332b77..83c7609236 100644 --- a/src/CBinaires/mm3d.cpp +++ b/src/CBinaires/mm3d.cpp @@ -41,6 +41,8 @@ Header-MicMac-eLiSe-25/06/2007*/ #define DEF_OFSET -12349876 +int Recover_Main(int argc, char ** argv); + int XLib_Main(int argc, char ** argv); const cArgLogCom cArgLogCom::NoLog(-1); @@ -256,6 +258,8 @@ int DroneFootPrint(int argc,char ** argv); int Image_Vide(int argc,char ** argv); int PPMD_MatEss2Orient(int argc,char ** argv); +int GrapheStereopolis_main(int argc,char ** argv); + std::vector& AddLib(std::vector & aVC, const std::string & aLib) @@ -370,6 +374,7 @@ const std::vector & getAvailableCommands() aRes.push_back(cMMCom("CenterBascule", CentreBascule_main, " Relative to absolute using embedded GPS", cArgLogCom(2))); aRes.push_back(cMMCom("GrapheHom", GrapheHom_main, "Compute XML-Visibility graph from approximate orientation", cArgLogCom(3))); + aRes.push_back(cMMCom("GrapheStereopolis", GrapheStereopolis_main,"Compute Pair of Image for Stereopolis", cArgLogCom(2))); aRes.push_back(cMMCom("GCPConvert", GCP_Txt2Xml_main, "Convert GCP from Txt 2 XML", cArgLogCom(3))); aRes.push_back(cMMCom("OriConvert", Ori_Txt2Xml_main, "Convert Orientation from Txt 2 XML", cArgLogCom(3))); aRes.push_back(cMMCom("OriExport", OriExport_main, "Export orientation from XML to XML or TXT with specified convention", cArgLogCom(3))); @@ -477,6 +482,7 @@ const std::vector & getAvailableCommands() aRes.push_back(cMMCom("TestChantier", TestChantier_main, " Test global acquisition")); aRes.push_back(cMMCom("TestKey", TestSet_main, " Test Keys for Sets and Assoc")); + aRes.push_back(cMMCom("Recover", Recover_Main, " Basic tool for recover files")); aRes.push_back(cMMCom("TestNameCalib", TestNameCalib_main, " Test Name of calibration")); aRes.push_back(cMMCom("TestMTD", TestMTD_main, " Test meta data of image")); aRes.push_back(cMMCom("TestCmds", TestCmds_main, " Test MM3D commands on micmac_data sets")); diff --git a/src/TpMMPD/SimuBBA/SimuRolShut.cpp b/src/TpMMPD/SimuBBA/SimuRolShut.cpp index 7c77679a21..2572f484ed 100644 --- a/src/TpMMPD/SimuBBA/SimuRolShut.cpp +++ b/src/TpMMPD/SimuBBA/SimuRolShut.cpp @@ -842,15 +842,16 @@ int ReechRolShutV1_main(int argc, char ** argv) for(auto & aMAF : aLMAF) { std::string aNameIm = aMAF.NameIm(); - std::list & aMes = aMAF.OneMesureAF1I(); + //std::list & aMes = aMAF.OneMesureAF1I(); std::cout << aNameIm << endl; - for(auto & aOneMes : aMes) + for(auto & aOneMes : aMAF.OneMesureAF1I()) { Pt2dr aPt = aOneMes.PtIm(); std::cout << aOneMes.NamePt() << " before:" << aOneMes.PtIm(); Pt2dr aNewPt = Pt2dr(aPt.x,aPt.y*aMapReechScale[aNameIm]); - aOneMes.SetPtIm(aNewPt); + // aOneMes.SetPtIm(aNewPt); ==> MPD D'OU VIENT CETTE FONCTION ??? COMPILE PAS + aOneMes.PtIm() = aNewPt; std::cout << " after:" << aOneMes.PtIm() << endl; } } diff --git a/src/XML_GEN/ParamChantierPhotogram.cpp b/src/XML_GEN/ParamChantierPhotogram.cpp index 1238f467db..5487b387d6 100644 --- a/src/XML_GEN/ParamChantierPhotogram.cpp +++ b/src/XML_GEN/ParamChantierPhotogram.cpp @@ -6994,11 +6994,6 @@ const Pt2dr & cOneMesureAF1I::PtIm()const return mPtIm; } -void cOneMesureAF1I::SetPtIm(Pt2dr & aPt) -{ - mPtIm = aPt; -} - void BinaryUnDumpFromFile(cOneMesureAF1I & anObj,ELISE_fp & aFp) { { bool IsInit; @@ -24419,4 +24414,683 @@ void xml_init(cXml_SpecifAllMMCmd & anObj,cElXMLTree * aTree) std::string Mangling( cXml_SpecifAllMMCmd *) {return "20390C65F56AF2DEFB3F";}; + +cTplValGesInit< int > & cGS_OneLinear::Period() +{ + return mPeriod; +} + +const cTplValGesInit< int > & cGS_OneLinear::Period()const +{ + return mPeriod; +} + + +int & cGS_OneLinear::DeltaMin() +{ + return mDeltaMin; +} + +const int & cGS_OneLinear::DeltaMin()const +{ + return mDeltaMin; +} + + +int & cGS_OneLinear::DeltaMax() +{ + return mDeltaMax; +} + +const int & cGS_OneLinear::DeltaMax()const +{ + return mDeltaMax; +} + + +std::list< cCpleString > & cGS_OneLinear::CpleGrp() +{ + return mCpleGrp; +} + +const std::list< cCpleString > & cGS_OneLinear::CpleGrp()const +{ + return mCpleGrp; +} + +void BinaryUnDumpFromFile(cGS_OneLinear & anObj,ELISE_fp & aFp) +{ + { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.Period().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.Period().ValForcedForUnUmp(),aFp); + } + else anObj.Period().SetNoInit(); + } ; + BinaryUnDumpFromFile(anObj.DeltaMin(),aFp); + BinaryUnDumpFromFile(anObj.DeltaMax(),aFp); + { int aNb; + BinaryUnDumpFromFile(aNb,aFp); + for( int aK=0 ; aK::const_iterator iT=anObj.CpleGrp().begin(); + iT!=anObj.CpleGrp().end(); + iT++ + ) + BinaryDumpInFile(aFp,*iT); +} + +cElXMLTree * ToXMLTree(const cGS_OneLinear & anObj) +{ + XMLPushContext(anObj.mGXml); + cElXMLTree * aRes = new cElXMLTree((cElXMLTree *)0,"GS_OneLinear",eXMLBranche); + if (anObj.Period().IsInit()) + aRes->AddFils(::ToXMLTree(std::string("Period"),anObj.Period().Val())->ReTagThis("Period")); + aRes->AddFils(::ToXMLTree(std::string("DeltaMin"),anObj.DeltaMin())->ReTagThis("DeltaMin")); + aRes->AddFils(::ToXMLTree(std::string("DeltaMax"),anObj.DeltaMax())->ReTagThis("DeltaMax")); + for + ( std::list< cCpleString >::const_iterator it=anObj.CpleGrp().begin(); + it !=anObj.CpleGrp().end(); + it++ + ) + aRes->AddFils(::ToXMLTree(std::string("CpleGrp"),(*it))->ReTagThis("CpleGrp")); + aRes->mGXml = anObj.mGXml; + XMLPopContext(anObj.mGXml); + return aRes; +} + +void xml_init(cGS_OneLinear & anObj,cElXMLTree * aTree) +{ + if (aTree==0) return; + anObj.mGXml = aTree->mGXml; + + xml_init(anObj.Period(),aTree->Get("Period",1),int(1)); //tototo + + xml_init(anObj.DeltaMin(),aTree->Get("DeltaMin",1)); //tototo + + xml_init(anObj.DeltaMax(),aTree->Get("DeltaMax",1)); //tototo + + xml_init(anObj.CpleGrp(),aTree->GetAll("CpleGrp",false,1)); +} + +std::string Mangling( cGS_OneLinear *) {return "58A1E21FDC4D6BC8FDBF";}; + + +std::list< cGS_OneLinear > & cGS_SectionLinear::GS_OneLinear() +{ + return mGS_OneLinear; +} + +const std::list< cGS_OneLinear > & cGS_SectionLinear::GS_OneLinear()const +{ + return mGS_OneLinear; +} + +void BinaryUnDumpFromFile(cGS_SectionLinear & anObj,ELISE_fp & aFp) +{ + { int aNb; + BinaryUnDumpFromFile(aNb,aFp); + for( int aK=0 ; aK::const_iterator iT=anObj.GS_OneLinear().begin(); + iT!=anObj.GS_OneLinear().end(); + iT++ + ) + BinaryDumpInFile(aFp,*iT); +} + +cElXMLTree * ToXMLTree(const cGS_SectionLinear & anObj) +{ + XMLPushContext(anObj.mGXml); + cElXMLTree * aRes = new cElXMLTree((cElXMLTree *)0,"GS_SectionLinear",eXMLBranche); + for + ( std::list< cGS_OneLinear >::const_iterator it=anObj.GS_OneLinear().begin(); + it !=anObj.GS_OneLinear().end(); + it++ + ) + aRes->AddFils(ToXMLTree((*it))->ReTagThis("GS_OneLinear")); + aRes->mGXml = anObj.mGXml; + XMLPopContext(anObj.mGXml); + return aRes; +} + +void xml_init(cGS_SectionLinear & anObj,cElXMLTree * aTree) +{ + if (aTree==0) return; + anObj.mGXml = aTree->mGXml; + + xml_init(anObj.GS_OneLinear(),aTree->GetAll("GS_OneLinear",false,1)); +} + +std::string Mangling( cGS_SectionLinear *) {return "5AD3092E3A64FEC0FE3F";}; + + +double & cGS_SectionCross::DistMax() +{ + return mDistMax; +} + +const double & cGS_SectionCross::DistMax()const +{ + return mDistMax; +} + + +double & cGS_SectionCross::DistCurvMin() +{ + return mDistCurvMin; +} + +const double & cGS_SectionCross::DistCurvMin()const +{ + return mDistCurvMin; +} + + +double & cGS_SectionCross::AngleMinSpeed() +{ + return mAngleMinSpeed; +} + +const double & cGS_SectionCross::AngleMinSpeed()const +{ + return mAngleMinSpeed; +} + + +double & cGS_SectionCross::DistMinTraj() +{ + return mDistMinTraj; +} + +const double & cGS_SectionCross::DistMinTraj()const +{ + return mDistMinTraj; +} + + +std::list< std::string > & cGS_SectionCross::ListCam() +{ + return mListCam; +} + +const std::list< std::string > & cGS_SectionCross::ListCam()const +{ + return mListCam; +} + +void BinaryUnDumpFromFile(cGS_SectionCross & anObj,ELISE_fp & aFp) +{ + BinaryUnDumpFromFile(anObj.DistMax(),aFp); + BinaryUnDumpFromFile(anObj.DistCurvMin(),aFp); + BinaryUnDumpFromFile(anObj.AngleMinSpeed(),aFp); + BinaryUnDumpFromFile(anObj.DistMinTraj(),aFp); + { int aNb; + BinaryUnDumpFromFile(aNb,aFp); + for( int aK=0 ; aK::const_iterator iT=anObj.ListCam().begin(); + iT!=anObj.ListCam().end(); + iT++ + ) + BinaryDumpInFile(aFp,*iT); +} + +cElXMLTree * ToXMLTree(const cGS_SectionCross & anObj) +{ + XMLPushContext(anObj.mGXml); + cElXMLTree * aRes = new cElXMLTree((cElXMLTree *)0,"GS_SectionCross",eXMLBranche); + aRes->AddFils(::ToXMLTree(std::string("DistMax"),anObj.DistMax())->ReTagThis("DistMax")); + aRes->AddFils(::ToXMLTree(std::string("DistCurvMin"),anObj.DistCurvMin())->ReTagThis("DistCurvMin")); + aRes->AddFils(::ToXMLTree(std::string("AngleMinSpeed"),anObj.AngleMinSpeed())->ReTagThis("AngleMinSpeed")); + aRes->AddFils(::ToXMLTree(std::string("DistMinTraj"),anObj.DistMinTraj())->ReTagThis("DistMinTraj")); + for + ( std::list< std::string >::const_iterator it=anObj.ListCam().begin(); + it !=anObj.ListCam().end(); + it++ + ) + aRes->AddFils(::ToXMLTree(std::string("ListCam"),(*it))->ReTagThis("ListCam")); + aRes->mGXml = anObj.mGXml; + XMLPopContext(anObj.mGXml); + return aRes; +} + +void xml_init(cGS_SectionCross & anObj,cElXMLTree * aTree) +{ + if (aTree==0) return; + anObj.mGXml = aTree->mGXml; + + xml_init(anObj.DistMax(),aTree->Get("DistMax",1)); //tototo + + xml_init(anObj.DistCurvMin(),aTree->Get("DistCurvMin",1)); //tototo + + xml_init(anObj.AngleMinSpeed(),aTree->Get("AngleMinSpeed",1)); //tototo + + xml_init(anObj.DistMinTraj(),aTree->Get("DistMinTraj",1)); //tototo + + xml_init(anObj.ListCam(),aTree->GetAll("ListCam",false,1)); +} + +std::string Mangling( cGS_SectionCross *) {return "1722A5927232D4EEFC3F";}; + + +double & cOneInterv_OT::DistMax() +{ + return mDistMax; +} + +const double & cOneInterv_OT::DistMax()const +{ + return mDistMax; +} + + +std::list< cCpleString > & cOneInterv_OT::CpleGrp() +{ + return mCpleGrp; +} + +const std::list< cCpleString > & cOneInterv_OT::CpleGrp()const +{ + return mCpleGrp; +} + +void BinaryUnDumpFromFile(cOneInterv_OT & anObj,ELISE_fp & aFp) +{ + BinaryUnDumpFromFile(anObj.DistMax(),aFp); + { int aNb; + BinaryUnDumpFromFile(aNb,aFp); + for( int aK=0 ; aK::const_iterator iT=anObj.CpleGrp().begin(); + iT!=anObj.CpleGrp().end(); + iT++ + ) + BinaryDumpInFile(aFp,*iT); +} + +cElXMLTree * ToXMLTree(const cOneInterv_OT & anObj) +{ + XMLPushContext(anObj.mGXml); + cElXMLTree * aRes = new cElXMLTree((cElXMLTree *)0,"OneInterv_OT",eXMLBranche); + aRes->AddFils(::ToXMLTree(std::string("DistMax"),anObj.DistMax())->ReTagThis("DistMax")); + for + ( std::list< cCpleString >::const_iterator it=anObj.CpleGrp().begin(); + it !=anObj.CpleGrp().end(); + it++ + ) + aRes->AddFils(::ToXMLTree(std::string("CpleGrp"),(*it))->ReTagThis("CpleGrp")); + aRes->mGXml = anObj.mGXml; + XMLPopContext(anObj.mGXml); + return aRes; +} + +void xml_init(cOneInterv_OT & anObj,cElXMLTree * aTree) +{ + if (aTree==0) return; + anObj.mGXml = aTree->mGXml; + + xml_init(anObj.DistMax(),aTree->Get("DistMax",1)); //tototo + + xml_init(anObj.CpleGrp(),aTree->GetAll("CpleGrp",false,1)); +} + +std::string Mangling( cOneInterv_OT *) {return "58C0CB36EE31F8ABFA3F";}; + + +double & cGS_SectionOverlapingTraj::AngleMaxSpeed() +{ + return mAngleMaxSpeed; +} + +const double & cGS_SectionOverlapingTraj::AngleMaxSpeed()const +{ + return mAngleMaxSpeed; +} + + +double & cGS_SectionOverlapingTraj::DistMaxTraj() +{ + return mDistMaxTraj; +} + +const double & cGS_SectionOverlapingTraj::DistMaxTraj()const +{ + return mDistMaxTraj; +} + + +std::list< cOneInterv_OT > & cGS_SectionOverlapingTraj::OneInterv_OT() +{ + return mOneInterv_OT; +} + +const std::list< cOneInterv_OT > & cGS_SectionOverlapingTraj::OneInterv_OT()const +{ + return mOneInterv_OT; +} + +void BinaryUnDumpFromFile(cGS_SectionOverlapingTraj & anObj,ELISE_fp & aFp) +{ + BinaryUnDumpFromFile(anObj.AngleMaxSpeed(),aFp); + BinaryUnDumpFromFile(anObj.DistMaxTraj(),aFp); + { int aNb; + BinaryUnDumpFromFile(aNb,aFp); + for( int aK=0 ; aK::const_iterator iT=anObj.OneInterv_OT().begin(); + iT!=anObj.OneInterv_OT().end(); + iT++ + ) + BinaryDumpInFile(aFp,*iT); +} + +cElXMLTree * ToXMLTree(const cGS_SectionOverlapingTraj & anObj) +{ + XMLPushContext(anObj.mGXml); + cElXMLTree * aRes = new cElXMLTree((cElXMLTree *)0,"GS_SectionOverlapingTraj",eXMLBranche); + aRes->AddFils(::ToXMLTree(std::string("AngleMaxSpeed"),anObj.AngleMaxSpeed())->ReTagThis("AngleMaxSpeed")); + aRes->AddFils(::ToXMLTree(std::string("DistMaxTraj"),anObj.DistMaxTraj())->ReTagThis("DistMaxTraj")); + for + ( std::list< cOneInterv_OT >::const_iterator it=anObj.OneInterv_OT().begin(); + it !=anObj.OneInterv_OT().end(); + it++ + ) + aRes->AddFils(ToXMLTree((*it))->ReTagThis("OneInterv_OT")); + aRes->mGXml = anObj.mGXml; + XMLPopContext(anObj.mGXml); + return aRes; +} + +void xml_init(cGS_SectionOverlapingTraj & anObj,cElXMLTree * aTree) +{ + if (aTree==0) return; + anObj.mGXml = aTree->mGXml; + + xml_init(anObj.AngleMaxSpeed(),aTree->Get("AngleMaxSpeed",1)); //tototo + + xml_init(anObj.DistMaxTraj(),aTree->Get("DistMaxTraj",1)); //tototo + + xml_init(anObj.OneInterv_OT(),aTree->GetAll("OneInterv_OT",false,1)); +} + +std::string Mangling( cGS_SectionOverlapingTraj *) {return "DB47F3DDFF7A7AEDFD3F";}; + + +std::string & cXml_ParamGraphStereopolis::NameGrpC() +{ + return mNameGrpC; +} + +const std::string & cXml_ParamGraphStereopolis::NameGrpC()const +{ + return mNameGrpC; +} + + +std::list< cGS_OneLinear > & cXml_ParamGraphStereopolis::GS_OneLinear() +{ + return GS_SectionLinear().Val().GS_OneLinear(); +} + +const std::list< cGS_OneLinear > & cXml_ParamGraphStereopolis::GS_OneLinear()const +{ + return GS_SectionLinear().Val().GS_OneLinear(); +} + + +cTplValGesInit< cGS_SectionLinear > & cXml_ParamGraphStereopolis::GS_SectionLinear() +{ + return mGS_SectionLinear; +} + +const cTplValGesInit< cGS_SectionLinear > & cXml_ParamGraphStereopolis::GS_SectionLinear()const +{ + return mGS_SectionLinear; +} + + +double & cXml_ParamGraphStereopolis::DistMax() +{ + return GS_SectionCross().Val().DistMax(); +} + +const double & cXml_ParamGraphStereopolis::DistMax()const +{ + return GS_SectionCross().Val().DistMax(); +} + + +double & cXml_ParamGraphStereopolis::DistCurvMin() +{ + return GS_SectionCross().Val().DistCurvMin(); +} + +const double & cXml_ParamGraphStereopolis::DistCurvMin()const +{ + return GS_SectionCross().Val().DistCurvMin(); +} + + +double & cXml_ParamGraphStereopolis::AngleMinSpeed() +{ + return GS_SectionCross().Val().AngleMinSpeed(); +} + +const double & cXml_ParamGraphStereopolis::AngleMinSpeed()const +{ + return GS_SectionCross().Val().AngleMinSpeed(); +} + + +double & cXml_ParamGraphStereopolis::DistMinTraj() +{ + return GS_SectionCross().Val().DistMinTraj(); +} + +const double & cXml_ParamGraphStereopolis::DistMinTraj()const +{ + return GS_SectionCross().Val().DistMinTraj(); +} + + +std::list< std::string > & cXml_ParamGraphStereopolis::ListCam() +{ + return GS_SectionCross().Val().ListCam(); +} + +const std::list< std::string > & cXml_ParamGraphStereopolis::ListCam()const +{ + return GS_SectionCross().Val().ListCam(); +} + + +cTplValGesInit< cGS_SectionCross > & cXml_ParamGraphStereopolis::GS_SectionCross() +{ + return mGS_SectionCross; +} + +const cTplValGesInit< cGS_SectionCross > & cXml_ParamGraphStereopolis::GS_SectionCross()const +{ + return mGS_SectionCross; +} + + +double & cXml_ParamGraphStereopolis::AngleMaxSpeed() +{ + return GS_SectionOverlapingTraj().Val().AngleMaxSpeed(); +} + +const double & cXml_ParamGraphStereopolis::AngleMaxSpeed()const +{ + return GS_SectionOverlapingTraj().Val().AngleMaxSpeed(); +} + + +double & cXml_ParamGraphStereopolis::DistMaxTraj() +{ + return GS_SectionOverlapingTraj().Val().DistMaxTraj(); +} + +const double & cXml_ParamGraphStereopolis::DistMaxTraj()const +{ + return GS_SectionOverlapingTraj().Val().DistMaxTraj(); +} + + +std::list< cOneInterv_OT > & cXml_ParamGraphStereopolis::OneInterv_OT() +{ + return GS_SectionOverlapingTraj().Val().OneInterv_OT(); +} + +const std::list< cOneInterv_OT > & cXml_ParamGraphStereopolis::OneInterv_OT()const +{ + return GS_SectionOverlapingTraj().Val().OneInterv_OT(); +} + + +cTplValGesInit< cGS_SectionOverlapingTraj > & cXml_ParamGraphStereopolis::GS_SectionOverlapingTraj() +{ + return mGS_SectionOverlapingTraj; +} + +const cTplValGesInit< cGS_SectionOverlapingTraj > & cXml_ParamGraphStereopolis::GS_SectionOverlapingTraj()const +{ + return mGS_SectionOverlapingTraj; +} + +void BinaryUnDumpFromFile(cXml_ParamGraphStereopolis & anObj,ELISE_fp & aFp) +{ + BinaryUnDumpFromFile(anObj.NameGrpC(),aFp); + { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.GS_SectionLinear().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.GS_SectionLinear().ValForcedForUnUmp(),aFp); + } + else anObj.GS_SectionLinear().SetNoInit(); + } ; + { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.GS_SectionCross().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.GS_SectionCross().ValForcedForUnUmp(),aFp); + } + else anObj.GS_SectionCross().SetNoInit(); + } ; + { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.GS_SectionOverlapingTraj().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.GS_SectionOverlapingTraj().ValForcedForUnUmp(),aFp); + } + else anObj.GS_SectionOverlapingTraj().SetNoInit(); + } ; +} + +void BinaryDumpInFile(ELISE_fp & aFp,const cXml_ParamGraphStereopolis & anObj) +{ + BinaryDumpInFile(aFp,anObj.NameGrpC()); + BinaryDumpInFile(aFp,anObj.GS_SectionLinear().IsInit()); + if (anObj.GS_SectionLinear().IsInit()) BinaryDumpInFile(aFp,anObj.GS_SectionLinear().Val()); + BinaryDumpInFile(aFp,anObj.GS_SectionCross().IsInit()); + if (anObj.GS_SectionCross().IsInit()) BinaryDumpInFile(aFp,anObj.GS_SectionCross().Val()); + BinaryDumpInFile(aFp,anObj.GS_SectionOverlapingTraj().IsInit()); + if (anObj.GS_SectionOverlapingTraj().IsInit()) BinaryDumpInFile(aFp,anObj.GS_SectionOverlapingTraj().Val()); +} + +cElXMLTree * ToXMLTree(const cXml_ParamGraphStereopolis & anObj) +{ + XMLPushContext(anObj.mGXml); + cElXMLTree * aRes = new cElXMLTree((cElXMLTree *)0,"Xml_ParamGraphStereopolis",eXMLBranche); + aRes->AddFils(::ToXMLTree(std::string("NameGrpC"),anObj.NameGrpC())->ReTagThis("NameGrpC")); + if (anObj.GS_SectionLinear().IsInit()) + aRes->AddFils(ToXMLTree(anObj.GS_SectionLinear().Val())->ReTagThis("GS_SectionLinear")); + if (anObj.GS_SectionCross().IsInit()) + aRes->AddFils(ToXMLTree(anObj.GS_SectionCross().Val())->ReTagThis("GS_SectionCross")); + if (anObj.GS_SectionOverlapingTraj().IsInit()) + aRes->AddFils(ToXMLTree(anObj.GS_SectionOverlapingTraj().Val())->ReTagThis("GS_SectionOverlapingTraj")); + aRes->mGXml = anObj.mGXml; + XMLPopContext(anObj.mGXml); + return aRes; +} + +void xml_init(cXml_ParamGraphStereopolis & anObj,cElXMLTree * aTree) +{ + if (aTree==0) return; + anObj.mGXml = aTree->mGXml; + + xml_init(anObj.NameGrpC(),aTree->Get("NameGrpC",1)); //tototo + + xml_init(anObj.GS_SectionLinear(),aTree->Get("GS_SectionLinear",1)); //tototo + + xml_init(anObj.GS_SectionCross(),aTree->Get("GS_SectionCross",1)); //tototo + + xml_init(anObj.GS_SectionOverlapingTraj(),aTree->Get("GS_SectionOverlapingTraj",1)); //tototo +} + +std::string Mangling( cXml_ParamGraphStereopolis *) {return "C81DA2EEDFC08691FB3F";}; + // }; diff --git a/src/photogram/phgr_extrinseque.cpp b/src/photogram/phgr_extrinseque.cpp index c9a37a4d11..7d5f2ff4c0 100644 --- a/src/photogram/phgr_extrinseque.cpp +++ b/src/photogram/phgr_extrinseque.cpp @@ -275,6 +275,41 @@ Pt3dr cRotationFormelle::AddRappOnCentre(const Pt3dr & aPVal,const Pt3dr & aPds return aRes; } +void cRotationFormelle::AddRappOnRot(const ElRotation3D & aRot,const Pt3dr & aPdsC,const Pt3dr & aPdsRot) +{ + double aVVals[6]; + + ELISE_ASSERT(mModeGL,"RotationFormelle::AddRappOnRot no Guibal lock"); + // On veut , d'apres l'utilisation du Guimbal : + // aRot = ElRotation3D(mCurCOpt.tr(),mMGL*mCurTeta01.Mat(),true); + // Donc on impose : + // mCurTeta01 = mMGL.tranp() * aRot + ElRotation3D aTargetMat (Pt3dr(0,0,0),mMGL.transpose()*aRot.Mat(),true); + aVVals[0]= aTargetMat.teta01(); + aVVals[1]= aTargetMat.teta02(); + aVVals[2]= aTargetMat.teta12(); + + + Pt3dr aTargC = aRot.tr(); + + aVVals[3]= aTargC.x; + aVVals[4]= aTargC.y; + aVVals[5]= aTargC.z; + + tContFcteur aFRap = FoncRapp(0,6,aVVals); + mSet.AddEqFonctToSys(aFRap[0],aPdsRot.x,false); + mSet.AddEqFonctToSys(aFRap[1],aPdsRot.y,false); + mSet.AddEqFonctToSys(aFRap[2],aPdsRot.z,false); + mSet.AddEqFonctToSys(aFRap[3],aPdsC.x,false); + mSet.AddEqFonctToSys(aFRap[4],aPdsC.y,false); + mSet.AddEqFonctToSys(aFRap[5],aPdsC.z,false); +/* + + return aRes; + aRot = aPdsC; +*/ +} + void cRotationFormelle::SetTolAng(double aTol) { diff --git a/src/photogram/phgr_formel.cpp b/src/photogram/phgr_formel.cpp index 727e5d50ac..c62649714b 100644 --- a/src/photogram/phgr_formel.cpp +++ b/src/photogram/phgr_formel.cpp @@ -268,21 +268,23 @@ void cElemEqFormelle::SetValAndInit(REAL aVal,INT anIndGlob) cElemEqFormelle::tContFcteur cElemEqFormelle::FoncRappInit(INT i0,INT i1) { - -/* -if (0) -{ - for (int i=i0 ; i* aVals + ) { - tContFcteur aPlus = FoncRappInit(i0,i1); + if (aVals) + { + ELISE_ASSERT(int(aVals->size())==(i1-i0),"AddFoncRappInit size vals incoherent "); + } + tContFcteur aPlus = aVals ? FoncRapp(i0,i1,&((*aVals)[0])-i0) : FoncRappInit(i0,i1); for (INT aK=0; aKDate(true); const cElDate & aDate0 = mVCam[0]->mMTD->Date(true); @@ -992,6 +995,8 @@ void cAppli_Ori_Txt2Xml_main::InitCamera(cTxtCam & aCam,Pt3dr aC,Pt3dr aWPK,P { aCam.mOC->Externe().Centre() = aC; aCam.mTime = (mMTDOnce | allDateUnInit) ? aCam.mNum : aCam.mMTD->Date().DifInSec(mVCam[0]->mMTD->Date()) ; + if (aTime > 0) + aCam.mTime = aTime; aCam.mOC->Externe().Time().SetVal(aCam.mTime); aCam.mC = aC; @@ -1044,6 +1049,7 @@ void cAppli_Ori_Txt2Xml_main::ParseFile() std::string aNameIm; if (aReadApp.Decode(aLine) && (aCpt>=mCptMin) && (aCptAssoc1To1(mKeyName2Image,aReadApp.mName,true); if (! ELISE_fp::exist_file(aNameIm)) { @@ -1127,8 +1133,9 @@ void cAppli_Ori_Txt2Xml_main::ParseFile() double aIx = aReadApp.IsDef(aReadApp.mInc3.x) ? aReadApp.mInc3.x : -1; double aIy = aReadApp.IsDef(aReadApp.mInc3.y) ? aReadApp.mInc3.y : -1; double aIz = aReadApp.IsDef(aReadApp.mInc3.z) ? aReadApp.mInc3.z : -1; - - InitCamera(aNewCam,aC,mHasWPK ? aReadApp.mWPK :Pt3dr(0,0,0),Pt3dr(aIx,aIy,aIz)); + double aTime = aReadApp.IsDef(aReadApp.mTime) ? aReadApp.mTime : - 1; + + InitCamera(aNewCam,aC,mHasWPK ? aReadApp.mWPK :Pt3dr(0,0,0),Pt3dr(aIx,aIy,aIz),aTime); aNewCam.mPrio = aNewCam.mTime ;// + aNewCam.mNum * 1e-7; diff --git a/src/uti_files/CPP_TestKeys.cpp b/src/uti_files/CPP_TestKeys.cpp index 27ce62b51a..6ecc0031c7 100644 --- a/src/uti_files/CPP_TestKeys.cpp +++ b/src/uti_files/CPP_TestKeys.cpp @@ -39,6 +39,38 @@ Header-MicMac-eLiSe-25/06/2007*/ #include "StdAfx.h" #include +int Recover_Main(int argc, char ** argv) +{ + std::string aNameIn,aNameOut; + ElInitArgMain + ( + argc,argv, + LArgMain() << EAMC(aNameIn, "Name of Input File") + << EAMC(aNameOut, "Name of Input File"), + LArgMain() + ); + + FILE * aFPin = FopenNN(aNameIn,"r","In recover"); + FILE * aFPOut = FopenNN(aNameOut,"w","In recover"); + + int aC; + while ( (aC= fgetc(aFPin)) != EOF) + { + if ( + ( (aC>='a') && (aC<='z')) + || ( (aC>='A') && (aC<='Z')) + || ( (aC>='0') && (aC<='9')) + || (aC=='\n') + ) + fputc(aC,aFPOut); + } + fclose(aFPin); + fclose(aFPOut); + + return EXIT_SUCCESS; +} + + /* Parametre de Tapas : diff --git a/src/uti_phgrm/Apero/AFaire.txt b/src/uti_phgrm/Apero/AFaire.txt index 6744253789..2ddd1a31f0 100644 --- a/src/uti_phgrm/Apero/AFaire.txt +++ b/src/uti_phgrm/Apero/AFaire.txt @@ -1,4 +1,7 @@ + + +====================================================================== -1- Terminer l'optimisation par descente sur la ligne des moindres carres (traquer LAMBDA MIN pour voir le fichier). 99% du boulot est fait (= calcul du score f(Lambda)) , reste une minim par diff --git a/src/uti_phgrm/Apero/Apero.h b/src/uti_phgrm/Apero/Apero.h index ee9b5ca925..b1d0d06115 100644 --- a/src/uti_phgrm/Apero/Apero.h +++ b/src/uti_phgrm/Apero/Apero.h @@ -414,6 +414,7 @@ class cGenPoseCam tGrApero::TSom * Som(); virtual Pt2di SzCalib() const = 0; protected : + virtual void UseRappelOnPose() const; cGenPoseCam(cAppliApero & anAppli,const std::string & aName); cAppliApero & mAppli; @@ -638,6 +639,7 @@ class cPoseCam : public cGenPoseCam void SetPreCompBloc(cPreCompBloc *); cPreCB1Pose * GetPreCB1Pose(bool SVP) const; // SVP => can be 0 void SetPreCB1Pose(cPreCB1Pose *); + void UseRappelOnPose() const override; private : void AssertHasObsCentre() const; diff --git a/src/uti_phgrm/Apero/cAA_Compensation.cpp b/src/uti_phgrm/Apero/cAA_Compensation.cpp index 3b03b9c51e..c0f2b170d0 100644 --- a/src/uti_phgrm/Apero/cAA_Compensation.cpp +++ b/src/uti_phgrm/Apero/cAA_Compensation.cpp @@ -162,6 +162,12 @@ for (int aK=0 ; aKUseRappelOnPose(); + } + } { AddObservationsContrCamGenInc(anSO.ContrCamGenInc(),IsLastIter,aSO); diff --git a/src/uti_phgrm/Apero/cParamApero.cpp b/src/uti_phgrm/Apero/cParamApero.cpp index 3ef6140876..9876c7137f 100644 --- a/src/uti_phgrm/Apero/cParamApero.cpp +++ b/src/uti_phgrm/Apero/cParamApero.cpp @@ -10593,36 +10593,36 @@ void xml_init(cSectionInconnues & anObj,cElXMLTree * aTree) std::string Mangling( cSectionInconnues *) {return "4CECE2192C59959DFE3F";}; -std::string & cRappelPose::Id() +std::string & cRappelPose::IdOrient() { - return mId; + return mIdOrient; } -const std::string & cRappelPose::Id()const +const std::string & cRappelPose::IdOrient()const { - return mId; + return mIdOrient; } -double & cRappelPose::PdsCentre() +double & cRappelPose::SigmaC() { - return mPdsCentre; + return mSigmaC; } -const double & cRappelPose::PdsCentre()const +const double & cRappelPose::SigmaC()const { - return mPdsCentre; + return mSigmaC; } -double & cRappelPose::PdsOrient() +double & cRappelPose::SigmaR() { - return mPdsOrient; + return mSigmaR; } -const double & cRappelPose::PdsOrient()const +const double & cRappelPose::SigmaR()const { - return mPdsOrient; + return mSigmaR; } @@ -10638,17 +10638,17 @@ const cElRegex_Ptr & cRappelPose::PatternApply()const void BinaryUnDumpFromFile(cRappelPose & anObj,ELISE_fp & aFp) { - BinaryUnDumpFromFile(anObj.Id(),aFp); - BinaryUnDumpFromFile(anObj.PdsCentre(),aFp); - BinaryUnDumpFromFile(anObj.PdsOrient(),aFp); + BinaryUnDumpFromFile(anObj.IdOrient(),aFp); + BinaryUnDumpFromFile(anObj.SigmaC(),aFp); + BinaryUnDumpFromFile(anObj.SigmaR(),aFp); BinaryUnDumpFromFile(anObj.PatternApply(),aFp); } void BinaryDumpInFile(ELISE_fp & aFp,const cRappelPose & anObj) { - BinaryDumpInFile(aFp,anObj.Id()); - BinaryDumpInFile(aFp,anObj.PdsCentre()); - BinaryDumpInFile(aFp,anObj.PdsOrient()); + BinaryDumpInFile(aFp,anObj.IdOrient()); + BinaryDumpInFile(aFp,anObj.SigmaC()); + BinaryDumpInFile(aFp,anObj.SigmaR()); BinaryDumpInFile(aFp,anObj.PatternApply()); } @@ -10656,9 +10656,9 @@ cElXMLTree * ToXMLTree(const cRappelPose & anObj) { XMLPushContext(anObj.mGXml); cElXMLTree * aRes = new cElXMLTree((cElXMLTree *)0,"RappelPose",eXMLBranche); - aRes->AddFils(::ToXMLTree(std::string("Id"),anObj.Id())->ReTagThis("Id")); - aRes->AddFils(::ToXMLTree(std::string("PdsCentre"),anObj.PdsCentre())->ReTagThis("PdsCentre")); - aRes->AddFils(::ToXMLTree(std::string("PdsOrient"),anObj.PdsOrient())->ReTagThis("PdsOrient")); + aRes->AddFils(::ToXMLTree(std::string("IdOrient"),anObj.IdOrient())->ReTagThis("IdOrient")); + aRes->AddFils(::ToXMLTree(std::string("SigmaC"),anObj.SigmaC())->ReTagThis("SigmaC")); + aRes->AddFils(::ToXMLTree(std::string("SigmaR"),anObj.SigmaR())->ReTagThis("SigmaR")); aRes->AddFils(::ToXMLTree(std::string("PatternApply"),anObj.PatternApply())->ReTagThis("PatternApply")); aRes->mGXml = anObj.mGXml; XMLPopContext(anObj.mGXml); @@ -10670,16 +10670,16 @@ void xml_init(cRappelPose & anObj,cElXMLTree * aTree) if (aTree==0) return; anObj.mGXml = aTree->mGXml; - xml_init(anObj.Id(),aTree->Get("Id",1)); //tototo + xml_init(anObj.IdOrient(),aTree->Get("IdOrient",1)); //tototo - xml_init(anObj.PdsCentre(),aTree->Get("PdsCentre",1)); //tototo + xml_init(anObj.SigmaC(),aTree->Get("SigmaC",1)); //tototo - xml_init(anObj.PdsOrient(),aTree->Get("PdsOrient",1)); //tototo + xml_init(anObj.SigmaR(),aTree->Get("SigmaR",1)); //tototo xml_init(anObj.PatternApply(),aTree->Get("PatternApply",1)); //tototo } -std::string Mangling( cRappelPose *) {return "3A8AAFCD102ADFADFE3F";}; +std::string Mangling( cRappelPose *) {return "B7342D8BF89C60F2FE3F";}; cTplValGesInit< double > & cUseExportImageResidu::SzByPair() @@ -10914,36 +10914,36 @@ void xml_init(cTimeLinkage & anObj,cElXMLTree * aTree) std::string Mangling( cTimeLinkage *) {return "BEB337D7A41F8CD1FD3F";}; -std::string & cSectionChantier::Id() +std::string & cSectionChantier::IdOrient() { - return RappelPose().Val().Id(); + return RappelPose().Val().IdOrient(); } -const std::string & cSectionChantier::Id()const +const std::string & cSectionChantier::IdOrient()const { - return RappelPose().Val().Id(); + return RappelPose().Val().IdOrient(); } -double & cSectionChantier::PdsCentre() +double & cSectionChantier::SigmaC() { - return RappelPose().Val().PdsCentre(); + return RappelPose().Val().SigmaC(); } -const double & cSectionChantier::PdsCentre()const +const double & cSectionChantier::SigmaC()const { - return RappelPose().Val().PdsCentre(); + return RappelPose().Val().SigmaC(); } -double & cSectionChantier::PdsOrient() +double & cSectionChantier::SigmaR() { - return RappelPose().Val().PdsOrient(); + return RappelPose().Val().SigmaR(); } -const double & cSectionChantier::PdsOrient()const +const double & cSectionChantier::SigmaR()const { - return RappelPose().Val().PdsOrient(); + return RappelPose().Val().SigmaR(); } @@ -11793,7 +11793,7 @@ void xml_init(cSectionChantier & anObj,cElXMLTree * aTree) xml_init(anObj.ExportMatrixMarket(),aTree->Get("ExportMatrixMarket",1),bool(false)); //tototo } -std::string Mangling( cSectionChantier *) {return "BCC79A91A32077D5FCBF";}; +std::string Mangling( cSectionChantier *) {return "4CE89E5872B0B5CFFC3F";}; cTplValGesInit< bool > & cSectionSolveur::AllMatSym() @@ -26644,36 +26644,36 @@ const cSectionInconnues & cParamApero::SectionInconnues()const } -std::string & cParamApero::Id() +std::string & cParamApero::IdOrient() { - return SectionChantier().RappelPose().Val().Id(); + return SectionChantier().RappelPose().Val().IdOrient(); } -const std::string & cParamApero::Id()const +const std::string & cParamApero::IdOrient()const { - return SectionChantier().RappelPose().Val().Id(); + return SectionChantier().RappelPose().Val().IdOrient(); } -double & cParamApero::PdsCentre() +double & cParamApero::SigmaC() { - return SectionChantier().RappelPose().Val().PdsCentre(); + return SectionChantier().RappelPose().Val().SigmaC(); } -const double & cParamApero::PdsCentre()const +const double & cParamApero::SigmaC()const { - return SectionChantier().RappelPose().Val().PdsCentre(); + return SectionChantier().RappelPose().Val().SigmaC(); } -double & cParamApero::PdsOrient() +double & cParamApero::SigmaR() { - return SectionChantier().RappelPose().Val().PdsOrient(); + return SectionChantier().RappelPose().Val().SigmaR(); } -const double & cParamApero::PdsOrient()const +const double & cParamApero::SigmaR()const { - return SectionChantier().RappelPose().Val().PdsOrient(); + return SectionChantier().RappelPose().Val().SigmaR(); } @@ -27487,7 +27487,7 @@ void xml_init(cParamApero & anObj,cElXMLTree * aTree) xml_init(anObj.SectionCompensation(),aTree->Get("SectionCompensation",1)); //tototo } -std::string Mangling( cParamApero *) {return "9AE0676CD8CEB4F7FC3F";}; +std::string Mangling( cParamApero *) {return "E5FC97C9FD44E1D0FE3F";}; std::string & cXmlSauvExportAperoOneIm::Name() diff --git a/src/uti_phgrm/Apero/cParamApero.h b/src/uti_phgrm/Apero/cParamApero.h index 4f4e2abc65..47e2c4d447 100644 --- a/src/uti_phgrm/Apero/cParamApero.h +++ b/src/uti_phgrm/Apero/cParamApero.h @@ -3028,21 +3028,21 @@ class cRappelPose friend void xml_init(cRappelPose & anObj,cElXMLTree * aTree); - std::string & Id(); - const std::string & Id()const ; + std::string & IdOrient(); + const std::string & IdOrient()const ; - double & PdsCentre(); - const double & PdsCentre()const ; + double & SigmaC(); + const double & SigmaC()const ; - double & PdsOrient(); - const double & PdsOrient()const ; + double & SigmaR(); + const double & SigmaR()const ; cElRegex_Ptr & PatternApply(); const cElRegex_Ptr & PatternApply()const ; private: - std::string mId; - double mPdsCentre; - double mPdsOrient; + std::string mIdOrient; + double mSigmaC; + double mSigmaR; cElRegex_Ptr mPatternApply; }; cElXMLTree * ToXMLTree(const cRappelPose &); @@ -3127,14 +3127,14 @@ class cSectionChantier friend void xml_init(cSectionChantier & anObj,cElXMLTree * aTree); - std::string & Id(); - const std::string & Id()const ; + std::string & IdOrient(); + const std::string & IdOrient()const ; - double & PdsCentre(); - const double & PdsCentre()const ; + double & SigmaC(); + const double & SigmaC()const ; - double & PdsOrient(); - const double & PdsOrient()const ; + double & SigmaR(); + const double & SigmaR()const ; cElRegex_Ptr & PatternApply(); const cElRegex_Ptr & PatternApply()const ; @@ -7171,14 +7171,14 @@ class cParamApero cSectionInconnues & SectionInconnues(); const cSectionInconnues & SectionInconnues()const ; - std::string & Id(); - const std::string & Id()const ; + std::string & IdOrient(); + const std::string & IdOrient()const ; - double & PdsCentre(); - const double & PdsCentre()const ; + double & SigmaC(); + const double & SigmaC()const ; - double & PdsOrient(); - const double & PdsOrient()const ; + double & SigmaR(); + const double & SigmaR()const ; cElRegex_Ptr & PatternApply(); const cElRegex_Ptr & PatternApply()const ; diff --git a/src/uti_phgrm/Apero/cPose.cpp b/src/uti_phgrm/Apero/cPose.cpp index 0edddb91a2..d816b6f355 100644 --- a/src/uti_phgrm/Apero/cPose.cpp +++ b/src/uti_phgrm/Apero/cPose.cpp @@ -2308,7 +2308,8 @@ if (mSRI && MPD_MM()) mUseRappelPose = mAppli.PtrRP() && mAppli.PtrRP()->PatternApply()->Match(mName); if (mUseRappelPose) { - mRotURP = mAppli.Orient(mAppli.PtrRP()->Id(),mName); + CamStenope * aCS = mAppli.ICNM()->StdCamStenOfNames(mName,mAppli.PtrRP()->IdOrient()); + mRotURP = aCS->Orient().inv(); } double aLMG = mAppli.Param().LimModeGL().Val(); @@ -2378,6 +2379,21 @@ if (mSRI && MPD_MM()) } } + +void cPoseCam::UseRappelOnPose() const +{ + if (! mUseRappelPose) return; + + double aPdsC = 1/ElSquare(mAppli.PtrRP()->SigmaC()); + Pt3dr aPtPdsC(aPdsC,aPdsC,aPdsC); + double aPdsR = 1/ElSquare(mAppli.PtrRP()->SigmaR()); + Pt3dr aPtPdsR (aPdsR,aPdsR,aPdsR); + mRF->AddRappOnRot(mRotURP,aPtPdsC,aPtPdsR); + + // std::cout << "NAME RAPPELE ON POSE =" << mName << "\n"; +} + + void cPoseCam::AffineRot() { for (int aK=0 ; aKmPats.size()) ; aK++) diff --git a/src/uti_phgrm/Apero/cPosePolynGenCam.cpp b/src/uti_phgrm/Apero/cPosePolynGenCam.cpp index a76bd5bf41..1c65a9d4b6 100644 --- a/src/uti_phgrm/Apero/cPosePolynGenCam.cpp +++ b/src/uti_phgrm/Apero/cPosePolynGenCam.cpp @@ -80,6 +80,10 @@ tGrApero::TSom * cGenPoseCam::Som() return mSom; } +void cGenPoseCam::UseRappelOnPose() const +{ +} + bool cGenPoseCam::PreInit() const { return mPreInit; } diff --git a/src/uti_phgrm/CPP_Block.cpp b/src/uti_phgrm/CPP_Block.cpp index e26fcdbcd1..0b5ad9c73d 100644 --- a/src/uti_phgrm/CPP_Block.cpp +++ b/src/uti_phgrm/CPP_Block.cpp @@ -92,6 +92,47 @@ int Blinis_main(int argc,char ** argv) /***********************************************************************/ +class cAppli_Block +{ + public : + CamStenope * CamS(const std::string & aName) {return mICNM->StdCamStenOfNamesSVP(aName,mOriIn);} + typedef std::pair t2Str; + t2Str TimGrp(const std::string & aName) + { + return mICNM->Assoc2To1(mKeyBl,aName,true); + } + protected : + void Compile(); + + // === Input parameters + std::string mPatIm; // Liste of all images + std::string mOriIn; // input orientation + std::string mNameBlock; // name of the block-blini + + // === Computed parameters + std::string mKeyBl; // key for name compute of bloc + cStructBlockCam mBlock; // structure of the rigid bloc + cElemAppliSetFile mEASF; // Structure to extract pattern + name manip + const std::vector * mVN; // list of images + std::string mDir; // Directory of data + cInterfChantierNameManipulateur * mICNM; // Name manip +}; + +void cAppli_Block::Compile() +{ + // =========== Naming and name stuff ==== + mEASF.Init(mPatIm); // Compute the pattern + mICNM = mEASF.mICNM; // Extract name manip + mVN = mEASF.SetIm(); // Extract list of input name + mDir = mEASF.mDir; + StdCorrecNameOrient(mOriIn,mDir); + + // =========== Block stuff ==== + mBlock = StdGetFromPCP(mNameBlock,StructBlockCam); // Init Block + mKeyBl = mBlock.KeyIm2TimeCam(); // Store key for facilitie +} + + class cAOFB_Im { public : @@ -100,7 +141,8 @@ class cAOFB_Im mCamInit (aCamInit), mNameCalib (aNameCalib), mDone (mCamInit!=nullptr), - mR_Cam2W (mDone ? mCamInit->Orient().inv() : ElRotation3D::Id) + mR_Cam2W (mDone ? mCamInit->Orient().inv() : ElRotation3D::Id), + mTime (mDone ? mCamInit->GetTime() : 0.0) { } @@ -109,38 +151,24 @@ class cAOFB_Im std::string mNameCalib; // Name of calibration bool mDone; ElRotation3D mR_Cam2W; // Orientation Cam -> Word + double mTime; }; -class cAppli_OriFromBlock +class cAppli_OriFromBlock : public cAppli_Block { public : cAppli_OriFromBlock (int argc,char ** argv); private : // Extract Time Stamp and Grp from Compiled image - typedef std::pair t2Str; - t2Str TimGrp(cAOFB_Im * aPtrI) - { - return mICNM->Assoc2To1(mKeyBl,aPtrI->mName,true); - } + t2Str TimGrp(cAOFB_Im * aPtrI) {return cAppli_Block::TimGrp(aPtrI->mName);} - std::string mPatIm; // Liste of all images - std::string mOriIn; // input orientation std::string mNameCalib; // input calibration (required for non oriented image) - std::string mNameBlock; // name of the block-blini std::string mOriOut; // Output orientation - bool mCPI; // Calibration Per Image - - cStructBlockCam mBlock; // structure of the rigid bloc - std::string mKeyBl; // key for name compute of bloc - - cElemAppliSetFile mEASF; // Structure to extract pattern + name manip - std::string mDir; // Directory of data - cInterfChantierNameManipulateur * mICNM; // Name manip - const std::vector * mVN; // list of images std::vector mVecI; // list of "compiled" std::map mMapI; // map Time+Grp -> compiled image + bool mCPI; // Calibration Per Image }; @@ -161,25 +189,15 @@ cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) : << EAM(mCPI,"CPI",true,"Calib Per Im") ); - // =========== Naming and name stuff ==== - mEASF.Init(mPatIm); // Compute the pattern - mICNM = mEASF.mICNM; // Extract name manip - mVN = mEASF.SetIm(); // Extract list of input name - mDir = mEASF.mDir; - - StdCorrecNameOrient(mOriIn,mDir); - StdCorrecNameOrient(mNameCalib,mDir); - - - // =========== Block stuff ==== - mBlock = StdGetFromPCP(mNameBlock,StructBlockCam); // Init Block - mKeyBl = mBlock.KeyIm2TimeCam(); // Store key for facilitie + cAppli_Block::Compile(); + StdCorrecNameOrient(mNameCalib,mDir); // Create structur of "compiled" cam for (int aKIm=0 ; aKImsize()) ; aKIm++) { const std::string & aName = (*mVN)[aKIm]; - CamStenope * aCamIn = mICNM->StdCamStenOfNamesSVP(aName,mOriIn); // Camera may not + // CamStenope * aCamIn = mICNM->StdCamStenOfNamesSVP(aName,mOriIn); // Camera may not + CamStenope * aCamIn = CamS(aName); std::string aNameCal = mICNM->StdNameCalib(mNameCalib,aName); mICNM->GlobCalibOfName(aName,mNameCalib,true); // Calib should exist cAOFB_Im * aPtrI = new cAOFB_Im(aName,aCamIn,aNameCal); // Create compiled @@ -195,6 +213,7 @@ cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) : if (! aPtrI->mCamInit) { int aNbInit = 0; + double aSumTime = 0.0; // Extract time stamp & name of this block t2Str aPair= TimGrp(aPtrI); std::string aNameTime = aPair.first; // get a time stamp @@ -223,6 +242,7 @@ cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) : ElRotation3D aOri_This2Word = aOri_Neigh2World * aOriBlock_This2Neigh; aVecOrient.push_back(aOri_This2Word); aVecPds.push_back(1.0); + aSumTime += aNeigh->mTime; aNbInit++; std::cout << aPtrI->mName << " From " << aNeigh->mName << "\n"; } @@ -232,6 +252,7 @@ cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) : { aPtrI->mR_Cam2W = AverRotation(aVecOrient,aVecPds); aPtrI->mDone = true; + aPtrI->mTime = aSumTime / aNbInit; } else { @@ -249,6 +270,7 @@ cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) : std::string aNameFI = mICNM->StdNameCalib(mOriOut,aPtrI->mName); CamStenope * aCamCal = mICNM->GlobCalibOfName(aPtrI->mName,mNameCalib,true); aCamCal->SetOrientation(aPtrI->mR_Cam2W.inv()); + aCamCal->SetTime(aPtrI->mTime); aCamCal->StdExport2File(mICNM,mOriOut,aPtrI->mName,mCPI ? "" : aNameFI); if (!mCPI) { @@ -287,6 +309,387 @@ class cAppli_Brion // Block Rigid Initialisation des Orientation Normale }; +/***********************************************************/ +/* */ +/* Graphe Stereopolis */ +/* */ +/***********************************************************/ + +class cGS_Cam; +class cGS_1BlC; // 1 Bloc Camera +class cGS_Appli; // Application + + +class cGS_Cam // 1 Camera +{ + public : + cGS_Cam(CamStenope * aCamS, const std::string &aName, const std::string &aGrp) : + mCamS (aCamS), + mName (aName), + mGrp (aGrp) + { + } + cGS_Cam(const cGS_Cam&) = delete; + CamStenope * mCamS; // Camera + std::string mName; // Name Im + std::string mGrp; // Groupe in the block +}; + + +class cGS_1BlC // 1 Bloc Camera +{ + public : + double DistLine(const cGS_1BlC & aBl2) const; + double Time() const {return mCamC->mCamS->GetTime();} + cGS_Cam * CamOfGrp(const std::string & aGrp) const; + bool ValidForCross(const cGS_1BlC&,const cGS_SectionCross &) const; + + cGS_1BlC(cGS_Appli&,const std::vector &); + cGS_1BlC(const cGS_1BlC&) = delete; + + cGS_Appli& mAppli; // Application + std::vector mVCams; // Vector of all cam/image + cGS_Cam * mCamC; // Centrale camera (generaly INS) + Pt3dr mP3; // Center + Pt2dr mP2; // P for indextion in QT + Pt2dr mV2; // 2D speed + Seg2d mSeg; // line PCur -> Next + int mNum; // Numerotation, can be usefull ? + double mAbsCurv; // Curvilinear abscisse +}; + +//extern Box2dr aBox; +//ElQT aQT([](cGS_1BlC *aBl){return aBl->mP2;},aBox,20,20); + +// (aGetP1,aBox,20,20); + + + +class cGS_Appli : public cAppli_Block // Application +{ + public : + cGS_Appli(int,char**); + bool AddPair(std::string aS1,std::string aS2); + const std::string & NameGrpC() const {return mParam.NameGrpC();} + private : + void AddAllBloc(const cGS_1BlC&,const cGS_1BlC &); + double mDistStd; + typedef ElQT tQtSom; + typedef ElQT tQtArc; + + cXml_ParamGraphStereopolis mParam; + int mLevelMsg; + int AdaptIndex(int aKBl) {return ElMax(0,ElMin(mNbBloc,aKBl));} + + std::vector mVBlocs; + int mNbBloc; + std::set mSetStr; + tQtSom * mQtSom; + tQtArc * mQtArc; + cPlyCloud mPlyCross; + std::string mNameSave; +}; + + // =========== cGS_1BlC ============= + +cGS_1BlC::cGS_1BlC(cGS_Appli& anAppli,const std::vector & aVN) : + mAppli (anAppli), + mCamC (nullptr) +{ + for (const auto & aName : aVN) + { + // Compute new Cam with name & grp + CamStenope * aCam = mAppli.CamS(aName); + std::string aNameGrp = mAppli.TimGrp(aName).second; + cGS_Cam * aGS_Cam = new cGS_Cam(aCam,aName,aNameGrp); + // save it + mVCams.push_back(aGS_Cam); + // Chek if it is the central one + if (aNameGrp==mAppli.NameGrpC()) + mCamC = aGS_Cam; + } + if (mCamC) + { + // Compute localisation + mP3 = mCamC->mCamS->PseudoOpticalCenter(); + mP2 = Pt2dr(mP3.x,mP3.y); + } +} +cGS_Cam * cGS_1BlC::CamOfGrp(const std::string & aGrp) const +{ + for (const auto& aCam : mVCams) + if (aCam->mGrp==aGrp) + return aCam; + return nullptr; +} + +double cGS_1BlC::DistLine(const cGS_1BlC & aBl2) const +{ + SegComp aDr1(mSeg); + return ElMax + ( + aDr1.dist_droite(aBl2.mSeg.p0()) + ,aDr1.dist_droite(aBl2.mSeg.p1()) + ); +} + + +bool cGS_1BlC::ValidForCross(const cGS_1BlC& aBl2,const cGS_SectionCross & aSC) const +{ + // Handle only one way + Avoid ajacence + if (mNum>=aBl2.mNum-1) + return false; + // If absc curv too close we are just in the same trajectory, not a cross + if (ElAbs(mAbsCurv-aBl2.mAbsCurv) < aSC.DistCurvMin()) + return false; + + if (ElAbs(angle_de_droite_nor(mV2,aBl2.mV2)) < aSC.AngleMinSpeed()) + return false; + + if ( (DistLine(aBl2) aS2) ElSwap(aS1,aS2); // store only oneway + + return mSetStr.insert(t2Str(aS1,aS2)).second; +} + +void cGS_Appli::AddAllBloc(const cGS_1BlC& aBl1,const cGS_1BlC & aBl2) +{ + const cGS_SectionCross& aSC = mParam.GS_SectionCross().Val(); + for (const auto & aN1 : aSC.ListCam()) + { + for (const auto & aN2 : aSC.ListCam()) + { + cGS_Cam * aCam1 = aBl1.CamOfGrp(aN1); + cGS_Cam * aCam2 = aBl2.CamOfGrp(aN2); + if (aCam1 && aCam2) + { + AddPair(aCam1->mName,aCam2->mName); + } + } + } +} + + + +cGS_Appli::cGS_Appli (int argc,char ** argv) : + mLevelMsg (1), + mQtSom (nullptr), + mQtArc (nullptr), + mNameSave ("GrapheStereropolis.xml") +{ + bool mDoPlyCros = true; + + MMD_InitArgcArgv(argc,argv); + + std::string aNameParam; + ElInitArgMain + ( + argc,argv, + LArgMain() << EAMC(mPatIm,"Full name (Dir+Pat)", eSAM_IsPatFile) + << EAMC(mOriIn,"Input Orientation folder", eSAM_IsExistDirOri) + << EAMC(mNameBlock,"File for block") + << EAMC(aNameParam,"Name Grp Centrale Camera"), + LArgMain() + << EAM(mLevelMsg,"LevMsg",true,"Level of Message, def=1") + << EAM(mNameSave,"Out",true,"Name 4 save, def=GrapheStereropolis.xml") + ); + mParam = StdGetFromPCP(aNameParam,Xml_ParamGraphStereopolis); + + cAppli_Block::Compile(); + if (mLevelMsg>=1) std::cout << "=== DONE READ ARGS\n"; + + // Map Name of Time => Vecteur of name images at this time + std::map > aMapBl; + + // Group name by timing + for (const auto & aName : *mVN) + { + t2Str aTimG = TimGrp(aName); + aMapBl[aTimG.first].push_back(aName); + } + if (mLevelMsg>=1) std::cout << "=== DONE COMPUTE Groups, NbInit=" << aMapBl.size() << "\n"; + + // Compute bloc + Pt2dr aPInf(1e20,1e20); + Pt2dr aPSup(-1e20,-1e20); + for (const auto & aBloc : aMapBl) + { + cGS_1BlC * aGSB = new cGS_1BlC(*this,aBloc.second); + if (aGSB->mCamC!=nullptr) + { + mVBlocs.push_back(aGSB); + aPInf = Inf(aPInf,aGSB->mP2); + aPSup = Sup(aPSup,aGSB->mP2); + } + } + + mNbBloc = mVBlocs.size(); + if (mLevelMsg>=1) std::cout << "=== DONE COMPUTE READ CAMS; NbBloc=" << mNbBloc << "\n"; + // Speed computation would fail if not enough blocs + ELISE_ASSERT(mVBlocs.size()>=2,"Not enough bloc"); + + // Sort by time + std::sort + ( + mVBlocs.begin(), + mVBlocs.end(), + [](const cGS_1BlC * aBl1,const cGS_1BlC * aBl2) + { + return aBl1->Time() < aBl2->Time() ; + } + ); + if (mLevelMsg>=1) std::cout << "=== DONE SORTED BY TIME\n"; + + // Computation of speed, absic + for (int aKBl=0 ; aKBl=1) std::cout << "=== DONE COMPUTED SPEED\n"; + + // Compute Quod Tree for spatial indexation + { + // Get a rough estimation of a standard dist using average between succesive position + mDistStd = mVBlocs.back()->mAbsCurv / (mNbBloc-1); + Pt2dr aRab(mDistStd,mDistStd); + mQtSom= new tQtSom + ( + [](cGS_1BlC *aBl){return aBl->mP2;}, + Box2dr(aPInf-aRab,aPSup+aRab), + 10, + mDistStd*5.0 + ); + mQtArc= new tQtArc + ( + [](cGS_1BlC *aBl){return aBl->mSeg;}, + Box2dr(aPInf-aRab,aPSup+aRab), + 10, + mDistStd*5.0 + ); + + // Put submit in Qt + for (auto & aBl : mVBlocs) + mQtSom->insert(aBl); + } + if (mLevelMsg>=1) std::cout << "=== DONE COMPUTED Quod-Tree\n"; + + int aNbLine = 0; + // Add successive from linear analysis, generally only same camera + block + if (mParam.GS_SectionLinear().IsInit()) + { + for (int aKBl1=0 ; aKBl1mName,aCam2->mName)) + { + aNbLine++; + } + } + } + } + } + } + } + } + if (mLevelMsg>=1) std::cout << "=== DONE Added Linear\n"; + // Process crosses, may be important to limit drift + int aNbCross = 0; + if (mParam.GS_SectionCross().IsInit()) + { + const cGS_SectionCross& aSC = mParam.GS_SectionCross().Val(); + for (auto & aBl1 : mVBlocs) + { + set aSNeigh; + mQtSom->RVoisins(aSNeigh,aBl1->mP2,aSC.DistMax()); + for (auto & aBl2 : aSNeigh) + { + if (aBl1->ValidForCross(*aBl2,aSC)) + { + AddAllBloc(*aBl1,*aBl2); + aNbCross ++; + if (mDoPlyCros) + { + Pt3di aColCr(255,128,0); + mPlyCross.AddSeg(aColCr,aBl1->mP3,aBl2->mP3,200); + } + } + } + } + } + if (mDoPlyCros) + { + mPlyCross.PutFile("Cross.ply"); + } + std::cout << "NB VAL , FOR LINE: " << aNbLine << " FOR CROSS: " << aNbCross << "\n"; + + // Save to file + cSauvegardeNamedRel aRel; + for (const auto & aPair : mSetStr) + { + aRel.Cple().push_back(cCpleString(aPair.first,aPair.second)); + } + MakeFileXML(aRel,mDir+mNameSave); +} + +int GrapheStereopolis_main(int argc,char ** argv) +{ + cGS_Appli(argc,argv); + + return EXIT_SUCCESS; +} /*Footer-MicMac-eLiSe-25/06/2007 diff --git a/src/uti_phgrm/CPP_Campari.cpp b/src/uti_phgrm/CPP_Campari.cpp index 8c4361015d..6d73d6434e 100644 --- a/src/uti_phgrm/CPP_Campari.cpp +++ b/src/uti_phgrm/CPP_Campari.cpp @@ -453,6 +453,7 @@ class cAppli_Campari : public cAppli_Tapas_Campari std::string mStrDebugVTP; // Debug sur les tie points int mNumPtsAttrNewF; + std::vector mROP; }; @@ -578,6 +579,7 @@ cAppli_Campari::cAppli_Campari (int argc,char ** argv) : << EAM(mStrDebugVTP,"StrDebugVTP",true,"String of debug for tie points") << EAM(mNumPtsAttrNewF,"NAWNF",true,"Num Attribute for Weigthing in New Format") + << EAM(mROP,"ROP",true,"Rappel On Pose [IdOr,SigmaC,SigmaOr,Pattern]") ); @@ -802,6 +804,19 @@ cAppli_Campari::cAppli_Campari (int argc,char ** argv) : mCom = mCom + " +NumAttrPdsNewF=" + ToString(mNumPtsAttrNewF) + " "; } + if (EAMIsInit(&mROP)) + { + ELISE_ASSERT(mROP.size()==4,"Bad size for Rappel On Pose (ROP)"); + StdCorrecNameOrient(mROP.at(0),mDir); + mCom = mCom + " +WithROP=true" + + " +ROPOrient="+ mROP.at(0) + + " +ROPSigmaC="+ mROP.at(1) + + " +ROPSigmaR="+ mROP.at(2) + + " +ROPPattern="+ QUOTE(mROP.at(3)) + + " "; + } + + if (aSetHom=="NONE") { mCom = mCom + " +UseHom=false "; diff --git a/src/uti_phgrm/CPP_HomFilterMasq.cpp b/src/uti_phgrm/CPP_HomFilterMasq.cpp index 5828c32a54..5c109623f0 100644 --- a/src/uti_phgrm/CPP_HomFilterMasq.cpp +++ b/src/uti_phgrm/CPP_HomFilterMasq.cpp @@ -96,6 +96,8 @@ int HomFilterMasq_main(int argc,char ** argv) Pt2dr aSelecTer; + std::vector aVParam3DRel; + ElInitArgMain ( @@ -114,14 +116,24 @@ int HomFilterMasq_main(int argc,char ** argv) << EAM(aPostOut,"PostOut",true,"Post for Output dir Hom, Def=MasqFiltered") << EAM(aOriMasq3D,"OriMasq3D",true,"Orientation for Masq 3D") << EAM(aNameMasq3D,"Masq3D",true,"File of Masq3D, Def=AperiCloud_${OriMasq3D}.ply") + << EAM(aVParam3DRel,"Param3DRel",true,"Relative 3D param [DZMin,DZMax,DistMax]") << EAM(aSelecTer,"SelecTer",true,"[Per,Prop] Period of tiling on ground selection, Prop=proporion of selected") << EAM(aDistId,"DistId",true,"Supress pair such that d(P1,P2) < DistId, def unused") - << EAM(aDistHom,"DistH",true,"Distance for filtering homologous point") + << EAM(aDistHom,"DistH",true,"Distance of reprojection for filtering homologous point") << EAM(DoSym,"Symetrise",true,"Symetrise masq") << EAM(DoCalNb,"Nb",true,"Calculate number of homologous points") ); bool aHasOri3D = EAMIsInit(&aOriMasq3D); bool HasTerSelec = EAMIsInit(&aSelecTer); + bool HasRel3DFilter = EAMIsInit(&aVParam3DRel); + double aDZMin=0,aDZMax=0,aDistMax=0; + if (HasRel3DFilter) + { + ELISE_ASSERT(aVParam3DRel.size()==3,"aVParam3DRel bad size"); + aDZMin = aVParam3DRel.at(0); + aDZMax = aVParam3DRel.at(1); + aDistMax = aVParam3DRel.at(2); + } #if (ELISE_windows) @@ -157,7 +169,7 @@ int HomFilterMasq_main(int argc,char ** argv) } else { - ELISE_ASSERT(EAMIsInit(&aSelecTer) || (aDistHom>=0),"Unused OriMasq3D"); + ELISE_ASSERT(EAMIsInit(&aSelecTer) || (aDistHom>=0) || HasRel3DFilter ,"Unused OriMasq3D"); } aKeyOri = "NKS-Assoc-Im2Orient@" + aOriMasq3D; } @@ -314,6 +326,26 @@ std::cout << aNameIm1 << " # " << aNameIm2 << "\n"; aNbTestTer ++; aNbInTer += OkTer; } + if (Ok && HasRel3DFilter) + { + CamStenope * aCam1 = aVCam[aKN1]->DownCastCS(); + CamStenope * aCam2 = aVCam[aKN2]->DownCastCS(); + Pt3dr aC1 = aCam1->PseudoOpticalCenter(); + Pt3dr aC2 = aCam2->PseudoOpticalCenter(); + + double aDZ1 = aC1.z-aPTer.z; + double aDist1 = euclid(aC1-aPTer); + double aDZ2 = aC2.z-aPTer.z; + double aDist2 = euclid(aC2-aPTer); + if ( + ((aDZ1aDZMax) && (aDZ2>aDZMax)) + || ((aDist1>aDistMax) && (aDist2>aDistMax)) + ) + { + Ok = false; + } + } if (Ok && (aDistHom >0 )) { diff --git a/src/uti_phgrm/CPP_Nuage2Ply.cpp b/src/uti_phgrm/CPP_Nuage2Ply.cpp index 86c1b88b1f..a391a9f016 100644 --- a/src/uti_phgrm/CPP_Nuage2Ply.cpp +++ b/src/uti_phgrm/CPP_Nuage2Ply.cpp @@ -382,7 +382,7 @@ int PlyGCP_main(int argc,char ** argv) ( argc,argv, LArgMain() << EAMC(aNameGCP,"Name of GCP file", eSAM_IsExistFile) - << EAMC(aResol,"Resolution"), + << EAMC(aResol,"Resolution, use for string"), LArgMain() << EAM(aNamePly,"Out",true," Def= GCP.ply") << EAM(aNorm,"Normal",true,"Def=(0,0,1)") << EAM(aCoul,"Coul",true,"Color Def=[255,0,0]") From 5a64c3454b14e69efdaacad97cef52ba32e7c4c2 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Wed, 29 Jan 2020 13:18:24 +0100 Subject: [PATCH 20/49] Correction bug SIFT --- .../Str_ParamChantierPhotogram.cpp | 4 +- binaire-aux/linux/siftpp_tgi.LINUX | Bin 4179268 -> 5726821 bytes include/XML_GEN/ParamChantierPhotogram.h | 8 ++ include/XML_GEN/ParamChantierPhotogram.xml | 2 + include/XML_GEN/ParamSaisiePts.xml | 4 + include/XML_MicMac/SaisieAppuisPredic.xml | 11 ++ src/XML_GEN/ParamChantierPhotogram.cpp | 54 ++++++++- src/photogram/phgr_inconnue_tmp.cpp | 2 +- .../main/saisieAppuisPredicQT_main.cpp | 9 +- src/uti_phgrm/CPP_SaisieAppuisPredic.cpp | 25 ++++- src/uti_phgrm/SaisiePts/SaisiePts.h | 3 + src/uti_phgrm/SaisiePts/cAppliSaisiePts.cpp | 82 +++++++------- src/uti_phgrm/SaisiePts/cParamSaisiePts.cpp | 105 +++++++++++++++++- src/uti_phgrm/SaisiePts/cParamSaisiePts.h | 18 +++ 14 files changed, 277 insertions(+), 50 deletions(-) diff --git a/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp b/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp index ce0d45a6df..d63f7aaf5d 100644 --- a/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp +++ b/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp @@ -1,5 +1,5 @@ #include "StdAfx.h" -const char * theNameVar_ParamChantierPhotogram[2161] = { +const char * theNameVar_ParamChantierPhotogram[2163] = { "\n", "\n", "\n", @@ -719,6 +719,8 @@ const char * theNameVar_ParamChantierPhotogram[2161] = { " \n", " \n", " \n", +" \n", +" \n", " \n", " \n", " \n", diff --git a/binaire-aux/linux/siftpp_tgi.LINUX b/binaire-aux/linux/siftpp_tgi.LINUX index f20ad8638b6a824fa467cf2832fa94507ee1352f..49e880df7b541f79be412c07a9508d8a49d1e7f6 100755 GIT binary patch literal 5726821 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

r*{}o`1Cvj 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%0AYt-IU* z4-q7AJX9lrCb|8@6(hsHrv8W9igACvLmWHRsnJ8p)D zZP-Ooj-vW!1oi(tE#sk!D>28zB&5{v(3OhF@vsX0dD2K4@Bee*p>7f2p}zqSqjpe! zmhn&r>jl$WJGfuN1LC(1q#qx~9L+3zn2??EVOl{`KE&X32JvAeb(?atpAsMT#Z$$1 z=R<8F1Bnk^w;_QUAEI4+Sc>irfe*z~$A{(bxbtC*7ym)q+{w&+u!aXeb3Ewlr=*$> zxq6xMVNjQ}^Wi05`QTwcKQlNKR^h<*Yl81^T86`rwx2PJ{5RH8Cqj}Z<< zL#bAZaHzdlheH({>Ts};z~NAU1P+IsByc#~Lo|>Mhj6TPr^DeiuBdRh)yV@KDrce6 zh;Vr0fDDIzOxEBq_MjOYzH4cO!}cM7!}up%9?qP;tJ_gAzE@c@Rnh=RtN7I1g?k>PY9oc@ns@P#NpS z={)!oS5zJ(we!G(;&<`tBpx)`E%V?FCTlzxxW|kKUo4r;0M*`c{jdC(K5 zGl&NrG4P?A`IP*Fl`B!%On6XO$Ux#j-E~M{#)HDHiEWefN<8>61^-~Hd*Ic_-Blh0 z!NyP+5d~g7VE(}+1YVg$U3qX0yoFmeiVdh!uL^=f0&E^4uZ9awLP5-O^NU!IGx#{! zp0H!+4E%(GcIOCNb+#`okH2D@!`ew9;^wf_6OYYdo#8>qps;edgFuKNY7Vom`d3ygIy|4kZU_xb>LwpQ)O~t-v1@+Cu`4I+eRD8 z_NNVHSJQ^Fk^Z}}nd~OoOm>@3o5_9;P0+@(?wiS8!e+AF>qW;8n#6XKrF&`H$$pHb zV4=E5jQsek+sPKhcCy8>ovbZ*@;C5D8jeeVdoscX_oSERo@m?2UTh=a=!2h8A>DCA z>t?t|RUw#dJiRtQeLvZHaD-?M6IXv#$_|kFd9x8xy|UA%B0_57mpY_I;82HDe-b#P z-XwuTsuc;`X|a>QA?3v4a5|(a;fe~W$QB+T^*#+{OOX0@y9}wdOx7T^bB7tEt~W43 zDiqy<${*QeNKJMn=8#&4lp3TyrXp&3QO^8p1}XF}9jCEJZOEg4PGIV&VOrUu)s&-U zOuc=J6qTrC-K1m6)uWZR_@-ss9s;l4&WQ02THhDEN(eON)f$}6AYLt@9?4kEElG)2 z0pHU{=O?h9-F1ocDhAdk<%!r^ zg2)OXS^D*9c^DIC^C@9xQ#T%7tF=I<5Zye^Yr^UDaN>l2P2V_S!y3!0?@zT;L_{|%JfsbJw8No}h$s>`BI=O95%D|;91*2S;E3pn zh;$thxo|~AM2W^!|3I+uEDYEcj@$O45fKwM$%y!j$r>WQ-E4-4Ke4BxJm_(`D-f~R zPew!^S7MHc8MGUt8a~vIipUYM;fw(h)UHY1k4H#8DnR1Z06?O

1gr!Q0jX@h>I_jpu@C~1-}l`6%*->B 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%0AXZ2$Q#OVxJ>pJ1mP6vEu#Jifo!PX? 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

hH#a9tw@&v)&z8PDIazuKA4h`v?b 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 z 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≠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 z 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

Ki@JLw2y$MnI-rwlKUrST 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 W5Cj4z|fdM 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≀%z)_wf%K{n2%^Irg6 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

xrk2f#ty0JB~PT!l`2%xXkA< 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↰!4JsGZO1U1CXCuM& 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

@gX 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

}W&0KTCr~1Fjnqw;l4-w9W+3 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

m=?9CkB{JW~^K)^XoV{V4BmG^PHB!tFYn<#l}x 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 literal 4179268 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≧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

F3k;P9jB~_{D|G_= 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 k8TzsBO?oMbeK(<$TK2t2 zFD0?>veQVZW#6OpQWE>#N-4GMJ3%icvG2u{GD3+`W3Kg`x+&4#jHi^MCh~p$b3NOM z)lte&B_$%?zv-q#M{qZ#JW(<7-T4pjLLK(qh@R`PZwo!wVc(~U@LY#|@22ONN2bJQ z>z{*H`{FvEyv1%E(w`-qee<}l+*k_A+tutXewQrmJ9}q{cbE5f?+%)by;b@LL)Z%J z`x(l$mtN%iVR~~UF!DVeLea)}vt;VuIf^-6igfHT&SZCjdT;flv4}HMqc8o!*EjBa zQ?}z~Xc`dq{^NIK`M47Ht_v9~?0q9H*lu4QGhKz#b4}R$>>2zjo!)prK0H>s+DBK_ za7Cu?WT*1T3X64Qg&&X=Ug^JfF(B^!|B`#>ppmK~_nym=GNPxQqAhdpQF!~`aPM}X z{Eu+ {DC7WocFylG9NVcfggE$|{8?)^_Bdk%k>XKnB153bC;7tOA~z2AC3!@Wh^ z__+5Xe1liH_b|Mo_&4X?Q|R+NNYH!y%lK7r@6{hGji;6yqd~4ys^Q*I*K?9G@g!>r zq>gt5lAvJR`*B_Q6#qV^;od8+ZE-WOlhaPM=Sm=kjD z?Zpit)~th^<0o{aF71Lr&P0pvf^l!#hkA&Cue|pUw}^4?MP`mzO>U92zEL1z!MOKd zALz*kcj*fGYUI0{EdSHeAczf#@*y@5*D_)<_cp_!2(b#>d*e*#4enjzT!dzwqx`Go zsH2Q~e~Al~dsEF-x%V90sN8!BZaDXT?=FTt=iV>jF*5f-T}?9qN4w7P&-ZnpAnx6+ z#E*M_^N5d&o`_Jn_vZ+S(mKa*?CLJhIvI0}vi9TN!ztXL<=%Pj3fy}Q>Xpj9m*Pg{ z-XGvb<=$`LhI8+wO*Gtl0v`L>8;pA&S)^w#xVO#g$Gz9VpnOv!+Ivt6WA?Ijj;m^N zduu(ca_{N*G9O^?q&pa+VBGr^HNybzy&X)-k9$9=my)>mXOvRQy&LPLB_lG4YWgqu$?q;_RY2bbx?tO#u zwkvy!-z7^=L4cNf561wu0{1?$8M*3m??QS5e2KpLW}VzfT4}g*mAQB0sTH_4 z#kSBV@wm4YH$Lv&7;_6$?tO~IgcR<59Zfp`32MZ@jO)PlY_g;h>0&(9xvJw@TWH9c1ah{%$=z)?CYPfgGWe(zx zhnalomD>VA4930Z>&i!8c;v|}mBWO)2b+~u;b)a}U+`9!m*Wuog z^jwE~mti@*9``;(&o$h;>3%qvk9#kf#BLqZfgL*B`!(h52KJV5@4t)vx%X)d=qhmU zp_HpG_kN7tRN&sTArx+}#=X0T%G~=b7Ut563fy}T{leEb{ykB)<2Gm-5cl4ngDkI_ zdzbISuc{pPo)aP~+(TBla_&t$!f(#WW<=DrYb|L830rH)CZo9NHLbO*C(k*#MV@nV z1O6&I_7$SC3T%lYUu(&hJPM{sSZhf_r zi+poz1vWkt(JqyZPr{9ljlYR+@+upD2Cpa*PGH%karC(!KJy0uQm(_sJ(>v=J2bOU zzIjz?Bm*MhH~gVt<2Rn-v}NRO);373A_8gA&6-&#Cl&cvg_)=;AC2&rMH)8#)k!YD zHkV(K7X2RXqeYu=jdn=WayrMcC!R00vryhsXQ9YwHyh()<1z!Sk64=;39p440?L1BWhX~Y?sPMtNdG; z9d)J=b3V?(J-8vH?rIPWsbKq-#Jly70&{t1C%1&L@OO`Mq-t zBdtSiWW4)(T&TSJ3*4x@`(50qyn8loIPd-p#YhHpd- zQhE1k+^D>J32s#0{XT9u?_O=y@NN;0{p=0KyU$G5vlmPB`fO*sJ7ELt#om6u!XSlr z-^lD`ygMHhkYfCIv{QNa8~7|AV6WTE*aVAtyVMK=cz5wOFiP#dB?I(Q(hz7lr5wg< zB-@D{8YlaKY6Zl7) z6-s3^Wi<&|dAd^yS{Lc*h<~_!w2t+&?HD}B`LoH@$#tW66dve9S zy3rdbdv#wiE&A{(r$v8U<+SFjNDH!5Wx3Z~McSHIk@otlNNe$>W#`&QW77A;G0`E; z9*Znt-OaJpI-9ziGh%V9opniEBn@C}hj65V*nyo|ULw{IY*K7yNyf9HO`0d<3fsgQ zVv0%F8M8O0pk`i%g+@uybSTVv;Y?P3gpgV6t%*b2v(`ljNyVb=P^eA9ZER9WMq|+` zrkRk2NwO6QNxMbo?wGxzt%!-*==~OZdb6RCB9iafuI%Bi>Mv{l1@zBoFKZq|?R0&$ zZ}6#2XMFwt)cYHKy#w{l{=cFx^ADShav5peK}H!{_UOCE{{+r{dT;+frngcb9}f4c zk6}Ro{}1b<>eqhlNTdIwdPn-VfB&m^N76Y6nD^<7#=&6jj%Mt<#ZG{I7!;T&cMT!l zBH~2Kcr>q(LOhP^iW1_Zgwkp8(MmK!bD~(sTpYzL&ne9+2`0O=?Z1(|Hz%0vrZatd zzy7aePp*>e4*yDalc2JvY4qOR=HFoQ^N+zW(aN6quVfDmDqGU%-RNJ*zPU=W3plyG zN*`RlHW(%kzUuRn7ygy({#BA4@vmfGUK333#Tvc8OzTym zQlk$e3dau;9FE6yoQ}|txr-{3w(`W;-tJ+iCSC4}Ts1SI%j%*)TR&m#C7@~a^y*GBd?^5ohXTsu!ot;*qw z%GT^8xSSzsr}i^a?Hy+rs2)0~h{l!**uD63^1fquWr*e<^fglRy0YeWs5i@3lk!eC z4Do!e?56f0N(1M5phgtFk2sY_Uiey`C7JBfsD-jaSzoQkcRp;ipHE`WYJ9I+VQQ?7$|HVnTlnK z)OSDhr&+z%-_BYe51mV{o_UAH1ktrvo5h;F3e6oInb%tEZxa4!c0BjINl4f&tP{JM z#g5I+<(@Oe=31worc@Yl#GCjd+ivR=H=YR>g!QhR@fcXdY%CLg7xGwBl@oz@Pq)}j z&VSTK?*+85B*0<9$%8oZPz)D#Hp|O8Tq>qo!rR0iw`PapGZ{9_H3?^gJe=`b1LAzb zVso7yF===10Ta&p6hnnGp@onp#6y~TJpC-;qG;Od-m@&IYoJ`GUX0>Tpo|%MXz)kCA@ug(ep{0E}8pL*r}+ z+MNtl`&+J|XAizSafkQZ4oz7+A{mE+BFJIRuTCUc92n)=mC;S9SShH#XYJ)Lo66fr zqkHg*Q?W`N=)>Ni#yF&%yBHX_cK1O4bS#RsjS!Ag;pIb9wSDwQM`i3X<{E-qcpoE+ zdo0(^a|T|@KL(Labzu`Xh*>;n37diT55DzO8Os*7U|7Ck_hC8xPd_X_s8czX{r)i) z%N36riDgT!T>zH9)%L?O@+%!IY0w$qmuVWmERGL`W$#CQSU&KFAC@U&C^X%|q}U%kl>)9s6^hN-r$zxO~eOs@l9M}=m++~sY4nASnQmDTlM z4l7t1Q`ejKG7`%VxOM^l86V+?<+M+(9?Qq>4~FGh4C56nzuD@C({6VDSO-fA-dEDEn>z=?azsxbmd|YQ!*YU}FV*#4{H0D^zvqyG zsWEk3>|rFP;at0by8Z!Xc4{z{KCBw1+PeN7rZvF}b%w>ab9T?_`pt!Ym^MegmDTnA z2NW!gsq0;AMq;^wYZu_3DHcC07kqH_Sf(SgtB>VYOe0h3dfu;oSnj*NaxCXkP>I&e z8Z;g{8E+((&vWepu)H2NY5dauz7Cf3fw7Xh9*xfg`dCik?4J4Mm|y&`oO7L$FV*!_ z{!*u|cPmyfHKwk=8)qb@b+~o`b$vxm#WrSn*?U#PR9n{z+6Tk5HD~usa+A$|n07(F zCaiTxE*O@FyZY+-pFjIyd9p_3 zSbn<4SS)LFH4@7ST)O})?|@AjEC;`%gC$LZsHCp9!WTaMy8bq2_slP6ZuGDOP#v@T#>PLJ-?%on0DdX1=RI@p^9zH@<#KjhN-r$m);u;)Bc>@Gs%x^@Wb?3 ztdUrr5SC8d~_XNZ8M$YaTmSOAtu&j%GE5mXN zk1!dAWy=mmV)+TzE&$7(-w(tMq=vV+6C10lb00Rm=|@JTQy9zb=}lF7^XuxyJwQ0%<;o?Eb^_) zKVx_(&oKXdwVjbz*5KL&_~$2Oepr^wxq2*DV)>W8e>UXoo?%)0M?WlEBHzle{EJ7J z48tp9JKOl``p;|pusnD{$(QQ-m;9wp zU4M;-pMa?`9R65qBQbrJYZp-0YpAv{FM9a3s$r_F>rrA+oiQ2qgWuCWESGsYNR-} z8YwO^KQ4;Oa9aOp%$ueqsZt>_5Z2RH6qhl3i6*=Ci%RQTK0Lx9d3Xm{=FTjp33hZ! zQCuWer&`$R)S`UbZjvSTj&N-p-!*0z=1tqoqCHBCGj)o?f>6|mT9}*XcJg22-GdQ$ zhe>)uoGBiwO)=*v)K+{`(xKQ*<2ER>r~9}QiZLTkdO;peXS>8pOJ4*mTcVuo;2voc*v# zn~rA!uxZSz{C|VZVtH&G=r^S$f!MUpz5+J%rC8%P zdqH5UhD|A=bR3)8PX}OAlZW{#Vne$t_;*v?Vs>GEvXT5|hCEgd#AdrU5S!XrSBK5I zGgZZA`#J@iuu}op{KKpKe}m01dCVJ#&B`Nz*j$)&1#IZ6qsDJOK3!F8RwC%g{pRqA z0BpAKD*xYL^H>x8_GSTAfcf*{y%Vnvo9V=?t2AatQ z(*F*`<+Jfuhf6ZC>MG%qzE;8Ijbj10Oybr3+T&urQy&-m;XqtwXI=pp`U;})mj{SZ zR|yw80-oGo#vcv9JB`y2^~$4+ zRBzOBhORFzE95Cr^LCn5X#H>C9#C<00MZgWa79g`(d&|nbe+c>BW9nK~%aHogU(j91!5Nw`hOes0|~`hm+tu6sFUh91QdCxfF-g0+K6WUeT`C zP`p+2r4!$3>{^6iY$bMm^|ET$T|T?I@2&)Mih}xMei|@TQMY8Ko9yS+D%b61pKjti zD&~uK`RS%$e(4*+ymCLcaVZXI

?jE811B>UNE%>=i%12SMISFz<-m<@)>WLe;Lq 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�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%0D@%SMFZq)=355L< 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%0DG3d_bZv5I z5}MA}m%x=JyXBSp$f$!r_Do3BE_Nx}w ztI3ITyww-9pY1qp@X*qu9Rqtxz4Z=c2-M-AdED}-7H&`qU7%6%npg7a1;?P-Y^(pM zPIW#1zfz}CEG^jT)DLp1CF6*mM_#oS*$>e-mfH`I_W!2bhCpuK&!Wlgv#4@2XP81Z-eVFj+yfS%c zuR+StUIRlY+Fe$H5&yste%xi#_^|^$PRFA~;|r)i`s@9^&_fPfxcTzc5{;b5GO!nj zkrKP5BUZnvpXg@JpO1=FznV4SOgc)dyj{xKL!7nkQt?YHtZCPso@(3mFcNCp^~4hm zl55-bvC?{(PmUgZ`S|;iLjB(@`qjP`-NCEC4tB2T-tuffS(S5HKxJ3Qs`I^bd@L*X z&2eVG{)~MznI{v$!r*dn$EsTwJ5V1BsO+~`jV9+5#1 z9TF{u$nV8OFt?3~rC_#Vs*Q%oXOsVF)pxS3%h=Rg*4OMZ++}-U&bZrn6!&>k<}Z<8 zWpQb|kl%YwZ#%Ni|I52I|MQoGQtX^;` z{)gTwh8WJ@8DF&Fr>4yD{=T28U?}AbJ>)D9kDi5?@6$+ zzgO?kqh!68^!Wcky%9*w_5OajQSYsI2-kb09DXX^piDWzY4#AeML=`F39;Q+tYpOY=eHVr0B z+WZF{p=-pam&#nY{UYo(=Zi;Wu3ZWe<&DjQ-tE<5mo3 zHgA7!hz;AX7ezH}FUWyBl&C&Kc;{TjpY*qoU@_EP_7i$2o5Q=P6@r;2 zg6n|*4)1+7@?ML@AclB`~ z&oEcbOodhmy1j$!b9|E?iE`u7}H*R$toW@a5)+PNU8y7czZVa=f=*%ftB* zn7(U*=dv+Ztj7G>*aX!|suu3j9!OUGCc#6QU?&kgt^foN zb);tz!6p^m_0Nf$THa>hGN=!=Cp??m!jmlVpp3NoL~s3^)4`kB$?<~}FYc61RkM<* z()qdzWYZintufBTjDK8QaXXb3&OsvkXJ!meyAL(#H?{6>qG@`+X%!zx51(a&lw@x{vBn(D?PwCo@ zo-Ki2{3bi%9AL*QBbXh`I?a2~m-cy%UoMnhcgIiUpf|pvd5`+Av!>pc!*q%oCNoJN zDJ`UQScm;++NR)A@XBOw@OirdyC4j-2X&J@C53BPCN3@v;etPIp_yR^+P23mtE>p= zF|j3AUmr_b@`j{PuZxuz@XYX7lGj<1C;1uDud&XrN@jn}36oZ2J@mcYDpcT9?MpwTs7&2%cC!*%Ygtn-XXDrr_T zUBR`1pFIbPPf-U`=#eL(P?P-^BwF93YDw#2mmg?dH z#Z}+8f1cLs-0!9)l7htHS={r{@9pkMMZf4SJBeNgA*!kIIN~Z%ah#@JP4Qj9L&c|& z$C8L+uR<;ghzdF46VD;6N`vVzDFG|O;J~-tYtUpkycw16wREo-^Crwarqo_rOXdrrj@>1)0px~c{!RI(@(fDCVK?-kx(mZn3wg(>Ep;W3#vCuY+RA z#qW18bM7H+rW?g~IeTL0q1R&gAQca2!xO?I~tle+&hM(^31mCnj|hq58jy9)~( zX3ezZIL|tF=`~O!bO106UOE&nr1!*+)r69^TgKxuf{DeX+r&S`QUSi(CKX_wz2%RV zi4a%WCZxxN>~{vnlI(PY>?`eLzp&Nf_Rq2MC{GNCCE3N2LfsGYNJ)6JP0p^@yVxMm|-hNe$VtqVSmIQ^w!}FTYGBHHl?6}~23TdvyKHUX zISXKz2~a#MCY*c86HCsWBdOCxtc+Frn36Z`D`vkGY|KVCxAlu93%7o0qmlNoNS$Mw z)E!R1#JGv^WK&WO!lu+{qsVTUx;PBSI`&gLD2b)D4p<4R7vDvSiEf|N)2^iyxab#u zx{!^P(rh-#@H*U<&4#`fzZ4T~yY|{xvTCWMPHzu$7pD0llV<7S7;Vhma@{x10xJ7H zR=PUonpjqD(-+KoeMqdxd;jWKl6R#fPd23r&}gl`6c4xcj~AaBwSWBLEKY`1D-dcG zRn%p4l?Q%7hrB*XOs_|(xv434lc|P_W1@!3u8JiqdP?f_c2Gm5R==t+s^1w; znf(U0VHY{_c`2BLz{Ep;?I8zt9HA>9mjF?Nr(=>3p)l){;5X1>L$jEB{poR`VaZq? zP*RKrN;46Mkkb=LF0N9ulQCD}NtpUB5K$9vth9~)<+!21sZF4%k1U@0XzYl24-}5A zxEW)T+zYG9>HsgIwOFYuB|M?l4UGLxqER=U;sT*ZS?F~3L{juZ0M zfmRc|Ik*s);61Aw7Gk_6oe1)>piG*FxUOQwLQ ztR!B95m=1Cx{#Wv<~1t`M)*r@rm=%6Ny&5&Wm%ZeDNfGG5LASV3V<1kl-2ag0$cTlXV0>CF($}z}_{HA&q$p;57v^r9a6vu4 z6hBPf;sZ{Scop6z>0W4$I!$-OpQNBxSxJU7qUO_X5J-F=uac6(rL0qM_b}EO z92g_7V+{x#Ch;Vx-OMza{X$wZ(uO80S;^s98K$c*_UVm!tK~jDjN1dw+V(w>jGAgg zhxo*&NA`u3t9poky-0ySm;=F3jR)x3`&40o<%>D=jg;uu$K~D`ZW}4IF+Bh&ryxpS ztT?tWG*O!9@fhHXo*G32WUdDFX{NaaZy}jkyoeHmBIQ+>}jE)Ok)} zQoeZqWpt@rd2QN|(W8pSfyx5$Tf%ifW%$*yI=I$rL}Tl`qCr$w04v9o|Rk zXwr@Y)tEK+y}+yq1$K#sd9<^flKo-|L6beX4-buBBDt|y&YMK?|0any%=dGE(ct^( z61iWL0JSmi5}ChqWd0q`TlqKPk;xfo&(Cx(#Y&sx#i%jN2v&vz@x%*Mk~E;&pkl6x z<*)`SIL3|ji1GZz!ZUho7|$!w@C-5WENzJgW&$$z=ZkA!3e!|tJ;cu>b%uVnBI)QN zqhhxMmC08N&weaB%esvoW#Orjd}>*>w@f^#5)bROr7x;Q5A?-gQ-Sy-E>d6ihloU% z)R#-wNPT(m*Qok(oh*^`Wy##Iz6>X5(wFP-5Y`vaGqY(Gmi*KJVlq=_2Mge0(!iEZ z-3HSpCTZmxk(4WrUfl&YtElJO{hgXdNjakV+hi<=!)p7)@i&v>#*8lN+%p5svH|Ie zqlf7FO)|Ck83SL&q+eX|7&W*X`Dpgyb3~|S1h?bO{aAY}aDy_faHU^dft#R_!yl?7 z$WSFYyjlg0Pzd?OoTv7NMo;h;-ExK3DO8k4QK7#)(}gmKH$K`2vh77Ewjz$3MZD)1 zpP>V7UBn13;t~`wYK*_AdtVgM(Vv|CqxF54ec0B9P*1Z4#EtA;{D+NgfTu%a{?|$Oz9L4a$H5d?(Xl**DB(ej#(#R z>c$pLg!#zVf=6Jkec}P6f&ce$S~+bO%@q@nR_o|NW=7L!kd-6mBT1{+j%O-tOfDuX zD(Qe0vcMzgEx4ZEAe}$aTlq?QOYR~1(3?iZE3O{m2B}*UvE;8+5~2B`Iwc;Ni5AM7 zW&vpBgb>q(FAzWl5k@6D!vK|32I@h0eBx1nf&Xf7Gg8xoL|fI7L{f@pp>k?)11A$s zBl$XvRA#Iuy#({yx5H-aZQ_Etd+FE(gf>)CXBOfj#M9Z33{Z2W)Zkitp^eCi==e@Y z$0sYBE1s2LVu!kywr3y=zLE+JRZ^kiW)lg$slknQBn5a!t8y13A^C|9M;O(iH?$r6TGgSA|K*gPD?XB7 z)PxKj7$UMgRXPb_UF7 zoTx?Mwh0vR$~>F(dG!@p#ObmK!}=7bf>vn(zxa1@9NIpcs#-jws#Fhyr}tmMl=a=F z*JB6~MM|$C8G_NuSravlbSX!y%ZVd)2T4DCS~;1NTrqn8zL1`TR@fR%nG43y684`Z zPV^Z@2k~L=E+noIB)BzJ;oLsSvbBD3?vQ9wq5X({@t`JI#(ly= zOC-y7&X-boc73E&ifu(;`9~J9&M)52idMupF5(OnF&^CxGdkHQVyY~{>=VlV21Z$u z@vIC><}y4(GWxA{fD{{m%K&(lPBEok@ZWyX%OZz*$dpg zx>v3amrK|5b%*WU}J>v58=Mn_>biZ^bGgXbf=HosO$jUrzRX=3lo(*1iZf63r~ zT`v-eT0sUqojc^JVWYK7R{pJBQmi67$3QAWh=t5+*l0cQpyYZ}4 z+(N&VxAXHPelEsuZEy;H2W7hBYJ*dar<&m3@Dx`QETundAo93IKgQ1u=|Re(RKbmz z{WDU7o2GTiC?^CZofQ5nv&IMO@IfPd_`rW9viM<21*51W3RLde)gb8(cln51)jkJa zs&tSl4gZlUougGyO`w%jIm9O-?g>?Xzgbq9Q$3Yb!D;Ok{;P5ZPX$#MY5dnyNlYmL z1pW0?5L@uZf0gF+ATxzdgi}sODTlYVsIS8Q!lA=k^bYt)1Zw0Vfie<+U)*5p%Dwa^2UF~DFU4$9(1#o}ZBso$shEvtb?68+pH`ogtPu*9p@xoB z^I>x66TlQdA}E}tH9eHdxdiNWW(@D)E*qQ#{j77(I|qN&3PMQ-BDv`;;8bqvp_Wsc z8l*fpYf05O^I(U1rh91vUFfIH#}}$-(Vw8DUVtv{A{*hO`D0PO$*@a3N2@tOHq&FF#kz%VK;6 zrTv4UY5n?cQm;`e2LPh)HkCPz^ZYcIq^U|}Le%#04JyMZj%PCCKlXe*eGd**36>!j zmmIC#J`FR0`B}$r1fc|<1}wJ{YQ|_K)Qr)7sTrerP&4+a8UbmJQ@AnjYm$wb?bnue zeRBFcNnM7HXsFs!viwffyL`s(UuJA{+^Kk1Y`JH}mJ?g(Rioz*zR12UN!f6CpAsB|SEYOieG1ZV)sgm9N6$;! zkXEfUJbQRGwGgEmEn|D;$Sox+K*$PHug$A=%8k# z)C9LpNe-@^g4tYW#u!J5Gb7VE^(w4~4~u3?=iUp&wOZ~65YYQ%%k@9OB1z^avO}zB z3xGVwG(%dj4~a*JePoP6mGn_7r!@3BJ@F?;l<&c?pPLS%_m$v6KvaF7pgAf@_}W!c zn`*Rjg2v#?Y+T8zBPG7sCk~YXD##zv%|HD;Ms6D6r!o0scw?JJNYw<@kvL~a`;G(R zODjnILc?@2&W3(?ojZKvwye$F>gpk_&Gw^P>V97lNSs^VAVt_xhvJYErtg~rrk)U& z@X_Aj zPlrEk%m3QmIqZKO#eoo9je5TreXUvN-L^VU;X1!H!{%GR{hV};&MK4s*XDO4{jct@ z)TaCX9#$f_h)sTR=$dFnOyweOLJ^j4eX~)-yQN%2YyWG?YhnNEZahP*REXh!b?rfp z?L&?Ia4dF(y*S|xkyJ^>>qfa$xD3LeUl{X3L87EJ$Crmkep zRv?u;+--F&IP42g9iHqIu6{B&EV@3jH$*3MwwN<4oB^IsxAAq%KO|q*VJkE0Bc`rk zzSiJh$ZLh6_w?F6fTI z@_3cKMa}V~=9oeMrO7Dz0NnA5=^KfG;MqSg;K#uFGv?V{NF|=VyrC_gy$v-nRpw%h z_{4WpsA>%nRh#V>7frJbs4sq2@@(Er$+O{=kvzNICXCkzvBHSAMj)Q+7aL3DAcIE$ zpDd7wua<~g^Xw4D*(T5S;@RMtF^BXt^ltRn@YMA9^LT1{6S!f{Jmh^$?Hin$w30PZ za_Tyy5~oUP+v3zp2;SsWSB#&;%7=(k*t>3@kuIF?7ssdCMolOFE-Q5V49Tf;mq&8y z0-Ff-Vv~}Xz=*$zK>V~{ya2>B)Mie-XdpgSB5uv8jTnoYoLY-#gHy&3b0TzV)R>7_ zn(BXU7nnBmj_R0k>f~FBzPB-}=SP&!m5(O6W3^4Ol8{d9x~Zluc0CW7o9ucOlk7ry zkl3{=qE-ta|3__#^~p1a{HIHH?SDIxUE6Gk7mytKFyikb5HIwL2Y}d`pD8vFZ=c49 zTeGVI^9m-rp1^ZUc4a`3NU`$8spqgt9R!#1g%idIywk|9-Z9v@qhb*r)HBul9Ys?% z(JbYU-13-#3(-%YWq$ZqnxXtmriUsQv(cw)KJkd`N#s(=8-O4dH?D7s#raSclg06v zZ4(yI>#c(Gq30kLK8 zPBRccED^V6aevGpm@K{=&n@j;0~kAg0`(qC&L(E7<#&TCVS6`#T_ja2;#5Ui!Kz(} zN^k^HR35Ktj^|ofN415-nl;7z8t%iByu?mDQZ_T#QqFVi&$r;<-pft<9Nd zTOad0_-qPuErx<(^aI3m5yA5%ez6dSlz7fFn-xz2UB`3FM)cHKOqo7+zu_pa@r%Q~ z%<9>_YB{xfGs@N%?KOZu_KT0A0?WC&3kdjT3_9iDq;@d$6ocwQ1ef%nCw(tUm6HS+ z`3`q*8D8~6%`AK^c#x!IF4@M9=@O?8|E}ey5zLM~qw#4ze}bd`pCredj)AWx;B$llTI(=Y=LkSnG02t(5O|3p z7#ICZjMBuj45CMXz^N%SOC#4H3jsAUktc3ntd++M#VSx5CgVF;Df7rK7shC zcJDJtV+06{=*h_dS%Gn|Sim6PM}WXD*+w9Lh9-yrgY1j|fv2~UKu*I+03w$`evAM? z*IP~?Gaw8*8|CPCaX#2MgjF}p;gMWPg+49g_7eUiTlc;6>HdgZvf=pY)0?|nmL(ft zKl=1rL_?NJd=7mYC~dzbXxUy8=+mV*;lNJ3Yp>)eB z{T7M`4Qmt)^A=Ki^3N^P(G<%leGIFG#e_oW_uZ6!KTk1))6sfHQu-=L!;T-CJb>X_ zil7jp=|Sl~w1hX5tRsDLM^pi7b6_OWr$?ZIu56+7Ya>X4f>cp@b3~P)p|4Q-n-Nt; zOL&6PZ;OzHY)22$r=u{{m?_0r-k5X0Z5UjIFDLHB3}j?5#jsxJ*V+iCpg4#MTJrac z5fV(y2NGYaV2T72Nt9p;KOv!Xzvy5fxlvLQ5lpc<-Jpb)sw09am=a3&i**uAvEjjyUj{@ih(& z5BuzlS0lLR3wo84C&45JsFDEr!u1!#X4ROJllIt-Qeup;9>4EW^taS-l^UH|edA%u z(~1x7GKzVpYH0K=N35WH`|*f;jrb$;wGx86Ou&lllN%Nu!XB%9tSgH3{i|N4iWkrX_b$DxD77xT&!oVxh@){Gl0ohVzR{CUuEx z{G_q2v9|F;10hYZB4z@s75Y#UA$p(tfa(F09KYCych*><%P#^{(!~rOLD^V*0bstE zcROjHo&$K^7}>blpy5TJk~DC-ej(NTD*EY7Ke_aC7)0rGhZ%>s>s^u7__XfEAD~Q< z)q0t>xUr=%s=vz(qMksiel6j6hqAv(KO{(RE(m1_73CB8sEw4p$!Gx%g0 z#boLKg&zZY-@PFEsm8}q{3KLcC(YIAd=vd)CW?8}6OVo|c%y8ua@Jm4fmgi=h8mYH z30cgUVZ6x_xImmrU>{1beL9^Yt#_v%+IX(V(bEumIz;TGvqtsJ^wfvazN4od^wU5; zsg(99Juw{JL8dz??LB(>n0{*LhxA@wML+M-&qDgyMVOzYrwi$ccUjQgC>+B{XE7pH zdX6_`c94!UjfmlNB1f*c+GUI3q@*0t3-e=R5uu2v^lO7WRVF7Ul95j1tXvFqVZzL@ zECxYTa|+kHnS*Ik@aBH3D~6xMaoB@3D`$^Fa)!%x$ev9oVLhJdD8<%&%N z#zay{{lZ{e9@Z)e%qLz082JgogP%g8}o5)uf|{=R5_2b;NV# z-e$#fQkN3qBELi%xB#}@&Cl!hrTl|XYCK7s6gH8Cg zqA0m%p>&@pGmvb!mHilUL8w9@jxH4aO(f(5s2l}rAz?}=-6yUykdy)mf=dO z{EY-dG8@Tnq|5X+6mRx;&Pc%of5aN7%3XRobJmFGT!ZnyDKA?*XC*bAeDPfen#JRI z&U~@+9a^8z%84A@b+Bg!Y|D6Ky{8)A#*CJPBg*q5e8WX z^VL%M_f!0hZiDvWaNvxfv_T;=pl<{A&YT_122BEbzsS79HrJCyMWIE%RwQlE9Sb9E z(D^nSbkqz>M7Yzes71&@=FZz~iygbB%OZx$B3jS&betca>-p_*Yp$o97@R9!b~0rM zW%~+!TNL>$LoyFpSO>Lo(xO~(KL9-Y>?S6-^#RERVPUY+FcqXPRWz*?*Dp z`0^i-^4M-G;u%xqh^#$)X0#&Yp!a4JVJ)fnj3QRv$wjo5$HVi&^0)`jh6k^aJaR-g zC_GXikD>5pP(e9GJH(c$pUkBH!;C$|qW36^JmOBvUU3-=m;S>M79*`{Nx{!{aLbZ0 zowDrd%i3c6W-!}q2m?+x7{AspzD4MlybGxQJOt z%_19?F5XeCHPO@-s)YlHQ8mNA{= zqSI4NkeqP**+zd_#B|bdDl(>%5Kv4f{gqjbm`=h+F`e{RBBPj2Mo~!=sH`ul++xGA zX^9lo`59)^soEM<8x^H$LrbYHU;k+$-b1;dY(IIaQG25Dc;HA6Qx%{AT;l_ivTAh{*iM${NIUYyc)$ujb=On zTolbnIDKL^TndaAs8DScG&)CYy;2q`sq4zIj4Nreg<=_bpIpm`#ucYhL5OHP0)!mV zxC)*SaAHD<$VNn?d)^EHA(jzQjSDGFYM!>3p1C0@m5cD)w@zjLQnaHPfvGZ~h<4nd za$d#p&#d^*Jv*oGQDuH!0k7q0eWFso7Oo@itgJi;gjIWRI2>kHqqSphuRhIjB`b9D zdQ#|AmDN0*qcb_8k2FH5#e5L{rpsncfqt7QnS&Q)TZ;e12+V_{Jct^KxEU_)=rM8h=bs857l7E*B%J@hZf=GW#+SkJm50!6)uSXe$kpPFV$? zTLz8e?Zo@sPpIXD3Xyop9cD~Dqhnn01?rG9D0o*H>{3UZfvw93r%ggyvNALoe^Qj8 zDIw;Wl!dHC+Lo%Li5`tO=brl>v|+|-Hc0NWSy-T#(R*9gZqXam@o?=!-Z$Ba{N zNRk16TdKBdYzHVXblmojw$y#IZcE*c@goqdtPvZx)HQS(nbY6-P1TO^BN0rD%Ry4H zLEXKyN*UVS=nlp7;I0EtbE*uRGvZUsF0LRvmvD$z8mwrD>0Z#MjC2+lU$qg`mEj2|&`>)g@sV+Xx z1jLp@Iw-%LKwS|ShkhPn%oVlAX!rwtQ14GsM<<2uhmDbt+pz48-LjHbuObYEIrt$` zt?;;~DU~?5RHn-CxM@fwXJOR~EgV5xO-H~Unl*j)6r-k_{i30Bw3=dB<;qbuPG0qZ zz3u8Wxv+%eVQ?C-0ZFx)aOY#I^48m}`jpFekEZwc$StQW3Z2(BdP-$=N2! z3bEv~7>H>z4o82zWFYP&5nJr~vgPzu85B*%!%4-v=?JygA{h@S8RK0{(|k~;TM&5w z)syjXy^%_cxo1%eb+QrO1tK;Xa|whbmiUNpiifikj%BsRJlim?X_Dl~NUZV`M>=bf z9Qlh4@ehRfW=2f$aCXF49D5Rot-;$<2IAwR7_r5Xb}czF845#jZ)Q^*aF`T|n&Rkj z>itIao6#6A<**hGKiP@!F-vPsM>;Xb_g`%>X9G0FWX=m9K&Uqpb13@FUI(l#emc^o zE}z{enRBhIgE*i@GUqm^h>5r}G3N?KOwn(4#8`w30I@Z|deA`p4HnqJb&EMc%;2!I zA$1`S>cQ$_IN#?TV)IU$)khS`h_|k=FXJcd$U>}}F#4S_Bh<-0Bi`*WHza1+>oEIZ znGBEGDbquhO~`~`Af_I#Xp5<1QD3v}mr^9tH8&AcDc;RqcPz|4 z?6+C2NA8tO{SIr+q;U)9L^AbN8)6?xYezOArg%3y;@1#bx6Ki@!1YwC8UPR29} zG1XvV95jrKf4-fyO=*Au5B<}p~4hzk;d%7HR5oVC0f@c8Pdh#oO z*|{{^uDc27_L_@LYxv68n& zY^C`zY?!#7Qmc*O2W_XIL4xSV{(O@DHCF$nS6Z8i`eQ_p?W`S)*$a5xz41*BX?gd` z)9~A*FQ1W#xU4;R)kgt&ZII|>keNtpu|-lYBx2O(h64nbBgwKqFI z`^1i%JNgXz6_wPFN`F%MOAbsuzKb zX8vI8X3#K>X~-ZNUI7g(Ys9q8b(j^mBY{``BP^uL&JF@MVLgFtHo5qv zUtAXz864Ap5aey9K5p@gE>R)jj7=iQd!^`j(@8=D!20$zuMvS9SFnfhycYc9E(o3PcLSqmL;*T7pbkwGXF%nkx4=M4hs z3bu%03_@XPb`W@ma|q;H@I&-q5Q;gogTNd33xWJ(G8d6`-z7w0L?OmE0}1kM*bkQJ z*N8=n3JL%H41&ynOc@ffqw}Ic8i7xHZUk_G$y|g}-WnBH&dUFrfbS43)m~bR4ZWdq z18}bn&m`Z1@k$ajz;?&A28Hlo8&%Nt-yBi4;MNQ%;P#1j%se3`}ZZxQRp z!%QSm){W`(9bSXa5hDyF^MS-C&jGTn8z-1ZnwgR#__daNIn0aFb3_LN$&Hedh;`%D zs*@nbM8tu;04W4W<5K-n zR7dZ{b&A3?ci9annJUARviaf|B6)N=KOHRi6aL7EwOW0!Ou8O_8lTetN=SY5b0cGh zoc-d5>(NsDlt{}6dSCoB?$&7mO{Wkq{ZjhLpr2Dr zxO{QJzhsM%Q^(>Ayy|~P->%dmJdEbrZJ}H)%6p8`=(;JrnSLmeQKvg7^-B8TD6ZG& zX)FPUL%HaNb$uA6y+}_Nq6qz2JQ)Hx2juEWl-QAe$_eIn`dL6fbm^={S2TVie%KUpq~vCwZ?X{oR%7J|1K6E^lGH)r_=YN^fQ=#_R|k%yojC-f{F61 zRh)gv=Y8hm(l^({A>yv7IJdKg&M!qQK(U{V6CLJiKhp87zZj>O_84HEpJ<+6nmnIH z^6p}=x|)t4^?Vcf$;fS#W8VEye3j_;C-_~-ztVUo!{>M?WyX}0xWMU39^Ln$c%5|7 zhyQk*(~o;T=-GpE>10XsEK52z)$>iUQRV|QsH#qlQl^^c!g`TsUGXV&hW=WIXI2i{|5godjGu=lMMF>sYFQc}6K!k4_gUN%Axo zccp_j>8$Vk5jKW2nMaQr=UuksU56KcPhNx@XVV&dK9x>9i_T|Ik>|pt;ZgX^XJe+S zB{8aN=52kgbtDcu}` zyFU70ECWS{jMGb!N`E{79BGfxjVNG%VxF#wz7nV!KMeCHwMC(sj&yHw8%LKU*JG_T zZ+mc)dtNEDQY}ozJvDvh-3xTcXu^%M@-?Z$NYP5R2YwWjGuXv2D9jh*(ZcXi%}Y+t zOTy)Xnq!mZSSSB0Rdhtk2D}_@Xt5~gb*14r7Ti{amCyvG-jEhmC6Ls(5RJ+wR`fH@ z3=ZF)Q``mced`c2=fD}pq#J`h9|xMLkwDI~y~%a@Mwosnb5lS6+j;oz1MyVXUnwzflF?^A)D4TsO?0E#xLyaHV+9&bl`X_sI zbkF+Q&KC+05LZw^wdT^YT=+<<$#}@&o<%x1V>&EGiF$LYmb?S6SQ`G4{-o7|X><;A zfv6pCF>P2|OuI3HX=)ed+NL(Rc3zlku$eagT>qfOw}8vW&%ija%yA!n{@kxM-%`Lg zwG)?ER~%;CATUmN!;GsJ69<8Dbz!?^=+k-bS?{CHmOj0M7jf)bsZY!m(x+n9r+cAK zRo^>|d(861E0E~#s1#jdR(yRVclhjUoc;YD>C|Nbi#IKFYV=sJMcjj*VN7yMow}+` zo%&=*m^Gh^o3Cr3Q@yB5^Saz+o52gRrRX>7skgY^p=57P`y30;O7=#Y`@_9=>ghZ( z@pw17XZ=F(SS%Tgdu9;@N@p_ zw`=zDVs)-V$!jo6+zvy8Mp@X9R$co25u_%b=_%aqE;}DSn;K|P4&wm!P7>!M{{&8q zKB}GCG^cVBV1e({yp2`gB@$Wj@%3Z_GhqzP##*g>rFu7lwC+qApWzPL{)uo-axzTX zHiEW2SMx}XY_T&m$&oKQ(X1CvLjR|4BCZ(Tm?J1G0=2CvV5d0%bit9% z5iT0jQ%|sq`zNE4-d(671rj*XrSTnUj{?gqe6ph5I8K)nr4BnNcS1;99leldX(uHzFJ zzgn^jx_&zDA=rqcr70XKS5`~xzLzsRU}m@il!g1%Ug(?q*D1$gpCC0y*l)pAn0aoR66anv{Sv zQ{NHQ_yBRJ!yOsfF0eJvHNRzkxL5l`1)wnGha#DhKHCtcP0|VIcwHFh=7_gxYK64P zsq|Au!6VtFIsPt%Y&u?`lkRVbhb>Z$q8rYeW$>%cxWd$Zqhs}5;x$R4Nsf5`3KNy)VwYFRZcw(QXE%60E>2dqvQH5YpQ6e^F6S2D^fn-7 zh*4JUNl*gYl_P1*N=JIq-2h_aniFqz?v&o0M zyItb^mXu&ANk2}l^0+>foI9)|OvvqzvmJ}!YTNoyFRm;ozL*Zg+u8RJ$;=IV!pCpV z9t^Jx(tR{_C|YX375L7qC6M_^g2 zu&px>p^}|*eK^S9DfZH2Ct3a_WD=5;DKH5u?Ib69m$Wnwtjoz-c72Zc_n$yBEYu(j zlNL)$5v@o$R#~LxEmrcDF^!8dvXk7iJ|X95$K}MjW*;HMup-^N$mkNqQge8cl%BW9 zP7<^zKGPvyL{5{73zY2T#7OVr;;WQTmCuyw#&+Zn+GOVfv82J(sVqBB;o`t9(nsLJy|WDTwbt3V~~Vp&EpO>}|8LB87-21B0*YDE%}WH4lb;(Z!VC@KDd;zz>jt z;$0X~PNLV9tL4?xjWsUO8?*5GFVJtbWC_o^sU@rQi6ku3AXdP==36x=k0_O)On&jt zOAT+~vQdV8S>-P4PG-Toiop>NK(L0jbC)^D2sAYQz#nn8TtT-u@kTFlhg`D9Tono| z5r`va6)s!?y*@pMTlf;v?as8=iv|4+n5uv?Q9z}V&FpH@@e&XMz*Dlo@I;o2uMnR> z1bCOHdP0evV)RN$wXF3!dvWjle!rex?`Q7}B`)!u+{WgQY1TikEc{5An$~u|CPf^&TB$x)Q>Vt26Jnnc38YS84}zQ&m#@F@^Urs7VU% zo=EgLlyVm;ld;-~-^mj^{P%%QGX}my*M7Kzuai}0SPui*K3z=xh0&BTzx9>-gNC75 zK7W3JDBFBiT>Q@XZxmjbyC zu&GE#L~A_)ZAKM!#C;uFIVI%^fdCT3)D7ZOi?+#V5?hcVjoxU(Y&U35Mz9y&+>dPm zOQDQfp}<<~4?Kp$aU}#9;^h{tu--2gz^08h59WUMdKoJdFHiOt@87|(G6?-N@gD`B zP5dvK`1j)co88gyZ}y9Rz;DGlc?|r|MxDruh zccqQDf8l(PU9(@z{5~3Qcj5dS7)$F=^&P{c?7V$soKxt}k+N%N!+*Vr|7V;<6BYk% zznBXAR#aq(f&T}rLPwR|zY4;#`v;y|%5Df$8YyN&leg~Q0$F+h>7Bn)p$A3`hq$uHiF3JG3!B*@3j_Prkw22mlw zwVi2z{E#8T^#ZjAu+LuK1FEDUHZEtN7Fc-;I6;ALc20o0HI##v4DIQlD&wAsv(o>%`a2UFMjb~xVfRRs&RGW`^Nba^C;n? z#+t@g8`m|iZPXiAHNMyQedCJ8<&AH{H|UFd@EVr4ya$i{f}TjMt7bo;POnw=8GS!3 zqhX9$bj|(&PVnmKeW98xXM9aoM-mWU5G;L*mT>R330J58)xurclvK1G#gY>iL=Ir& zd47BPJ+^edXU)3TED@2&Dh`ex>cmZn3J#*rN>Ya6)8?L<4`K4+_GBk{$hcV1i^~WxkCH+M_hyQQ&xSu~`eBAo2yf8v3p05# zFw;eQi!zgx!AWXnvNAYX%}h}Sr>L2!%HUKrv%505J1~&HDt*WQd43Gfyr~N2l)Cdg zs|$PYi2JxG6Wq^a?qipfx0jL$?)OkK!Tp{}CY3Jz;{T)k;gTgSX8DnSBirMD|6SiR z9Ag+dXNB8JZTliLFR~y*9X@dZSy=m>mhoiVs`JHBtlI+!r-Yqju7A_LiuSyF2*jTE zLnKh%)n;Ci+E(6IW!`*2C+ds}U+vhRXa$N#OcXBx1?hvy4|3xNrQ(frgq}@(q32{< zdWw9u<-?M!Ov8BNbslfjm$W(FAOKNTMtzQTpXM!ZV!W|z&F_vkm?j#HnDiMm@!Bw~ zrVG=_yh7{*IWwkU)7=fK&*j-VElVAq(7SF?c?Wl6+1~j2SoYVoezPPYauZ+oomX0#!A&!;D8e#svoVUHcwx2a9WTDW8|F zOPw+GOe9`DD8t(n*hlNV)|C^;;=sY^7T6ua<+-(3 z3lSb~bKr6ML|m8CBa?bG?jv4;-kD9?i9%@@FrR*wQqcoW9nHe4G{#=h56>Ph5??r%QC#@|`ocM}t69>*p*bFn@*s`>sx}Pnx!+JNc~FE4 zQvjuw6Rg6UOwDp>M4@ttO2s&OE=k6Y*|G(c)!2>79AE_LX0_%u!#$I~OY~@TnBf-k0oV8Rv%5C}FZmOD ziKNjqDS|Y$-{hg&-(`cl!wc7&!dyN za2*KpU`H;63Mzcykf{ptrJTN}ty9W}jR6rt^rIb^Uuu(_c%LE!p$8k_xkp8-t)+k%j zs?^m~TG~#Tn6|-F3lmWb9|6a55HzlHA|_E0h_UAI$WSFA)*NmmP^EIT^4swzS0wS` zVNXq?R|KKF?h_?PFi!w+4(8b>L!4Un>p1nM^GHb4n-UsC5=Bpn)r$NK-n&mb^QE?u zlssHl%(oa^qcqKt;R%v50hIqrF(fhrJuLK+j#Bv05p5XLFJ)ToVg9=3b!JHtXWfsJ zRQ2EBTGw)ugX+iW`6uX=D$lPTyu!3S?gW&60ej(?Kg;PV`xLf;SYv2qlig*{P(vcS z?4GC6BiUxRHUp2a&r``hKLq>yDD3m2e_)@rlGh8wmAus0vp@^f=Zhz?G=#k)y?{)7 zlSlm>wHa^s&?K74oq~HzX~*_LWT8ZuF5Cw-Pp(xGUyRu%*!Y>S@iP_gBJ>Fb;%UVEjONz^aivTYKi8zK zrgo6V78NTvAW1nz8x3d7X_4~A)L4=d&}>||;UN2KD2+#Mv{WfBfCCR*1UuQ}Yk5sL zMOGT#51E^^Tu0Is{ zL%gA6+Ku<%qg+*+PG_*zxV4|rQo%WrDAB@-L*&qqiR~cb&J;cws_`t01D4)QbPB8)4^0acP=pLTGEtzEoGnt`}N_iZC^Q>ND&-rRF1+O-`sy&6t?s?fr^zdYq zd){DzC%+ZiMzQE@?)jlg##y_U)+^tneTCYlZB;nxU1h+uX3sjJk4oV7+fQ}PR{7FX z>2CdvEkO@jgHIyP_|PSIUHqgnnVRD?pX6L(kXV2hLWV1xLY4H6lTyY}vUr#m`Fd*Q z^qQ-A7yHDf=CIh$&4Ji!xXdtW6I$s26(T(eR@4HKmllflEkK+tK+tx? z3sa!e77F3Ep(qe_U>r=ai8EiUq=em8f?s50bc?ekG_iZAHbhL+aP`b zw}$Wo4ES(*unhPd(}4FR15QMt?es)o=Yw%+t0_+!J5jA{xTHpZFqYI9Hk?rBipS)F zW!Q#q_lfZ{BW(C~*l^;t^af>v4l%Q})sv81AYP=6oovQeBHkA-rWwB}JJO7c>!lfY zq2#a`KZ!hA-gdg4duag0dz+{{j2ronqX$m;iWBib#-^bMnFcfupEwC@>^b&;V`Gh1 zGg#@|+WTbp*}`#$&-y|x0BaCA1=3nWl1V71v9I(p$j0_0+ut)@=H*}VROZpjy3}a* zJh~r~8V39u2B4mRPy1BXxtD%!7}k2(w%~!J^EM#4GN^1w=SC~7E_Eu>*iyrqN2_hJ z1$o%Cy0tqPfVPv^!=Dwt5m)82*SLRh0?bCc>>tvQ=&7Lghzl+W4=A4OqMqTTQmgz- zJ;Ii>&y5~|FyM~L4U#T;GkSxoR;qka>5QrEG5CI(EK;DStfK4@dRjd~PoK(!X^yVw z1gLI_Tvxmh!uSp75y&3qXzc&^#9wF=;(GK5Ban(7;c1^(i<>!24RYNW(IY&K9^u7d z)FV7i)_*;+n>_+yptNO3Q%ZKrEjXBs04`RbwKud-pxscQ)xcyakSe>7x4^9o?susR zA=Qu;#ls@RAcW;@SR{5@xjP}PvU+(2N#y$D@CJNw&l^KVk)QRO@krx{yQoK*eu8_H zcHE8xzGsA@j(wY;(f=Scv8*wT@@1A4SfTjREH0uCh+w@o(s56-Z} zo}oY}z()OtfgxYuCLHcRj0D6wUPb)}up`dEo;P27i!W4a-qX1Pf!iTH9|THNjX%oy zmC~kU%<5wwggO*)9L?%9SJ5|^D)fuG@y2NkU#0W9sB;%}-Vnc@Z>`#-C<+ zPspsfelb0qu?eJOyc(@M#}a38ACv_GZwhBP%o%nR$|bn7$KY>+IoN{Tm++rr1q~&W z{gv=<81Ri)P>zHLLI0HS`b6UPA+vt7jnuP|D)G|FAMo-y;yhQ&V^d2W*eL{gIEz9o z4>*$Ybc~^w+T?K|Q4&=i&sy@BFx(Xb$Gga;PD@tvlcLEZ zUS>u0_hVhxV3#a!TASt3X>pPl?}amUsw5#^&!u%&^HU>ABSAiZOeiTB&Lm4pj#d(7 zxImUN(#(Lia``B`@K{dJjqipS!~??B0zwwKPJVAxDUKZQZ_9T*%ak?A-$>&viDCI0 zsjsmqpu7(nDYqddLjJH{!&v^qoCvE`haq52sMi)fa}h1RT|Txg`Hh4_2D)%p@Wimr zO4b}D-Hxg$r^-yBfWZFOaJJJ~4C~s=w${`Yc)%yT5h7RH%oZ@Sp~-(3&X&TZjYKx} zp=7lns)}7~so30bMp-*n%(ANeUJ(Me+clsgwbI-g|lYYZ(~UImqhXOpALGJlg- zQeH-isjoAe`avob=C|=4a)4bElYAOq0gv``3eIuRrhp;`?15T117W?vGAYEO3m^im zd>4qw6@}E$z@FzuG8r`6Kia7xMv)Pb?JsLb-JNOsHyesz7F3dDGl@xrY#kM7_EKiH zuVgkX+>by8D)3UHK=@l@lGI!{4Mb4u0%t`O=t6#k@5ny!zYv-dy}-d%f!n}zD)8Ta ztA;tw;HGJl`-b`+!j2Wl7TZ9^VScYCc#RRcrV%AMVpI>AafZy8#lD`yQ(bbI;q^Hd z%$V8-YcU(xy`W4!;g0~G`UNKahn3c(dX7zBz~=)sCiLA_%awJ_&v4cT?}m`N^Aqin zc0QiLi-q!NeR1x=)8b_40aan|CEem``Ag4tG7u<1&Jd+;`&$PrhOYJ;CIPt0}SA zg1MMpFT$%*9VU?3LNxls#s3k7>`?u66e3e`2=N(l@Zx}#%KdL}tm$Vv$5vh(onz0G z{wEwGPoW6)FxSPBp?TTOm?fk=7m-l+h5@8LXRrh3TAf`QQ4*iucX>QQd9zI}PRQ!;bJBzx&c`QBoH*KeVm995D?LMKUICsnVBTGvd-_>KVF`PoH>2EtE;Q4 zs;j%Jt7Qm!QIpY@wh3YIEe8BAi^T4?jkblu-&`cF0esWH?OGlFa}s`g+K#_6MB5_# zHfS4PEolqsm};T*r)wZl(8i#3_F&brTrQec%uYNl#^%Y9MiNo&g%_BgKX`y7=I;e3 zquNBQW*JmV)VC(can{mdtLhQeCq9fLC-jz7tM4p1a_)6)sdiHs{6PkMIL6ptwI%9PBr4oL7s`b4hM78tq+o0Nq;2HeRfwIY%YOyW&5Yno%(}JZ;7z)3K zc`HPfMAm;(1c9)^V2IT7K-wVCvmmdC`$@w#0j)-d_c#3J?7*D*o3EA4IZsmNH5pl7 zl%_Lf!T>J~1NiMeGgA3)_4T!M7UE5a#$k9jEEo-+@lR5T?_mTA{{aG z8hlIFuj#0l;eOqdnq;_N_tKj*7q>D1DKTVlTP`{Po;TocG~mOxbX_60X4@4BJs(p zj;I42IFNE4C5H_1!tIZyJA7k7wV_{t!mF@M6`l?X^`msUP%bkVQIwwE1`gn7QTiOD>yEJASTH~BmY@B1NEtcQ+KTW8hd|SK!mY z!9Z(ZTc8CgBJgFPIq+VfDX=&2ZeVxdoxmr79d!9!;G@7+xYO1LUJh(#huZbhXOMlA z4nuM%q~_QJ9N*qIPTsfm&ICN60WZ3UcLqGQuEe?=xXk99X71+$n`6l3$bX1!n8mN zPgo!j0|a9ITv_S3>#TCC4ToZT02wu|FzBGknxDa-RWKR|t$LhWH53?@r1?Zl=!={8 zTw}{}nap1u26gp3*w>249Z}=@j%y6O$Y2&3A}ry}*Zb&P5XMwC7l>^0^8m(0$-Ak%KNa3nvGR&w&6;m-6wj za+MDFX$iRf&^`L%5IIKRcO*G}cvf$y&Q{57+3JmF+OgHkSV|=6{%YvSi1ZB)t+Fla z@mpNTZ6W(6ye-hFcm5#T!uHLiBuS)?PDmnE4rogxYZzcUk|nkrGVGghz)-0P0Bjn{ zXXt=k5^#GWU5m8_W1zkazaxpX1N?y$LxmAHk!Zd!inW{Qdp?dLreVC0al3Tk`zsaF zb3UNw4E9FO?Z}DyJ9Xudjq{Hu`jOf|W<=lrF)1eSR$!HAJxC3sagxYr2m=~+^)ZYg z@+=lczajXB(GThNJ<$DK@v6D-2Vv~)#zVZ!U?@OgI2bTd%Ta(?Z48P!7^MIF8NfV; zbnOa)Mf-DNA_E}3n~vyi;@$L2CGp=tD6e!y!TJx)CH#8%RjMm>^9dNX3Mc1AjpA zQc`MS#pSGANh@85-tl*e!AVG*I*svnvfx(*|FW8C3Ha5D8!G&r67eerdw2d$N%)1M z&eY|lt+=>DoL-fTg)Q5nPRaP<@03D0@vp8^D*f_zO4Aeko%-Mx_!?;g%(VW-FH0I@ z=$062ZnB|vv{KtCSa&$n!_qnD2-<$1VK3-ZM0(%dX!~tQ*G5s#R^bnV6_VwK$0T}? zzr1;d1AKTM84)}AU`LVnyKloG7=1(^O?PcNMF4REAS97t<>oqhf3HY< z_{}-&*WL!sV_|S8Kpo&b-w~Ya3^?A7;S3LhGio%$8Ql?_gT*>N*LMsjE)0&2Pq&WX zykfxlz9p<({?66dup*()NptYs%pizUJo`a}&woxbq#Zv0^N`FkzvARDuDc8z6@KQR z0EMXV4MyQI6h`0aXC1=p|G96QvfcHvXBcG%%d)y(D2_BEt^p#J;T(M)4v!?ME9u@~L!v=NT@D~WXZ2!s#PI>%?P#Z^wOmDsmmK`hGmIF)ZL5#6a4z)ytk^(X0v z092qgG6{Zh6cvI1Z?w6WLOSX8rsA~)4s2e^St$9|Ch$wMt_asTwI$}S#QYuJ?JW3$OuytNRapLt)S_yQf zn!g+iP2>vqiR#GY4B{;`0fNoPtKFqi< z8cAx>0NS0%N=P5pE5WvqLsVrYrVs0uXj|wf%EQkcAv+c$pHf_1F}oL^^+1V&B=2@t zR~+Y8Z%Iy43V;NlBzrL@P!X=dGEg0soQyO&7RB!w$Y%3a68iL|*qWZ5?3zui0sO>( zLOABwm!W6W;$`W@2{vzU8eI-TomchUNNXsC1tsE&HIj-Wkqq?xS+F$$uiWa-O`~5N zjx%F~#pb1uoWukJG`Sa9Hw-sJX;%RzpQ`7R2C6tGc!BxZXhZm_&I{@3- zSP$!Z8r!gDsoO{++naqO56}5=}$sJbjQC^~!^uzIJXUSs*p`!Xpwb|GKz8tu-FL1UKiuR-`#`Hu{%*@8N7 ziprkoVZd$!wtjYnq%Asrt26fKCST9% zPe%7aznN9jBv4Mxh%R9yf3gJzSS9HqGq2$8A>%nbFUT~R^6sF#KvUYGeKGNedSN>h zaHC>}y1mh~Lw}UZ5SrV-nU(puva|MY}kc* z!vxP9^#1tE1!jNbMGNgi?r5U@Cy627Cqm0XLASs$*F*I^bUs>m8Mgfbtw#PpA4 z-*lIWdhYi^xyy{)2a(&Z=N^y55RZCOO`6P$)?8`d+-TCIL}I9Y#S{T^Frv zv?nSY*e9xJFOe8(&x5L_;G7dey9&*T3flM1i6*r*tZ9(Ee@BC!p~xo4M3VQIXfes# z712cdDjjW_6_dTe0|{1Aumtks`KuBR@iYKyw_H=U?U=mt!*p$L(-f%fJ0phqcGA#jr+O0X^1{ z_e2c-;uX6jd&zd~uo7|GsZ;`J4skhZ2|N|jNVjb^2}J`rQJfdIXt7`H(F3jY;xD?u zo|j?@>{l2{qQdzzAB-joeS5Cte7fA?B$Rt?!YNbk&>%KDG@807n>6;y-lWl;6Urvt zs31r*bH#PcLZs1U(hH<|>eOBtBpvC65c6|%>aN0aQcBzAoHi1t_La_wpQvj~48C?uFdsbLh-M>l=g`)Gqnq0uPI6rzoC zDj{yzDk+pjps%Ap*Ki)4LKQuuOQF3FM3X{Ji5*i2bEL@m%3s$)m?GyZ%UaNUOsIcx zzVfm=Y`*d$oJrU(YDEJVjmmsw)c&yf%B?55(Xe8g(I=U&+?o8_=PUc0!saWV{}@^C z|7yNchT!X`HeY#rz^TtyzTEfg=PPeh-pKjNeLYMaO*;}%Q5GNL!VuUEQCc^@QDWF; zzLMKDG+)WUZ?az^<||9On+=QFeC7DeXf|w`#1NZDq`Gvqq$QbXM{T|`G^%L7BQb0< zUm3dARK*eVl}&ZBZzAU_-9xz}<|~Wz+>!H@e|0ly61Dltl{2E*l`lyQBj+o8k11%=PUg;N@_*SSMIWzEEKi*ivQkda{eDAhT1R8SAH%! zmF{864eb+^`AX($li=;=EAP}wf}do*a_|hD^ii6xIHpFE?DZ16-#lOGy~?Ce`}xXW z-jx(O$$X_DA-WX0;+|+y=tYTL#C)ZN7DI5hO8ip`iZAfTZ>M8v*!_G$J}CAV{D0{4 zX8ycbrZ16?rSh>rK4>?Qy>aMZ#E&mCtI8QdTGEKO)K@@Ow6@l0VO%8Acj~1o{q|-8r(&;j>=I>n-;LOsPTyv8$5DAprEk#?fGC3d-eO0g zXr0(fAk?vy2rGxZ&ngrfxE-;xt=Wi(m%iI2Pe~^FifeEN@plJ;qsMbVP@jFdLrl*+ zfUpBK6n3BtpJ1k9+w@vQty=D&{7&J_IRG!G(gOIM`^MH5iEI>rr<~7T;}EZ*1i763 z%#9!)INXC zpf~}A`mp~UvJYLAbXLNJENVG;XEEaX*>@t06tY%vj2)llVI?k$?pFB-cdI;0AE-U# zspj{l;7!)KC(x}b$nWXTQmV~IH>=?k+}H4a$2*(|5E%+Tu*aW(eWx3Tf`~Zy_E3p$ z5h?G&@XiT7$emNMj=o$}_A#$x)HrKbqd;%+s8 zJfp^y5HnkzisxD#q9=UG$mw(w(=Jg~KYI@PE&}ZZH(=5SzS4PNzqcp+`hE6FETT}~ zA_fQka%eqQL(sJY*B1p{dnnTF!;Qpq1Nb~1$}_K*pf2z&ITqd|t3@;vg5r82=&F+P z_z)Zd(U(4N8h=<4bS?H3FNUDbzpWLF5h3iG6U4F)G`jkOE)1fqV)1zDM>q~FR_#lf zap3%GquWT)&Eog>^H(tgrAl~pl4}-wuVl$1hO<9qmZGb0!D8Yj`89Ns&u4FT^xala zM2LyF2N&wD*SfczR=L`spY zP=k|eSR%33#^XcA*abH4o3vOp4{rlM)0Tith--$w+)MOB46TRVWTX{|CL$@ipm=$q z*kSyJDyqkCd0}>V2mE}6-U0pFbiip7I_iLa?`uIQBeMg}9rsHeux^&@fbX|x@}4GH zvlz>jqT9kcz~;FOtifG}PVisOU8MCunrxd`4j|}7v+5;dJF1#{5q+PnSABn*sy~;2 z+f@BJ8gKSLas=G6(!jggBlsj=+LUh~QYb$S?5)%{TK9<$!ST3LUa9@+)LF?whQm3YN0!PpPRo{qMS zr0Zq;=@7(|_+a$f)db>?0HNJ~vh05h%Wk3UgDLxsNY!%8G8!2qde8nT^pj#K$hBP{ zhd3rhqV7eglX&s~^bdt4f*}Wf@%)f}H$$c04V<<)QTp8sm3}uvQz_9mJq@FWQ&hmW z6>666X95HLAB9>B1vFLsMdJOxvq~uu-*198A=hQ6cmx((pg9t!tD=Te3t#SK;`Fb` z`^E^TYYm)k3*mGetzw)Ip_uO-Yx{)%5XFFjb%YQB3BI8)i#`V&WjbBH8jt@7uG^a% z&$lHr45N%u;QFO)3*0)&2((TYqd_83oLx#9AK;DEy|xHm2i{}GV*EWUD8 z`ZIx+lT*d2IMB7uA47gcBX5OsC5%M}hp@h92lqzU1

9@i*=cr}+9C%n?ZF$8MDV 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⁡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ℑBQHYjy;hp-rh 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 qm=HcLXk=u@pyHP9aqa1TcvF1reLfe*r8yg|W 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�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 ENQ<_SU+1?A6UAOz}Tq zc>WDc8Wmi{I`IlL#*)Fqsb&2qjP+4n)PKlO|AMgk!k^Dwhd*>UYEurCg;*|-&8qoJ zjPpeT%J@94ELz8Z*R8Gj;>crd&KIKUOrB~CvFdwenlG08@t5WcmbbwgvntRIW@9rs zh{@$jUNF#k6d9pzWGPC7(-j(knK>C5_n?sIdlSBsZd&&R4>Ot?26~UXZ=tNUI7yw3 zbz9&n(AH-;;ww2Iw$Q_agK$7Y>3PEDK6SU1YVbXMJmvbJFSTO>}bY#5zD! z$1a$xZpT=aY^p*_iUCWok`US_8Seu7Tka(+o5*s2!Uf7dtWXshS^YE80UT)oGi==o z;zA;z=`4M|n?!Xz&13~s(OON4!jbd3ba^=ioR!{Wa%JP(H1e-Zwgj(Nt{(m)TQTrf z@X4WQTG`=7nr6FF z{$mxtY)y808Aq%qvX#%=THjK`XtdhUo_SJ=EtM?bBd6nh1gGr zm^z5BrYwPxcvSI-;L%Zt(tnCaW`PAoJG9NCy?$)~bbv>Wk?jmP*(O@=AdhNqZ3mAE zMboW$r0b)D5B-8Zav1c{3)e@`M>xq?s1(0w9Ko++Y#9tB=xWwO`HIGdH`}j=){khn z9=b)e@4vb&J+$lvV=o$@FBtEO{@F?o>GXU3!E>PBm?079$NGF|Sj$D!a>&5c=yw76 zy2!A1b%1_TZ)rFEI*az(rr*Tpjr3c9;CZIso`1BWpKc=*JplTZ(4yUFCKM{y?xe{- zQHCwb(|eI;?Knh0o7@+`a;r`0XV!PqX%2_Kp3FE-ndR6h=tcP>vVVVy?J@UWG7=nd zoybOjvA3~6nL6+kSs8`ObhJdXRQ6}W+@Ka8!0BO6bvh1-56iK-vN7%Ul07ytX-iQR zj;8W7cs_q9PwRvtv>%LrX^FZ~`K@R%=)h_q&c1pEA)V}~x6h(W1^E~&HIK8uGq*Go zYP`&$iifUYRQ(r|a5}aCT%oe|Q#MJE8(MkpbLEpSl}D-KPW^5 z*otxEg{?@gWuvVK%LiN4V!FpHPg~U?pQ+B1ZGR@7#JAuH*%yBUjX-}~*du4b%1QK` zG))>#PUqP1X6$!N88h0KzXSFe((+)x0XwyD_SY*%cQ9qKX6+qjdNH3+HO^ zOuXR4czOZiVAk#$YVM?I@<8Nf;bIhXVFlL+sVX2v44fsJ32Oq|F*yKVS&F_Awcppx zy}PJ15&6c~Kv`k#jljFWe$dfqQ*XGRZ0cgRsh^K&%cgz_rP}bph^m9mYvF?#_#D~P zcVwNFP3>aNV!w6>+G#OfaK;Cgb)jN{7(j02oB>F)59TCqb^j)CBW#%(OY&CNU^%L^ zxUb3m1L!9>i}TOp3w-Xy1xhVbE}@`MaRCO=GG%*cFkm+YK!?h=3{T$d?i_Fuyv?p# z1Uy$Oc5o_8w-2&R*NR?d!>&9qT<*J!jaA%$NK zylL?=PBk@R2*n3;^SH1ZGO?FrflK9GaV63w1%K`Av+%IV{CY(e^Xy?HusL}I@M56bDS zs@U7TqcNzBec~P^NIAV3Yor^*h8KE+*R`pA&8%RlxJs42l(->(K2t=pp)5A(iP-}>wiH<;lGJw^F4bX%ctyVBn+^ZgmdIWol2$a1U4Q9(8hxok7PgI z@)6Hwy3H-llMiqz_o4t=El^(ldsrO2Zu<|4+{S=V8 z{_BhXuGUkzp?|rG?+euqv3r}*wAKlMy!Q`aJp0te3T2#LxU3%uUAq^cAExjc>6}-f z>N;(tz(b?}qjjj! zK9=Y4OiL+vh2^aHB^L3SViBL&auGlMW_1mdnNXK0*6*2#sLcGX%M|PP%z*%im%M&g zsnk`VqN6c`R?Y23;7N={}^Xi?9oK?EXG;$ZmnWZ(1<+F-njGU#u?pYt^s7kiTb|KZvp9Gz ztNvUYHj&0yX82q-M=xAPmtM;<>tQo%-c(B|^)FTE;Z&iAQ-vN*ZK;P(CJPzn$0seNJ*!Xqe z8~t`RY5_qUI^sARbRJs52+?EijOF*{wJyK!aCrF;{{N!Vw3gS&!lYV^3gmWra2*dt zHLfP)W9_5)@gAo75&Yi6s^P>_3C!-N__{P(cd{&m7m6I9+QvCD>ZTmx_6n7EQI8sa z@_pTL=jv*dJ+c#2zgM;m7qq1dhfp!dK|X{R(F7GB4;$<(6v!|Za7_*WI3n!he}#V> z8TK*V_;Gz|7Jq!EjM`%lZ=dk*x3&0g_YQ%nCCYe^o3l`e*?NG@_TKGmXB8-86;b<7E>YKWDvzD0gr z&!DsN>&9#C+=X^X2f16i-3yhz%u?P8iQqf6B2h5KvZUjTL#|Wh=5&>t;!{TGlWROt zQoJ5vc#VOey&h?J&Axq6I*VS96)d|VRQfi6#a zXB_KIPU3wj^Zvu{+v5FZlxl8cak@7+ z^%9>mOUgecr(_k$?juFR2D%f_mwHGSXZuF*k9dO5JZTf6+sL1X=hWnruCEbE=$mMx zz(@Bn8TVGAe)8Zr_t$~<^*Kh@Jx6Yjtb5)EH;np)19QIkM%6H*-xC_Z5 z$Wt*!HTBU#zdQ|Gp;wALkEfelK)wOLaf%}_M(8E-bkp)KC(FJ%Zx9^crLF@-# zFBe+rDvBtd2i>-P73pp>%RSh zY#!GI%6gR435ip$oaYKG;;5d%zNuN*9L$dBRPbz|wRy-qF|79sm92FuP3&F@8Lo(B zNbXf)A4)}iu~x|SQv3bE7hKIos{nBBYy9~F2hRG~ek3aU@oxXQ`Wa|{<|2UrVn^t% zok)8Nw)oxxrA`ocJD}7yY z=9XX3OLrRLd@heaC%uI0BMOyg#~bz1LU_h7Shb-?`$0}6e}krvX18A-t-rFJ`sh~C zxZ9wuVfsj?TW!`k(Ctw7bEn%~e>T$XLBgjc-7fy%SD@R>E80o7^F{07 zbldQiO1GdVjBbN9d-kc!h_Sz8SI|70NTv_%uu~wqDkGS2SqB^TtW^_27`3iMGL}3~ zq?_DBRXa1Rvall@@id>)O!Ee}6yAVpcJOUGxHahro$RHMVpv@}0#^W^&Zm(r)xGz% z*IvV=O)^4R(k!qoLWV_&S2HSL4j{rsMNPL*aO^kqHr2kGnovSj3?KW5k2t5Y0|Cmz z(yZ=MI;;xRcPQ6mVuBC^%0dZW~>_cFdgtV_41Dzmu(q|!(cxtemvL)x++H}GERTF`AT86;@Ei0k-ZkyC3l{5sR5bj*kfU_^Lr}0;a74BuS zCD*vWF~GV4n6diBts%iA01FOOKJF}Z33xY%?jZg}^RO$_F!%jFwcv~wqzJZ zsR)e_2<0jz@98u;M0*MCP9^`51@I-oqqwL;n?UOPU{eg;TIQy-0(q^ z&=H|^^ubiN;ZUeRxpg0zaXaALQ~i8v2n-q0aP!dsBNtz7#x3C5ND3mU%W&df{K=y~ zJZ(kv_02G}@$KGUvkg9PqOTo#Q9E?zS?dDMJmWm`t5~;!ZQal^8erSd#eU}W@Oks0GqUc{WH*+&TH`=X)O+!)JA(gH%X7$q{ricGS=Z{*Tq~S4^9Rg zWfY&Z=4dXiiuG(W;qoB_lxeTE^=`U0zr21k)5jPqDmm71JmLi0k?wPE(A|~nPI&rL z^p3)AySydb37@^evl<2Zy3RAY6F91l9Kul5z# zRvHn-d?q`c*fB`Y;SfFeF@lfg3135&Kv%s@k!%~`Z?FL#J_YD5D6SNoI1<5*Qv#o~ zL}N#Ra+Qw8r+D(a$bfZJ@sOSOPoDk@m8Zo6r51ni3Gz}@1-=dJB74B-_iDb8{9a}3 z_xfm0TYj%?DAk7FOH?iTs)gU{bT#?Cp1$~({a(OEm!0uwhkWSap~gTR;!~g`F{u;j zf=&3Dnp6pdnMfqNken#U+=3H)EDl>B4)#@!qhP88rcw#8#Z#4KEc6dmX2hpkjGt!V z6ZxM~Ng(WH&r?Yx>}fVn8fsuj73891FV;Fl>wnQ%$(X)= zi$OcG$3*j>;k;cN{I%(v`Wb&* zZ>>;Ad_3MB9rDN71P&ea@tA-FPEoeUA15zoO11X!=)CGRROQu-?f(&8&0TgDyqcgD z>IkoPAz*4uJLshPZ^sE7I>@U$AkhvSXgb*cb{o9X_0q#benBr8{c%rVtxL1US?VSB z$4wP=RJ|0xHOx>I{!aD}XReLtkK3|< z>=w-*=e`(5M3J19SX8YbuU%UDKZ7^p$Q^9})4neJ2_Y+tbL7EH!kN1Rv?oSRw4H3T z(^j3)J!UU^lFTX9Sm)g@I=&-JH`l{twy9pSu;V@I_uFLnq1b!nN+L^8_t4=bJLz_| zbkf;pO@ejfr`S!^rM6RP7Na5XnLtBx5_-A&asG?Q9MW8B>9Eq6mcM<3Txw)PlYb}Q zmR#@Z!s{aP-<(AL1@R5*2!}PfCepX?{2NaUBK?fSo;G-dt`<95xQfq};j>JtZouU< z6i!N)HTPucvnf};z=EbNzR)(`*Zd`4V3ey|@EluL+GkWMRDM{j$>tmF-!&RzZ@1?A zMzrszvmSyz;WU_(1R9jsrU%)J_v9nwljGZm`7Y)A=qCpSvyY8-=zQ_he8cCGpowtS zVUJrTmy|w^yOk%47jkNET(4Y@-sdPU&W(co+CF8=6pUYk#LYwYO8xh}QjoB$~?1s73BrHcm=_?m8Y>^ zd<6XB4*12Rw4sfg+fz&zs#Se+r{kmWLz7RSc^NVk`wo@M#swn+}U;OgL zs$V?ZpS<~MnyajZ%Ai`L6wgej)2mAcon-Ozn4lbeID>wnr)q$di7U-#;RRN?nV~E) z!ejgVhpK6|qbNe&%Ob6fk5No*WpWO)e-crfinT8|Ky^=`O>#1SAnF=@%(&p4*|3N{k^S+q zc%bwOQ|=|FU47tN!5^b9&WhgoJhRvrx9>xqA|u4OesxuwzBo~J(iW;}h;eQFoP2RF z$DWlhPG5sOfp%K^d)e8WK8MI9oV|9VvlBKil1pH^Mp}s8!HEg*lJ*8&5&U(pFZ+O$ z-QX-#37Mm8zv?78-x>;(w*Zcwl;URu8{kBCF9I0$$;vr>qEi#j&*_b9Ve*B+TovH? z_*$FV&s>|DW%d`th9FzN(MorO7btfyf?l@>T?gcB6-~q+Jn32N~Q~gn2ZH5g35)z5^grnMr{v{2WQ0nwaX3luRrVh zMmcG?0vKRM)f+~v{9CjXhXhmF&X)TKOCyvoX;D7ZzZp~-etsQ#40m-TDv-FR_|%ch zoof}Vn~vH(PbJH6Pi$a@;iSiDUxHF?_>)D|Wt&>a@Y3BR!+R`eCBwRpZB-xih314A zeSZR@)<8^Xvo!Xu;PQ3gvhwv+KSfZZKmHDHNkZz!MVJHb(O_N^4ii_YFwCbT!u-1i zb4nzbT?I@7hAOa^0F3nIJygAwz8|Rpy$V1h>HAf`<^H#Zo1wz(5)tmP0V)ALxjQo4 zyV`>L{gndWWq?3Hd$)Sq3@N`B91!0WLLZUT?50G`D1eRrY9 zE%xCi02`GbgRWpc@GujyugmlZlxi*0&haCCo;#{fV1XyZqpS~O7UbJ_DA!`yK9X#6 zltHr5{@T!8JArxlUBIpot9>=5qBzd!id!~@@*-zcMcxrhxid~=s&Mh?-w2WJTB_UrZTZ&i4ZaC9t_bNUw4Z=# zXaxG*b1KGlmFJYzHG(elSc9$>6r#c4qXUo)Iyhl~@;)P&82B6Swed$l2~He}ke(bv zrAbd}rG=g}p#tg2gmR;vRAarI1Rk@RBjLtUbjfuePLL$K;~u*W*HRn@rdu1#HNN3y zMA~E5vv-jco8hU6^3+9PC%V5QF1glqMUk9+yePU$aUc8p)x#XUr|m3~>@5np_l#2S zpedq=>%hCyOL_;xj0(?)h2^_tp7_?yV)FN(; zyHf4CL~4$XD(+34*x%}_`zz{#NR%7+Q0u_o)F!?TH9b!h{{cZpyZEPE zJRAF+2nH^!+_!tzrd>VL&^rW}0mpvLa4=rGD`scSu1)*C+~06~gTwXvJ&xYHHt+k2 zf4M)}x3hH>db@8Yr|FfB@7q-ep$54ZslB&*Cqilon|&?Oi2K)xpo&b7h`9VC9G9NE zJT{~W4WYAHpcB}rx4J$|)*rr@Wt}zTi@%|%G#-l+(yK8@Tk{MEjIpd9pA+*?Xq*f( z)V=$x>Ke!7vEJ&K)EdN?{5znK?ucaTY=}_)(H7-HxIIgyX$))7#TZUO1scP7WyUca ziZ{~tHww7E4T){(2n;TRLQXDj3`6_?jM&c8r!sY1Nl-^ERxPAIe<~+~H@;Ar`Xr@l zGdS!kYcsl=YctL_2R>A%s5?-E8F0fWn5z`~6za#v7jZuX5gcrF0y6{45UsIjwN$+8T$SZsbyo!?1`rT%qA$iiE>6y?%}k_qE2MLNq96 zhUhTafWzwFg7PqZE}Rj`^m!g%nI5i!5IuBzHAdi4sBF8K2AR&8QDX#al}j$>&Ptgh z6?vi={tL_~2#gvl=Z@-EFV$9mA6@!HC+q>)SJ!4q)f64`^m9-mrBgO{GP#BqdCo-l zth%BJY1%s_AfvkwO4I%HjNm)uF&?QLc$Hd6lrr698kUxT?B z2@>5l<<(xozf!t@wgOC^HKl0G?0yckL0eIi)7N$}A(0--zUls6XvUdKjZ8x$f#)mV zAq~g4*}dZ+g@G5O<7+TQ;~mj-p zgBSKyRVbjzlbXk#>T33&kIpkYg{000Kmk-b-hbyTAG&Sb&=kDE zV!}r~mv0#$`KXA@faFO7B)$PaW&+7610){s@cYcAYKVZ}+Tc`_NkE>KeH{HdN_LJ~ z8dqL@^$1J3F9)UQ(N^vwgZ}EY_;N38JCO>sdl!)&dEz`gy~Ix!;Asw?XiqnzkEhvc zFZ1H3r@528>`Ek>^)$!W%Z|ao4X&i-3k%U8B14r}(43lAtD*EOTIt`TH2Pbp%m$Ju zXqt+ZV<4zWXMOl2*F# zMxHRrz6x2DyovbnJ}FVDxxz<3wl^eg%XRJ_0AtmUa3i(kk)m{WwQXL^(N@sqnQyHvS4zSFnf1xerQW>TO!JObqB8>PKQXZU; zr;PiXU=tKZ8n_DppK1W;xCsMTM9V*f{&8*P3l}quN1R^*7i6Yq7HIOV^d5D=AB%tN zt5V{#>b!(2Q5s)gqi6s5{LN__!3@Ci_FI1=7%lrqdc2$LWh9>RTtYNylh5KqUDG}< zu|!@;qhR;&n0>wW@w_MVIG`6}toyvg0eR&}waAz_tZNdI8LE4YpRTKuz1#!_94U@H z%%Z|Qyg=E*cxtWgDtQB2lW(lRv319yFckK7+4;3VW7k8A_VkX~_0SsvmAxaZJHHb6 z7`_lndq>3W{8Hehe=(r8fYvVicKYWNf;@ugqMvN~)iw=wwxj{Q2&VzR38z6bIazfY z^hXmvLxZ-u-8-grhv{9*uJ)#dt49B2{vN~})=#+msO(|FMDJc_$(ul*nZ5fhF?&}M zxA*lD?F(b_D*uIH9UOsQKhwb$OztdXER4bX+hnlzrDd-lTC~6S zKnR7Q?+g9C!esAL?9kfRvl5nk#ps27{Yp~9(#k3PgH^HQD3#vpjo-KeGJc5cCBe6^ zw!{faRdBuS4YH4l6iH^;mn8~xtMCz&(5KWW*+)YHmAh4Bm*T@*Q76p;_eYGxzmi$* z+;jcOz%3*pqZv~#jYp*awXdJcXy(rW_B35c+4GDzGA{Pj=8Ejf?aeYzSVa_cqP|a! zs>q&09|+U150;ATdGvwMqz@S$FQFKtV)d$j>q#S4AK({oVXX4!0~f|BdjZJESh*L5 zuv$sVL&E@=&DSt%f!G2KG2?sSwNS&WHCnIuZwN!{Ofz$m(Q=pB*LxW)M>$YswDM=Q zLW`ODzO9?&Bk`}uF5CVZJ;?l1W+D_xR+YE!6aUI1FqS{e`dP;M{NsQf@8n?b?iSj$ zfjUQConi#P9}2B;t(pE}PKVi3TVB_)XL>HWfp-)j$SMXXY z@K)vV>bUS~(NpKGL5v-)Z8~0U#la#&HH-bJ$AQ2a3qJcF!PD_-OL&P+_NORi%opOb1nHo<7sr?)?%B zgU!H{#Z2lwhTl??=Ztk~r!`j8&}h^M8u>rRN5kHS?ps*fg?JxE|GnVx|D!)q@;^d< z9(BkEl+qcL|ErPmVoy^0p4i5Bqu=ke6)>>q^e`AW8sYc*Z~}W&bibd$|3#%e^C3sL z9BBFdbb`6iQiNd(>a5f>k{qmxIAIr13A!$&Nx2pISwOM&!5iZ$!RXL7QY5^QP zZq<})?$!nbrip%SO}tHqg?$ute1-WDXU2k#aQjrB*d@;BpEr~N> zsB2xfnkwSEsC0FjiI~WFx12D?Ma*5Q8{(uGB@e%3ar2~vmE8Py1DKZe?e zLn~B7Ku2NxpR^TdF?Xe|2Bd1SDJ;u^8)n=U7bnM*4vz}DIuZEFqB`?=hWqOOs7(zo z#-J&gaFxx1aQ4;ReerSU(Q-#JC)Z4l{hg_l9`67Y&G(zDRUb>$g~SaMq>`h2!(%G! z<=IDZk#rfE`zrWuCu;D+>dL{Cl2VTTvz%HrIV~OD4VPg{C;|~vsU9V$DEFv7bbfif zc{;oSv1m@0$x-4izZ6+!CYiZdjHuK`VPBS6>LSESj;dDT%Pn1}? z$6NuX$4W72D$#pzwQhnX(-R|B7JEZRKl7kYpwx2Wx%@75AP`eozew(}^{XPO zhbEjwa%>iMyddT7{mN6|3ksm%3 zGof&cgsLRW^`%3DE;|isvo;c>1FOPTgJcZf%QBf373npx<>^1fl39`dLkt-f=|6NL%Od>; zOOZ6?2b6bw53}(H&7{y}P7^tQGziHgEb`oJa;Is1(F7@^@ctl_73+}l5oT-yVx*>- ztCU#y;I>{~6toNZ5#kWx3v?n_bh-Fmn`VZ#j10oi5NX9OC>LuA%+~kU40pg?P3TiB z#_<^P%kG3IXt5ZlPs1rvh}Up+X#PRf-TP;o>Z(k?IfB3ZvnUnjE8#E^i@`9XBf`8u zgV}Ub1eh}fOaq20uipf$etsBo_Y1j2jfpCfHZST*=x->BgonpY8oAcGmU7$M_MG+CQ!7SUHpKxEK3WJ^!1XIP8V<#z&H%N9ZjvCJG(Y z^f+E!HRycPhIc z`d)S@MXW+b~C+@JgJ4S^c1g4z@YDq!1n3E^)qOQ!DtJh);PoR*=! z%6WAb*;1$ZzF{|fw9_;AS%hbNs3IA}By)DXEwZm~O}8qlF1ow&tRd~UWT^D|(myQ( zz;)ID_E=`>0B)jMLYl8VYXJKP)an5K4c)DF;RrqIVm`wDejJ1)z6X*!v6%S%TSH}Q zTbGsN3$&t#{I7?KzSycLMuk=~;GYsI`Dm+>MHu2*(L?^6P|=LmMQLnkW&M7{aWY*#!5Xloscx zhWuo?>53+;iQ|9c*j9s51ghBwATp5qeB00Oa&vJ`>Rr(AoW=6{I8ZGB1$TO%=MV{Gmye1ZR zdsiKbHrLbccC&Tzd`x-+v`H_fbcz`}X=O)Hye>12Txw#cFFV1$diqkl#T{p3u+Ntn zPxGxip~$nI-l7U`9yuBiNC)3w(k8l18|_x%qq&JLKyH#PQ57b+5bL-ushmz1AZJkJ zKYn<5NME7 zuoW6nP9->s(AW|YjXw~al7{MUqvXFb4x1Q7qd?k$q#DQs8RhGnmtc*x() z*z!R%2?CJAvIYHVhj}J9ydeS;w$Nn5y_ZW8>p=6MqENkDL=fejG(NA}c|6I9n3s3z15x zRW9-#o~k%QE_==jg{=-`g^H)wYJP#=$z8`oNGNr99FjGWEm;uEQI7=i`7QVB+!6vO z|3>)@e4Nw%Rv-W>>0$qrFuWF=EL1w(g)cO99=IlgFJRIUl_onewwTqy<)a`-O3d+7 zLEp?oj5RuKklyDce$hlkzlQLyrRuM~^edy7K3vR?qv&yM+-aujv&rF0R@%=JaGlEc zzeVH({UpFnWxw{5AUlQ4{JX~ ze;d@F)ZZQ2Gx|FLkh#CN5@_mguiu?@f1hn?qrX=kGxqmhv={1c0sqqan?=7we{bYR z?(godqQ9%IhsB4{(`8inlHSPY7*qq|8lO*Grv4QDR@9%=@4ebH`dy3`xZi(76Ws61 z2mDgMb)Uyehq>Rr_2VGHrTnkS{ad-f=|o&no)e=B!JrdIDnEVy?_ljrDrA;2Eu?2M zEt>7A`M5ld$dO_7J-LhqgX37~`}AOP-wvE`v2@UBlaTF9xECITEu%h;(tQpO)^b&h z>PGvLe7erZzNCp_l1^ZcBF?)_b{s=Kc6>f&UzKKtQAj5PLb9vd+nc}dNoQQ*kX9AZ z*NA)rkz%pVA@dGlY9bD?;^ZmpO;i!!I#_Oa)Vjm|UQc6hQelMlSoB53b)0>P;~0KY zttxkyr5X~INyl-3#!P2YY&e8C+TkA`}LnnTJ2nd5MmrSnD2he+n1O zQDYyB`rV2i_&fUcoGHaG@!*^t-vmSb-DWv|HCLw*k7Ny#-(?t`vaheI6 z!A@`NMt1t7kJwJXe*^gF^DGjkI=8kFYbMQ9kMB-pM{rrqR0jLNasE#XIAe64B ze@*TL3YSKT#CyK^34@8=wH{0%dDdZ_3aGHwF)aEw1Z&7af<^Cs4%UO3#Qck3VasA^ zF=|j;);0h`N|h8G=vqW3MXpQAUrZE5P%qu%J(fam5%SBSx8orA<4yJ@B?IhBnxjh= zODChV`%2jhkfue-uB>xVR3*;n&A~O=1;PA9D80z+{!NlTv@j22O_rd%x9leh28{{2 zdt=>|=V>sPJC@7t-f|48c$%k8zP--DB$KoI(1qVC%=I_YvTt%GKg;eu5^NGHsuQ%U zR!~T>V>#+-W0(a=`vE)sMoNe@`9VM>i!rc>R#>=x(pOSNNKkBY0VyciQH8b6oT@~} z@f!uU5qSWJ zgu(f4 zv5YDrG%|{O5$l5PHE<=6)l`xFc4GGOiu`4X`ODFLRFd=8$=QjLS<12CxY(JQD}c1G zq`^qAtU~4EJhJE#YE#(a_3woxtjz})54zk9@e8>tCApIvi)l%T=zAFNi28!yo+I^lc+AFl8?I7!jWaPFJ#nw1`F1tAXfM8#lifA z=qCiSOGqG9cK&WD8zY{Qr6&8#GU{h`6~x+y6@+6x1dSVpv;j*YtZ%{}Aj5=ZVJ)h2 z@R(GEb)6=x6J@-wm-G8bQ6XV{0s`Z4EIsYXUqOawX~~;d<39jV@RY1DO`AQXGa)fq zhRjBkVf&L_poa!Yj$1T1>FG*vqDXSaA@2;hOJa?T1q(>9-BlRuBu{VRh0^nnU|M!U zMXD;@W5T6-_u`*|qe;3ifS9+IZrTjyF$Dpid>(LNai;Y4l}2e_=MUgj3-J!R=PPx7 zqksdU`AT_ixQJ8YW5_8E0CbkJ=Rn4@6R{-BG0M1{KL;`T<&J+s%u%kJ)PzF)&AOn! zK>&oH7Z&J3{?EkhH!JerNX&l|q#*H5k{+jndS^;myxk3aW06Wb=%%a!r7?$zRhud# zd?)pj=MSU4FF2^`==&kmrR(WmlY2mGJ8D?tzk^bB?My0QW)5#}Xk}1Em;;V~qr#uS z@af-(@TVOR@TtJLz<*YQKZ@bgzY*=g+kt=WO#0kt+7dqv% zk#Z>+ME2FWu#OPC?y8R^9YBT_>^~~m_AIN?MT5UogHI0zI};wd2zF+kKAWQ*s?lCM zv#&On-gAI?0woKVV1Y8WKksI1>qFnvQMA{(JNOf?3Xp9NtG$7CT0iiL!J*KLOZf#s z1k&`PE5AtOt~Jq%e|J3@94$z05*9fAuzc0dBrfAuvG`Le{*;S9mEsT6zIG;?O0_c= ziI+^U+L>&h3qu4@Scj?BR@(NLa|S5%i#V8$k|3oV*(x^YG?zG_6CTuG8H+bSeq1HFZB9VNU6 z==nV=N1LO~5L4PeZlb?1Hi*5#XdqNtTedK26WCygcC!oK%MIc%j%tOFgDJR@Uc$>% z?%jw7nqcN~t1zaj4@Q%nK@&~6cMra*$J*2w-#W)JAYdAOm+a#j-RP8APB3>A?>WeG zxg%_oH3r=ZL6K@P0DX)F3Lm4wdG=Lv2{an6@DT>yt@gP!mz}!o2$rwj8rKC_?0C1i zd#wRIO#0fAtQ}tTV9xe=6;zYF8|dH9rk^r_$dfv)r$2=n5(UAP^cgs$^NN{|;i)gN zAfVLv(n-&kv<~lg1os{$Zgj<<)un-QU=b)+=f>%c4M0LumDlgbFvWR#GWGPV6LK8% zTQHXn3xY#l6HJ;UUP04jV3oXsL2Gs4Z4+nb)L%GBH=Mp@_L2DThg>*7noF_g1PN=J zUNA_A%Q2Y1dyBJVatxd=YNiPvRhE2ou7@Oq*x3{i9o&g>!= z)vze4l!%uqlrhJegLkXXuVZfEGlQU$wm1?#3)KW4CwXaw5;DWbN_;E{<>Azz#Vc)I zetn45PBNd?o03R}X;)G;@%6I9#;>^yzfgG~`lQGJVrV*ojqBv5SwbLcLor;i-b8*A z8+X~iACqgP%s9gTk_TydF9i+bh}TGB3;)1rzMJ(Qo$TJXu-PNeB}#Ao%4Zo8%_mQC zasgJ^{lRa9m2E&uUP)oNIGg#3p~pYKVwJr2;zKwkuKOPEY12^9!tUEm0>lL+KH!zK zEqN}H#{QHO|4N@jxI8tZq`9>AlbL9NVI--v{^=dfRRB$%I||>ES(c{QhB2M(Pk#j1 znF4I`340liZU=J;NjeCa^4UIK!q9#)T}+Wzo`*5H5PhH`U|Pj@%$C5bv<7D?gTUJ0 z&=>fWiN(L?G>~J8Rey!6EqM{<-@vwf{CKkfHw@sICqyOn-Tx@ug!Dr{guQY+GGpGa z86LbJd`{^6jpmb*kNW2SMu1b1%f`-=Ikm+B+d+ z@?2`H|6Ec*(p&=Hj|rjz@=>#azv?yroK)q%lB%twqW&U03hBYXv?~8Y(nCYm@a~Rp z479ov#brjiKX*W-my|yXB#TC_93YWh>CfO|B%byqbtE)hWyTtjZ4`tT(&2n4 zE|@!@+V}2j`W6d59s=s7E8W90KW7E`|dVEfZChexEaQ#V?IFLZ?hR0pB7LL(#OI zM$T->QHFa^YDW6pbi1)sjaNCjm}IR5N^Kf%tWf}q-8&Z8_}mRh86|o9pb_9B=a(V9 z_)7XU-jqv~Xd|ycc`8)TwbTDwR7~2YGiMt1UUlY7)PI0EgV0M1x@+(ULrbU01}j^* zh<`aBhOhX*y_|iM8Wfdl64s(Y81O~LG2m^T5 zZJebNCr;-lk$}d`bcw0^@S)xiZ0X}`X%&6 zh$6)65Jl)0)PPP7N10w5f(-4aQNb}wt7I_M2#MfI!XUVk6dcAp#t-zaMu0yZ7vtQs z4pNI0vW}(RjJ|g7Mu-D$2P$2Nzc^(|vQLI+yyTb@YJQI7m>0rpe(1w|$+1B15B!{B zzswr#SV#_f9pS~=2aH3F{`1J!=Ux=;SPUnatuUBhNw!HM;y;IF3~<4Txztj1O@G#o zfvDflHclHXS8m5(30n>D3@PU)@}d1s_E}`^(CPiB*WiKAD0-@*${lY4Dpw?n38O2^ z?yW`v`>K3=!I6x_;DkQ#)WW4_t_K+s;GOAL@AQ?dC{+H$wsCK+Ew&CY8^P5l0_rLk zQG**2k)rhX0OKj{V|86Kp^<`v1F3>D-VS$n) z8dA};m;IfUi*>w(KE~stG6x`Za4AT-+NdgNy7~XvQl};37K~BO+}SY6DYBK`1h`G=jAYl&_j; z049JHPGwn=#)?olC9OTqx~C=E{TF}_TnDTE0^EzSAXj;qYgy_%n|FXoE&=x|-sXsOdbksQKIV_6~lmwl^qZ zdmB&c?LB^$?d53g9q1BjPv2>ug!Wp*@HRB4EAcjCc<)t~j?iLwZ-8u(&GgGLyvlW| zsd5Jp(R}LIYtYYk9Qp`-*GPzFz!K+FJdk-MransXwt3%U>JfsS1^O^;`pdU^6MssoWE6roADna@m(0 zaG-OIJU33IUlxbAfFw`0|H_GH-snu%NS(v|uIdF+mx|W?RvO4Sz;ad{09mf8QxFfJ}p!9ohgQL(!@D(^Vd+N2Hb?fGF3+SfL-0U$d0|Sj8_}lbv41 zk@FUZ@4Da{K=?fKkkHeq-1d)l@@bF2fb$ET+ZcLaOUq7QM=N15hK}sj`Q+);nom$K zzG6#hvBd=c6@`|u$GQ?1w8G<$=%5rt2k~Ne`#}I?qr=Kqa^moNk9R<$X|=It>2`~u zE)L0GfJ_?Qo;&PkJNdL+qRV!+s?ji+ppSod}(p~*|&|| zeJJr?tKYp#i+i7a+ws3v+s65RquHkL_v$a zjB;gqf@W7&NYO}dusG}a6J*1oiP|W0KgR)_vXjzqJ-e|*6urH=p*MwbJD z=Sbu*BOM6%C_NXx?t!S&8qu740TugY9$=eG<$)?et$9G}E6@LpJg{kN;_e&31Ke0wf^}6~ za`O~Ra{ZM2ey2RAkpA&qFvB;p`x&XW-x<%zC|8E(B&3wZ^&~#i+SPl!IM2JO*eNwV zf8r!qh;_exNi`m%rvCV6Ggd71)B58cD@!a4QE~2HYTAmGR>Y!HKbPuJG_XB~BzAC{ z5_?@MIiypkM*?q3urP6ENeTR2IxaP9P2$1>2IUlIA*we`pJ#!B>CBj5HK z65#}1*|Pr)9)h9lzAPRqXN@vs4c%Dl*kYEl>uVi5%#wR&tz$2ehc?tY4wy5595U?o z_T?YV_2qBGe~q~w+(xZThO2};6vzll4o=G3L~BCYBZLz1IV#0I1?JuFnrWX}4VZ)* zkDXTf3(90Flo8||o*VjFh#Zf!!e7rB~zg=T3k`?55}rF*fAjymC$>MdNia8DJ& zGe!O?<)g1@MK^%)&>XvBjW7IJ6c?uYJK{NM;bnDd&Hg*tCB#rBA0;SpNbDNA#~bn1 zIFF<|IC!n5R?VW~v|xMn-&pk229D}$m+6fIpd~au^{*x|$H9GfS4ew>Gp`Igubb2@ zTRrBQw?kAX7lnvZBo})Zuoaw#KB}K=6}RVskfkThJ+~ooz4STstjsAJ`_<9QO`hr~ zF(7KCW}5ang_O*0b^DTfY3^yPjp6^m^4h9w-hLXZXxh!A7VKr0gd=so?k&9^u5T_w zvFW~4q7w4FUjwHEwn7C&t1=}FnoDF`)h08{CAHqW(F*pgocQCdn!3N%dpn-Yb-bkj z!J>EtPxUCtw*xr(7vM#u{i!3E>O3X!n5za5b|vxA_Oe+xNry9HvG&#Z)DiOJ!1p{D zSS2#Z()YL}q?<+5WU5o1FcQ%`xh4}18SbQZ?A|S+r^3^#jCh~61R$N1ZcFn46B3HD zUu+gIiZXBIsXIPpFW^)m?vphjy(}#p==VWoRWhTV+zD@wkY=<0cX%zQz-r$nm#!lO z(<@KYCcY3$Y~>FYr!KUC!0`cMv&xf9n^mf$Am-CcBS~zEV`N!X;ry@7KhZu76;mEs zr|wcee@EoCEz+!DUm^*cg$%=Jv_xr(iWMzYsI-?xihn~A!7Uc+mgL=Kh8bp-gD0VI`>@RrT~gbCk*DM;~`QOH=Tswkld7G z75=Zei3Pz;;@Hx~P;!bXJXNDNQnwFgD>>h_IV<00iwQPce2xIl#7@PJQN3M@?LqVL zmER~$R*gF^gwCndm#jkzRKlzeoWHE-QdsukXs;4IhPZOw5Sc6tf$QY}NGqQOh2eY^ zUx~(o6%d8uB*X<>3wL-HAp(5ghTiFlZ0U$gp5zV80+ zCvf?9ZKYm3vj7;(gfLf5SwgMkUrcS7sKlusbXzzFhCR`f@PTfOv@FmJ9%e}&W+0H( zhw6ljy&|UMUoGX7@o{qY?dpw2sbD6~=Xelw8FfbCf@Bk8X`N(Ax`l?4)K{rRDeOBX z0AW8xy2Ss~Hp`3w@~+@2k(Z--NWD=7pvrC}UG{IcA^y~c_*Vqt!Dcj&Bl}(ycF8_B zzf!WFo%-S~ymg#p9djj{*m!y)tB3eEYZB7s*ey%KSwcNj0V_#15q7ePFcbagiv}2o zXl0ucw==99MdDQhrL^gp?x1X5Vrqh#NJ`T z2V3mHC>OQ57;-c|Q*`B}zJ{WU8d)!^2VGmVvU*qzWR=xtmDPYQLbc2^JKGn~#V zrn>=(MO>UF#v)JWJGdVs9!ssUUk&_;%mFN($*>y|zeE9bUb5?eUGx?tv*@P8@9m7u ziIo`IR2}Ca$wNZN)VwCKEoGD`C-{O_)S;?&7R;u+oC^gqo_k<5Kv9qmC@ypx-v0 z29cGpffKeJ>b2n3hOGum{mm=*cW&?X) z?B86#*{P21&5`MJtH16E=1f2P7mpTwvhT98ShIf@^x4|B zaR;;kty3mx)omWy*EwR1j2rmUKxw~Tw!w*oaT=QmRE6ZVvD--ftwQ~~z;R-8?~QU+ zhmHRY=2@>{F&Fe5C9?*cU7c!u%Y+o)U$eeN*Wvppd}B<6W;SKjsJ$mEs5HWrp43|X zPkk&T12xLsxVSbzglBNtu3s=F^4T!Fr}3E&-pxKcs;Xq-E4{;j7uXk43nPrIU_Xwn zVJo~nWWKQKXdKu&b1bf8>h^IxiO2*GA3J++xgc>bL+|u%RqXbE;4v<$W{%Oy+KGsz zUUQuZ_3;?HEZzJ~4r7BS)KhV*3DZ}*%WReY5(X%%ST}-)6`Lf*tlE4|ZF;KM_MwV- z)g7vKx@y5}aD(}WH_4z%^w>NWGGE=DqN*#Msy#zd_3czWO+(jXEbt83Pk)0rTm5v~ zP$j>Fu$8G|vxX{W5!QtpAQk1)g)&M@$ovdD3wD3?q*JzcD9XN*s^}jG4$*>NM%foyo+fsgW+RRE1Tp^Q{lbmBe_ZM!1s@twMC=sX`Ap zac4TA15W4}Clp1+szjj^qQ@Q;_n;H^Gbip0gdF=j+UDCs;;T<$NW@J*KGB?u#ee-j ze4HcOmMfm)oIXV)S^-8e*0zAW))5@dGQX8Fqb)voBj74CTFQ*J%Jc&b+#aYeM**$P z%CDvJr*AxPR|ErbeGYT?Te)v?DF%?c6PD6k|8^eI)FeI18uO#X)xW$S zsz{E*a4Wgt$|!7RDr* zh~{87MB2g{w^db}QPnl78uLknlQ0Js6Uj`DuVVd~AFT1q^Hga~1z!%mn_#=6FBlIQ z=1p1*&paSH(8XJ*@#|hm&m_#t*__vf!{@K(R0NU|kA_ zwSvRb$5=Q#E&<@sEi#wF!71p%0d2ijaJY}9xOz4ufa3SDxT_te5(n8|%@@AA^GCYy zuP)btjOF%rpuinJoSlHy2y>#>1)vrw!|02Y`4I(TeDkT~KFEfSi$BEG_BmhotBwd!#upzjJp3uZ3 zUT>m)=zLF;{V_epFD+)`uK|nKDBEA`Z7F?}=h8g9>`QsR5cDRSn9&w#<~0{$k_C}Y z$$iL`PYJe&{-u&H58Hfh(cQPh5$p&B8}+!vewUqEb&C>gf88TckHP}Kqg3%duGg?~ z5#g47LQ9_CLT#`s77SlOI2k445!pIa;;nQgWBu|DQeqdzQ0RyMNVZQP7L=ut5&#x= zz|tZmOJd5%Ir~@3_BxxVAF+A*6oPW`bO9RlD`fjBmL)!yN&xu00x3=5<5CJPxpHLt zcpHZiHV!(AyKs<=hw3BB_Vd{m4x1$a9HtJ!fxRJ0!G(h(+pw)r9s6?$p!mOlj2j2p z?if zcK0hcWWIvGzkunI@b^9mfH`Iph=b2p@b`L_;<)j93845XgK!uxI2@6`ud{KOW#jM) zD01U)ME*X}#^D$n2c5-TGB$xYxcR%l9=n)gWG~R0*i=T&Uj~m|mAa==E8=jFiFd6r zdVOe*Ub6{P#;yDq!`0X6viIHDqwW@x$yFW&`fm07qMOy3tVMT$=Nc;YVR#|Lstscq zYeSv+F{Xy!_DB`#ikQvsQC#;>RT34JZGL?s4}DceV8+YrfCy(V*WR4N3{b z!AFflDb3f&QHLlw%I_f-BpUZg02F;eid@X$6Eu!E!3)`Fl-OvjOKX}fwx-`pE5&$h{4nl*|Ls{LZxs@$S z4iC?f+R+-<*=U$R%#B7a(QxyyvqoTw%p=%f|HV9FFLAOsnBnSc^eBJ1PG}_6!on(- z0{yZcQ_%sQi!?&Q{{-5OFL_(k(93ugMx{;t<3^b%@cC*v zfJbwM#tI1ljbVe($P+YK$gBBO}Ho($Aad-(rHXrYI`2LRwrTG4G7q35vZB12j zCPH>ej}zO(jbBG%uE&?keGC_!>b>8@zJJ-Ve?Z8No#n*(5lX?>0{K-iZgxU%VGlsX z#SYq`^SLkJ)ZCAF8}k1m#SXv6l3~&m;PzTL=jRYI(rg7aH8MpQyGt9qYFY?q=QBzevV%i^Ii6{REDCv z`t9gN2(gai*}77+73(I(+<{*ea|V}RcG16KUqD4KL5LZD&Zd;2-$jTqyU7v~L*{Ub z{>X_=I6MJl?qP>Z?y15CBN7HXLShP~=|?0!b@Hr5$bqF0IIOQ<@G#YN9`+ylX;yX<9FeM<`V zV^dx>Z>Z-s;Ujgm4~~j3GtTwEyr2(0cVLiSwpaOlku&8yxt7~EvtmZFVKvIhbzFbl zn}C5Setzlb>h-W3q{(u-+W0Q(fR}l32RT~fggcPFYkL4kXo8-#YfCRN4Kg4V5l0?* zhe)MsVx~^Wadxwbb9kJ@PJ-p3n@E3M92#E;{fh(u1aCXIm2dSH^Z<@$*Wos{{C}_c zZV{=$HCwpcRM9xQU1zqdX#4DvR~x4L>y`j6yl-Zet-*KApylf`yjn+AA$+AviQ9bRS`F_xodce2@Zy=oW^W6w zNH^pMd%~Rnm4z#ErCW@g78Lzq5*|N;dHKOj{<`U4xUXu#w=t%CMwzi|(hVOb8&L&|UhoQuPd z(k`+0SdDEHT%!IelIq~#PEA)zZSGi_HZF@1vKYyft^ZQ);5oB!M~(!*9T%n#&D9$Q zaffN%Qebh%2Aezj$sIFQ^dRowBt{Q!$O^CaZ!JFL-&&q&ObcZCw;l@~8P}o*cjX7W z?yS%b#DhEt1&4HzLsm3sJ1aGRr9K~7Tm4%v9%fAQA$YM@iut#`V&ojx`MC!#@669k z!fhX3Q3~$K53UG<>2_rW_rQq4n6$W3J2r`yEM1>pn&+?k7PQ`1wQBTnhfy|=uSAah z#$KvNCCl3_S#Hy-M`L|QfHbUaMl;zh?i(!0^p7Hf9J0IW9t0rB)_I3rFkAclOM7Z0 zi*icokpOzCf-tNpC0wR@=s-kV$69i{%A5~B!jNMp5kC*Yv>dNV5cTc879y7i8~g*}bFdrMI^2 z-myCr*j?b0?-$i~_U;0&e7CD_Usp!g&bL~2&+-=GCUAaPTlF8hyVULaY;Bj)wxzBVW0f4v9Day-tDGoC(Zr!f~u<9YW4I za5LK4#6S9Bd7*(r8+^BmX%wBXSbkHK?ITazmHGPgYmFI)fPMb!{<}Uw&!_xI;VpYc zJ}Hr0o)dKbOa8lVl^9Mn8Dq@wFxw*t#%1G;k&)`rV5zvoabJOPaXBtxNENyJQVbY? zclT)gs><$u8%iJe0N~yCp%#F_RxL+Q1#l*EA_OMIn@GIpLc6X;4nQs}* z-H;9f8#Tvg6lTE~$MPNlC-(~6T#)U+LUDj5gbYLr5_5b*;J~&b4&wVv|M9hnPT@a= z^9)xd7S8O1wEQ#?I0B9AMmLR#@kh>olg9(oS-^wrj7Uc*^*->{K#J~&Jdz5uG zP108B>VVGj=c2TmwLL$YTj^Y+o*)7A_%GCUxV-`D0xDKxF_NZVEQVthYKwo84dZkh z1`l2)zG54X!OKj8;76>jixj|5zKGvy@{6pv$He#Cm zFO>Y*mQ>OsEHCFNxx9V6hDS~%{DlP2lfOWBxF#Y0fuwfX zFkZG{{Ext}CAHbII2Rj|6sI|oy8Q@}%1vj%?-m<&3%35<_So z;M{T2M4mH=S;2jS-uf02YCB$Y*p-*XZGjOT%93P0Sx=6qY7 zTcz61k<|7hNb1!#eq}a(R}pqDDE0Iul6tI--%&Px$ED%dj^`W%KaPJX{N#(8 zq(g6#@KBm~E$0N(Bo9ddv_FAL-1xbG3V!mPrb+Txl5&()nBn*dHVdAuaYM%V+QXN21zSxTON6<&FVP!2X&@KUh??gRr6kR~S zL?1<2lqfEg0AP^b6pHnhJI*7hq~%9YNuzBPPq0xOJqX3Go;hcHx#yJb?9f%_6ui%C1?Io#BrjLc8J4Do#gnHCs(TQjQWg$>G1{ zDADB>F`Kspm`zPLc^d$`ft#??v<0`WpLmQrAm9r#{aZ4HvRDA>NB;G3TmYdrFjAHhdK!aW}Nh?zuZI->V7VL6ifoC`L670qG=-5&% z3dofOcvRe@uDQ!%uIgs!653=#kMPb0Zcts`P_rl}!(aC~7_w&3XoP5wNw7t}{1Tr( z`Zhm{0{JBYfAlp8=jNB>`lCA}oR?pc=a0q^#^VWqn2|UQx#ahkG~ncBQTE3b})uu)idhOnIar6EZb6q<75LT40dOr zYdTV2&c%7G5X#_Ug)bGFc&;|9%*-n5!OCNMGTa7-{K+sKkmi{MtJ!rET+Oa-U`+&3 zycpP@;H=C(qp9s%4TUaq6YOOrs}EzjC^ydN*2H>QB6YI_o-ud=$fsM?Yz*E7S524Py!7y|Z(>JDzO0)GFMf-|o;XlY@iaP=4Au<=zSoU$frTGs z;b6eN0pTi%MJI1r1W;ybCa{XMF3>L;uNfJTO7$4h31Bs@VuW_1W(h|+8@z9g9?X<8?D zh^m*DfD_qrNFZZjvnw~ebm=C#dz{Wc?-yu>?OJ)G5-I96}TiKX80qj%T zN~sVZIoT*{anNE$+D!BrTHM;DdK`AvGM9T;0$_x164_?$<-?eWn4~dLCVD`a=rfk3 z9?6xmawB7uZm@bRJHi28&dDPiROfUiaTPVjO=+BFz}H;;W#4f3`6(dLVJ@f7aofl0 zO>A(WHXAm+s_! zq4faBwzNF&sE*R3jJ7)Kb*(AD&Qfx4&)40Zbrz}_y0g~Xot5M2EJhB|SyA3P;nHKF z1km6Q5dEP#iP;z=1|}ZYSXxYW*~=x_F_`5jDqM1mJePcN6AKJ>dm zJ$)l!ruFnPMA%de(bMc(>j-D)zRhLdQuQntof5*+U6^~6s-pz*!XqqqwHPm?5HfW5 zVn$k>ihDA^Jtc)xu`?_k`vVD}a~>zQLv<|CNbA^7xphrd-YWr=T_9zxCRDgR2NckrlfVRJO|X z8jm7IljU`*9D3o>ASW=ba>nJ+nyTbu0sf*2xoF20g&QuTd8m5+wI0O9rh#o*<=Dig zH+G>!h42?OTq+;4ZPuzq>+l!va-{e$*+iBxw>-tv4y3}bES$iR79+R@ zEK52pGPXje&~IH1kJO{PklDEqg26XM#y4y-j6A=#D4C9V@LuE}nv&PJ*G{HtmjJNI7i_e{dxMpxQDU$NDXEhH%Kj_IO$lq&q7C>v zh!RStdGjBcY9iG|NfV`0Yid9SyaVUruIr#!6?aic`cP_Udj841Z_=|@0>G(4a2kRh zR-H!Aqbx#tR!IP5Pe`MOwQA87tXqz*wCGBP8*?E8TH`8)jUM7}tY)}rtlmDWQ0s>k7m{L6?;Gy1Tfk$f57o3}A`bJojNTI(G%0|qs{|R7%m$NN-pOS4wI=>% zsc@r^@eZy6lZ8B(1J9P;*A3PK|47H`Q8t!mKsU%t#-x#`&LC1Mkv*0r5IYCPS^Yu~ zdWOgPVqYmkJ(W*4Rw738j?|;<{w#sd!ekYFm`DA}U%MDF(1o#4EGa#sHxWUtiO>~A zihERpX^jHRU_s3g_G}`h`AzI&|I*XhI1!oE;5C7$2)-yXyrTm7OEIlUsa_zu4xI|@zcCG*(0w}oq9M18uq2Gf6 z)(4ml(?=vdo5JPVeitr@9Bd}5_?Kkg-`Y2~a7`qGAe4&7qXSr%LzH!0q_)MU8EcVE zGh9<@xC;P))~IVTt(GRTD2aaQv>Mf44EGZ#J7|JkVg88KH%d*7R{|@0d0-G1<(=_A zT^Ak>?orT{S#@Kt{G#I0#}SU(9STzpJ+0LFE?Z{ zq{XNlDh#{|9$kr0XomR-^oN>laUML2poUzM++@$?m8B78Obe`~!lc^#u0sr`!q=k6(8N4u z6Z3!sfKanoIt@V#>rEqOo2*Ab%(D_eS=ybYCiScp9)oJeJOEO-DxpKJ#Fu*7!3-__xXr?*1d*zqRln zcAYU*jj@?=9pGT)I2c5$G6jb!(e+ZMO^>PkC5Ny8N#$R3sB&DqQj0yts$x_G{;eek zad;7<95LMa`M3`M*8N)3LS!+fO;G3lf`bP~|Bcg;4;T3)ckv-l3(6eo{A^sCf2#o1 zVl`53GRwj22p>}H$5Kq;d8~hHr;XomMNX3<=WI|@sWn~5%ocXTfn1Y9ZkWO?#$+v4 zm#POOg7S-4D#}Jg^WSw1j)~*ZX^4}>&JXpb8iXz2m3nNke8pI3CHA>cN{_C_UoA=k z^u`W`8(E2N5K7D2nRvPy0j`M-;#c*QXQ$Sff!?pw=Vb!;JmmLpeO*z<^^X^6Xd)~F zrPo-HmpG)?NEM;^kSEJfOc>jZs@I!V?;@}2eYONx$?MtX-x|jz6bk8vsf+W8~DR2L>B~6C!AwST%|T#m+G>j(z3Avt3W^%VDFy;z+^Ha z7bV*WLQMqe-+H3m2wAGTW0cEE&6|&vIB?98j^v_Cbt1v~w_+8@Ph;9JwqI6Mu@@zm zC6mG=m3owoi6&%~AekiE?5;`(8{`{gFuY5Skg7tr zI-!4~W)-*93DrBH7T~T@Lr&;5(5K?|zhj5)cS0d2^d2x!`JQq@zjQ)pI-#HT*!jjG zbl7$lc7;ju_i;&AQT8TkpsCCb-$u#yG$F8yAUEC@Auj<4QgU}EyM2Ss20$f#lFAxewB>co)xM7E2KO*r1VlFZN z6wF5?D)6gfjT$|hg+{A#nm7VvAc z{lyIybDjDsH;1p3+r!V{eU`WJ?`3yoL+PO2doa6oHdSr{7|hwH z%)H{Ti&uEI#_~9ir^BrvY-{SRAPj5lmzQCG(;%1jl=&0zvI=6`BEQvd+y|=|AR=Zz zKHd(&W(Ut7)qP!T&e+gZ{<|)69t3bvkURV0vNJ-64vMd!n>UcAMjrt-z8z)q_E`SS*vpqF%ZhcT%}t)JsA}@J4`hwO03I+_58dKaD%ck)H@~P=^VvLB=LKdu=Cx&OnLD-qTah};d4kAu zhW=-L#OvwE3a*vQ*4BM* z__tvVEbu>45(UZ-hzEJjPm>OwI#~vAs-tM@qnFkJStN=FZhze(8{gY)e1}=J0$=4w z*SeL>!h*88n5`bruy3E^^vuTQWC;M9^$5tMT*sj)(BA;_to1l8USr+|k7cwafzh31 zx(?uQ@oAZlyo{YqX~R|t0Mr!(g$q=8w?z!*zN`)NS%6J4K>{dA9~~AF&7KZDyafhG z*tq%S7^ID7Cb?u_5U)3XEeUzJPl=fP;Od1V z_Xk&FTksA*`ZGAG0b8@H7k-bCRSRiJItq*qFOT4{=>V`Y8D4?m8F%&geoQ^Aa`LeM z=6aM}Y|t&SvRFTnfdN|LDKfYyV+mB^ap)Fzyd{{4>s37N`hZY8+>BR`T{Sm2HTN!c z_WrIx70%ulT3N^Oc6wWhm$D(->NGN+T*@8PR>w&~UgBlU8yb`m>=XoHnG3YjO~ z>&s~1J=sVf{384G0G{BvbjR}zgX3lm5qISfao5^$c)`(mxo%e3NqFE#y%9VsWIkT; zMN+@&AadG%C!Cz$LrxlAM7l6bD2{b5v z?2lQmK#CvG3bO^*r691-h|$N8x@@=<4gb|T19+M+%~f`$sz2%x%v6%`48n>Rcx&WG zJ)~No9#Sn(52+Rmen|DGGvy&w1;F1}kQ*<6Ef;itK^`EDVK81W7Q%<03F>P+f2=2o zmn$6PVT%8EBx)v(fbr3PjRUPck5&jQ8=iQOQXu_aQSR=&-(12z$-Zbx*jGI=)y|k> z8&l_M`>nfo<>pWBCgbN;>fRzO!!E+cGa+{z~{^h&~n18c!ReA z+W~k!EijUQaS|Ob&SiJE7LUfilgX5Ly!MK#cRUZ?Pr*Ff1@nggUog>g&a31-GtdGs z!EzAHoM{?>4kR4;bLU?_ME|flzsJW=PRd zMLKXp4ZdM=T+vshqH`I2smfiPiXP4A3sv;@Q_&~8qI308FnNvs5{)5Po#09Q3}NbO zpHa+4c~$jhTBC4bQDGXJrA^AsTXp-Lo7%orkSMzuzPJd@5X`RBf{*(*HXGgo!&^gB zz8TXEFWzHXug{gY!Dd1Q>l3u_a?Ff4QRWpf%zPprdm?Xpa8J>?2B3%6>$lIDsm*PB{+BUlZ;(c1QZ~R|n_trYikC48sP&H!`$8wvWNY)yG-4K{$)FV*p) zV7S543M;+c&(q;XF5!o_>@N0p4O9MHcYD+&wyt4sCAxO#rOmqwy79{BXa2@dO}X-$K+&cflAtnj^DSTko|5h(MlTEut>(fqk8PFBHw55s8?&7rneD7;(8FttoOATjdQYc5 z5z}1V8_=*0s?#PN$19S_K)4&7yQC2wCbhH^Gnyw zd%QAI{dk5y`V26YUd+{E3$0EnnmlDewtw-}WCq}IyjHe6`byOu@!($Kd@$v}!n&*m z9CdLOnpFn({_FMIeEw%H00Qf?E}rForlio*!fo3UuRirmeNtviBJ-0+Bf&0jq`E5* zZcPUFM#T0pU^i2KaPPcFr2%rS2VBGJYwj$_s5%|j>VU`?GzdA?H*rUUo^veRJ88J_ z=8b$72=~L~ZXmyU`Fz~UUtjaf!i=hmg_EnMI~P6H>le(T?+CE)oxX|tiMtmKiZ+{3 zfHxa4Bh@bq9MrM{yl;9a5Pmy}`#^Ek*?sd~Vp~<@{8+2VQB%wUt%R29(L7E{MQEZg zVA{mB$v#iy9gnzCB2U!yaavlvK3+lg1Nkgrmkk*D7=M!#Sz`RhUUTG{&6qHlX3|5%Qh&prGxH9hBYKK2_*=!JQB z4zMt9r9NY_f8)&W<#$w{sNa^0GX=oa_MJXsv|f1O^!#n}zG=aD0)8riVQa~^IRfh? zu<^B6qUM)H8Spy^ycL$L<~e>@oJ|ofM+;aNg25tlQ3o=B!}st9*PXKDMLf3Oe6RnR ziwn}3!>3O@QJ)mBm}3u^V^1KwgBO4Wl#4mcc~2zh#t%K1ygfU4JLXcs$EQQ9VNmgz zN!*B2?NE0rr~YhfM-IW8BjAZF@dS&HWawdpBEc=VW892?+r4_}b|{8$GnBw^$cwu3 zy4wTxQpfSo5aN^q7nOH_L154XI&qWvMfd>2jpZFE*ADkVw%+hZ7hw&dJo_kD=g@Aj z{t+z(mC&xMR|~1!a7mq3zu-zMeXh?=bt^acM*v7FxY7o?fLqy{ua~wdD2U|;SNiMD0F!1 zFKtKDl(qrNP8;4^AAn@g-eJ*B*Ga6R_qW#5s=ecI0}mauNqBU*#iQXLl!&LaP3XfZ z#bf;uo|0i#VKr{$tv5qBFAx(ayl&hg9hmqb=Z<|oT-RA|#$e?pvFPT+uhHH1m_OPc z?2etz!Oo{I$i-ElI)nQl`{~;)UJRZF(EXUZV8*BY_)@@}bJGm7@?lJu;I51EQ*|_4 zcG(=mk-7}ptcV_Zvdtg4@`byYSc=5Lsgih#JMlTEWPv1l-H8t(QTy2cOp7EXR;MZt zN1SqANo;o|`lHvgTW}F^zK__fcER*Vi|sV1gKV=dE$uXwMr=104imudrU4$IGKjM$ zvn?&@L)G+bhK)tzrR?w1GQ4PI5a4{iIon*4mSG(-usdovA(2@eKoyLXoL8phTx{3X zgC@_G3@<#CY8`*{I%I%Dyq@H3Imz1stm>NIxzh_JJ=l|+J32Wxm+9xFrNc4|<;!}w zoiYzI=WO#^Y3UvZ{`ll=W0{^zYe;S~VAg$5JMaYl3(bLALR}Ne%{|{e8kTr-0^rbW z^Np1jPTXviGb&dBRz9iRe8OGev9tmUsh!YX1>jXY>w!Ceec&?HZCf66lRJ~z3;b}q z@IymdQ=M(62|rY&rF|V~m61D#WrVBs+jI3hAt&MA$ROY|XI}kr^76|J?_a4or3)sf zm3<4N8|qZ7az+|D&r6cjH{pKFtxJ7cZ4LYUo;v)cxIT;=m^5PCO>l#KA|dI;W0RAh zAF|Dt)1dK|afyFp@v!`X`CW-i!J!zdZCRgg%lfycorEz)zN{ghqkwUhXqxFTwG8K? zUwlT;6k4VNFI%|d!FHepO@WK2eSnQyyIR>ExO8mkfji9RcyK$D`4C~VUbY?7WC=AV z2sOAe2#im;4`kvBYqcc*sRsE^c-A5o7r#E6*gvAhAN@bzu8`=FQa7WN8l&Vo$PsJU z+W4Q;aFSC)m();}s^Jh=8eGb|wL$ZQvOa8)Yh`^&3_Ydo`K4|C=uu8t)kG(utldP; zUWBtA{d3VtXp-3(83h^UZ`Y6+dlV^ke-NGzT~_G zX5R{upQm+>XsPiGaV;Ek|V{gK~fekE@mO#r)0)RMN@jrjHRsy%S$)fD@U@ zxOYY%qbR>4yiaR8ik9%`gUWb@Kcfg6@wK1RiDdXA^#F%|qex_HJlIBzu-{zPhO6F< zlYkgNc{=?YYcr%`F2Kg&KJu1IZ9{-jdLyGcKacG6j4SJ^)b3$qvb3$Xx-A0<;U;*d zt<*CkZJCvwCf?P+aP1723xwiBa{X z^({B8@wL3?gFQG3L$WP!xBpo$UDJ}tR#SF4xT;ZMPe+TH%{lvzy=bhmHK&)==%qED zk83{{G%nKi*TU+Scq|89UyVmw3--)|^)2uCTHf~6;?P{7A<%B$poiNdtw(7)YjM84 z2ru__n)%!Okt8V8cD8&ls`hhooPSBHBDtV`xKZNKtLrd#i=GYqw3hng__R-;zR<&8 zUwvVw)?Z(kB~re{ya`i?S(ss(oJ;UL@;I;?TqWXyAqwx)ChEe~B=pg{Y(BWrPO;y^>DlrNDjxwiRMdr*ahnTC7m+X$vNf<86RyO(E*53 z2L;G%L)s=vI&kX!3%0kEYq%q@3ZAzfgZ$R$1Cw2V@jsJU1OsJ+aC#w&Wh^)R8?!x{ zF&B}-U6*ENVy!4IDcS54LO)vkv<4uTmDbn$OR!mhjV_0urnvbDttKs%q}IvNfL9@fcmS`Of)C%E>w$8mi5KN>4U4_4fSWF06&oddc8+@x+|# zUwR_G5?zRE;Pra0Uz5SQL>RIB?y4Sf5bk_8l;8CumY(y%6_L|TpDJN+MKeVgD-1N(=nPc23VwP8nt>;e@mfr>W({1 z=j_p?oTGV~Ypa_@^E`C8<{1a~Ai+JqK2W^@2g`hhymSK}Twj~mg1&?7K_E)-gf})m zPMFx-Iy|EU8&WPEun!_sUsj(eL2lvZ6uZ+-P8Y>rPyypy>h_TN&UcQ^fL#+m%+nsQ z#?OErAoDNHVu?m_ZfmAT>nOmQ472E*khu<}py~=ZW_T1#cs|#LPizKb+oLO3BC!F> zN>LaTVzQdQZVEb9Yk@=?-pQ?=WMO_wcpxzrkc$lPdz2)D!(7m%kZFD;29Gl;A@Rr7?#QU2 zG2KXDG;s&w{q@}_Sb6TD^X|;USe-l%3B|oz3oD`g7lr@DsHEgA?tL7Cq@+GfP}y!! zrvAP&QZ8D+Y+{D`$z-P#;_zfl}ymdqU{D0tKSjJro z+WA1RIS;mKYJ(RUzPhMf2}9{}*K~A7${l8PH;6YQ9QBZJWqM$5o!|Y4+c( zBZky0A_MW#mv6?q0(FNXD2%BN)bV zds!CHMoI@u{kUP7kx&b2?99i1twhWkgTkA7A3V@i(~gZfY0yL|5K!ld%Y4g1p87!j zbdNgoow+PfUzS`p-Lou|S&x+Inae_1^?_w&$@);%j_1{U5$$PD|8mbcDWmh9nW2z* zPM*AFE~i&&&4lAFEqKrf9yA{T-Fgtm%2FQjI1)Hy1P_@!ckpiv9+ERRfq7YN%l5NR z%Fwn|wtV25`FHP_N_t1~jzK80-P@)0V}Jjx7Ri6f3>%AkSt2-K1P4schxOnga`xCnlC0>*3BIYf|0a!_<$)}(3 zIbACb_%{wWd(`I{w?YMI#W^^iMCoL_m@x5^hd$1@`Wm6VqFmLVX+D8Mm0HP2ELy!L z4~p@D%8GsFJ?aB^6=QEkeR%N{Z=e8mn!ivHaO_r`a};Z26oRz3Pl=J3XyPZ!v zi|q`rNqyQ&bF$5<_ebK>JU9_+Q4?DeU|6kx>b$D&V09ZOvd|%Y@U(;%R^vrJerp}J zrW20uGbaKBbMQbKO5=EJW%MP({ULMx$-+*(F=U)+UJlpAqV;>Xy6|#r6YibF^R^r~ zchl=KJy9y^~}eCpEG)Jt*MuB{iua7+mg1$ z2ab=FJfzN4zsEYTL=0!+o@5>d#uN3(gkO3xvNC4^=|IRl1ozLN!t*p^tu0_VPG%h` zIPd)caBwy|%vohszc7*oL1?*o8^WCQ+2_#d=lzdMSu8W<=$#ZDGYMTlO$Lv_Ro?<( z{-;_){-+L<8B35^;vS8<9z^ z0uF`}=30QWH$z?W?mn;106c=q2Y!+TZIF`Jcg|F88N_;^>Qs-kBU7MDst}}iDySH`! zQ)T`>;O$kxQBJVxulBKAch`>R8E#M!{LuE>iIy&u{w=WOYv)ADS2GUT?(k~i?cBA$ z&8Odyt%ch$yz93G^gD92@Gh;o%Lr}{!TrUakU8q76f->X(1YVd&4brMu)e2A75cOp zU~C9rzg8H~X5@fNZ0VCWOqcD8Sa%#w&ER=;_H;UjFHe{FvD%@5DhigUH{(Uu;I7h}QE zf8M6LV=jJb^NO23KP=k`w#E(YEMT_r%EV^#Txdj>j;igWWtz!y zFlUWS04Y(VFO)#?X8sYwO<#juGFY89G=~YvyBqfWT#HPhv=2@(yI6e}4Ckz5{7Eq4+ zoi6S-$D=y6TvFwsht(0bR%9LbXhqe;_g{v)titu{0X(&Xqsin5uUV@d2Lc;ogU@oR^2wtrqBhPG zX(PPpQT(TBjWp+)oVM1ox`dtN|8pyi#It(UP+_UD{=0vcYLq zv>w;53XW=6U9M@E>R~LFGKazPTNeiuCR7CK-K#BWMvWN6v?V=QSVM-iB_Yi4egC-0>O`dIJf<+;;)+l(9~0MT3kKjSXum+|9;n0)pFsv8gbBXLtaS z)*f%Vy~qpWDYq1{^H()DN(!zCiieDi;B*@Zr*isVIvKo=VpAkU`5sG=iWXq zd_&cknIR)mml~!#KoXn%&?B}D5^z!c3iu*)W(t1tQ^Gfqor?n5KpcP#$2GtmVi+>7 z05oUKupF_*Tu75b7Og!e(*i}++i$)GXaLn)XH;)Dp1u~h3=Tfai9Q(LCeSk{(+GcP zmvYAjdqQgW!qx?OfOs(=;?ViSO1iaMdOQ)3oe;HDDW3xat&q9x_@nX4YT1XFzv>I4 z+eu7vQ5i1$(q09T1=fV%!`&7!sipxhgU&gb=Db!Hp^pIPN|;^B-(lcGrzv5@z(v?> z0JgT%U6gr~az?H6C?v`(1@_&m{zaWx46O1Ggm)6p#C3>pm2f}X$naK&s299CU@l_*JJ8sEy=44YbuPaa9Z>eOXdJp@Sm%AXqhr;{RnqqhJo2Bcz zA7C3ZxW4-VvIT=1x*w>rf}6S@SZD>ebYE4+)aLH1mh*Re_f;$S+tz*6D*m>2U$ut6 z9o<*$;qR{QtM{Q)gmchL*l2r4oMi zJZOjJtEGn`eK*=|RXkSOs&rL)WBH?-0Xb6b^Hg1lzgbn~FzeQNNn*8Ly&6ZE5}8Tr+#t28j=de|dq(_-s6T{t^=A17kTvro;!w)!3Ixc79h zp!cs0sjjx?ezkqKLW$U9U;ICul5-(sj>9%QH)^gO4keG{uj8Q2zf0H~YB^w-A76+j zj;?{cp-FWK*j>x)TWUFILRPW;cTY;Pa^sSd9XO~A&hDs=eMZ=&j_1O?h#CK}t0t=D zZ)S7cG0)8_Ecz)fP5_(vQ_sySD#XV_&`}%!R;5@nqeW&*#MEpCs1yd|s3LIGxf81@ zQFad+;@mS4499o`M{LF$!A&@{_gS+BgFxaQc#_18i{NIha58>2X@!)KXSG7)?lJ!e zuPR3H9rIEALTB~pjVz=UO~A)HTG1pUxW)XnBm6CckZFt^Br|cgSytd7J$1 zGH;RJF7rD1-D6&cUz|C?a}hxoVy@qei9U9?wL9=B)De&_73pEvuA^GEk;ZM1tewW}=c7apN{CgSs`3iKIcX=WCJn*b{% z@84F+9pm-F$>y<`3c@QZPfgwh*QvC4ErpQ(#cP}87w}KP0UL3KQ$FT?kRXMK$SDWF zD=P6Q&W%DU3=0SI)l5&uWmj8i2PI9~6vhnZMxA3U1+emhXqgurUEU0F&9k#OeA$Y_SD2 z&ANPOwpfj{BeBIwoc4k(Am+6Tvh%LL?m~YwADi^G3w-iX$5(x7tFx__m521-CzEWA6mqGtvMfs8t{wVP}HS~U4 zx8$bj7Ag`&yIY-XF@MHeuVA!F`Q2__Ex&DMx%{@97vUF-Wc5HX`!d+f#ynYq+Zp_n z{Ss_r@Kp)6Gx)d!Qw=Z~*jY4Jjq)#j1S>S5x9H45(z`Sl>8f{Y;e{nLBf%E|Y?%^b zluQXFmeR8Yh$6EFcXLU}D*4@Ru8`k0bGiJsn|1h2QSt&f#-fB%eCRgJAgYCm@D0#z z_$ox@wRc$E_e%^{F6=o)aQD{I%aN`)q84)R$w*v)2=JJZGkgyG7l=~AsP_q$foRKK zm^u$n#r_El-@DApot28m-Wqc!Zo(j9rRJqlmtw8L)Phv1tx-{vW|bW!sn}Y(BQ<1| zVwRCUOmWXZ=(%a$T@RH zth5QS+-Tw^cDeb7ij0iQu7Tq#W;Op-jy@5_h>XOwhd=@obhw&oMp`_&2Y=CLAbY(P zLW9oc>85!?CzrGEg@=Sl^Fp|QML=)lr#5e)aG>b7Ii3o|fzLwOQM|SN%ckXH>))9N zR%(}Cbf~cQGqLq}7Xyxz(*@UIT2+0u+)I^bJe`*H) zHW5m#81p=XXi?=r(ey)w`7edvM#UB89nkDNZCjY!sW1bRpcaZo1jMt5^ej-8`-wRASoEx zZ96t1)v2~6s{W-{N!v23KYA;qG;wuGR9ylzT`jH?lhN{N(wc=uVqz3xK_|r<_Qke% z(`u|C&m5sfI3DhXxX>kZMdi55>#P1utQwRJu+^JnhfyI$_C* zIk-eBlMD_tl1Ep0J~v}~f#E(V747ACbQ1_w{limth5*`bo(Y{jA@g|Df`wbjQ~|8C z7$!#CY;Y=2B+i(Cg}^m{?o6hTFFAjz`Nj2YepZl_3N4~%jD?XkNX~C07W0-&X=D}* z9>6W(CxY>Kw97&(E;o1wAvlQ$-u9wGPzj@r;H04toCE~_0uLE31SciuFElR~1a}F7 ztk7VwgQYOSlCJb!keW9^62M5J+5#4F8#a z>;Vp1bQS)F%->wZ(rNlJIv^=ED#fiLqXD#W$gGrs4p z8zGk?C-?j};7+r>2HR!tNa6OsiEH7_=(cxZU4^v-usQdJU)*$K)s^#4JGW}y+#9OS z8noiN>uKypfHVq|y(T>OhVZReV|@dv`P`}nH&umSNS>1nH*+n!-q~5ffN$r=zKiV5 z^;r8Zc)mLF0d6I22O^i#%nPM^T%}>BFpkdD^Q?lwy&(nG2830mY~aA2Hu8Z_D{JEb z(Qh6rM49=)wt4e8E9wG&(ZX4WQMN}bTWQ^^hzDh1H&GFo>41TQ0(1S}Eo2eBM$t{}heMD1>=Z8@ z7^t2It}yR*MXz)fSZRilf+chRln5EP3YKu2Kpz&fKnM>l0ijLY5}XntTUU)No)R|w zi*G^oFwmsw&nF-lgyFs+Z74ChhARparU)J31=O#YGQ%N*xv>qJE4UVYgU+w3LFbdP zwve&bT3Cj+bbbie%{UYp29)&bwQ=u88Gza1XJRe} zEoVg5a3k_<9A5%gAG*=C2P9)i`L6|FV7PoRnMl zHdX43^NYVZEp_G(Dt}RR@}RbP>W{9rS-k0q#~*+Ez#8GBmJhNbpJ(A_r^wNqtU1|6 zS(|!mVy5Et)a^VnVrdOrhoXM#byD@pqj#iv>K??!I68K|-+kq|HI}87vN)YK(rbE| zL5};nubk`~l|-+?ge$?1%sy6TWxG95_-@4H^1kWX7iHBFupVC+g)hjmYy* zpb6@7tG_63;p|B3Li^NGc5->dr+8eY*S4+zoWrsVg5jKeroq5Ctrr9oJlhThpHf!R za?;cAX{Q~Ol1%k5h?eIu3k(O8aaxn13F`q8y3_T>!MK=|*Y(D=a0M!-dDLnVbO{!{v zUUd~V%lFE)hIV;*4bSGSFE>vO%A`vyfpChs3(v7ZF~iu}D9#O;!|l{hVJDOf?@2=D z`EXmaQ9L1JCZ>Tytwo^Qzk#%+*X}p>S!+3wlYU0i+<4vW8$jg6AQJ83wY`q@vbl=04Vun`Db>#2ex@!XJ6yimL*)XpP4>8AkXpOj6| zD}HGpFaRol9P<)Xeu;h}_T5LL&g6zAvhV)z69UH~%hrK%L_ITkUrKXlOJC5D1@iEC zm&Qa19ft6O_4eQYV4d0YKCaG;($8b35G{2k@HIh7nL$Hu%9#NDD_Ca&YM1d^aHJTF zxXzT32d$gju#^J~R6z>OV{i-tVj6@ zLj?_(9>_7THJRiw?}x8rp?|qjDLj9_8eJsb=0&Af0UVL}C;39oR!?LFtrqZuh<2Z? zCjN>D81@)XS2^d!S{x_F79Fm`QCSXRnv4l51}1wc2!zG~q0}jH0u5$}^3!5Gos?7J z3Uk$`aDif-5>Jb6S0jNSwdnh)v*H6C)?slAE?o=Ki7`TmwPTf7iZ4zqVUR&p&bu<$ zHsIvlvZj@d1CEgw11tCGuN)4CJBUN?T`5|48ZNYekZWI~EUB~K9)y)K=UX3xpPVz` zwa?m!(f^bC@R!%#E!~H+-*z;Et&48XCQsv(B-<=}i=B(vU;PwJn#kyxFsrze99ssV z`?H!7-J9ZA_jxG*fVqTaF*mpEg*NXZ+wDbLo_pr4H~h?B_gk{;tv_dQFSu+*%0eLk zoUVE7@H5l8KZ|ijbP_oj_J)i10EA=iQT7vIDQbl#<}mwXn8tE@N!!GXvc^^$M4m5C5uBCW!KB=|58cWfL_cofVa1wo&KWM~eItOS=5$oCVytSy^y ztifrMNb?yX^DZPhF|7rq@DnvYL*L9+Rn@|-mY}6oKPmmSQoRf!T zNz(*GSjUmVe3^9G$}-k=qJ**NYJm8h@(RSK73$&B{C?bRBM@aah7)($xV247@WLd! zHo89?v=S6ZRU51-Prm>w3Bg>5Cka!e3H*yg2(!gh8x2qV9mA%=8>)T4e4vxY9`Vd6 zQp3D|_CBcQ2JD=I?DTmJKJ9spV|z=96uVqkT3NQa?9F8IKnJ|c+H(zoHz6G!J{3F* z28MoHAHbcOtqd;r$=Kf-nO=!TpMB%cetKhtc`v8}sp#PojHj898l`}LNX3;~nai;E zg3PHbw(W&e$Nu4V9kZp58(GKq(&|7$3V>Ay;!uZV{#b2Jrm`GX$GuJ+b65wrW-82` zRMrk1NJs&&>Ofq%mDw1&j@rH)oE6#4b-G>6*vp~ITBDz0DaaoPf!%mzcBTGkD^P)C zSVT-sCESCAnwXRdPe6cB{B_tlg81`;Qg1xXI?9y|YCp)ZHI^aO;k{gBRM}_F@xj$* z|9h4qscJs>ELs5do;=WbLFBV<&R>VOH&6gp(MMruMIS2Y{sSY>DuCX*8hdiA z+ivsferY_p0p1W&m4>W7zs^eg7HVlAh1?UXFfT_lsP;bEh$2OaHH$J_Hl zA#3*l)DdYaFoV%$6lJ){jB zm4Rl$+E3to+O4)~R6%P7ioQTjAf~D`zkozseU176rKk*Exbe5byyq6K_G~m5r_f+1 z9gWK`v#YFCRVFG?tYL;B?2G5~P$JcvBU}_4&q;d%lzp~tJI*Rp zU)6D*1|DuA4NBgb;kR%bea$SK&`FcLy(d+}S2k_pEI@SeuCqrqG7Gv6cN?m+)!ioS zRK?M?85x^zo_AdphNYJDPBE3!wYB3SR&5yq9f{-~D=U3Wr!MJM5%+PEWC^z@_ zSyU|ehIm8OJ*~JGp0+Fl9&Xzvw1E+suBHVOz|IG;;gV*SX5+2ae6_8#S3dac(LnN( zM+LBJ-He+`SXOVYy7fA)3XfCBf13-lDl8#=pn`Km_!kVNEx=@+D9d8(1)mKoLXT11 zSE1~-Kw)Gc8xFJJ3TD9k^9z=VTklK2OIHg$g$?kt5W)h^g%c{i(iYO+cuvaLeA`XG zn2RCMocAhNlxD(La7@NjHhhl0K`edI!sTZCY3_Hf!}JH1YgmwNQd@-U%;FD}Gz8b# znu4TZD!*a#VKd<4Ef-?23%4^9m^Bf0t+M{KLprXu+9Z16HkHdVba$r9I#*zmqa zCc(RI-o=Ku*_ax|pd*{A$19|1m|V8bx+H|#i4Y7us z2<#H$(mWwL_iNX|JrMS^d%tJgMK5U@9>VgO|HNJ-XaAgNC4*~ggUuZ5u-!W)*zb?@ zfyd$aEDMe{to0Wz-K@5zTEW%k%WX)9HGEutH<(-HcN6xN8NbDRN`AYvV(bgAaTD-RqN-g5OcE<8ul5-4oYg#;%timz*DjcVJh%(a@sela z!PQ(^;==mos<~D3;cnQhhGB?;S3ehO8c|1agNn|uot*!BJ#$`?%9$%USDVf4M1PgJ z3BLxe2IF2pi)@Q9|2c5UjuyKM3qmSOJzO7Yodmnb2J;`25d)iS50p;o<8;qsY-bv)rie{5=i3y0EWuxx6&kxUz0*+#&v?6jReN*YzuXB$61n;I3L9ul=%cobvHn3WOT1& zv-SSkj<2rozF*=WVtnEybd#wypkZ6>y}v{;z?flI9Be~Bc{Fjym*~qk|DB7yr|f0J zr&jpumI3J0`Tn}a_!TWy`WsADsH$^(5M6uMfQ=)`*J3Xnlz!UIAAJpej9*R1U$n;i zY!th|-6&x4&59Ybx%dD;V~LE0<|>S*@g?F}mq6Xq*anl2l4-5+8YY7`GD3q(Uyafz zQ?tl3Ioujw;GIc)ep@_ zG3jU(@?Dg>P_8f{RjI*a>wVVX(fgKEQwWTE-*sfuxfgjn@N@2KXm51BUt!LA(&@9R z^FkolgukY}Tw(SBsb{v6*|Wmdms3yimPut2`jD|*=SQu+f<{a z7F*haQY95MP?jJyxKNV-m1?!66h#qtMJ)m1?gH1##rP)`Em&-^#fmiwk%;_B5J^C! zfl}O+-853PvnJJmG@uVM^DGoN(ViU{|~B{yS|9g0}M{jQcd5+B`w?oldE;=Zd9l52{hb0#A$-tWY_zK3s)bg643Z6?#iEerPd>T8nbXIg2l`hvXOk2mUoT>Vup zE8U{)(-8=TAM{0_@4tzfc;!jG{{~v(UDR-c&o@Fv*<6JI_6&uWZ-TNRhBdAzi!ZM*flfIIVl2Tmoou$QYfAnmvy zHfF&8zqYAY1X!I$&2#dy)~aeSHd2M5Wre|wP!!a2=&QFu2Mb3!{Pvu&aoEW}%|a5$ z1QLT1iK8@aKHju<20i}C$4HMU`V*StZSH2=r`x42kv4SUu(;WKgn%aarn@2D=rWnI zN_A%uXxRuK1phN?#jwJP;n|U8jdu?J(b#o#pDC&9xsNg>vog>uNHAxmjukLzo^K*n zkNBX}@KMJ|sAetU>GopEfFZnX%^e4+o0UPhJ$0VvFF%TH3vyu7hrh=M?=e1w6G-Ez z(fY{?-C}T($Z^~mL{-@}|q`q5EL(&jkMZuiB# z;C_QZvN8M$fn`Oj_CamCkCf`&8=bLt|CH9~jD3(9;!_$_T_ZbwFz#*muZyWUQl=fq zItXOhqazp!$oYVCrhyFYy)yX!D&25~U-)tQ?(Svi2L(*HBR=N#!~7x7{|z}NOtZ~J z*x{opxvks$kh3tzYmI&<)#!Jdwu<1=3x3cBH`*j+zOn&X;D}|(Tll5V)%A@`NcvqR zpn(yP=ZbgD`%u+x7Meh`MWG3}&?=8*P=hB_k5Wi;;LW|)c*nl3)Nu~Iz&5*z0|%?7 zI9FBt9crY2RHmF*s3G#!X)dHzR$V4s6h9EN|l0vFRz;b5_>a=#-gZ zdXK2~P5-{p;qNE8#m$ua?HB;i;|20wD*$}ej1^D-+x`HcEu&mhm3JJ_0sqk8Mm@Pu z!Z<{Ex7I0P1Liu0WeulHeR=cU=*DR{{66PS7`#XQ9CHtb+$AytT|x`mo@z`CC6 zubio4k7tg7e^?mhGBC(MfcpiX7Bv#{HN*uA)SyjV`@|5g`JriCb209&Y z&(P67ycIbRTdZ;zAy9>Cj2=dh$go_)kqjM zI9p)MNqUbsFpda}fwTUcDCM_q;G}}vK1dr-9R~8ue%1|V^{r47x7p}618F}NxMm?| z1whOgRHLqRGC5QU1H^Kw{k6Rb1K!pxH=La8RJsPO&VK} zD%)-4?y_>np*7>6+e48Qf#`9}Xv;vrQoolhj*hgaAA#FG5xEoisZLVqsi(>8pH;&N zTn(5#9x(9hd58*5 zyVV<=c8P_LfW*Cm%K=Jo{WDMaEx-ZZ?EL4Y@?R-=(1hDO;ol=qf-9BXn?3lw^T)S) z!n}lBIbj-K*rrb)g;_tcHuFXYN&0)45h{?hp zP*Tjt8u7+k6Vu34OuEf5ED;iLFR4$k{kXB^@*SS=Onw#N!3-0UQA4$axrq7;!|DQ5 z8hx!}uK9#GTvPOo_&mF6xF%@WCxM{pn{BwJ=eDzWv!e)khLb+vu$Lt@Qa2Km#g43> z@pC^U6820T?Uuc7=-2paK^al2MGMw%%Pc=#PkR~>ITCcBR5M)2eBo$TOX~6jAL66F zTQVDuo`un~k$^!4QM}$4k7zDvLe3*~3uvljw;*7*fH9J^$cw1;s6L(zxz~{+HeLi2 zLGI;`$i0Plh`z|b`^%!3rPCCnKbgN1pU(dp?-}!bM3jSD2m$Vx)@)fDwl180`ldr$p zC~4GIOt8Ylg>U-6lZnO7kGmY2_^!nvm$3`J{)VJT7W?GhB!5_0{@Qx?wLP-aW zIsPWftK){5zCp=)VHJ9?T{tpgO^t!g80)1t{NvIE`NYJdJ;e0HVGr?}IGyAW&)`>$ zy&QG$WzMnKc=|5lCjK=1oOd$qHV)=4@RH9^>`$~d`T)mfm^&Tk)3iWmDIV-ul7$T7 zV(nL`08`)taA}!iuy;5G0_;BQCD`ty%+@qYuqUiNhB`bCjRjfTGyML6X30?X<=2s{ zFFfA^{%e1mIS_3ORecIznEH7bt{ziAHSc-G`CrWY5SI~~X5F0kbN(O9d+@8IbOk#l zQyz4at{E}V^U&AP#RNi%CWnh89$E{21wjhZW@yw=;RL*u3FTsTmOA_r&>|cj%DeaF zg{&Pf5qTj`$IDytG7~Sl*z596MvjkvloxVvygVx}WZigqf-m0ry39g(2_?RdVYTUz z;+{>9-vRlO9^+_t16XU8x*PdPD?Y32gYmSCIVGjw9xzIvt`eR7pjN6l*-sWm<{-PK zjO5JR!zJ2kGtvvr*hvQBQGJfQ=a%i0_+d>c}owE+7l8~!pIz9t>j^dg5e zmSPz%%X`G0pO6n$NW$KfkOm_!jqYG0;x~u@t{UMN$qFonjx+u7o3ImECH|6Nh@8QG zP8Q_WqZ806MgAR&`X%y!jqOe6IT_9@(=fXmkjqz*%5XB6Zy3vVz@0$qJmY<-8@;uUvS*e#hM5afBFqr(YT<7CSkasd}JOGlE{#Q%iFGF)odAIph zwrBCD0Fr3?1pV*+<{@T@peI;?a{9G9+wFftmfATE8iw>(a36o)S#V#+H2xYJ zoL&L#`5_85XMKqD5DE`KC_Io73J*daq)>R^|4br!M|EVq!~rlWoBux# zJc+0U7W%%t48@S)B_b~ruJH1fyilsL`Mg$9Iw(%cW z$GlVt5Xq9CL(GK>pR(14MJCWO&Z@}Q4A8DmqrqgNIjDC660SxPhG|k84dhf&H00!Uc-vNcpFm znR03dimOKzkON4fdR{CN)pmV`OxSh6CQ(nAL0V8~J_?)`%E$vm5<+svhZhl!+imF;gtC+7$#{~(xl98=fn@?Vjc z1G0+yFF=DU)%d@hWvgbyg=@z`NxcTClL+;;_s`K*S&2K)m6Q6hB}VRU_FmICMbB#mxXk8Y8cP)9A!fKN5vPXi7bMZLp?T=sA* zC(8l4qXW2HYIg@WcE;mm#(x=ihc)KtImmIobT}*BVc$SHxGa8W)?azUhpwMe`G=+Q zx6Vo-$TuJ}e|GoQZ2xyqW-vw$!ABOZK#Nkvp2{qykva=LYhkB`esyon@n0!*vW=H> zpI2ipq*f|bev(~YI+9slPLhyK_xB2&&8C6=`pr4WO!0`6-Nxj1wcW-$6V$53dK7YL zlHpT>-@t2%bWVl)i%?cwCgZLq$f!YE?o-F~u#sf%9{{&-(yx24KMc%Zn)m}X#cigV z0ZO5_NbMV<)oCVeq?8>S2+I6z!w|#9Z9cjcM8Eq082(i#29FSo5Q$)s*qoJj0&=l$ z!0dOJk#+f>K)fr!=t3DN1aN_|Mk<%HFv2*@c9-HDtjmUh$f)J+YsLMNq7Y8B;)?f`G;Z>-sO<-6Y{Xzb$p!3Qz z8j-TD5lyxhic2r;gD^RJs5*dq*J;<20t&HdJTH~ymK1Lb9PRjhYHSM?`wZU(b0fkF z!MSsvOMZiI!DDc#e-(%`c+BMqFGWgqKYE)X-&?@YGhipU3Ixw3H{mubqxNN+ zS;m5`%z{JhaRYHo`coUX)+SOZ`eVv>dc?TpVe|qX*UmJ5$s!2s0nf~|U(7XgA7aE% zNZWySgt(5Vo#?QAoC(0*uHw-HXRqlvt7eQR^lh{c_c+ot5$wl^Y}Nt}VXA>^aJua@ zaP$ziZZt$wf3qE%%$hq#Y~4nStB!4k)3AymcB|B>T6LAQO7Vb{ty0&F9ysf@bW?yV z;*M=;$3v^b1?-xp&`N&JJIqiYZKW5=9A!z*@&}mq?-0iNzypOz4McC zwsbRbhTy2Wb)AUhIBQLUXI8;}FeOH-I8joqdUS0Dh6V|S==v=5EDG3m0M^`Lc6&yP z&y{BurSLS!#uNN$pWKpu(h^z_2%ZkIC9fsM0I)MRQa1gE{~~k4nhh5SApMbSVjlWUU$%4)C&f)6oL+Vlqo?% zMwyacWxOj4Z(iaukQL+lVFXfzSwnV4ZX16+@3r2(m#l%8i^Oule;(q5O*LH=5Jk%y zMi%c59OlY&#nEllU-`XoHqjuiq^wZheDtg7m>WtX`k+{Ua`Jj4Z#X%51A)1+{G$l0 zsofn^^Ixl;H-FyIgwfh`>`Vuq{*q1ayOn>|RCCnl8-RGQSMNku^#@syzx>y0c)ie!5GhlQY#a{c^!k8!!~i$Kb#k)Hp=Q#NDZLAg z0a?M#jybA)sWi`3IkI@itdA3eknUNBTj)y=P%LY6_WZ2*M$6HUvv)Ur>dD?^1S0sj zUVrS79z*(ubh>?6w)Q6gmnus;t%wh}JA=~)F9&_`8k35z}Is5L9==(p0g1< zvU-_3bXpIwF-^zv;It;czsh+Shc2K^h!wrQC_}!iXVl4_Wp?Q=bRrCfcdJ z2TnzpK;N{lVavM|HDeR}MsVrLD9P1do<p|P~J=zQ%)~tQz z;KU_>WK=Dtf8qv1A|QZiR&U|ziwN>HI*PP46PAn z&HV!bdr;ySleBz1_Za<{df2uB|#RMPTs z7LeTNQ$g&SQP;RYg1Lq@kc}NpSg!M$j(M6sz4-DL z%hea&wUMdw-(YqaWQ=-m=kM$X=H(k4kLUWN)_fpwPnKtO zYaRkd+4qMtJ%<$Tl#%xNR5OW&K~n9z3nEetNu|di!V8%Lrq!Kwh*lCRN8+sTKaC<=(>SiMXxv%laGZnDl>}b=w z{i02gtq5*(P{&1zN1?(AToB#Ylr*us(manOR}ZU!nI~qV=1C|1rhgp3B$KAgnPNW zPx(&XS{-s<(+7wx?4AG++0Z{;&jqV0w@(!Ue{GmJxv~%S21A(WZHaSj*JSNX-1!H+ z^N*BxLjMD*0TjVDJZ5cBURn5BlCxZJ01`mJ`v!G|fNn%Z){tX^p#`A?0gy#C*Hkt7 zuTS3RLJ$f1+ghuxkqUGBP;!CRYAu#JKa%V$fVNf@NEWwbDb!iUBMB{p$XF2cZY@CM z;=pr3Z%a|oyAvWnD+C;I702`3o^*(hmTN*E1VF2DTe-Ll(1>_x+0pkb*L^xM?rM&{ z=kOyE<@Bk2FLGLgFl!`kkbz zTP8{>7scc(+=<|UbNRtO*sQs7Knq3=Jl;E?X634xQmV5DtUNWDsoN&qk^w4Tc?DEw z_F)^+NS7`pt(sM!zAB))>;~v&6)F!?n{}l#b*qZhXFN77@5=tn0Y$GjC((cE%;|zR z$ltMb%&){vU{Hx$xnTQ4c9}~?>derOkI6)`(+BBvOt5z(Jyn5&-xM!>bxQ^>J%I*K zoNSHG^;xBu^&jJP(nQc1c6ltZ0h^S?UQAj)DgAEPYcM98%DBzFZ@~g^P#8qsr{Au z(2F8I@(P?54W|gp^imB+b^s3jrp_U{Hw!Ftehl=4ogQ_v1IYeyDeZjdbP({`48%-C zDh;$3cX^iZx;Cr{!=FQ*;IR_VBZy-HM+WUBNT<@gsvR~wmaExvm0F=JKR)_Y$35I$ z^7xU^c`b$@FX(~4<3(uGxiC*Kf%6Qo@(Qw?}V8Um&k9&>abQHly7cao^CF3iSaH?hxGEHYk){W$xg%aX4>s za~V+i&q)i>`mL~AxeQ~Cu!({9I$qXsrz?zYWBuox91}3TciFUo?Z~AD83D`ln?Ax7 zvaiy{Eqxv?1nXASmW&*7f?4~&h-1BZ-wot8T$s+=Fc{Ar+n_ymBZr4ME*=x;*Ki4w zU*hXofx`{w@$K1$Gx_s$Ltp+pPTBYeDZcP^w22O)xyo^rUK(xRU`*X*4R#jEii17< zzh0-*?zXqmDW1)3e8kB8M>j;dyfMCahj5=Ck)1bL`HA=x75A!W)d%48AIK^|!>#>O z+M_c*0ENrOKV#hPbQZWJsE(BC8$dhdr(}Ruf)JNn0^Fzkp{zi!aD22E5ydRHeJ`&8 zn}xl7xN+`}V97SpfJ;s_g=G;rZH2M>siU9bV$f4ZPx!EQChr+KVL$F3bh;p4Di5dv zhXhr7OEn0Rc5_w1<;N@^6lgey9va>=?`1$i>5j&lZf|~$9~{;5$hl~bWWcfT+)K>z zRl5&>si5T&dJ+ucLVzt>iz~i4#fRp6jFZwlco<>eGu&|194;Rqj(YRamF&O-Kz0Y< zO44o4BE+xshKTzJCg4Gfd7%R{8!o=RE8wi8xNM~-OzXfNf~bboGZQT-JEEytHX7xt zwI!rnFg41SVNA@j8m;hL2LCw8nRBpzJ%Rn}GgMoRK4Bb#(sMOLFE*6e>YB4F@qJ(s z$bkQS4Xv8OIPN>)%zr6hVKzSjCo`fvC9DORu)lG9I{a6D#w|5(q^Z46uq6jpwhz7ya0{M5Hj1IKRQjylOkag`G`-uKi@W2=tKpSx z=lA}eM4Z8|rFN=A=_5y4m~j?rz%ru}&Xgz#%zsQ^bTpE$^<+<#>d!H1xlu(&(@DH~ zY6I|4m5aETJw5UQPTFh-SoN$MGSXMMAFHbDr_{y30w&+(+l;RJhXXXs2Nby%9YCoNaztE|un zG*oZnIf)V205|%$Z{!IF@XFZnyl{lmyJ#bPd_XN34U&1qK7~?&t-V z8y{PX5WW{oDY~OVR~-K^{Q*`uSTs8-~H+8bn`sn?~u1up@Ef!o|k49 zWWy|SwdbW$1TVnPjrrL)YRE~9U|ri!+n7LUbi31#RDFSw(d~94GV7!JWL;kY>dUuW zSD>1_?3P44g2^OD9ySad?^ZqiMXXTdBS(U!XHoU;7PNX08<+FT<|=i{8~}C;nIxwe!eHPU3?) zr#Su`C5d@h8(IAPt9R0&F<+!?l}ARp8{!W!}-q%QZIJ9PeTX7aWEl zO62%lXr~a{#Ezrd?A^=FE!G%ZhiKI9XW=H0O2!Ix)8}l~;)FnkU&Mj(<+~89%rJB5 zb2CHkrx~@h@w0`j~iIrHVO;Jo=Z!pH-@6NreBuJc!uC#>2QEId~c_v;fFzonI6%E~X*- zQacUV?r}2>a6>kT@?4lT;tE3`S8ml;syp@xI^}`R`tZk>WqnYe z%y;Oq4wEiTj~7>Jp`P221N5JZYR;T<+Q@3`ydcT%&t>G#0lE!fPgRd?f&;?PdM zjK&MsfB3&+Q}UR0?K3tGU()D;PYosqH|XRwZz8$E_M^I1-KmqcuUY2%ArjQJBL$N_ znb1u2B6T7khRLwyA=JREng09Gq7Bn{i-n&q5m0$%StC5KTxWXMI*K~T@ykz$nfnx+ z!Kz2)8M=WaT0|ap*X{QvF2D=o)etMcLFZ{JNS$%*pQVEtz%V8-i$$%tP0m_hcwKUI zEW#QC;6rppgETSDn#nBlf0x4E=kb`rUVprB!P|&3%cbJZr~x02 z$OSPd7ej~<%SsGIo@TGetciRyTzyz&kEvgAEa0$mR-R9-T_&8EWWi>9`W)-VFw>S4 z@6Yi)IlEB#@i6H}n3HQ&K=L5b3ba-afSpMz`-N*k!2oJ-nm zF-E#=`(WTm;$zOc6g_FNeUq$J=b%ndPK&w>H4)o?`xjWt9xKoZ>Df`LnN=-TsFdm& zA4tlr4qQ#(og_se!cg;Z$WKrClF>8G4;gx!*-IeMZ zJWl!%09UGfNhJfi;8z&9L#-&h4efKQZB>vsM-Mbc;|4R_q=En{)D>WZy1yL%fI>)3VRPW zyZZC9x^oUNyUls~5#B0%)6YY=6*Y1XdtHQ3px8xN!PPfo>&5gxfIxu_as$W(S=g0j zN-YiR1cg>m39j`3{MJeAD`?Q}%9kKf-GifEjF)C+mFhvA5!Kj3@N*>KCdffG0L|_( z29STzdn@Pyf}p2`v4#;=!RP3N=dN1-?b%!4kfgtBzJ- za0k`eT|gD4Waw>s!A)F`oU-Pobv@Vq0dzhZIh#uc^3b5UWB`9Aok|~mKJsFU5_OHp zGk$s&?b&%}5_CRUcwB|L>sfU9mT6q+D%6+pLg`Unj>uZpgW@Yx>8m!v3sV%2x#1*! zD}`{tLZT`GOLXq(TMZp)EFmmR;t5*g+x^WUha(ah}1|I=={z|pOt!r-=PZi*&37q z#jk%$_c=B2HJRhC$GWWuiLghR=*PO+^`TM-W9l9J&kHzHLM)`3{lHy!+ub{9rRUJ zDDPn+1Ix@o)mO_;J=s<^I?mi{<^he4bN^1L;*qEYvPu=lYY(37;DP!p2M^!=9gq3- z)~f-cA|yl0y9zOpq3OcHz_a4ARk5u2l$v-+LCjkhpR$za#@>ebloddg7Y^71jTNeT zmll_;jrRkkl_(i(Eb^&WTO^qWWk?w6Q!l@%BZESd{w``0iP)K}sl93_qkWG&C(9Hq z!Mux%^2MfCOu^v3xf~iqF$IGGWH~gG{mt?LdWa~%Cj$dj9uO@3S)?r_rDLyy+rh*n z85pD(on5}ev~VS!)!lwz%<(VWidHz1oKG!+_>^L7S5p{sSYAK*!mDk0kAsXmS~zlu z6xRo6^{LfDnOK#y6^j*YoFpp2{De>}B*6d{t2CdeP?x=|hc;+sOq=tZ#OE`n&G9Lcf*Z2^IGe zF`|#l2yR8}P5zYb5N^^c)EDrQLRHt(XyZG8?@aAY_JV`uhw?AlF+E4^gIt4i zmvq!9=@Y|1K{Kk3?Qr@e-2M!^Pj3P$q^&M>P^6*^wy*bK!rxQ-%+bFEAwhLel^YL^ z!E^^j#-Ps}Y{9G^;YwjePwUVTIj|G;tQ+sjZl!wA8jqI|eYJ{E+!NVn>Yngd(E7Fm zZJ*i!oZhpS@b_$K=s5ZokDOY`S0UQQlue>m`9OsCRC{#VT^b-`#C0Q<^J4sIPJA?1Mocr=m3 z3TE5aX(UO&FnvxY><5QQbjP%&j#k{(0RfPx*%su!Re$^KG=7`xZXOBg z5t7@;eCoLb^Kww9TbbFg(9gh)?J*GPb0;9$Rs!p>&PxOdDGORnHMR)VWHxqyRG-<{ zLApV~q4<>;P$}MBM1h~JgSo+y5lL$xF8WPN|6C+mykZ@&Cxk)$~ANY)deB>|o)RKuUiGYaiM zQaUtLeW7F~@ML|i{AJaa__BiiBZ@>->^XvuJvRV<{W_M7{=M| zO8eB+GU&MwMDSkYQ(x2X_A;`3A}T}(GydIpGyc+0H|}kWRdE+7wA6r9_@BaGpW4wX zl`~6Aj4>#frLw}(-e%Mb@)=g~t+A>V@`c}sU7vbH7ezCY^#o@3wQ;ZRtMoisPc%@m z@jQ}y2yI4HZsJvZbjE?_ys7#BE6SF*ya}=#^%)R&<+rGm!4AEurc#YWDNCHY18u~; zyFxt{;s{Cn0Jj?6yRK8!ad$=??VqBKKYdeF0=kYi>?wNJ@vY1{qL_+3`s38GIHMou zpbj&DFe!QH4O+i(4vsxBAprP!1GY&~folTwiI}Nt;po zO2b~<6w_B4dNd{_$5eN=UzEn{FP_HUB|H=!D~xav{!UwgkI-O{%E29xqOK2~owaEI z`e1Er$2&wj>+waMN8wkgKVAWsZr}M>sSZ4R7B@YmMZSvtuKp2oCKjpa#&6*pJSOso zXP4oDc!<8pzx$UDkY|1}!+fUhZ{;xwiZ>KBRi8k3iLAhKP@xca#HY^2SNrm|X!yFW zqqNf)du}2@y+`vvyxb};kru4kEp1x>DIT1OK2hX~zbgwbPVjLQ2s5mEJfTJGT|Txc z_;CX5n6>P^H7c(NrqV^Qscnkg>W;n#klO*WNt;9ptiXDGC~2)(474D+yc-vJr#^=^ z_lDU=a12$FTRq;>@q&ghczehCcr+T^ilr5c_JK$+hTA65Ep2baK8pqwp4)anO#CR? z2u-C~cPHe+5qa?u$D&(fKXymA#V(1w)s|qFqY5qjtnD)#s(7MrL=Hzk;wd0>YyR)W z-;KWuli;G@XBP*WbhYsagr<{OO|XkAJR5tqL02Uy3-5R=9*Z`$;Z8)`Co$9~*Icwj zatL7k6=>o1IK)?8m+%HkEB<#hfKANPK%~@Mvq+qzBxqX_kLXx)&b*>-#o-TYo)rF| z@*WWi9gbPm=f25uG8Onf%wHgB9R-ta*zmv~zPJ9a1$SKMOrD0WhO#N^pSkzW>+}R_ z_}$_ALhJwh(9iImXN=G9F^O=eqbe`Q|C0P>`)5J7p=YvMdnvaW&m^> zT%=mVu(3vC{=~3jh?6q7lgxpjel%Hv7^BP63bM}5V#th*TTkw8^_?uRs&Zr-X zj97^}an67*_8L^)h#(EX4_-l2aqRtVRd4tWR2836$L80w4s|}1)7)n6(Whof0ce#i zHLM}{jNYi#xI_(D7>Yjrv-Q|=o3C&A^SDaFzS@z&67xYhHv6cWkF^zN)oCh#jTbij z88o2vGHDtRy^PxSH86(qr4uTJCi`Rk5wggf5|KnPn&ubOAAq4$D&P2 zP}PnGjoEh)Tgqt0{ubIds6(e+n$?$!oFKPSjkp+ym6$BStpz$uw*KT~R2NB>iKy7Y zb0l7lco;2uIK;)QJ~M`)OA8qKO~h~^N@1|d>I{p61wVH_{OH)HDhd9N(!B>Na6bmg zsYC{o118`uhxYJCcIhwUnS)nmE3@svLnM1=@IHpa5DcCSTbMd!8)bo|73zg*v~Kcc z4zeob&?_G4SSYp!upQTz0kIv}`Z%Y19*~83maG#=;d+={0dmUDFf;!XJ@c;yxu`QX z%T!6_Puo>aMQ+;bdviVOXj)({;;GX$=gs-DZvxJ^$eXm*eG3ExROy&oI>$yj6{isB6hCwuA zjtvIx;NdA(VJmjYo!g%sbS|v$)OVOI* zs{Fv8?cxsqUB=epKkm=2M8i1sP-l1=h>6vP@016a=RzrHhmdTR>(neH_7o&t3o1)t zFXFiNCz7&4TQMY#A!ChIdOz+m3h!WEbAbCKIBk5xkAc# zLgb9rLUJ3l=qBhZ=R@|9R%Nt@e*XdZRFebD6!yD4*PZ#@>*o{x{ z<$;dUk+)aj=OMg)h~E%8lo$cH_#Rw5lSY}|6?lADKmG=fi}d5lsm)$!Gkl4!A~)70 zU|7LzMgXw!_#qyrvjyweP4f2HMQX%CE#93wCIcT>L-wV@$xHkO*rIA!JgBl^{Sl8H zuV}iolRC<&YcBE5wp_rR7~q9eX$EeRVRhGDYvJh2B>oDJe#N z>SLS>OIlqLTP2fO<-xl3)*K z`LA{YSQ|$_c_D@9z9~G9&Pm~!e8YCP58ne7P=*8I20|>=5S`D0n_#EUK}VgSV=cCj zn0+VD`&INv00;ivSkUZ_>iG`@u7-6mOd~GBzzQPP0%a*gtaT8vEzL`uakBgUoL!Z1LrqwHeDm=p*7DD2rd4!jIjT+YKCW17| zpq_W1;l{LrbDj=3Pg?=UHxdN=ljqO@4Co3-sWfkRY!&mvve;Y4d0SRjT$bUL5HN$=g z1GtiXL;D`p{jW=U*RucKwcsZH-$5J$j+XW8|7xfI%gm~!C-;A88pUSWO4y#E3F>TY zQ_*ptf2G~=#2h{U9U8cq1I7j6(#0pwO(Dk9&rLm)r=FWT0ag7hs5ys2vUX=3l00c{ z20MF=*tc%07NrP*$NXgwTlL8_qKj|K$*SDs26pdh-GK z0`*?F4TUmKW4X5wtGYWX)RqUeV2SfLsE3x`uO;dbBrCdIgM9XYJjVEVmpr!1bcw)k z8)jn+%OmbZ_*Z~)SE}7#rD;K<70mkw!m$lPTKp#H{BDAJ4SL9pgFpb4>WNL*pW*Do z&NMMIi>(vAN3yh@Itv#|pBjfO)ZnSKy+gUg8hlRi z^y)B2S{CZrnX6te3?4KH!_vBH=WuH9C zxCA1w6nw!fi(z=u<5G+aAUInnU(WuS;tSf`$lY>f1vI~b79i2q-%&@0=;Qbc9|90} zfasI*P*)3I9jEzPAYY%?U#H7KFJfZ@V8@S9jpLP?2#1EWyU9VxqJJPIJ(#qf#bD~e z!(cuq?+RyrdNAqBM&hRBvWkOtOhNS^?Vx1H?)-`#vZVlvc?5Yn<;`IA!h$THdVQ`` ztt}?Ms_iGg&K3sW)Ux{^3~pa+htp>kvY(T!fYFURlf1=fpF@D&9YPof=teULz;Muatxrwm$@@0WrV?Fs@ivb*b#<0!Xj+l&x>UCBoI0D)-9z1wqQ{Ij>{x&{ zZ0p{Z=O17;G=kP}_2D8b=)33d@Mc?scebs>e~VKyU|7K+Gkbgu9I!UAPq^Wznb#*T zjJFnWeFgjLv<0CLa7=6kcc$Qiyfb0`QUH{9X#mDMSkadd0`Ez7srR~BI5Nwr)+tGx zruSJV!g`HZ!2K8v83jwle~{5L7f=dFrGCXp6*=F@d#;n(keT-=?0m@!7I3vrL3qze z-I|%Y?m;0Yb3sdH>a$KN*PRpu(@7=wPo=)URcb@qE7V^K# z8^b2)v>rTo2jUekBsTc3c_FdIf6d}XR6nu*`iXtkPwc0DV&CMcbb$UD$R8`XVFm_s zAt?;D5(cg)%+7BvE#NmSh(={0tiO#Li%f5UQ3~^kT;oEB;>L}x=7k5D2mhKEw(|%7 zCQibAfCra?02fjgn*`gG{7Ut}GA67-0(y4T+n+A=JmHsIQUN)6J05`ptj((IUOmHU z0O$!t@d39wcs%G;azNmjw$zZ(ku+N(3uN<4YdyYM#pn zkcB7wh?}kD<J}$ovYueonZN+^6j|07jGJLC6L2@% z*^2ams}Wu*5VLKFMHW{p9EEHZpl3U|ll5%3dS#}d)szWIY`2NM@sO+)FXb2(Lu4PyIHPyS^O>6>6+qPnam-m|YIKhK54x zO{|5OS=31IE0$AMnXG3G$$A1zt`lk%JS6Lh#$-Jam#inMlIvPg8k}feULP!K@FQ~p z$9Pz#8f4)LRzSlfb~{;5+$HOYs$@MelUzsYKW){)dHDqGc@@wf7w9D^ntlicImm(j zmFoN3fCJi8*`yEmp6F+DIEE^aEeqZ~hx4+LCnQk|i>Lz+eV$Vsem2_AgwNn>`BKaL z#*>XGL9#p-)Mm(aFmhySl>6h3T0L`?_lF1f2aahn3qTfr^KsF-veleY6{u~@zk6H?}||3U$OM6Weq zA?mXN4r!iQT7=5=*8#ev{0dL={HiB21~ZvvZ_NuiuuRjqDnnyzmNEgS62f%Rmaoh6 zK#ULI$PoF@87{*U-j7*sKDhx<%-~wic=11H97}A)ixoU3d`5E%(IWlu2)osS`~XFK zd>LFtHv?&>WgCgDV8Ut71IJLP!oCXt>-%nd{*>i$^YC{}(&{qdsfiCiWihUzoK_>S zEFh>ltK9_%;x+qCdB9c1=`sMqPX7qaCwr=wr(2y5MXI*P2hLJcW+lB@{2qYDpK{Lr z`)Q>a*y$!Nr)`3cy393PYh?Y*Q|H?4;MEdOXuIZ0vTm%?>mz&Hg1!&#PBak(8H*N( zN0ulnopTDZq}P_jIJ{cHn$!}JIDrHdOU}*%FH<|mbIvpXr<#zkc7dW1^Fx-wA&=^T z4HvTB(mX7fHE6gI-iui)bpynCsk%eUfHqS;vdurnTZa5o+8?kvEv#UFc*3#O_U8zX z$xE!q)Psx$z9kLQ+)yq58w`1M5^R3R0@cGv;*p9@MU)~kHRYGoJnW6*!k+bA1?Prn z6=pMb#BsUk*YneD@~Jg0H~xBlD#fQ}VdHFgVklm%;H@c45{dPc95}-#{(w_~va^k` zCpD*n;H~>Qh_d46DpQXf`Hxl#Y zm#8AK44J@6n^d1*J3K`6@r3K77zE#f)o6=t?izj?sfcp&J%Qqk`c#6FnUo%NyWL}i zYv7_2!U~f>uGG>9r`ZP(0@1G2r=Lt3059UoTCJKszD( zqZ7AsY~r7w6yKKe?N82Im-JuHGnvRAK^C#07h(Eu;&r&h1$e^1;t=(PbwnhEeIl|; zBaT$HOP3oC8tda((1Z+{9%Yu6<|XpLNPA6>JK9r8&fJ)YB+M9@8}|cLPb&XBU~q1D z=l4wi7n%XfqPTZa&-C|^o-r%-^?Y5}^Yu}@3W8P;B}-&Z$kK5HViP*6d$#a0E?VeM ziIcsR_`C(#n`Y$q3H~(SgI!6}j9fhC;t^L*3cHZuT0O^-^<+mR);%{8k>qArT-BW) z^NsQp(K-o~WS)Y3P0%eNf!_#JB!=OS9$`KFTy>|y*GhW-MrfCiE-~^MlJWQowWLmZ z1z3yLqe&3+NOpS3$P}D$PwFK~lhm@z;y^E-il(OYFibHeMg2(BY_~Dx0ZGYFtW^TG ztysGOkLZCDHG8(VLlhBHzWn#GDO3}l$Rx?eYzNQ!4SfzZ2=U7ffHH$ zw|A0Na7!B8iU3Ufq-Fyh)YsjOUm(Mj&#eAUkaT+ePwzMqdoVSqZ%EtdE(!3owUFlY z1t4L^42%1%o4U|1+jkYppg&?toNtWGHAZs1%L55Ot6QT-*4f*qbs1LxHj5w@MgaOD zI43>}*3oi^X3$mfS@2XW=V);5i#Hs_$x#~B1Z<-MTfYs;6ZL64|nNq z7t#_j#{c8siERJC;E5dnjo1x-!xD)=@RXYz0vo)!cSvSO(*xMxW@tjkejo11eVkUj zS+Ei4q1b?^z`3J=AQ#KkWOfJ8yvO;EcoV1nn(6m*@CKcrE5|T zEwh3*093~s^};XNo)%QXiE65V1g0mQ-2-_q~rE$J@cqH`4--ZM=SrItRT1pp%Car2Zf3^vV! zOQ!su72z0@X((Mo5T7-QL1HPw1~`rnQkMPhJJ5FGCjNDpQ5Jel3SUHds0A zhi<|vvOO#>)b%K(FlgS~G4~f*Llz=d7qNSl`b`4i|AHTJhGU`yJ`|kGAU8e+gK?-d z*ow7yCaqN!$WFfyJN;Hc82g&AC@A4ItEN&mhtTRJhtxrF!lJt|)kYI~AUDvSp!cxq zjdl2-H+fXdB8({BxrJN=7}Y{SLWUu)e3fZN3Em;b@t{K?i*oLDgw~9ZMWg^viF+|_ z=mqS(AJ>g0%a9&@^r$45GI2RiFK~!VI{7Dj)^a|9SIZR9?RbTQYn{{%ds2*7Z$rB2 zJs%PsA~a?+J2i)-wx?L8ciY#Y%y=xDxq6H%)hDGg$rJsgr5V7cXE{jlovQM?0LZl1 z>%{e-75kB9;=<`vnrVK=t!wy;g9{F+T30WqN_-KiJ?{(6p8?b7>P9R*`m86tmQTeO zwFkAK3ZJ!RC_);-o*cLDcpF$W`}WyTb>|8Utg~i(8^w~d^5J74Ig8F~lk_MICsXjY zg35hr=Cf=H_LO|Za%Fj8&i#v3OytFulMQfTpdr@@eCj(+QC=PZ3$VOT_*985%G<^K zU)=jdtZFNo%wyT`4ajF-IZ#JeNX0tSvRKtlor&+3M4k4jy^;lH{VQWtdjUX$kyxo3R_fG10T$~* z^}K#{YT|D)P^896OH#JRsdc}n-=R0|z%ke^1fTJZpI~`g_1y#DRNskc@TqyNdMi=B zD0Ug{m%>IoUS1QM>W)uY1rzaj`O?_bJeV}bar^X4?o!~w8yk|+JW8B_eC zo#E&yzI-Bo@jeE>@#RD1?*RN&fA|d&!u+f+w&1$efmmP#j1A%iaWU7jRREH{Dn79& zE}ntnaxAWM*TpB6M7LwEN852n>!(ZGw#Nc>;yir2PN`waDqd+p-~q|Ah$*~)0cube z{F<0O8D}sAbcpk@=~_OexRei9WxLy95=Q@IeCVWWGCp*P+cd_(iuu%#-(kM>?ca1dc-g@@Ae9~SCn?|jrHdmZn52a`1ry$3-&XNW4^ z?=s7WHbe5kL)j3lJ7LOFD2TsV)|y*u|DNo)z~~<52@Tij%&F5+qxOQI3=C7Zpv^cl zsrLhW$v}y!L<3FlP!p3OulTUPA1<~3^6$ywEuJtGGw5C6DSD?2i4ZeEy}FFOE8KKw z+TRv!u0MA0TKc>mrb=a6%gR0wK#-_i@uRvspJ564bRIsT=4LiDE71pUnEzDL)5GsL zkLc3u?(arQDy!~(D4PYOu|SNGlXwhJjBZpVJrlQGxU7x)+{wTIoG5?`nPu2f$&ugJ zp$E{o0aRmYK1=bFcg;A9}<@S;X(~)m-h9FOL6?>dwN<{U0+S zZrHuV(MD%2Zy@!At?eIMs%A?3iexHTEPl2h7TLyH(l zsQz-^Wx@G%7dQ;whqbx0CQnLUHT`V$+S78)#SF4K>|9f}kQl}3+3K?Ixw9Pqdl`&y z(@&(4yZ>&LB5c%I7p5J5f1VxeYmIhIfb$Wb+Vy=gOGrC25xvNGhmqY!IHWAw0>g7$ zw!9E7QGwYrbrnq7w6(lZ0|#dlG&SZ%XY z;7vW~+mtV7G4ha4T`B@EW;%gsW+&+%Ae|QiN~<*-u(9AaZe^>JS$Gb-2#`IeH$&Vq=g?CJ%Ma(gn zpwZe0i|%TBJGzr!BcDW9ezfN@G4dCIe$e1Iz>(><7VOq=?xuIVt-f!x61g#x| z;>;hpVd#;_i|k(HFt&Y!a5FM&N5^jNi(fNLTt{x`d&JcE9@VcaGL~?++whRxlm<|D zhB)6A`|SyHD<-!Fg9`rgbAuoEf#S32y&SV%cctI)XedlHL_-_d>u6X;K{tGHm`Kr$ zk1XD(U!Z$pz9(w=io*7f6yAxukUJwU%9tNU76JUWSxXYh-eC<11CLooeGIQ=Jrn!L zvr%6sDY}pSj+^ox?HgGvO+y3T(%B=qo7y^}JED`3McVJ`7ke|hHS%`bj_BJMb6}fe z508z}CuBfbP@v}ai*CV|G*xjVcL|Y)qf8`4&T320Aw%?hvtBwElERS(kIR+G1nPrR z@e*SP0!0npZk#x}5BepPi-yi%@0l+rviJ=47C=Y3@Jw{zdGhh=gUS{B&{e!Eu)BII zCz3eJaCmEV=RhPm?ET3f6<~8n<0x}b^$FSx&FvqLh|GCITITG=irPahTVv(d3u0xm zS%Nd1!lDJo2k(J02oDS_(QLHB_D{wOCxuAt^@+Dps4^YgNXcaxo}7t5x};Vq6A*Lx zT}JEF7v!nWqSilzyXW0g5nV1A)YGoh6~#?{i{+uL;9qH$`Yl%DTPDK6`Niz3&jmxy zjm!j|RRZFTo*BP+%P|DQKHNk7Tchjpgnp7tCQ)DFX8cl>{~!QpN%u9bWHs?oHy+Du zhvmzTK5@AaYWlXT)>;RuX#_O=fryaL=9{Vd+Dy$&BQfyn~e$05zbh7dbk z^^ejsxhBNDtFUMFHt5qdajmzTIlV1yhthmqc==Wr0;GuUOII6hjF-3IG9hq>{c^>- z!}`Y&h>kf#E=M{})6Fo&gLt$@hr+}rJ&q7PPM^4!c2F^P)S0+o+KBy) zcw<-J#e1x(k##lUrevfgh6BebICEUZOVdDFVzeHgbez75A7b70x~EN@`oVShGj(cm z5M#5dt51MXC?q-aE<>idlx3>i)7|QxbJKF!K+E+n3_uoSNk~wLGtF=5CuS{lr&^mK|dmdSUN}SbwwNGn`R}DqQusHIe zf3^&eoYya7VaE6jhPP4%p2gjr8aNM2ukzn}#$M%D<1&q`@*}S0wzCfIllh9A@xsH< zkLDL24ZN8FRQQZP&1aSz;jW{OSfHGd7BFm`S_Tf=CW*WQ*@S*tksG|>JhNZZdwom< zCcMve9Q@~#=bS;e%cmkytYB&I0i4KHMF4()`cbvKj&U&&U87U>KU)QEAHAB z&$jO;2Xf-)#m~&V%-%PCafb`>jUtFjUtHc5*oEjwDQdnLdBycRO6UvD0T=S;#3K`h zKWDT82VQ%CZ}0&)G=uI5L6GuIcX<2UZ-cqcbjAB>2Lrr6?~1>R`M-k~>h&w!9mFph z8QkVZ9PWL*!k=ktoFVr;Gg0sdvY&F1Vqt@3uthQ4_~_Cc>=I-3p?Ahq!ptH73LV5>6v}Uz>jOQ zw*{cHByP_JbDj&nT5I5=5~{e!d+(ODL=I!RRlx_+l6A~gwjn+OLRQLcfG4~H$(sd2 z`G(*YHyq;0{jnNEO>+mmYu(pWZS{l}B9n30IE1@S@vMyE{%DQq-4Gw;J_eW9@ln~w z;1!}jobjWcSpW0dK7~K1?eMv^qpbgUn6rv4NlO$)Lb zU=Mq+f~x_@0xZ11*b=Q~G%oEk%Im){9@DS@8SX}c&`___zs_VpVKbM!3J0I+Zr}jAu=qv9c5&5_K-4bg z@Ve^Gn;O$H#+7I=V>wc-wtBfeSv}$5P)=!)!}AEAZIQyV)MoG?5nPYsj2c0gHg32s znS>x=9h}E6jd-&^@bQxuc&ftS&{(XuQ`7ZDLKDeLZxtLc6#qVXVelS`9bZBoo%_pp zf*R?Oi||`xzRu_j#>URgsAEGtn^HkeCqf0wo3*S{OW-Ip`yIJ{OCsv7<}>NTdt9cK6eCaqB}EL%qcy&Ve28j+?GdB1U{JXH@a~j{=&Zt zf5g8FMa1Zf{JVcSg}dmB{Di|h{w;GObj|n^#rr&={n8=IWvKa}FgH(lb`pSN(KkBg zvwt-`eP`fkJCdGMqdw{-vC3G7J^-Kl!+#)+(EG?_lTwJDpCM&>mheFsj`lHUd}htd zwsJS3nP6^^d`9_B;FuS^*e`$e9xHmY`?w~R=uPh95b;_d;yndOY`=^VS(w8wPDMV6 ztH4(D{1-oi!yK8gZ2~4$l`IZZ8mg0@f$ThwdKBFSzc_m8$IX&&J+4NdyE}{ z#NgSU_%b<4X@S!_cmlc`D3`g3puOz?k;+P24Z#$m@5XL)$8a1dD1)b3wPmQirCREU zD1h``K#I*SNC9}cCxCS65K1GSZ;Ts^xOZuWA1WOIC-$>J9j~I+v;+g_&w!X>Hx|T7 z2c;_Tp@P%VK z-VtPFVoLq$Y79*20H+M6DQ|=H9K^Qw5<}3YbYh-(>jQ1x%;GYxnGh!TfFPOM5+vns zB0J_oY+fF;B59INT#f?LHcknfWU{4Ysot<vl@jR0foE$8r2%Q^Xg;K(`W z6PhjOP`Yry@Y#`bK8HM7&iOo^DCb;&-5J|8v=6V8$wCTH&a3T5H8Y(HHr5|8lDPqA&83R+>&VM!4WcEr){42f$7=RC|zFoJhHz(0fc3n$(P% z>K9S@Lq7Qbh0y1nn;2XDV}js9hHWFT=G88+ULwn zLJ-@_@BiA8*=K*Oz4qE`uf6uyTDT@9`oXdK&Cr^p7?&%>D0j6?mOLj1+3YmHKt&b@lD|TN0dHB zpTW{pWO>{62%SVFxFx|s5pI(>`(1_3+?p~?)}~zeV#_NXrihBIub{zLgJERCrf^j= z_a>Sg#RTJ17Lr@_ZLoUKt#lHeyTTS?Z>Y!9JGKXRu-z`}*-vHRVru!=5NaP-N%;~= zi5$`3{35SxNBEw;csOmzblP&s57?G~EPj3jr4$z`#4NbaDv_@kjz^H#Rcy_RAr&uo zeT$2JSp5CPM}Ggwu41c@V-Lxee?M%j(F%1s0?gFe`*A*B^}Y-Ws`uqxBoS^Qsapwh zCYU%Mda@9BV8;XZ^@?zUlR1G_;6nM!&rmPnSE!d)SLW97*0J6#FR;R&;J_S*j(Q4o z>!nyryBpJaO;EN-RX$T&YG;Vq8Mqx9&tPgjj7IsD%r;Q@PCJ7&Pz7=psddGvY2j6I zW3Y#O*%&;)ADZqqg9q@hrw4!F-Jqd5WX4!1sxt5!fElc0fEhs-3Oaw;(D>?7Rws!75}@jOhQ{?cD?0 z`yPxZmskn8BL>_wl*AAjwIf#}5@7L3vzNipPqA!Ei1}5>8UG6X z41$5jWpG8`zR1GQ_Vz_Fel2#nI={cf50bqD;F~6ojvbitG#^DQ>)Mbm`KJYwBKBh*X(m)-2)fU?nf9G z%i3>f#Wl0?MK!B5G$pte7R-ay{c1luUi-y%?SrLHxzCDiCnf6`KDI%TZvq{RN2H}g)BP`0(_fyf zp9B>S2M>irC$Ya68r#0P7*WbfEzS#+u~i~_=4dFP##|)AUONA7Sd72IPMFZ2q`CFh z&2M7ZktUfqaIq}Db!PjlJ}_9le}DP#bO3m z9LFIkzDczna|hR6vc6mJa7VDb-B=3Z$+b&_S0YSqYA@T^u9d5V-f(4axZElsVANTJ z-+2pxGYH&TZ=ZFo8^b1Bi4(8Sprxuq9?SJjwK981@&wnm)~Rcn%3>~g4)->TQ66d! zbOJkKu0-&PfE{riYY472wN9Ybo()sq{2gOga`Oe`iE6=kle)Xvx}hB?I{AqD6_RN^ z%hA0F^0C_14W0e+ov-pCR^@{|e1_!~X)?T{=d;p>li(4_)(uuacyCF*jVfQewuxBE zlT>WPkl2qY%4}q>V^?Br>xQm4gbvr9Lmee+iT>RJrk14_)H-d9_074ikYqyUA4=vr zsS_StY8Bl&TVjx=D2F;b!_UP9fPZPgC+tARbk{4UAgl9XRsul4lHFCB;c zEngQtXg69DMS|rx;43PR|G!N;g3<}L8p*m6Y*qE5h*HQjUbmIYzYub~j4PrPuBPE< z+j<@n zTgrWebNIA`5X8Pwwizym_Fe%bOR8{~Vbv z{}bVkjP`FqVBvtM{RY^WeHc^e9BW&5Tt0oLN6m+8ZBcX{zUM83AQS_54_l|puzFJ$+2 z9Q1E*(*mfVwPDX;?D-w;C@D{3*2>MyXdiW>Es9;`rn=Py3B$=A^4`9iP8NeQR<<5@ z-<7;q1*{GbSj{gstC#RvxzN2`-Bg!3U)^QLK$3PX!jRh3Q37GI5h_5*MwYk_facCu zW%_YfPJ)Fwk4M5lhQ36!ksw3Fk1x*Q4&Pm*kau_*0;_#d^)VcK898=i9 z3p(}bs`?RjR~7T(1iH#XjtDoH3 zBx@Dg(QXJ2I$NF8a^)OOR12IJKJ#5*S`qsVNKoW$efo*J4))sTfOyx)9Y#k7F_4i< zMCiIWTU4(Zf^e5Yna~l0yOePZ;KBrabm6VUdU(R=Q2g-h0SvZl)kJEKzYU0Dhs)eb zanf&=4xMF>nuSU-cgPGKO%wVvDy_cdzF z6qxXRAs#JkjGBzqPNyAGwPFJr6<8cE3D z1~!zj8FJW|Oi`Ii;u92&v+!bzrUPzNLH?WR8+1*q}er!nWTOlah}5q z9jZeu^c#n^^d*Lj@Le0U!v&mzNX6&T1O)B9B8ht8oDAIM#tI3!cqwT^7I_DG?^1ag z{7>Y;G;fRpOSH;X8jjbQ8Mg>>tVM~8-$O<)u8~jP!Kjp8mk4k!CGF6He)23wuRJ*7f zLc(=>@N`s zidWSTRjF_mX6CaJTj?ur7wg-cK(*^oj`zi&J#$?J7elQL?P5D$`n|P1jILcv(l6Qw z$yvVW7pQV6fZ>hSpGjM&;9^y*y{sCq&}`;g^s&++dmw!5CD2SnExfk9ic!kBRd4vt z-tby04++W9%Doa7I&65GMkZ}HS0cn7cV#TQ_hdMrdgd^CjPAUFXa%7mk%Ru59aK6yrhR@Qz@Pv)+yG zT>Su3Qky33VYXBA;mkQ1WBsd`5aO2s!UcLaJ`&pGjUBr&Rj3^)*@E&{=2Nw6>saVq ze@8e8LI_f@rEO=&-=SM|aLbBQ4a&c7?`RDo8qTg)=w43I>VMHqwvNCBc4sk`H$V>4 z70v-)o{t(aZA}Sq?*m)A0b8-eHKX80NOzzN_~P*`1YaJb(KSw$ZmO9g#n346LNind zF_L-WTNCc^&)~HeQ4YDPK2oa^2ff*>dZ9PM;Xyoi3({?lBMYQkZI9-YX zg9H09&^vy;gTp%zxdxyW4Ew4_`0GGMZY&8V=tA*d4rJu|RY%*7$WO`7ZP7a%tfRl- z-j1X5)a8mQqxEF17;02jl%q~}Q*Wp2^Y%jhsipa3{Lo+zf3O#hA8v``XW0)Y&12;9 z@O1vbZUBE^G5|l9+mW+p6*6+xbou$|N*1`Ja8eO|E>%C{)K8xJnW%mW)XyaKGgvm>vZ_}3dlX;(-xFp|pESi^xd9*k+aD!FHpX8$M~b3({>u3bl2GB7YcU&R zOB?hXEP?6?Y^A@FTk!tdpJQ=0)Gyo4{?$=Nu*u=dT39MVNmiHVujGB1^uv$2cVLGWE3NF8(_DuE7E)88XfxQ>nJ%PRMuiDQ1UP-S#UH$M} z1HF5y`U$8X7z<-0?9LD}87K6u3E5x=f7Kd-fH@PU!+a=zV7Y@ogVc{t{bb0G-RHn| zN@&&c2|~@#ZFXOiUEuct8U45OO2`CqjK6Xsg8tR#GlJX@nrinF+ng7gxcny!fWY@j zLA+-bGJ}4f*+Cp0@K&PGFx*h9T8KVYgsQd?t)6f(p-=PQ{%dAd9nWi-%g5Lx0?)Fl zi$muxznpugG>#tnE@?^sZ zJ6pI5-Oq6mdR@h*FkbAUkDI_wg+Y~gnf>eyoBoR8HYYn>ge^n%4Ty;!=N@Cyed8Oy ziAP9{i`~dz-Q9#`Wd;x7l%qryJMSIDPQ}~izR?8|?KQryAI{~K8hVVT!Jh)p#ENZv z)rGq-6^9rI?=Nj!;{hU&+|D5$_(JY|#m`3fj|LvWtvalg7QHC`D{A3Az$mMIod3bl z%&%4hjbIa8*Rx4h?>2toW-p$iih5pWl45%-LRE{;h94;CayZ@G zYE?hWd~ZUT!z5rkEJ8w^lgavT$pFna%W-FvC|+mHkkod0fWO1K5N#6FTH(NA2Ck|G z-;BRcta&VvW}36rTE`@T)>g0G=W zg4&W%?`{mf$&L}Sw__*X9Q&$#|0U%Wj)TTv%f(Daof`od&(v`sK!aPT8+&8lAjY^T zHeV4-+@}g(^Fm6I4=0_GUn6sTzA*{|MsbdjKfF1zCLZ6{xABs1a6=CUmCW#)=scLS z^H|YmNF+Xs?_J@wI`Ac9$YEfIf8+NS&nJwq4`!|XmFI$~goT@gg`0$h(OhtG>nhUQ zVdC#@#aD0#xei5UFZmiO7tWbuU5XmvxS${3%#keC*^=n6&4Ddg-7_m#Km09_kJMD1 zt*ndxY=d+aFqmWgZaOo!IPFl556Y}i5t<99+e=2kW?C_;Zo$=f3`lD`&q^@LK#Q$l z8S4*7#mW6vs}0BlQtudy1#Er)4cx-?TW+wi$>#XtrWfihwhsPAaES215&EVS&u$`o zBaE<(arAA~XJVIXIOyT%*RPFa_u$YtV5ES7hbsG4(>4o0beb$$=qCo|L_F5F5sygO zv)9*g&toQD8z9MRohe1=v`rk^;>|Ua0T)(Ftiykja#d6?@zfCs#j_>JYrTskjPO!T zJfgz#65kAAyw5SqT3~l^x|s78SZ26(wzUZna`4&P30+Rs<=4Wn6YDa|9-d=W+XYyM z8D2ZvTICe@3ksmljshP#(^4f90v_Qx^U4Jdc12oMS1q z_tx=_bG*BWY1lI2CXiF0ijf1|8^SK6T%LArwki+AvS4d_i5D1ge~3SFf9L=LZGYt7 z-Qu#i?T<_{ETo7o6dV|4=cE_c_= zIq#0f!=)VSNB@N;*GSQ6G;Ido4nuQyRpYXH$&LbCw}&OUUKuIMXEcz9?X6u;N!41J z&+WhaE-)TzUN#a20?x{9t~Ty7uSZ>_#^jYR3Ll zwJ_T$p86oo3?{u2)zPA47rn8pHH;;{Xz^m;vwXRhJ0( zI_<+0ecfdUue{EXUw=(#h9@s}>s0gB8J@y>=k$0>Q+%9<0HlxjcqxWa?Mm#n*&R_sYCLhn^1k#9=ad*fXo3tM^4 zNE?7o&yfeP?1D`%>&zz;*1YyaCWBSQ7{2oBchAe{fJ$LH-b#na9KUqrvd+lURE)ZD zRk|t2oU~=0J#c*wm(o-vQw*+s(Pn0|~9R zx*6~I_)-(^=+&*qxhVE!D$PQ^wm+&$88+nLzf{jGoS0{_?(p3mtyA+3`d51h5dw%x zk@BsMA$kYiiIaY~jW%&4JLqdiY&!QoBho#^k`pW z0iBD$PrZjf&e=xNZK^+wpw1C6%4l55YrRNh;eu?cM_+-q;;s^HtEcKs(RxB~`#V=7p0YFB-%g3l^vXhRH*w%Z8kQQJ^6 zg1@xyw#5D2yqGO!l&JOxXjB9(-wW2n1T9BR_8Ld)3W-9PX~0Kxu-5qL*is{eN0)P^rF_(aF;oDnI3M((^QmGg^B`Z<_x{06D3T~L|Dz$%Pa#6gRz(D z;p)g!U`fo4M#&R-E&e_-^w*byRN})neco z?Nb2%CX8{7YVto7e8Tj7&s}dm-MflYbh)ei;76wCjQSpb{n2wr#mqb1u5y>F{tzy9 zzF3;dtFfgzoOX1zw;0{Ez;NP40*NT7b_}7Vl`%;XO>bw#Q&*&&6 zgB$aLkNRa-8ZQ6xiXOdna$eC!|J@p~4+DGD0J^?tgj@YJXZUMiZOy^n2m|MIrv;<7 z8^I_1Pc=j)V8~U&cVJ%0qqi1IF@R{N2UQ`1w3)5%vCB8v6ez0m*SJTaV+6`UurFyD zd;<90wh4Li!jG<+tiEr(435tIHG_?CCy-JICc_1!bU-3yKTW1=l z+X?}=@wTtvEs$RFVlJdVEM?w;Y9Wp+ zdWt9PqTWuP22P)-7sYUiT$zGFO?eZ&t9CljD9?Bd3%MsL`2?fljrU58%shy#Zhy^HeppBjc8_Y%TUJg3E0}jB##F?C zFpMMX(7Cj&oGv4)Cs3LiMCm#Rf9ZdJ%|st&S-KaL?}M!vuwMdJZ|}j@=%z#;#n;8B zd`0z<9^6LyXy1iA%%Fx!m#5qCv5?}eBv5Lg?`j~-kms^Otg-mmRev4UIrs|oNBFSw z^KBP{$g+f4U|KpbDuxS#F4r#)9>N>!CcTGIJ@_(Lx*LN#KvviIvZmWEH;S6fOh3#^ zTj#o4V7ZTSaz`O11X%asR5IK84{#r-;jby-t_37pe*^c zyZ)LfK0Y8I4ExPPUEDrI>wqsXaPV}(YxqTYXO>W$yzoYwP@ERvcowhJ-hy8BmOMjy zv+agAcQ0sZyWuSeiM%)bm12@L%r3lwxV6>mz8vU5t)C%gHojoLVsuX1YkDSQp&jix z&<-mwdp^U7{dPVllAFMCQ6s)stmJOZKq?maZCf$G5zHs8>V54Ao5zU(-qM`G5byaG zJYK%*1L&H$-O<5%H=mgBJ;xNxabSp>T%mtJ_pEvcQIRe9!-;VZe!(whW?^n!zW(~C z#!?N!44d4DhpwL26pko!z}T6L*H^aV%E-saV6PATHQ^nJ)I$H=_an`I#QzH4Ry^;< zp9sydzf2ZOG@$zoWmrn@3A_Q>ICdPi6e`|hEi>@$HX~(J ztk|l&oC}|HFr(7~9m7?PQ71;^Nk!LMbQ3Ia8u`$79)#{wYQPD1$vqH1!~qUv{WaVD zPZizQN4E4uWqbW$Jec2Dsu%qRi@j3g2Uz_SJph6ErOIK!2d}9tcN5HGY{T?^A9N1A zzM?)^6v-j6G7D*X;sPm^86ncZ?!Pt4GL1O_9r{57CSyux^y<1gNWG`t!2U4ZrW9ee z*{&Bo!^E-&n3~E7s6{WSHRfcgsY%lAQE8YQk+uo`Yq3JUYduD@`xB$=MfdA^8ML4} zqomgTDRd0?Td9B_dLW)(2HslanOhmhdC|y8?h%^_9&bR;_J6i`S5y! z(*r7+YFki)Bl0q6WmEOwou=#0q+#-tK_t92G-cmlNlXF{%Yov3OLAnkUaZ z+8aE8NzyQH1;D(b1OBSdAbl&gl81a)+s3j5GBeai#|4$kcb9kf|S4BMUy6 z6P$gI;_MR_-slv5un&9RNj1Dbd#^-mlwHt1?2U|IZ_M;uUL-TP@NhDNgM-1~;8;;i z%KC9Ixf=@Qr+WAaVemW1;Lxz$jsB+&!}PAGe`RQGE^Sj)%KK(QGHdjGY77POF|3;$wRK2_!g57_I3 zq6hPe*85HF=NLr~Bg}QegU&huEkF%TdKun%LkOTxGt@c(_#YK5UDgR~1J?-;C)NqU z2lImKu}&yKG3fIawPFFJ^m(@5E{}DB(4Yw8QPv3p#aSnmJ)Bpzp6i4M^TO+~PLOY` z6S(q#h7DOX09-(lbpqgGosgidvra%eALKe=J=O^X_#oB^!5!$QzUzdpa!-h>jVW0_zwun2(t}I>jcc< zYOhu6y2e=({3>9t31DzC_y=l~UuIqKdVO!e8RMI{G`MMa<3taZ?GVl|4TV+a6EpN4 z?2~XTc?ycfyZfV18=tUdW6J{8m}M~jLFOrpL|LYfT{_z=dj?xGPguFg1Vpfv;{i-= zRTRLS!m5N{aM`v)dy37>OCVg&JX#D7!nF7@57GjvZH!T_UF{9;&n#} z7>E}4_)iWkvOx>teL`B?2myXVTKoW+6fL-U`>)gD>4JZU7Pp^ra%hnQTF9pJiTL7Q zqy;Z|kQTD?{L*~!*u;N_7PkyNIkXrFS`hD(%@@4LKw2!LJ=SAsF=OB{^2_{xhZZ;b zP7WgASSu8a)w9f%u!U9q)1WNqYNRo_;ueqKa zjQ*qH-cS%fa)H2@a$WpF#JJxmv(9oAEFSwc6$|^WSBBp}d$@;uii#URp2m&v7f4-! z#XKmr?s^eT$Fp`eeOR%?@!9&EPozR^zfZr^T;aiz4!~zyF$`4RprLX2#WWK?+ZqKq zCdI?4n%|9#=G2kU4SYrl=#EYDUcC&<3F({0U{@0Hr;a4)PhtHw>1P<&(4xnhJNi&x zgY`u0OX)XV2TPDEM$Wdh*)29f@miYB+bFd$7P#RjBFI|gh&nw&0V;ynh^1S<{@_jL2hk>;H1@L^5E zG8_-iCl!XUK?x62p)B*t>&;(0ivGa2b)ibmDGd1%7-MhKA4q(HhtSYyoiy-C6p#i+ zUr*w#>CSkV=@r>vU{JiMb^5d(xI|ikj_3})2p>B2s1>0UTmgf=jr#pHW7JOBE8NM} zn+|^Lexv@7-~AUo3@f5YUY4TL`y{oiBu^p`HEgVtb98DN=7Fl*L!5CxDhbdkLL+4U8rl zSNV?sTXQux0kBLQ)iBdq24v9lxJ81sD(r@T2x}17UK5;gNQ$+}4%n_Ge;)RPpK*{y ztuR!WenMjJJ3g_k6A{~PGl>oQ;sOq(7uWw?I;}wBH9+5%RKARH+Q?;hqJ7w0v#v)x z6wvL^wELyZR4HQdqr}^t0{(djB$T%2VPkK*bXy5dI%asBmU9gSPi`Y|lLcq+H(e*K zNGY~%`3Gv}%^#mi_^~7uAmutq!3`lhWwABSmneSBLj zz3D-4U$J$b8j%qL$>_dt&=HzkKL@vTyuE)C86eDDZ2hQp z2;z*A#I7XbL})-pe+$H)F}ru!b^e;hVr#r*x618QvGm8-|Jhz_jbMt5GFZ2FNROnZ zVkW!)egBVlEbxpd+bn4#UTH*tXmIXxTK(I7PM2#7;OkoQTk9K|g$x=>W!d_L5ciZ`1bsZyT1otJHAAcHkTsVk&^? z#ZOd+tN9D!99>>&K+X>c5Vh#ehEnl2_0L8 zfK&ynhwxbs;e+J;;3x755=ohd4V0JFCLvDv1LIv9FGPzaKTrFS;V98vI!#b@pk?n#-vu4iV=wMXZM@`*#HFq+V6k1*eyX+ ziExSvqaRYgKn{@0PspGB>l~1;w7T?UyqHJ&Ik^vy&7Sfi?`c>=he3>Y1=$#JGo&ta?S?CGYB!!CwAL87xj?zg~C z>_Bs(`w+ax9tiXBB7Z(7Mn$tZxGo&_8tL&_bp&SZ+-CT6qbhtr@5W^zOrH?5SEQC4 zn3(r^_#;4I*%~?fAd?NQU-a2389=UNJpbfR7e4^XONYhVI3GNu~Va z=`p&M_7`&NXg3SAArC1E=X;#?9k^{Io?B2w^xT4j8u*}wb`==4-MkMAfpS;<;jFc1 zOqoiP;P2?Mq`o5`p{wG68m6tpHoVWgte6LNSDoR8`SEHV5F8ICZhnpjf41u};VhK0 zLk^!NbO5OYD}E>enYpy1Uut;flqEhNgfje)SKO}UMWtr z?Yg7Mb<6lJNa~m|pvejQ2Dqj!^+^Z)Ek4wxuVtK1Av~o%XWN6+Cj-5j%wl-1Ky$ue zoRc1~kzeD-{h|Fb6$D0oYTkz@gNikfbY;qM(u&`hvCz{>N<`@jq_kP7?mkJTt6Rhi1#E73v{8aNrl}7SvE3 z`k^rcELn`J2Qvoacd%CH>ofl_7YYM}lqC$7C5#i69j4}GRkzGXcKs@>a8O|dONA9K zDm)NAk|H>%JZuv#s8Xf1aZ}+F!c^;o|3CPXiy*buJRuGTcdh+`QG(Pj8YfKtf|0`H z)PZpMf6edzDh|gVIusgTH0X{eiH<{u;|%}WfpDvDzz}utlaDx#>dV1XeH~LjaCOE$ z@EvgQ+bAY*KjHZLqS5t*V+$jTs~rqu&i#r0s{hctHh|^ij8qioZ<@-f@+I&&E)W0v zyfq*`$I552Nje}1Qf6x?`UIsFrdpPa$kfmsl&$oNXcg^INv`01dv6|E;FJiTH+A4U1a zf}^SJNVR&SIeK^fM*(gBx#pDr)p~}kIK`;cD(&ZF=wDO2&tu_G-|<%uc%kut6}k<* zWNPz}(>A0tyNa(s*pn(V&T@|q_E++;p=2F{tkJ*fpVohvq3zAUQvlhnaJOhZ-W8is z=`&8HT0Zf*)6^ED=4hpJqNZHQIRA#7@6jsW5VDhqq3YJ#d%&@}|g0iwGiDa+SY z7D0W1WQh^=t5g<2{TY{_F8zJ0WEn#!x$!Ka|3VX_!poANT_ahudVy1VJgdLz6oehL zQxG<_(MOSm9;pC@cvSsPRhUh>(L{o&ZDq^qkVQKTOA9n5W!G4F`!RXTS>t`ki&_L{ zT5&Zs7jZ5_G#(=|xJ-gqv9bRt!4L_2jRYq%I75P&%rHd-$pPafcq{vEj0AHS{5paT z_Ekw3RZ7)&vVru#f{{XS2XP7r9|XjrOMz}_CH8Mga4j>uCc*2a{Ss_vUcQhr zwJyT_g9OJC?yn^{S=ukbI%d!%cpZbcA=pRum3{zufTyP|80z73>OTx#w{MEvx23VvOAz6Jz&*3OUQ-&Erb;)KIt(xPd^ou_X-|%MeHOhpesF-h%)>OYq+Z{F53L zL?qwI(Bf-kiCsc9>j1h5&6lFOm@rebp)PeFyXhQlb;5<#OeK z;Hvn7OL3%j7~+2qKF!VJPC=H%C@;9kk6OH<_f|C3qD{)`=j<61vgcY>|IjBf!C z=AEc4ef389%EZ+tM<3=P(j6*OK=&GhnHMoCV-|ulJ$QAZ2b}zJPcqX29Nv@s?q0}B z+xJb)VGPSgdRmrSgzLNUd0EbE+}f7!#gGlS%IaL?QENCDkBpzUeDogGykpK=Zo7?M zo#=GRIcwp|Je*_ToaHr`G#J3WQ}Q{BGWHmnkvM1h;lFmya-35Z*xWt#jD>BCHaTZ3 zwtpV2E88L05Hyh{rL|3v!pgL*JA6jFQH#%Ztqy+^y5LOuylGpouMO9Cl)c)!cBZ>j zgb_aQ9Ixc-F+AO^AD+7Bz4qZo~KVxJ$CRz+bbxJU5aPe0R9{YfGat@;RCct z-XvAG;BRYlyVh#|cG|xderc~fhF@4aXYBTN&2>=ydhrV*<;}_pE^L`6V_TS1nWMF0 zp6zRI>hQbdA1}InAm=NveLvMpE0c~d%W|~2qm8CF=o}9Zhubfq^_F!IZnVWZ1+L)4 zjBh0)rUc*^4#_avYTb;8HjPd@V9AxPFj_az>^hjeBMUZN=_v!oc~_!6?M0m(bGV9R}}cwal9^1h#c#i1{3+?eX`( zNB2;Xt< z*ea&;5jg0SbW%h^G;HGso8~xWvYaxtRw>KSUMV~=w;F6TAhe0eVkK?)k7Aho;9dkLm}@Rz~Gx-JeP`I@KRO~XLH13RGa#a2>j zW4^~#j=w3ca;NXmS2AQ_TYYYa8nPAR*aBs^HGFRSBOI*lPjlef?wQ4%r90&7Xl>ro zR@d6Rry1Ug9DmHoaxNVZ`|`Z9JLL}D+R@5xUjyET!~=gio@P354Q06TL|5}fAUec<$<;x7-!L8cNw1aB6%cO{bX zhK!P|nBe9itMU$o2Ui^$M}l3T<6Jy@PqF?%QFARu@f45so`eIkiDA!g4xC|q;qdA} zUpNauT?Y>CrX!qyLmSKSIi&F&#XjgPR|l;0=Q|dN9ka&oQb@vLuh>_PJBfw&!DpH9 zPKQ>EMzm?=_-o%n2(N%)FS;RcK&%xI9ok&xbPOhk!-UE{#3L0xz%c$_y)_%jBt!k5OqmNrTHtl zK1A(p3DUP|g^-et--9#Tw6$cegn4j(6&F`+^$EqR?Qr{TUi62;r^BT@-?+oM>_xbX zM%VElj9T<@`s1%EXXR~Zv_q^fE)bgRxLB|ZZ~)udnN%2ckkEF^s<{8xCn~fjaw>;x zTc1*KkmD4{B!IxCt+TCR&ueg!B7PRy4#N>nGg=xM20&_^=o|9R>T%kR9nm*OE|TEfRU|j zTfn8t&wY4~d~SC>e@v#N*B2_U#B4#U%+nC2KvG3p0W{ebrgqFxOgEIKu#9R8)HwOW zBg8w6Q$y%inBUuN@g5F#?2i5%<05hkK;qY7)UhlRnaw^D%j{s6`nCqAIT&Z#+t3w} zixur*s+~Fqz~taZXyweWId97R`bKA41vOV&Gf145a<3iJsnyJ?)HM1sgZ4BE8>1YF z$#rHvV|m(w^Edpr1xU0jFj z;b)+)wzZ&+(|MalwI;51+e&CQ{CS{~_8`4|z$t*$@=sB-3{kKb)KV#cCjeVlPZScB zO$u4RLWvpeMgU;oT$R8ubo*%6ao+v1e%FhwG=t2L(N?w(6Z5_}fc;R;#awNjbpfh9 zrap`Xz79EoTlZq?w|5Zy)Rci7!z-Xr^ox`yI5vf9e=XPHC-NANWrOtt1w2_#x8HoA z-{G+MIqW*QV*aOxdI!;&{Eu;Vg#()nu?<0QV?GXIT&_jN>0bQkB{AdTYkDVnD~|GS z_>Ab4)mqOx$_}w{iHZ%4H?M$c?XJ9{SSY&4IA=Nv8b2s}Wds2nuBB1Oo#hi;F}M)l zf@)&D`2nYB_*LU#7jS^HZ~P6P87<~sF5v%~FaV#?fIqtqW~%Z^lHgA}A$)=ODqkYa zz-nF{H<|MSukghwEQ)vQJ^Cj*%Xv^$jP!6!Z@|Ue`5t2$wrG4i%k>6@^3^fzn&V<_iqEGH$uilXt!419=-eEJGJ|e zb&(!;9zVU&`!G+=(&19KUkAMp^YX^&(hrCEH}oB|pe}DqXqa(og^KtZBU-~BSM3g+ zskbFiehww|rmJ~h4|kAH7g`?{%A68y!`m;E7ZUFjfZ>m$4e@;>*t=fzFwa*i>-?3U zqK)>8(M8+R7>my?{KXFmiiLMOc)9a3=IccqS=hT*?gCxddiy-`2rmZ{nnJT&ua zz1g8L#w<_OuFyXkCqZhU?35#Uso{5xbd-cv@g37TNCI;M9P!NQ_3L3*cGdS`aEIj7E;=DG0x(U6VC?PKs)&#YI0 zZIkOgZsYdhO!-wd{*Kx*qqz6kEQDrSEq^AuzFA9v`eKBQ?*pd_ff|0?m>}KPD;@Ul z*KvJP9iBuT!W54uIOo?e{eNux2VlSk5Ik-x!!2rTxU!vgcXbrjMI!sf)xG+F1#yI8{okgEZ{*P_CCw_ z-e<96;j#|x8%##PJK@t5jy7Ho%3+Xo|Dzc$=e%C)8m@1H8B6^&?6;NPX?>jrw(5IQ z@jwu^Y%o4x&4}Y;1}IV08#+C~Id|;?b^KL7@j(ptrp*Q7=9I#j#b(JqJZ+z4Z}6V` zDKW{;51m!j8=kPJF%7wSQt3*(VUP6=W#RG9T8Iw?lr%Bo{e~tMK-5G(plzn&EDX7G zjD>~Il>NYYzi(sw=sTtn&&G5_<6=cf7ZsjI9Dd-ay)2;WA_eGaUf78w_F z(5msHA5y#?y4E;{>``sbsLOjRbXsFUA@V>@OxFvhr#`^mG6q!~;$Xx5cFAfNJRgdP zu-EC=AyF}3iux(`Ji-DSm~38=Z_G~S*TyvFXL@5A|EiD&IB;AvrtvTTQTC9t(UkA# zLs_PAO1@;C=;4n(RF!0}Ae*Z(jdKT)S2r<+5+sTU)QKMc=tKE8`kJ#w;$3>Y3#NVF zo!FDM?ray&YS!L6 zqSa^66y?Ph=JbPajlc#_yHV(Kx9P11TSnBw2!q~~n%0Fxvoh5U1oO7}SAPX?WaiOZ z63W5bg8-Z~o4`LXO^e!do1=rP4VT1(E;8rV89ytm>Rt5@<6d@6-dii)4}Ap|zrEvs z&hMN5rnlLd!+*uR`&!j*SVKaB>ETI{%XmRbHTu_NFcNYE(xkwnPxSDwS9%Q>?kGVD z6p>{r95sO~l8_eP1EPjTP%xHe+{?iXa}$k|=CY2)NyYM`Wg?pYL3|ij_L#n%?3^R@ zk(AuJ&mM<}X&5sEPzsSN5AW93oDPF5dc%bD5n_W1}O;!gHV1E)-j23}vh>u*;ydH}I|D`5KClz#!KsLtq0aRn}NCB z=ssxvdK1p;bWQqxGg-l0!?Q*mw=u{AKKykpdIV~mOP>^2^awRoebRJv`6M{tJF$mzzU<1OFtDJp`jQ-Dw<)?$F@wU>A<=XA`+_Eb?2l zxiQ%O@S5@7$OS;Ed!iRz@=M6)+})tXFAzX8@s!H4!f4(r^ne7SMqWX}#_Rl*llY6% z)yL5+&atYy(XrY7s&^R&8NXim=>6>QSu`Fe(wn}bpyrlzYIiU(o7^zZQ~R()>)RNn zvJC+bOS_#$H4EjvwaN>VpJoeCeuWO3B3Gkw6&iyO*r02s5wueIjNj_8Crp186+)O| z(eLH>(cg%?jb=g)obm_-O&TxCYHIe3=1W?BFB z#2}Y>d!qMbu)y}J-Mb<)w&A)0nCy!>_QQ)X#dA9MS8hVyWBPY42Do{<>R*w@=->P8 z{^j=u{z>$29_0ZCeIy-iv*+7!$3XoWq4pPK2`Hx_SrnQlzNr+DaE#r4Tf3qpIJyqB zh`dVH?KW0(px-ex6Nq^0{rWt_Zd=Xa=$=E@DaQ`Tg$Gei*^lv8J&5e+*v4`npit`Q zJLyX>aF@4l>3ay+Y)}yIyzj$MNIpHJ(hohzR86HY=A7Lk@S7U z+S;AyfA9uvTZsJB>mzSNGO&^d6kF!|tF8n`)$%3*_)QpCab>=eQF3|0A!>x4K4cU` zXuF;Lp90CEi-3z<3_waw&s>tB<{g;-NR^>qY+V({sj>pdIv{aWRe2M>opCl)WsBT_ znyBN?nrXcZe$gAiE>)|6WxsXU&nO|!;fSyJoPWbBjB_|EI*Mqd7G-jG8DCKmp|R%W zb;i#*7>a>p1qITmmg3Z(Q$EeKo_fb7Txf@lAl9Lwh6I}or{ri6)ALwADY&dQ^t~^H zJ7*xc;f=&fkZ!^k;h-{3m(kQ>6cH0OkQ%}f{pSP{eaVzL z#rgni^2nVZVe?3oL+fo~_2|d=R_TpQ9}0EaPOoA5rTkXuzhk-q>e=bPVET+tRXW zCSr}Hg*Z%JdjLteWib98vZJ~&W^b0|;qF1@^Gq)Cj=w`CbN1E$l3NFMxSuh4BSp*a z85>JuMDgN>U%${R_HcfI86S&(>-#{2CV{3DQV@kFQ8`+LxFr~Lm~ZbxHXwjC5qPn8 z-qlLWD=}7+z+9GvJmWr zdL#2VD!OaWL$b5#hs@DiqJOTX0)QU~BUkiEp`qGnarU1fFapK`uW@-HO=rJP2pT)C zcyZkxG_7pk9P33qXiZF#h8m(v37ZuiFgP%-SST_4jPXCA1JPa+eI zpZy9D=FU&Hk!@;JRf>CWF0`s%8ths)AGEsChS!v>3*hJzdN(svB7=^l5!`9zhrX*B ztTex>JNyf@(YROiW-Ph_#=S~y4(I{75Lzv^GZoCpb)b-ZM;0~G! ze3ReOc*~6*i@*+>oP8a6jzS{04kzEAJ#Ib!+FOh(2>!5jlaW1FM z`~a7cbq8@{7x&cS_WaPvSgsec+b;KMhf+eLwL__)OSMB-rL30rIrHTZe^mn_^qalC zlLEPQvi2Q+vp3u!45rTWA2|Tc4?1@fFRQ6^MH1!b}UEHOe=fy4= z(Lxb?L(gYZ2IXThED#iCPM<(!&xh?ecjyAXak!*$BK12Lrgwi#8->C11iplsdVdgz zc7X>JM(`OC8X?mtWn4Ti+-10d_H&XF-G{mhQ7sVs9Sj^iFT8=fjc_1`3eRSRqu@q} z74}XG#I$d?!_%cM8(zTxbrg6}$Ka~w@HVH80@P8!I$*0h+F-h^?HDK#N;WgadKuy9 zPm^gWP7lFsCtJ z8qk=J!3$MKoqaUsXR5C(^#d)~Dd!HK1--pEyD@(xBc;8<^U*(5KM$mP`=w!n3l>DK z$q6Jl<1~L&4~l9(%kDKM=VXRb^-0;eyR2_vzT(s{2%WEC??{{F!>`A!P0C53eEnI# zn3ZWv8mZr!RveAvT?X&0iOHv^#M#Yz>2Kl&&7VQq`Y5%f`yfdip@r1e3; zL55rHJC$BNIUYnE!e1^NUpX8(%lf36m0t@tV zoaJbpN5f}oTXLi}A%xU|2_~9D)WT!Y#vJPgkQa&{M${I)&H4aqrCD);()0#|eQUKUy+SE&6 z4oeSl+;eQ)haU%bF-XeV0lw9`1a)HzHWOr(HcD&R-K(&$X8TM`$@HD~w@=eu2Ouuv z|IM0X+?wM{pnGQcGV@xGG1X^W=^Z~cb4A9o5#ulSEg!C7YeJh9aA~RTq#7s(c9zGq zi`?N;FjHK;ML%Ty0ZYf|3wn?B2-+NtpeBrmg!meo4b3%Nj19U$6X7BkEFZee$lRGv zeYU|Jj+zB2c`eKLnFVg$BeC3U^z59BbPN{Vo4X6k55jPVv#?dW<$3NxM5Cs_wZ6&9 zH<)S6U}Y15-BSN749JQ@y_gbLd^J&9=u~sQTecF1OI3Ldp&>GHL9js<^cIwZbOb_NJoBsKbJn>$!~WFY!OIf8wcbj@ zQBM`Od>~lfH+?P9rxl$r9A{A`gnhQkruCe=Vw^GjRiV!ocj#Pma>F%HK)m(|kXz5v zmqPM7Dv_Y?d?c0oV1hKhQ*W&QI8Ez37dwzZ;Uyb|({VUvdRqFxjQ#=D{C0_VNw)Rz zj|REs&*Ma}NLOW|f7#@V8Vcvxvv@&*rx~|hUv12ui`&V~zP#rC4dHh=-!)_0Trt<9%;nF+;m+Sh z-(z~5nGrCi=XehC<(Mm!np?MJ)@=PX$hTCz;rEOS->U6R9di0U%sK_Hb4>p5_@^`XVXWZVe*iPqqDQ1ifp3v6h3zsjKQ7w9G*QdLDWETQl)!U?n|t3Q z9Pl8v9~7fQo06>SxigTup4$T5L0=%0CGrRQ=~#%J^Aqe>-5VZm6~C448r5nPWn&X< z)H~PawcPv$PFQzwD=6FYgM3CX+sMxb3o`fDkbBn32qbbFsWch{l~*~kf6uh;gvL!E$H zT|INw?B~%m7l%o1b6!h0!{&ayWld^T-M7NAg;&p~Ff?Dh0NGp>w|HFJ9~ke~D)0eL zDFLhKJN38q_j8+TuRxqkIG*P%u=v5fhToXuxzLw0s^O=D;8O(!wTQc_d1VniGeJl2 z=uuI#1Or>U9;)vLq?ka`>y^?C`>$KQ3phDzhwcdl6l$Sp^bV1BTWW7a?r3|p89LuJ zYsO5BuuPd5&rHns0#FURo#pfAUA?8+eCB+VVt#!~BSUH{O=d#7dgfyj^;h+`+01{b zi5J;TG)kz^oyu0BwW?iM+=d79ZLi&^o_oT-QH|(Yq)iY_FFazFaaB$L;>?Hkcx}GD zdV-sWnA&WAhHHyeiyebvX3Ipj0L6}zZ4KnqM@XG(=RcqMMNA$KJ|)u5atD6*DTF`w zSon4}!oMpC{x;_C3;!$nJHW_Oi#Zs8^}pJfJSdQlLe%Q@{c;rRO;%nK(3_Ywj_+6X zcWO%k>jk17TAM3425AI4l7M8kFb#fhe##9+B;QM z>KfAWti)ZRT8gP(Dt)?n3nt6YaMuPZMzkwI?{m@n({sGSBfsg3^GY9ae&;Z_TQaE; z;AA52otlL9H0HMFtr?h{^23+rV#&x+gqkm@DDt_=G1(DopZ;kr6hzWzo4Qj_sBh6* z=gUGGes*yBiG$g2AX;Z#gWC1RFD^VBg?p^qku&=I!98k+Tp#lS8z23B|A@bd%x{kT zcZ%1R{}3(u7H7MHt7NQKwVu?_*h0L+1(wj6DVZS`v03p~gs@pb?Fkz)dN=nG_6)FB zv0Y?oe6M0h(q09O-^KSTZp2;%fjb!!dlk9PUWL>at%m4N-m{o|%$~*Xxn}`)O>tzy zm)IK@0wDq?Zrr_anu6Vn`}*u&+=5fp2;Zn+)8a;iqxA?ZV&E+dAn>CiY$`hrTb?Rz zmR9D?4y9uX1AgFBZKd~c_!E0V#R9AwU4v=WhiP?p_m)8Tt-f>Xdr8x&wl^hI(|=BV z4+m7Nd-klEsA)vVJC}-PQe7WE!n=sZ7-O!-D8vOlpB}@^Hm;@uvc zIEL#I^9pYG@mik%boOs6x*i05mIUN%(JCC0;aqPt=NHzdVBQDE7GNJ@x><0|q778q zp{mQt;v-r5By1N`Ju?gPH+ZlVX)I8eH?W<6FF77;teOh~Kf3QiFV1(V$(j!_!hGo( z{9Rm*2<~96zngcvGI6#Eo&P*QRK@leJG1H zrftPJckL?|dUKnf_iee*TT9K~+K2OC-VH<>aAuD^>#kz+&z$ULFG*S41y#{{X9uy( zg1d$D77txJo<1z@804CFHTFN&)xqre2JQ?xtE}oJuEhsf>JA{JZ@G3Z-t30XSWNJE zRkW@Lf&@M%w&JEkIAdEC>v7q$q7D1LFM|D5D>xZj!wsn=`=%Xi9nqklPEyT{@a2&j z3&NM+RT&%c`K+J*pv0atzn_so3A+;4gZt?Zb~eh`Cz0w*4g1q6WBFh0AJNF2<<)a* zS4cq37ZqJu=tbI7!DF^&BpB&>6`#f$w^x!VRk98J5@XDDA^x4>5w0jH-S3)U~w;1C``GeB4PDM5)c&( zakj!_bCB25EzR@bUR$^(CF#}jg)wAbny^J&7Dsq z$R-hD*+TI;l;#PU7?3WE!v)T)kK;}pTa>TLc7<*!UzOzwhm5Hs!41XzE&xx>;Wo$E zfH4L8xnWQA484`&n|qR0{*ZK+zR**(JNzN2j);p8flIw^IE%r?Q`h*ZBbU8wOwD0Z zCX$S)!?9)tvtT}65J_QX6^?6Aw2oB1GRqb6ZOhN5vjpbcB75;(>|EzHEL-8OgMBDM zoP928Z$O$pak#%`p4a%Phs&{2{o61!tJT9IVtroEinB}eUb{K!-mPte4gBPk<@<4v zVib(5?@T2$FQ5sm9Am~v?6r@?$F_+{ILsUA-eq3y)?Wh>|Ku6Ww2_ge=n;CmMPZvi(NH8&{6RdG<|>!F{aD?nKZYK9-Ktd#eZa>%E&00fW}0MyUj` zhnQnsEx`bT#R$SjI=Z(DdhR}U??cAau}r#{xl~VoLxQTOhf7aqvD{V(Z!xYNiQDXN z#;+Z4amSL!=dyRa{qSr?1Y9wa%YcR@TozqzYqRQ_LoyFdS3Jbd_8QAPc`^U$Cm?uD z&m}e^4LwH~sm!ZS1tVRHo9z%_=+ULH5BS{#FKt^E=cPvQQgX`8HZPf;a(A7(js&S4 z4uUN3>XULFk#2&Jxsu|3Qov@oUm$}%X^cK;toE~j+rMTSQq|gt~OtDzLG!?dkN-9)o*F2$XN&hD&Orhl&SU?~R85P2w<8G2P@9HHBN@ zd=s78l4&g1!C^9gqeMlMeve*=3$&=sJO0YRvJcG6ox~~fbHEvB5O<$VvJ5ncGo3*k z)#F@8X^Kh7>Fjk|DtCu3Fi>r}zG4i*j@aAM81zm??>SQNRy-8}T^VIvzZZ>--xwB4 zamBnh?62_^sD3j&Oz>bH$)K674=-U{`Ns=F`8nnaYT^I@NzcWWnl%tEgY zpP~Vf?=tB8F}kMe(tYE!s5|7(t#f~(4>nHK>fCr`@>wI4FZ2-}2c;OE4A?jc=$U@V zsnob2W@~vWU@Y(%Gk_UvRAv?!6LZYWmJ829Dbg!N&$>EkmO(CP`pK=Zk)Q7~C-n&G z!F{Grx7&Bw+BgM+(ekpWEA&HSstBJe-$Qq27+9bBD?cZm(x~CMx7THy$pqbVwlNib zuy6br|LWf|#~d#s>;xr?jSTx&0X<5JU#t&@{69-bH%I6;)uvkp47)7Y2U>*-ZQ>+V zngPeDhHnfi$EnM=1=rJn6fSB^^=hND@Z-}wsctkZbuf1IZTXi>^DVfn@jIf3%axf~ z2#gA#Aztl6cW4N16%1m(G=vXI4JnO~58zh5;${y_6yZEG3s`Rf)u-YjwMXY6lo0ED zv`gFK)fcp5Gr-0f@Ol3Pmz;fBBw7aQ#Ll9Q_g!#C>JGQ#ww}Wc!C3es)#6AdDrCQN zgF7G(WsK8BqU{Qu@d)J*MaU`pp$cNt0=G_ZOwTjH1zQ}hzW-fdyl@Q86Q+!D;%-N0 z>e%Uu1GpFfq6yt(I8R4rD-Ii8U}pZ0F(t>mtlCH)h3%E0QazO3_dyUI&@CiQW@q9t znQ_I)QEhO9Y-SE}_$4l=oy| zhXx8TDTB=HJ*V4{Nq_6Yv4weI>*i*p<&7=8xn7E3JnAv_4`I;qO+urZrh_6T2BX@k{Ir(2q(DlE9pP%gz`I|O#^c~h+#FU=27$rwpYt1 z#Lk}Vb%k&s0n##T{XR3D2V@`Nb;DOCdpVahrg;!5mykCe=R+ulJ5-Hn0fcC%u`w+Z zA#TzU){O6ZtsyITY~x>-mW71IwBgK%|F)%NGt`)tV@F`?A0aYmW7?Q_+-N6+tG2+b zIkFn49T)FUPCI#c&su&`@!k&9j*EBRNyPhq!Y38)Q@;rBic?P>z26U=RJ`W{HCZ^@ ze?WU%6NUm5>?)ryj-2JM41we95#X=?>|9pFo~Qa@T#E#M&G2II zH3xMSAmTIJspk-?4!3%?j!Wl%nBkT7`y^W93{KxL65U@p3&Z+k4A3PvpA^E| zqGN9$-4&^&S_PR#gSznS>Vv+*);X=o!Pbl;bt(T!2oQ@sQ2-UjyZyso^fmP=sr}g9At-X=c5lYO5 zP=vw(@=FvHaOiUB_=|-JM>tHFrNd3jf&?i!KSl!BuGMivLT1azfzQ+8T(bWZq1tmN zgKC90olL6L0kg>S?cSfcU>bKMS;V+Y4j>wWgfA_P;9_7H0g?xi2-o#YZ#5Yey z6BjK#nN92%n(q3d7Q{9F>E?n~Gwe%hs6&B^%#s(6$aW=`LVNUj(7mwT zvsiIP%SS%x_xh7Tl;ZzBnM7#|K$3UO7Fecrvl!hYy8U+Efi9|Fw&f0Ag!u~i46oD_+6+me$>l@KZ?1G*X~HAe)o64*tdI9Dh^!3D3ll7lJ(vX>QyI%0h3gP6 z^SkHj1(DMaq{-bWDYsb4<@YPcSe6@^T(0A@q;g}VoVQ;&#n;mL$@H( zf^=|q98bowTy1i>869+E>|t(UhY?pu`Ku7lZTIuS z|BtjAg6^;VJ^p+?WarME zJCF04bI#11=_2v$RCvy6Reqc(zgU(3i%XX8ugZtgqBaYlEMgH_`oJ_`oqZUT-5IO1 zyVOQ+N1&{U6n|#roL9KOiS`&MNqRgOO&O2?t$$9h&(s$iG;^e0DM0x#7J)k#3_O+KALx z{8jYK1HFskkNba=-A$H2{eEIHyL&Bqmxw=hKbDX`%9q6O z$1fx8^2f1n#PY|5dt33x?V_C+{>VfdQT~_!%qNRKR$P)y(4B#v?Uz3`bxXt_KYSkL zj~laBRq)Gl5p!lQl`zU{$x-Yr>G56wRLM;Woi{X!1aJwZ_;n-4^%r)3ZQ>SB#~-JOc4GKr>Em|(*ayrfi$5+NmrT%ofS&D_Kc;s{#2@!>i}J^DfMJwB zuEAj}W#d~8ov2k8b?EGxBlW8Xlzl#rkX8Kg7Cc1B4yZkZd*;xK~1*T{mfBfSf zwiCl2UbGSAkJo_tWbwzbCCLQcz3AC~`Qz7)MEr5l2T}gm{*j$OzP+?V^M^BC&L5K$ ze+(yN6@T2?CrsfqX_ zZ&Q>%R(@#bkLrs%#2@*JKl&*C=uOBf{`f;!5?r$QW6iK+LMu8gVByGVc(K|zAg5)F!#o-%@xs<7R4zKc00@Rg zevpw8`3!4BULF}>ypK@&Vt@|sdqVrtt1IFJ%Zw}pFgn=+W1v`^GMIcDq2%+J$I@CK zx(O`zF`C*E9L(cD`Vb#$vQ7yEJFS89i}kPsKRXj^Is6Ua*Bm!FP@IFvQQZ*c!^!hT z$Dz_-@njYb6i*SmXT>JTzP<2uEwj+w96n$HbkGxGEx+xy)?p!*ZSjPB>$YCpn7FMs zPqnqRoDXQL{_*{^b%|>0Mf|pI>%7>uFo;W7F^>a@@%`&P0Mi=ZAl2q1v}s=;23)z% z0l*Yn>>W9G{~D)-HqOgP@z>ynVxm^;FX)Z$2&d88GVD7&963B_6*}pQj1+TB7S0*q zkVA=sXMIbYDn_1BnB`xMeJbJv27_q@Qw09<1^PN3PcN9?L!fYcj`7jU;_QJqQxq%^ z_2A?c4xIQR!Td>lXN;fhuOY6nKjujsYbX8uC))m{YFq64>g`?zLdWjynjGv9_s@29 zo^$<;vt1yh8{Acl`--zq{@PTdEQF9`^62R0p96_ak2z z=YY)7lZ?_GIH7&JpB3R?RQY5aB|a&4c9ZuwF6kb<0Vo3S^93VB4(49-(ng$>B)G60 z8}E#g$!2NDD4E2wD>&Pky^7mwdq>YWX8PBp8U>lv1s>l8MpIRdcQ9HG7W6<3JXPqg z&9;3oq7g@Cx3X(9CkGsPI1H1|Q)9-VI4&j zK0;0aUEn>sW;<8b8z+Q1P}}+;k3-(3zInkl%i+h-UL(Zn*P?g?6Ldy!7O;%H9> z2tlZj3?Qt-9)@JVZ-1zqfTlW4VL?!xD@A+(;<6@?u21V)m3;)l)Rn!7Acd?f0^Li` z9-NybK4NQ|mY}wI_S$Bs+8(smmJqwg#bEbUh23*mSsYd$`$S;%-DF_3b3rn(dINeE z?$;Wt8MjERo*IkQo9_TtkFa5N)VnrB3|J@;aT#WK3#$hJxeV472f3@D5r7|(0=c&l zpA?k(b5D;c#k>eTO9Z)f)d?Xte106{x|91Yen@*rLhckONP7RL;xmYb`J7*;p<>1t zl4t8Co{p?d@1@aDsOgJzP^Nn@{i;kioQCu-J`iQ{neHaj3x9=lXQUB?2n=@2dT3?K z@kaz7k^5WJ{0>Z0EQjII5_w)XRE?LYK>wEeqeTC{%)(z5*r*P;FXqJ2;e z_Jd~HR14Ac3^WZY=!D=i&?WsCVp1v3WWuWa!((PG0dtrmA6C0h*XRHIHc=~S~$?Xgmh zoP9`!-Z_I~WR0@L6w#tXwMfuUWR4?8kl4;G0)0+W;8aBG4`!4j$sW{YR4`SSF`GZZ zj7pUccy%YedRny+!MU1zHy^PR5aV_K3Z;2z?@Z6wMO^Kb(1@ zXY6z^V*|J#r3VxYMI$x6iky=LjjTpW!f%aEt=FjyI<;A+>aCO`XB(2C+kQj%vBn{S zMjDU`X6(RUJB?K0S+-b(lx%UXPR-M)`8svCPA#xfj+_UO3}uTJS)*)mAyUDNNAcHA zBl&oiEe=9Twm3wmhU-*`PL0*6@m9)_GXcraU;A;4tWmZ&5h?H&{<1}2Vh6>^#AedN z*gjTk<5db*H!=lA(yu1z)MTBSqEi%9!=EBau-=JG0l_tFR5kVH8gvNy89oVxzhkp| z^w;}TsxBjiXb)yM_=A6-Fr9Mglt-s3@nNH&Kh~S_06S1+Rf`T($_|J|2gwc$;M~wq3dEsbt=6eEI<;P>D3s;6S+6y2f*oTOO}!269qC8G6QOT$*#gc) z>#ws^sxBj&sbEGA{VGSNPSL5}I<*kB$!1w^T(hF7acowAn5YS6lkZlzG!g}{@SHRGG`XAXtAR+%YseOnT0s~_s%Sb zkiw(0h)|(Au}9H7F|+L4`0txp`kh9MQS3>n+dx6^Uplj_`W0KGoRcjs6fOQ&&MYOO z#eCi3MA2gW%+d+>7X6!MmaA3)1Zrlv{pZhvOEyWBpre0qm9v($@J>zT##RogR5GXhh!HM7+7T^lpYYkb$n%(4*g zu|>3JDb@5Yky{zf73$+`kxQ0SWrd3Od*%+xaj9wD zNuTT@T2xj@FWL$ZBgC7%5EY(9G=fy2g}qT|c3dG*6YUmND20W_%R-KPsmV{G`Fbxr zVwAV61uQ7EfSXhvKSJJWC~KiV#^&WP??Rc^X7?AKib5~o%98fFpTa`7#TAP0{zSwS z3SB7+Ian>aC6tnrSIh3R7UT(qqnpa(N5~UQ-J-g$@&w04kSBbAnE0Yp0_6!rG8=hR zqQ1VZQ;N7xC-P`0bGoturWapqf~K@p*E;^B!%EbQni6@)9pTH_kGKA^MWT zfD`R}hj7PAe>Q@ZZ7~n!)t;#aqH?{LyUEuC{SB5k!#Keee<-gKP`Bb5LzR!yguhcb zV|gusD2*EgC1hTf@1C{O6F@HVvMRKJES5wCu2?Q;0pQ`Q2kwc=tVWN=krt+A_i zIq4kFTrA-8lQmG8d{2s7fuv_dYW|?zeAI`Q7Q%oH-Sm?5p#YZX&m!ibNATB#R^xl| z3>ORDF6UPg<{*=l{`-3hU$NX;K|wG&rj*()|cUD0Fgb z%|`SmO9q!B0Ie^%(A67X$t9aZpuz{1VZGL3Nq0ryA3RU7T*XMkghX+|>d-ZLb zmY}{9RDI{!>l=Uv)Fgbr1K_Q7FUw$9Cfv?gH5Z-W?<4pPcAA9KrNnlcneQ?C8?zgD z!RA`v#w_9OEx+u$)d-T(0S|=ALQfsN4}wyUn;zj`^9LQQiNT=!KXmndxbJ0Zzq})@ zVdpcu-($crMldgG;OFGN?r;zrP5#vb$TPMGA=}pqzh3nmG#u?}bs1^{{za&(6|zXx zdCW_K13$ZWG98w8qj%wFuqsIOR|2ve?e=@qQx-MW<$=2`$QU2m03$AVK)JQ|rKceB z(1pzaY2Jlk#wd3CR9ka-(dNpd&Gna~%1oETGCu5E zlVDgo7l>}#+9}wFD{yo>tL{lSEPFe8So>+}7BuCrb@+eiWRm@dn z=|wzH4T6kWux>KpLB0%;r;|ZiD|;rBv~tlU#S`H{`?%&~t$-b69uc^(c{#_ETQ9E= z6YD>7qbGdl!fyjH`9U&<_0=iK9M)y%SvZf(435E1OQ2vM*Hx-cE|2<}o{Q_snKI2zi7UnrEIY zgjsbB3tWWY#_lTU7>J%463l?6c*!Y(Js<=+Di;ik%!g$rj_Ddj>&=p8qjUq-dJ&%1 z9N&zqrE@>Jt|EXtle_H8U2FQ*8^P}$cmHXX`_7tER=HR3KF|!aXhY9>Aw`Wky+{0D zP$#0H`Xesu(Ek_6v5<|G-H;vIdpV4q?q#cFbm_8M>y9Dl!=*bSH$h>+(5w3bWMWFT zidpjXkE;b`Jeds2*lhy>@d3E@C*r4G!3cc;hF75dn+w#bn&G!Y~_cTg% zbiR-HHXX)HONk@$ut-7Q#zXiVu!hMEB03i>x8Y{^?0wez>>p_&UUx4*^AqL%&PCgaq$a1;5f#?5?$ZVi3@atv-RdqLpl@~0$jPMjTs8y{UZ6u{K%EV_iavxH#^QJ6Vtg1=0t6yAUp`wQS^fRzQ4^>p zLaJGV2O%H1%Yw8jc5zZmVQn7OsM=?N#&$9LZ%`#gU@ffkg||H+s*`ODQ*B&pZ)1{Z z!#?AIE)%x5@G?2bxc1Jrw>QP!-qu-iOsV$vnxC`$5>}fQAM{43ajMg=6VM3N3jn-? zg#|_(CsR5B;M}4H_brd%y+%lpN6DST&^!1AQfmVJ$Q|j^9OkjqzQ+J>ar5Vgmx_V7 ztNcPg_87-Xfdx4?NQCk)ahcht1D?I(KKzUIA*W}0cE;cug42=4-RDkmL5Cyv-D$Pf zt|+st0TY2yw!@t1FlJ-Nr@UBU8%K5x$ln`W#_T2&cQK%jUaTWX;0PIgRNt-gE)jI!ak}Ani2js1NA9|5 zO{ikp`M7gKhz$g#Z-j5pmm*TgG99>hG&D86W<4!Pj~pVh=Q zKb!^v#PvDGIpNjF4>)ee9SvnWdag6J$jz(ldW|FZJzrDAVC-Zm8g|X{~E*u{Ufvvzu~dSM8$Z<-RO8Z=X$tXzhUZOs2BWopcoW-syZAYSfLC0 z9@_n)eEs?3c&KDm1+2d|l0W!BAKD54Cg`HTqykddxI@nT_q0(QWskDh?kp?`wHI z&KIgOI8f0a-n&zQBfRR~9gADUJ8SPc*`!mj*vYN0!D2Cm2a6pO{cuwjyBcmP!qv@v zYl4+bkxGM=e8rSRk$-RYwC((^3Lj+f?*_aN9TY*Q#(B)c+%KhEVWbH^E1sFghKn*0zuLXZssV+XO4M>Dc4YD$AIL`&eV85r)Pv!1;IsJFku#5F55-q{M%YXA`cdS{nie88 z`7zXl5i-rP`KoLSq-QYW0bO>Z-)WL%qUlK6%o z<)m;yJxsG~A5}I}lpUnY<|9?FL><#C+fS7Z;U+{ri&|mk;dLncYS{-q@Lg|J_O;lu z`Lj^A9>*6@#>oekouDR^`LSgkESvw9EXxO$9jnStV%dyIGpw;qL~8jP6it(nk_<3K zrRp-KG8N45>R07DRiRUrI#s1pb5*J?ql#3BYf;b-3C$kt-m7f!6r|Wb`zKm<&7E;a?5-&`%Y=bIWA^4=lM3n8L%l1af z^BSh0mp;W5)K8XnGM8ViQC}S;zM6EMHLi(BEs&5zN#;Z5vj!(8D;~d*kg=H_7x*jIAEbr4cu{j z#|MtOS&ceJ>^t3oFJ+AlNG%ql4zV%(!$hP~n24A{WBSz|o!X~UDVk~=I_1N18i70lR&p36S&L29xXbqa9E9w!(z3xy`B>4*;;b(0$Puf(?3kgjnD zQkAbu%43>k8&%mfQMN&s-GH(cvs8f&X)MA}_TBnxi)KZ;Vu2Zk+REZ4Qr zbgI8j4bZ84m8#1a#1x57pc{lhgkw5d1G)%3mV&!L@Qx28l6plX&tU^GZXiakB$67W z7AsN4G|O&KWvfNm*L2zCNR_LyOtb7}RrUgw#j~i@k+T@DLwTKLANas`>s8rbqO5r_ zZ#$$t5NiHAK6Uu>QA*}gPYr!6b1O0D%3Nx5p*1qMLFaOs4LvV&IUUQg6!M`5WG*KK znM<(~x>@A{crur48Jeo<)wzUM=t7xGxccRtYY3&Y2~Gp)f}tgIaiJa!)G|S;m76+fMxD?S+ zuwR~gdUm4Yi&z;9ee5Gz8@>fyQ7wnwKzcbVv(9Z<7QN+r=#8_%q5DwEJXkca78mXs zL2QSqz7TY`h+Ts(%pyZLP2ls${w;hS>5uST09VK{@;lHr7O=n)GmAb{dX}(Bugy=# zvYWelHwJI5=@r_eLc6Oo(2B7KM}A4WOE{imr=c@)uZ{9;pZ*bZ)IHqx{WjOayMj^w z4Q>Qn-$QvE{K@ymZE_}aS#KD67Cww%#o{_3g2C~+(a?=|B1H7Ja0OYT?G1_x-@^=) zLU}7b`{EID-IVuN+ZH%`j>o#`db*OV1$S?W9iYCWVuAVIR6&-ZH?P2Eir5y4MGH5) zYpZ?T`B*+(fv$0IU4j{>?G0G3e~<}r7p4z4A4bt;pf z&rS&87ujJ^y8N~1U7q;`DpEp^>;rm^5mdj`EiOOJv*=vXJ*w(EJVP--CwU>N^s(cD zG197XxreU;5-o&YbTy>QOJZ4jZ;SVss;yDV9)x0C>pp^x&tG3I{nQuSPk*ZM0i+#r zhgna-*zRl3o~{3%!Q*2JZyh$fwbB1;hjpa?PyI34|NE!3+5ajO)BT@5N%sG~Kim6n zT2Bf3|6l7rT>Al_@w5GhyRjS(B5375eEUnup=vIk$GPP_Y%yS2K9F$6V@{(WT*R{f zZT*LCpX@cKNA}wCA4YJSDYncbSBx=ZAyRGm58n`FJLW&UOO#FEKis>y9sgmO_^Jvz ziR=w^mj4a@!!g)BK$?m7A71@Ap}#|qm)h9>2LE9_`=A$o2R4x!y-|(WB$VRjPJJWA%a=Re$1n#h0n!W!7MG5*6v%!%vHwI2vj+GE_Zw4gtsj;;rrEQx zd}r+zvwS@#-z9uKNr@?E{8QX-mn2_LDteYErra%ONe9{SfS%2T=5L^ry^p? zZMq4gwPI+k7z3vT+$=k=i3X6hJQ9ff2>`|hfxG%#hLmH#%UXHl_EuEHom(?e$9}%; z8~^P{_3b(GTN~!sunlvGfQk`ndo!|#%bvEQO+iK3pp-(O-ZE?(TY zLSXC&8^(^i(S|YCXo<1Y5ke497kfmp2NGM*AlZnH-_UoO&WmByf!2hj+#M=*Zq}}(v??gw^x^xuKOz` zr7N%XZm%vWU1LkxBw~lCTAOU{T{vjO2cN*s9wE^ilZzc*Gf$Jk(w zcH|;&mpQ~0`I75bW#N}F%d2%Q)`v3$*qx5EE(MOf5{EZaR_KU$@No%_&iQtu<^mV~ zAo|Ceyiras!ipFx5&a`?h|{}E#`q`;KgU{0y(-wqC>JU+2D*TubYqAJFoFiUqJH^d zcLSps>O^D{#-!^OO_uO%n#_)=4;^$F1G&DQpgxxu_2ENTv_31zW>i|Q--#ng-%5aWXL1?2QXyf8k&LG{QT#w-WAVeA!0GK_K%m?L})ORJ_)`gmRXPqsBt;9GEV zHc!M9xdc3S1b~RrkiW*oLoQ>mTf$v+Fk^rWa~UHV0GQ6PjdycLG-GZ-hh(h4yN7gU| zG~z(ioODFE>1LEQVZh?>#YOla_jK=2RG8sEC)HPEUgAV3o@*GP#d{v=#Lq$g{#d`> zL-exScs>iy|G;xF9e+|7y5vWmxs9q>ZUKixSH1;;wp%Zx9v!Fpz)lTi#j5h^FvH5{el2 zxfr+iESy$L4|eAG0E$ks1GXVuil%X1sQP<+7T!zh=mJE9=O7i7BrjoBy2B#4Pks{hZi>R>OCSXd!`{FVH{zo5TLCZMB=n|-1qiXYEhoI{Tt&!=b0@i-HW zXUqhu5_&x1Of<%HF`YIY9aCS?bK96ItT8b*N;`uI`scGDk5|Dhh}!#6fQjh3(^U>0ZQ7JJ+`t;J(q_3xmeq*l(kBE?-bkMGBoQ#C$~ z%3m5HOth3_Rn_=>m9MiL%2cCF-^p4{QS$<<0x8DnXc_H7c#1t~zGq~gQX#1zk9{}BCzUh3DZXFOjZiR!#(%-oK*40hr7;Sefr2SUfvc{-n<}|+j1ZdM6mL%$A-RQ4 z?4O5RqJT*+oMIGCF^5ex$4o$=Qv-M34Rh5MdQ+%`lkeHiRI8oIqMa#$g5O*1ph2`V zHKv`ZDc%$9?W7k@HVP-3!=}WxG1Y2AMqouGfPwkoyw5y~o!&mxxU1V7HGz>`M>zus z+5lI{R$tHHKt%h63?3*?^bgG9lZeG?l{H48p!dV-UA|4`z=;qF*R3-~Wg4SA0Y@6* zWEcapSR5nkK&#Iuq18b*?Ne>)_yqaD#;(GAr?*q(tSeHyuH~eOz~y_`G550RQxR4n zx6m>DfKkz=g#?`d&Y7a}X1&3trm zR~UlH@~v@R5Loax?gt)T1&^_Tl6`=OS+Y-oW19rW`vM$qRnGDP91mIGm?FS2RlvXk z2S}Z?Ex>_qjkL&p|3#q4Z4Cf#um*J@&m!hgjd5@16?G>K`cVVR=`YF66|Yk9YVP zB!7m;pW*VSME;DGKjY<(&>@0_6H|If^$0WsHR%e}F_np-1!%W8=&}X_Dh2>Txq0qB9%K&=h ziun~6VWa|*1kOnC6|3F$bdeY00$yu{DJa8?Rw(Cd3(Ej z5IR4pIH)W9eH<@9(jvzz*`i$jv}rtm!g&@W^v$DfLSMXpN4{?jeXr(#zx_c&f6{nD zpD-i`41ZBW|H{6x(7)yP$%B5;x(-19599tjLVxNb?L)srzHblur(LO`{{_dWq5sYc z8v2pbVxfN!V)n(*KH`SEu+Sn_uY?}{M@-34yT@I9Dxaw)LZ=o+N)Pw5wSkgj{hv1V z+#DF5bDDp9lQCi&0%7@s!x37X%S@xZW|zS1CWP0`PRGnWCqS4xwxJTMADI8l!c2CBK5eKWh-ofj z0*l`8s=&!+SyM0Z4SLEUz@=Qzu!9@0Ll_5OxAd*aeFrUDfp^(M-rpQ`Ej*F9psZI+ z%b_cN4>HEJ6n7zL!<|T5bA!OmY>69TlU^5xo6{}az`nF_6HI^`UJ^STF^dIm$^n(K zCUi6&Hwe%*fw);gfV9R9OjFpoAqzKLeu=>i%t#w0% zK;Y-zq7SWcM1wa5N9nTQ_i@OCvD|C+Heol1R^i06g`;nfwtE+ZJ}K7QfHCK;;(Vv? zV4+&882GhxF8IE#oCCGFiVGZOu_L!w*+S{Xla1oZ=Ey1LxCzEM+%|#h9$a7z{f(ss#lywnAhjx^e%okZqqc7gmT%57 zizo0(3$#=03KmP<&WckeRJ^+4%Tvfy)%~F>V$4(T23_u*1b0BuR(L)T!SA+-ScKs? z-Bl~Za8!-pv9{|>#X_umSxWdzF3l7>rE*?uNtH~Tf4%J&sMh@~1`sswt>jq#LXTI^ zO~IlD{HEmA&&lWsbD*Je&gHOP1QcEFs&ssnH>bjVdm;KF`d9rpdo{A$xUCYO1qS3A zD_D_PJlq^tVib=x#*OD#U{4@a{Sd_Ty_c_z4L#SS7d7M+qbeEjkXIUrc;E_*_l%-v z)?LkII#iHqifU7Xs``;$P_z&v*$6FcY)BWV$O1)X25zoo3$S<~UtFg3+3X9{{1mwu_R-M0%wh!>uk9aHi z9jtyDL?y`dx1_nNxrrZd7xQfn-rDIQd@kywLi;w?^yV4yzX0r-rilayZ*SM zhHxV?6qMNk%5C%+)lWko!oNhrp{7d(lo|+!?8{;~+LFLx{oLpB|JdTbdnGJq58^Nq z{!vT5x>-Dzh-(-+-dR)j^{f zE2-|PHKGRk3fwophO{vz(->p<3ktI$e>7)J^tYtW$Tgbg7JY{ns>$KBmq`V-eZ9XD z&A6*?L$;DU@+dZ(&NRy5T!D=a(>&8CME(8gk0{K7QI%S?*5^d+Y5u~@R76SrvBkF< zMy?8$$`=?OtQYhQLyaBV%ey%?cXbayGhzfSGf^3hLX+Nays9K#}0bLd@gMw8kOi>WZ%*JsN^~B~99yA)#Q^UrXmT)%K~IQ15sIH2ayQNCu4V_s=CaKWzGDTWsp~%uZAwc?Mexz09oF7H zzzGKKRxwq*k6kS0IA>sFf9wqDxdE;h@0lPOclCGZzI$2P+|GbBNiZFOPe(MRjs#E} zQC-hk`AOs;@!*{f(Ma|~qx9W?{l*N(4l0PFs@3=!v(bmuTLa#cQn1sbBePO?IA{cO z$lT71>{{$hg~uI`V^0X*@avR_gp5Z`rsJFjqPW+1djL%I$YmMhGL3N-hZSdm3Q|Rc z?u57&Z?~{ckdK^J#hwYs$6oJ2jQogKkffe_AVEGVgGhN0e}rNXi+_)KaX!3@3N7v! zw0JvJZ#8!Ljs}dx-BA#Pr26W{G_3OUmJWZ+cD_$Y+YUx^ua#wm!h6=Q9 zcD1plXMMN=z!u$7+sV&?BP@KzR6{YHTL}^QF7P&;+@Q3!`f7@=q)j6i+dV zrQn{QDdIAG0eUDk!%U1d{9CfGO}nb#H@|oba_dsGL1pT1 znEZs{IKO4IU7Px0Uz|2|l<1Tom{@HpXFaOxg@!^81HKrz&^h0cX`xxILON<6CD5lH zK-Z-{CG2)fpBhJfitDpISFPNeW>={`ZW1ch?-Q$3LUAvYDwWu^CRHjfhCreEgHou@ zG<;1|ryfTGQFTi0=Y-ZaOElrGz6GxpCA6bX4O-5+wK8>j04rgInb4wsZ1L7bBhMSB z;|2uiQLP4auxgEPjLc80M?J^tBTxNgE$Rmx^6rQh^=8pe)S@bkn}rY)q-bY}gkpbx zT9hUK?fTP5Z?Gr?grrmQEslPS#8f&jvP9#OP2)DHN!{IC!tNt=yAl6z%X93QcMs24dp+s5HaU zr68>-?oxxPRBs!MaZsvupnfP-;`2xs@!-8WFyNM`Rway@e-$XL>Mhg?t?C0TL>BKC z2~>f_Ei&u`ZonaVj&ll?DuiLntM1Hk`TkEmsxC}N!fk*-9;fE|BSlw*Qbit9DpiP@ zQ5(L6)bLwEUhhyU6)T|D14-%oiV}?>)xzJf2Bllg84Ce35P!6a5KA9gzY-|x9)q$r z^s7%k+mC)Fkk!~R6>E@Eu`pM*t!1qp7}c_RQOj}%W>G>@(?U$QcungZbTE7&@)PQ_ zM=R)eQ<|0qddP@J+kiV>8KHfnB@iw6Q62}T_ov2LdTs`8jP!M}S$~j(wcCW;fcq|} zR`R&u#%=1~ZiPcgt<2f2%!KmGEF5Hx8DbO;H^#tf8f%Oh&n7=WlTgkBM!m7OYNM}O zo1K`b-YUk`0GDI_euJbKxd}EXLj2>!kwJh+Qp5!Q;*W81Q?C{NP;zw>!?P8*}ob zc5YNlNk}1P@gQ^D5M|g37ujyH*WK5}XtJ6Q6s<9jK--M6NNrclo%rFeG}z%*1?a7% zdw7HD&7$>CesC8axY{h*3<-!OeY13%Si1K;!mj=i>P6q0F!4n+3jm(p9Savg;&{a2 zi{b`;1EJ+fi$vl14GHTbgGHhbW_mg==#xjE!gmgXoQ**}zUB2=yo$w#m)r}W&&_)L zYhoJ^q;PS24fJiVflR!NtDmkRNOl)~9052GFvcG-evn$?0lYV~odGPxOVl4dsm&F6 zg7j#paLO_A)&NZDow&*$D9&bc&)x^h@Bsuoz8xMxxl|id;5HTjIX!cD+-XCr_SdoH zUe!J&rgkfAX?Pf`h^@81s&zbSH8FV8nLe38f-;bX?kyLA6h6iFPn7$tCAwmBF zkXJKPh0X^2D4fFsFQPY8A&Xr-W(*81QC5D@<38kLta)6cCoPDvUYd`w)`3_Z)_0$e zPW)XuzXKef$^;qKMYctI=5q!+S#Wr9uZF{q01$x8n{#EbY?qu z4aT~Gdj$q2ZZ?$)XW$Yc36|$(P!fD<&T#db;avG+nt49vI`0`uHGu(JzK(S+1vZRY zbFgLE_JGf?-gxi6-QTC$G||vM;YZP&wx*lpv~OTqM*Ab(bhAByLa{6GOwj?~@iUL~Bl z5|g=D;gb3n+=c7mG@bhk&hMqpU>YG6ERb%)0;do|^5!(-+k?JG$VYR;dR&hAmzo~6 zs84P5y#}Z3sRzG};#F{NzlmR*3E>u=1K6U*8*2*&nWKjoMKwn0YKXY|jG`q*>C)X_ z7)2Y*5lh|AzLWZ%S+vCcEG}AuUuHADsGNyKi%$O8S*hNuxcO&9jajxDuJKGLb6I9t z7JlHM!PlFGwS#@4xbMtzou@YgV`4WHScCq|ZNi_~ApDs-;LpT@qmt6A5CgerJ;4!v zAA-v)u!sTMSiM=|4mD@5fi5UG_oWtXIJ9(g7=bHW00eUkmIkrqsaK(c+7Cp$DRvwq zg~MGH_;CW4HDk%MV!bvyy|AK}*uAT25^x!7jvg=JB5rQfNS}D9q_dkbsVkY4e?Z<~ zC2^j{@pX)3OywNxLL46$0RH*o1VIAH2TGOqZLC-2THr+TtEpbHE+E zqMHX2xoGF@X?>9!_eEDSgX0b($mN6|fpZ0JE5P576b{otKPsf?x-rm$*lo$cl3N;NuYF%314JB(LfZS zUx~E?F0G4=eWh!#q7NSB<^h{_aNJu2=E=sKa!c!gYQRerIRI}6LYenZ_1Z|i)R!47 z7TaB{qM@UQ#5!aWsyetw^Wq8&4%A-k>{YC(UD&P|fN+oopaW?_4`ikrVvW!gR&L*| zJvaE^vWC%1rwBbT!ee9e1SM>^wT>00s|FENl$VcHV%EBTxiclQkZ|A)p&aiChe*0Q zZ;+rX@Q-zVA)g;C!14Cj{r)=-mLFt^58}&DZdHDjDjzCj1Ge%5SbzUkeg0M1H$HsQ+P)d{UTgbis?ep+ z#_qbGY2WNZlVIM2_RUwAP(#&-(i3mr0wQts(W3?S8|DaSz`{vU=LXz*_z8Q$~`BZP7lOG8C=J(in_dnRa8Qn$lXE{{T zC~gkizPapd$mzE1n!Dc zee>=-P=>Z|uI@*bIHtfeEC6zP#~EkeShd^in|U#{YrXy|RuNn4cvWjTYBe!)?AN{- z4qGkgzZ(;Xm#ISML~f^+z6;B~anPPaS1&n_b_&bNFFeY=xo9H#q3xR+A$FyGV|{mW z8{eJ4?_l4o>kKk%W#3qEu-P|Nzp_JF!{K*kD>#%e3tgUyszKQuvTy2p3rV2t8|>VR zGj85tg&zVHG;XXdLv0v0S@|~OCelf=*`e@^kQ4N*z)c9+y176!pDgQUhHCRc7-LEY zv|6^?H)03Zuc*Jp+BZitt3&pUu!mypo7;O4kaFdO_RUIAjIeJyd^G0YZ`*AD`%kfL z#JarRluFy?aBbUIhRwB>VS}BZ(y)P|1*@hKP@$fOgO@_{innUYdkMp*4Xfs8)T$N! zTOE?XmS8FemMN)zl2!9TPr(7OYH;T1K&_gG;H4GT;el8+ZEie_+^9$Qbh;efMrbQG zb4GKL@K*|ZMr;|s|2nXKLVG6j4xaIgv1h~=SH^wOmOb;*DUz-e+cScdI%3a=g8w0V z#%mcViR_tmb(THj1#PBSMMJ~#I%v<7V|R&V&j=zH+XzVHTq|mA%#a1-wmr+3!9FNv zTFc4%T|P=+%+P~tH)h0!zNeqEjG05A$_AF9jg-)sR7qIZpD73noD*ZutT`#(9ynfo zFhqP1Uw%QW@;g&x16lFqg*`L5Rryt_d@^`B8%j3%nd&b$S{AH^A+=S)p zPmCY$>8kvAl(%M&Y_1NJx&kvDW`QGsU`!(rpam-$(8v$L9m51H<`NtkKps{=4hdW= zbcefO$$$tPW+$_xIp8>g2F0kpRL-TJjwkDI13F$}FPE8WIF7I?!?q`seWC^PE|S!k zc43Lyc6MpDGw{%SG|P8)UjTO;4x->6*NEy0eH}QMwP*?yI<&lKDiu3N_uybLj9}+^ zcn;pex)&l9m?5;jwQpl2^yHwq+xyr@&?G9tee|uXN*B5kzBuiC@DjFhVMv>Qc>hA)NyH{_7e?Ka$)os6BWR;~VMD*%NEdmM@NR_G&?BLAY!#J+XoI5*kGiGu}Y z&Kqkj^t})0{5!;JM&9IpEnVDm2b2U;s4#K^n2 zRuHf`Uc&|_N>a`I=F~NW&b2nY^IS?=EAaf*R>BBM3M+LQX%=n7_EVFGrxYCnpqB3g z$b#%h18$3qyrE`wLW@dcCwN~0>S8chH?@AV9ObwtN4@|Mx?wjfvFeu*a=972n>n-@ zTPlsruIe4fG6GG_H$ehXTfw#l!j%RA#G5T32Cz1c&xW8qN$KyJP-t7IR$7qa7JrXaAtd8=>`RKQ zu}cijK5a`zH=xg4^o9juVNjE8uYRiwYb3 zF<0$v#q$^03RohMEvgxNLm8721fIAR8{Mkw3240I0ot?>M2WW=+Y^FQY`9G<1c%y67@vl0l zN#L*&^a!ANWjBCS$3A}g4S-bFuJjX*#8*%*R{A9rdqiUyDsNxj33%OX!7Cs)I*vyR zl6-}{ljM6uKokp#zp;X@7+W79I0V7B`vtmm6w3k&t9I>2!X@n43earF+IfB?+R>t| z{y36i$G$A*m*`;+^e`$>qMD%7VmYk?7I;KfrZMOcoZEDWhb-uWTH5vCLqQHUa|JGT zvF@p>(MFt#_^Xp+>4GeD{v!fiGnC)D&CbgGk}Diqu`T#Lv1oAr=a zMKI*IER6J~ZeHdJ;IK{6jsQ;hl!oAO2r#y0Bjpg?dU}eU<-uW^0CuM0Bp=@aQ%5)v zxI}7kg}~JjW??qaqg5cAdU)@NKtQ@G3QVG?4U>Phf(OC{f7!Vu`hHojQjWIR_cKc=G9LRTsV*_b#=2wL74)jh; zVZMIY?zIK)B41gs6}!}4u&Al`2vC!7g%UqMm#!>TEsn0bNxBj$ouaI6i?T^!g;AtX z-wQapQL?4xfMC)Sdvp=O6(n`=N+5n$hP z0MH9<1u%b$;c#;R7(;RjMnsO1Ba%F2jXg@~E(C;9%>CTAlG4$!dQghy4q$BK=|It2 zXeAQ1&!MFMM1)CIIVW@%Dj|0$G~b3gtN|H8+Y29F5E^~ielXG;H(#`|S12*$r7!)+ zxbAmD3$1+VT1!6YJm5*}5wd*fpTXQ}RURYyWC%(Eo3}Kfr^<(}q+e7zAAp@6ezi60 zx_@B<(|+vqmVXdq!cH&7=D&D5UGNXE*N6cscPj`V3g2ij~o{*0h?XWnO0Xx zbTPgKO(YYF&@l)L$JZ1VWX9ni0&pF$*>g}XR%`8`&3<3wesx$f!_5{DmCe2sBqXU` zYNUdJv_c?Ct8cinr=`)XK^PzuMHcVKhY(9c_z4)ODY8F}Hc>xa2h>kAx1|uxX~nkX z2vYC?^>+a)K!5Ym-{_3rwglB$ET$E>IE4-M%revwr@wAK(neCPM5nUZ*L|gB=3yY= zc$=M$7xryAVER+pZ3@85X?QArsmFGnN4QJZCQ`~yZhR3VP{Q)4n4ZJ6$uFgAQ`Mmv z;GzO8B~!#ugp?e-8AJKGmivXOM|R7-5~sRbTkhvz6HSaW(`LCJW)u7gE%$FJaV<}@ za%RR`?k9$YTm*Yxy$K^rV7Xg}a)X$Xfhfy<7r2s6OoHCB-_KbJY*Cp5ZA|Ho0kpE; zPuC3-mVi^TFR8TR`# z&!LTY`Ii}`F?#e!t{{-_gzeEpmHeI0Dg2t)xx+!Ot?YMhz2_&d0LIGB3c`NJzdD%j z?bz-?u^o~H7tO^6eM-N1+^8S5;^(XEyO~WZo*VL6Zh~-Uq6bK4iEa7&52Y=i`1Fai<S zvHYfa1dP7}2Ic|V@?V1JY$p3cyOCEd4D$nvkw z!O=qZvY|cP%T^-5h_}z20>p5de?ya5kZ(Ezr9bfS0Xi%K_E17Y?jq2gdqvR?@>_Fg zzL}a^KO?hetvPxSYlvp0>n1{arn^-pM%%>W4bC(4&)mk0G#< z@jGBePr8qE0d8XVT<$>JCQe_DPsH3Bt=&4I)$L7P`zmxH=9t?P{8-msq-wVvl)G8g z{`kkDc2EHC0APEsECv~-pK>oRSYs%DNgvkR2jbpF_dkpH2eUn_VumgRNn)-1sJ-f2 z(=k#|<4XKu&pH}WJ2htIa|S4!$O_I_cmNyJbqzu8?K)G2jb$x6YbD`7>Hu^^^wa=6 z&w#yw@L1&CC;u*Z_iga+C(I9alQ@s=q?F@%;t2~Rt;f?dTvw1PG$S=q9A%f3J6t^DF*8mprb6k7lx%V&07|-Zc5-@yEUemhP398l#S*uM_ zED&rFLWrnDl454uTT9AAp2YLlZ*|eu^!QYZL(ttn|gJS6dWo_&n+BJp@$2e8=4xBqHqJonz0jPazY@oWa@V#f3GMRGh_ zK8zjD?t>GL=aWa<9?#c`-i~W;Jastd+~EUMt>!0--cE-iP0%^w$HU+lq_>0O#&fb7 zPgGu5ry0J)#vUavmZ9U(BOzK|+`~F!HH@2>MY{hWPF`5G-Vv>JV&YoQZCz_`RqJqB zE2A&xXX^WF%=~g&+N0CK6s~xdg|GOPh!KphtemkjN6DR_-qkSx`Qms8l$7xAAkH|` ziPom-TQ6km7PHjW-B zP9A|1zQri?VmUF@EJT!ehFy^}*^Q0aIMw1_f$d|ce|!ZZwN^ccujbzKj~{WecUE?a z_Xzj0RqhpovW{`DsJU@9i;Ligh<);6Gs?_$^uZzJvr~}o`z}y;j8WZ$TpXRghrhIH z0;SFP5s{tInU<35y29+#m-)dy^K};b?r~p^neJX8+C))$Z*jR3+KX)x-=!rk7x^Ic zO4nEz_~Kvy5Vg!D41B5X6&4UkNtQf<0g1!h6BvPi3Rkae$0gPRBJ%jRJTCDvo_VgD zH{24w&*PYq+@y~hw)H~|r^eOb*ENXSEN1ZQ0P?Kzd$~5GTf~Jg;=+Y16#Mx7r`=_+pJOpNblVBk?CXs#Lre)&;*;i)vMF zMqF?Ta02Y+Z-|*;Sax6%+kF#IiD|coYIn`MG3`qFoJjgyUtp&ex4$liy4+Pf%0UX- zj9-pmC(bY##TB5G0i>fq+~-l^Bzb%7#3{;`#gw-ZXC>-KrTMJ1e@r1ooR?W|kBWI~ zBTnurQ=?bJiG?CXoMaV2oF8{4ak4f3198gTX(GU(jc8xelo@!(qRi)DLD{JWP$U8u z_l=>lKcf!I z5|h7Z5%VM6e~3&ov>X=&9c&cfM)u6=0*|jVu8mxi8u|0ts?k9unbjp8U)tK*(D`bfN%SsHy~9U+ zHda$=-n9Y8W4pRntg_53_lmVVJaz=a3qk8+_z}_w zqQJUWY{)Hb@@}4MeW^bQ)uaiEY=izz#k|&<{&qrRQS_HPB8L8M74%1;7e{~F2ee0j zyN5~oiwtLNiRkY=ydnL4yT+owH;@DR1I?+v&vxd`cDbtv8XjmUnB?E%bl-jl9s@IS z3?HIzy37l+&^2CF=RkIfI+Z{0S(uH;LXKG1_)QP=V({eLCT};WNP-VfZAOv7ldTfh zqJ(h??lp0l`I8V04-)D2XYrDeod-|mT{7oS5`AzPgV7VGF_=5HjlnqKH`N$CwQ{B} z#a*>TeBg4g81JpTff)?*IrkDTYW3F$A;1e=Fy_bdfP@)S#5x0*^{t^26e|cc?kxf1 z9<~P}979M$6?~rd3k-ok@EC(V=3s6T7UjD9fN!uUp!NWdXz07E?^YHZJsF`)5q~PR z-t^#xbz`8zIMiR4>aTVBS2}Zj^*4MLMwOzC9&7_5Vb6D>jkyKhx&mJ+daXxNeTKa# zy7M-Q&K>Nn8|+IBABA@-8`3G=HiPN7KnXAonFJ&uu2tL!$(JHW+B#l;%R1lM`(uks_6MUk)8Wa6B^WZE&ySWUX-I@6pfj;&)C$#$zT1_Nu3gL%X zkBJted#n=d#^qlo}7jdBS;oOZ?DbR>AJ*7gP+_#^Ys zts~HpWcR}r+Yhvs!q)Wi@JWqWl8Eci$62yJH`fR{;$6o=Dr%y(&iaC)#UU(^b61ix z0{$@&vEk@y7Gz;(hxU`nJ6Tal8;8%W3Io#wm(0{$lCWBfOKf{jF0fG))IW*$?nJwZ zb4rIwvhYzej5(zNStu%4&D&LZLkz>gN1Oj@y6{C!kXV} z#n)7xAf%*p#GW!XB=^lqIchZ(J@1m;U1D(ciWm&0+3#o!2%cE?$`$oyYC2aa@$-7uI9c2*@8Uq zBLRR-LIMC{+mmd;+9U*Z7B?)37C`9T(SUY*pA&X)7xvGhWwGA@YYJs8LhDvNgi&c7 zmukV33F9|*=R}+Dq37eypQxRj?~rLF�Jm0oZKchi(qzo}d*qkYjK-194G13gYA0 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

kP}rsKDoCp@(5(JSp|? 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

7;tQ*@pvopTe)=Acj1D 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 Z4!*?T7U0VbJ{^3u!DoO68r%&m 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 d?uD+p#~S & UseForRTA(); const cTplValGesInit< bool > & UseForRTA()const ; + + cTplValGesInit< Pt3dr > & Norm2Surf(); + const cTplValGesInit< Pt3dr > & Norm2Surf()const ; + + cTplValGesInit< double > & TetaN2SHor(); + const cTplValGesInit< double > & TetaN2SHor()const ; private: Pt3dr mPt; std::string mNamePt; Pt3dr mIncertitude; cTplValGesInit< bool > mUseForRTA; + cTplValGesInit< Pt3dr > mNorm2Surf; + cTplValGesInit< double > mTetaN2SHor; }; cElXMLTree * ToXMLTree(const cOneAppuisDAF &); diff --git a/include/XML_GEN/ParamChantierPhotogram.xml b/include/XML_GEN/ParamChantierPhotogram.xml index 04872de4fe..82f7b12fac 100644 --- a/include/XML_GEN/ParamChantierPhotogram.xml +++ b/include/XML_GEN/ParamChantierPhotogram.xml @@ -717,6 +717,8 @@ + + diff --git a/include/XML_GEN/ParamSaisiePts.xml b/include/XML_GEN/ParamSaisiePts.xml index 3b93e4aa6a..57dba4a20c 100644 --- a/include/XML_GEN/ParamSaisiePts.xml +++ b/include/XML_GEN/ParamSaisiePts.xml @@ -44,6 +44,8 @@ + + @@ -147,6 +149,8 @@ pas interfere avec format utilisateur basique, on separe --> + + diff --git a/include/XML_MicMac/SaisieAppuisPredic.xml b/include/XML_MicMac/SaisieAppuisPredic.xml index b3c302bb93..1deaa4c1c9 100644 --- a/include/XML_MicMac/SaisieAppuisPredic.xml +++ b/include/XML_MicMac/SaisieAppuisPredic.xml @@ -19,6 +19,10 @@ WithInputSec=false InputSec=XXXX UseMinMaxPt=false + WithDmax=false + WithPatFilt=false + DistMax=1e10 + PatFilt=.* @@ -78,6 +82,13 @@ ${PIMsFilter} + <#WHEN VTEST=${WithDmax}> + ${DistMax} + + <#WHEN VTEST=${WithPatFilt}> + ${PatFilt} + + ThisDir diff --git a/src/XML_GEN/ParamChantierPhotogram.cpp b/src/XML_GEN/ParamChantierPhotogram.cpp index 5487b387d6..9314d7b5b8 100644 --- a/src/XML_GEN/ParamChantierPhotogram.cpp +++ b/src/XML_GEN/ParamChantierPhotogram.cpp @@ -6427,6 +6427,28 @@ const cTplValGesInit< bool > & cOneAppuisDAF::UseForRTA()const return mUseForRTA; } + +cTplValGesInit< Pt3dr > & cOneAppuisDAF::Norm2Surf() +{ + return mNorm2Surf; +} + +const cTplValGesInit< Pt3dr > & cOneAppuisDAF::Norm2Surf()const +{ + return mNorm2Surf; +} + + +cTplValGesInit< double > & cOneAppuisDAF::TetaN2SHor() +{ + return mTetaN2SHor; +} + +const cTplValGesInit< double > & cOneAppuisDAF::TetaN2SHor()const +{ + return mTetaN2SHor; +} + void BinaryUnDumpFromFile(cOneAppuisDAF & anObj,ELISE_fp & aFp) { BinaryUnDumpFromFile(anObj.Pt(),aFp); @@ -6440,6 +6462,22 @@ void BinaryUnDumpFromFile(cOneAppuisDAF & anObj,ELISE_fp & aFp) } else anObj.UseForRTA().SetNoInit(); } ; + { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.Norm2Surf().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.Norm2Surf().ValForcedForUnUmp(),aFp); + } + else anObj.Norm2Surf().SetNoInit(); + } ; + { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.TetaN2SHor().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.TetaN2SHor().ValForcedForUnUmp(),aFp); + } + else anObj.TetaN2SHor().SetNoInit(); + } ; } void BinaryDumpInFile(ELISE_fp & aFp,const cOneAppuisDAF & anObj) @@ -6449,6 +6487,10 @@ void BinaryDumpInFile(ELISE_fp & aFp,const cOneAppuisDAF & anObj) BinaryDumpInFile(aFp,anObj.Incertitude()); BinaryDumpInFile(aFp,anObj.UseForRTA().IsInit()); if (anObj.UseForRTA().IsInit()) BinaryDumpInFile(aFp,anObj.UseForRTA().Val()); + BinaryDumpInFile(aFp,anObj.Norm2Surf().IsInit()); + if (anObj.Norm2Surf().IsInit()) BinaryDumpInFile(aFp,anObj.Norm2Surf().Val()); + BinaryDumpInFile(aFp,anObj.TetaN2SHor().IsInit()); + if (anObj.TetaN2SHor().IsInit()) BinaryDumpInFile(aFp,anObj.TetaN2SHor().Val()); } cElXMLTree * ToXMLTree(const cOneAppuisDAF & anObj) @@ -6460,6 +6502,10 @@ cElXMLTree * ToXMLTree(const cOneAppuisDAF & anObj) aRes->AddFils(ToXMLTree(std::string("Incertitude"),anObj.Incertitude())->ReTagThis("Incertitude")); if (anObj.UseForRTA().IsInit()) aRes->AddFils(::ToXMLTree(std::string("UseForRTA"),anObj.UseForRTA().Val())->ReTagThis("UseForRTA")); + if (anObj.Norm2Surf().IsInit()) + aRes->AddFils(ToXMLTree(std::string("Norm2Surf"),anObj.Norm2Surf().Val())->ReTagThis("Norm2Surf")); + if (anObj.TetaN2SHor().IsInit()) + aRes->AddFils(::ToXMLTree(std::string("TetaN2SHor"),anObj.TetaN2SHor().Val())->ReTagThis("TetaN2SHor")); aRes->mGXml = anObj.mGXml; XMLPopContext(anObj.mGXml); return aRes; @@ -6477,9 +6523,13 @@ void xml_init(cOneAppuisDAF & anObj,cElXMLTree * aTree) xml_init(anObj.Incertitude(),aTree->Get("Incertitude",1)); //tototo xml_init(anObj.UseForRTA(),aTree->Get("UseForRTA",1),bool(true)); //tototo + + xml_init(anObj.Norm2Surf(),aTree->Get("Norm2Surf",1)); //tototo + + xml_init(anObj.TetaN2SHor(),aTree->Get("TetaN2SHor",1)); //tototo } -std::string Mangling( cOneAppuisDAF *) {return "B6347A05E335B2BFFD3F";}; +std::string Mangling( cOneAppuisDAF *) {return "2FF4CBF525D2929EFF3F";}; std::list< cOneAppuisDAF > & cDicoAppuisFlottant::OneAppuisDAF() @@ -6538,7 +6588,7 @@ void xml_init(cDicoAppuisFlottant & anObj,cElXMLTree * aTree) xml_init(anObj.OneAppuisDAF(),aTree->GetAll("OneAppuisDAF",false,1)); } -std::string Mangling( cDicoAppuisFlottant *) {return "19E38C257C947DA2FE3F";}; +std::string Mangling( cDicoAppuisFlottant *) {return "96C4234B620110DFFD3F";}; std::string & cCpleImgTime::NameIm() diff --git a/src/photogram/phgr_inconnue_tmp.cpp b/src/photogram/phgr_inconnue_tmp.cpp index 5790bbb5cd..db1eb6dcc8 100644 --- a/src/photogram/phgr_inconnue_tmp.cpp +++ b/src/photogram/phgr_inconnue_tmp.cpp @@ -1433,7 +1433,6 @@ bool OkReproj bool ResidualStepByStep = false; - Pt3dr cManipPt3TerInc::CalcPTerInterFaisceauCams ( const cRapOnZ * aRAZ, @@ -1446,6 +1445,7 @@ Pt3dr cManipPt3TerInc::CalcPTerInterFaisceauCams std::string * aMesPb ) { + if (aMesPb) *aMesPb="NoPb"; aParam.mHasResolMoy = false; diff --git a/src/saisieQT/main/saisieAppuisPredicQT_main.cpp b/src/saisieQT/main/saisieAppuisPredicQT_main.cpp index 62ea0430b4..122e5cbfb1 100644 --- a/src/saisieQT/main/saisieAppuisPredicQT_main.cpp +++ b/src/saisieQT/main/saisieAppuisPredicQT_main.cpp @@ -18,7 +18,10 @@ void SaisieAppuisPredic(int argc, char ** argv, double &aZInc, std::string & aInputSec, bool & WithMaxMinPt, - double & aGama); + double & aGama, + std::string & aPatFilter, + double & aDistMax + ); using namespace std; @@ -92,7 +95,9 @@ int saisieAppuisPredicQT_main(int argc, char *argv[]) } bool WithMaxMinPt=false; - SaisieAppuisPredic(argc, argv, aSzWin, aNbFen, aFullName, aDir, aName, aNamePt, aNameOri, aModeOri, aNameMesure, aTypePts, aMasq3D,aPIMsFilter,aFlou, aForceGray, aZMoy, aZInc, aInputSec,WithMaxMinPt, aGama); + std::string aPatF; + double aDistMax; + SaisieAppuisPredic(argc, argv, aSzWin, aNbFen, aFullName, aDir, aName, aNamePt, aNameOri, aModeOri, aNameMesure, aTypePts, aMasq3D,aPIMsFilter,aFlou, aForceGray, aZMoy, aZInc, aInputSec,WithMaxMinPt, aGama,aPatF,aDistMax); if (!MMVisualMode) { diff --git a/src/uti_phgrm/CPP_SaisieAppuisPredic.cpp b/src/uti_phgrm/CPP_SaisieAppuisPredic.cpp index 42e3558edf..fdbbfebe94 100644 --- a/src/uti_phgrm/CPP_SaisieAppuisPredic.cpp +++ b/src/uti_phgrm/CPP_SaisieAppuisPredic.cpp @@ -60,7 +60,9 @@ void SaisieAppuisPredic(int argc, char ** argv, double &aZInc, std::string & aInputSec, bool & WithMaxMinPt, - double & aGama + double & aGama, + std::string & aPatFilter, + double & aDistMax ) { MMD_InitArgcArgv(argc,argv); @@ -85,6 +87,8 @@ void SaisieAppuisPredic(int argc, char ** argv, << EAM(PIMsFilter,"PIMsF",true,"PIMs filter used for visibility", eSAM_NoInit) << EAM(aInputSec,"InputSec",true,"For inmporting Other Inputs", eSAM_NoInit) << EAM(WithMaxMinPt,"WMM",true,"With max-min option for point seizing", eSAM_NoInit) + << EAM(aPatFilter,"PNF",true,"Pts Name Filter", eSAM_NoInit) + << EAM(aDistMax,"DMax",true,"Dist Max to center", eSAM_NoInit) ); if (!MMVisualMode) @@ -127,6 +131,8 @@ void SaisieAppuisPredic(int argc, char ** argv, #if ELISE_X11 int SaisieAppuisPredic_main(int argc,char ** argv) { + std::string aPatFilter; + double aDistMax; Pt2di aSzW(800,800); Pt2di aNbFen(-1,-1); std::string aFullName,aNamePt,anOri, aModeOri, aNameMesure, aDir, aName; @@ -141,7 +147,7 @@ int SaisieAppuisPredic_main(int argc,char ** argv) bool WithMaxMinPt=false; double aGama = 1.0; - SaisieAppuisPredic(argc, argv, aSzW, aNbFen, aFullName, aDir, aName, aNamePt, anOri, aModeOri, aNameMesure, aTypePts,aMasq3D,aPIMsFilter, aFlou, aForceGray, aZMoy, aZInc,aInputSec,WithMaxMinPt, aGama); + SaisieAppuisPredic(argc, argv, aSzW, aNbFen, aFullName, aDir, aName, aNamePt, anOri, aModeOri, aNameMesure, aTypePts,aMasq3D,aPIMsFilter, aFlou, aForceGray, aZMoy, aZInc,aInputSec,WithMaxMinPt, aGama,aPatFilter,aDistMax); if(!MMVisualMode) { @@ -194,6 +200,21 @@ int SaisieAppuisPredic_main(int argc,char ** argv) { aCom = aCom + " +Gama=" + ToString(aGama) + " "; } + if (EAMIsInit(&aPatFilter)) + { + aCom = aCom + " +WithPatFilt=true +PatFilt=" + QUOTE(aPatFilter) + " "; + } + if (EAMIsInit(&aDistMax)) + { + aCom = aCom + " +WithDmax=true +DistMax=" + ToString(aDistMax) + " "; + } +/* + if (EAMIsInit(&aDistMax)) + { + aCom = aCom + " +Gama=" + ToString(aGama) + " "; + } +*/ + std::cout << aCom << "\n"; diff --git a/src/uti_phgrm/SaisiePts/SaisiePts.h b/src/uti_phgrm/SaisiePts/SaisiePts.h index 542de44fc5..a2648e0953 100644 --- a/src/uti_phgrm/SaisiePts/SaisiePts.h +++ b/src/uti_phgrm/SaisiePts/SaisiePts.h @@ -596,6 +596,9 @@ class cAppli_SaisiePts void OnModifLoadedImage(); cMMByImNM * PIMsFilter(); + bool ValidePt(const cPointGlob & aPG,const Pt3dr & aP3d,cBasicGeomCap3D * aCap) const; + + private : void RenameIdPt(std::string &); diff --git a/src/uti_phgrm/SaisiePts/cAppliSaisiePts.cpp b/src/uti_phgrm/SaisiePts/cAppliSaisiePts.cpp index acd3e92cd6..e076be2a6c 100644 --- a/src/uti_phgrm/SaisiePts/cAppliSaisiePts.cpp +++ b/src/uti_phgrm/SaisiePts/cAppliSaisiePts.cpp @@ -758,6 +758,20 @@ void cAppli_SaisiePts::InitPG() aPG.Name() = itA->NamePt() ; aPG.LargeurFlou().SetVal(itIm->LargeurFlou().Val()); aPG.P3D().SetVal(itA->Pt()); + if (itA->Norm2Surf().IsInit()) + { + aPG.Normale().SetVal(vunit(itA->Norm2Surf().Val())); + } + else if (itA->TetaN2SHor().IsInit()) + { + double aTeta = itA->TetaN2SHor().Val() * (PI/180.0); + Pt2dr aN2 = Pt2dr::FromPolar(1,aTeta); + aPG.Normale().SetVal(Pt3dr(aN2.x,aN2.y,0.0)); + } +/* +itA->TetaN2SHor().Val(); +*/ + aPG.Incert().SetVal(itA->Incertitude()); aPG.ContenuPt().SetNoInit(); aPG.FromDico().SetVal(true); @@ -894,6 +908,35 @@ void cAppli_SaisiePts::AddPGInAllImages(cSP_PointGlob * aSPG) } } +bool cAppli_SaisiePts::ValidePt(const cPointGlob & aPG,const Pt3dr & aP3d,cBasicGeomCap3D * aCapt3D) const +{ + if (! aCapt3D->PIsVisibleInImage(aP3d)) + return false; + + if (mParam.DistMaxVisib().IsInit()) + { + CamStenope *aCS = aCapt3D->DownCastCS() ; + if (euclid (aP3d-aCS->PseudoOpticalCenter()) > mParam.DistMaxVisib().Val()) + return false; + } + + if (mParam.PatternNamePtsVisib().IsInit()) + { + if (!mParam.PatternNamePtsVisib().Val()->Match(aPG.Name())) + return false; + } + + if (aPG.Normale().IsInit()) + { + Pt2dr aPIm = aCapt3D->Ter2Capteur(aP3d); + ElSeg3D aSeg = aCapt3D->Capteur2RayTer(aPIm); + double aScal = scal(aSeg.TgNormee(),aPG.Normale().Val()); + return aScal < 0; + } + + return true; +} + void cAppli_SaisiePts::AddOnePGInImage (cSP_PointGlob * aSPG,cImage & anI,bool WithP3D,const Pt3dr & aP3d,bool InMasq3D) @@ -919,7 +962,7 @@ void cAppli_SaisiePts::AddOnePGInImage - if (! aCapt3D->PIsVisibleInImage(aP3d)) + if (! ValidePt(aPG,aP3d,aCapt3D) ) { OkInIm = false; } @@ -1109,44 +1152,7 @@ void cAppli_SaisiePts::Save() MakeFileXML(aDico,mSauv3D); - /* -*/ } - /* - a voir si pb de versions sous commit -<<<<<<< .mine - - - 103 -645 5 - Coin-Gauche - 10 10 10 - - -======= - A FUSIONNER AVEC LA VERSION SUR PC IGN, pas commite ??? - if (mParam.ExportPointeTerrain().IsInit()) - { - cDicoAppuisFlottant aDic; - for - ( - std::list::iterator itP=mSPG.PointGlob().begin(); - itP!=mSPG.PointGlob().end(); - itP++ - ) - { - if (itP->Mes3DExportable().ValWithDef(false)) - { - cOneAppuisDAF anAp; - anAp.Pt() = itP->P3D.Val(); - anAp.NamePt() = itP->Name(); - anAp.Incertitude() = Pt3dr(1,1,1); - aDic.OneAppuisDAF().push_back(anAp); - } - } - MakeFileXML(aDic, DC()+(mParam.ExportPointeTerrain().Val())); - } ->>>>>>> .r889 -*/ } diff --git a/src/uti_phgrm/SaisiePts/cParamSaisiePts.cpp b/src/uti_phgrm/SaisiePts/cParamSaisiePts.cpp index 7327950208..7dbf5904be 100644 --- a/src/uti_phgrm/SaisiePts/cParamSaisiePts.cpp +++ b/src/uti_phgrm/SaisiePts/cParamSaisiePts.cpp @@ -247,6 +247,17 @@ const cTplValGesInit< Pt3dr > & cPointGlob::Incert()const } +cTplValGesInit< Pt3dr > & cPointGlob::Normale() +{ + return mNormale; +} + +const cTplValGesInit< Pt3dr > & cPointGlob::Normale()const +{ + return mNormale; +} + + cTplValGesInit< double > & cPointGlob::LargeurFlou() { return mLargeurFlou; @@ -392,6 +403,14 @@ void BinaryUnDumpFromFile(cPointGlob & anObj,ELISE_fp & aFp) } else anObj.Incert().SetNoInit(); } ; + { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.Normale().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.Normale().ValForcedForUnUmp(),aFp); + } + else anObj.Normale().SetNoInit(); + } ; { bool IsInit; BinaryUnDumpFromFile(IsInit,aFp); if (IsInit) { @@ -479,6 +498,8 @@ void BinaryDumpInFile(ELISE_fp & aFp,const cPointGlob & anObj) if (anObj.Mes3DExportable().IsInit()) BinaryDumpInFile(aFp,anObj.Mes3DExportable().Val()); BinaryDumpInFile(aFp,anObj.Incert().IsInit()); if (anObj.Incert().IsInit()) BinaryDumpInFile(aFp,anObj.Incert().Val()); + BinaryDumpInFile(aFp,anObj.Normale().IsInit()); + if (anObj.Normale().IsInit()) BinaryDumpInFile(aFp,anObj.Normale().Val()); BinaryDumpInFile(aFp,anObj.LargeurFlou().IsInit()); if (anObj.LargeurFlou().IsInit()) BinaryDumpInFile(aFp,anObj.LargeurFlou().Val()); BinaryDumpInFile(aFp,anObj.ContenuPt().IsInit()); @@ -517,6 +538,8 @@ cElXMLTree * ToXMLTree(const cPointGlob & anObj) aRes->AddFils(::ToXMLTree(std::string("Mes3DExportable"),anObj.Mes3DExportable().Val())->ReTagThis("Mes3DExportable")); if (anObj.Incert().IsInit()) aRes->AddFils(::ToXMLTree(std::string("Incert"),anObj.Incert().Val())->ReTagThis("Incert")); + if (anObj.Normale().IsInit()) + aRes->AddFils(::ToXMLTree(std::string("Normale"),anObj.Normale().Val())->ReTagThis("Normale")); if (anObj.LargeurFlou().IsInit()) aRes->AddFils(::ToXMLTree(std::string("LargeurFlou"),anObj.LargeurFlou().Val())->ReTagThis("LargeurFlou")); if (anObj.ContenuPt().IsInit()) @@ -561,6 +584,8 @@ void xml_init(cPointGlob & anObj,cElXMLTree * aTree) xml_init(anObj.Incert(),aTree->Get("Incert",1)); //tototo + xml_init(anObj.Normale(),aTree->Get("Normale",1)); //tototo + xml_init(anObj.LargeurFlou(),aTree->Get("LargeurFlou",1),double(0.0)); //tototo xml_init(anObj.ContenuPt(),aTree->Get("ContenuPt",1)); //tototo @@ -580,7 +605,7 @@ void xml_init(cPointGlob & anObj,cElXMLTree * aTree) xml_init(anObj.FromDico(),aTree->Get("FromDico",1)); //tototo } -std::string Mangling( cPointGlob *) {return "9EBFCF3DC34C29ADFE3F";}; +std::string Mangling( cPointGlob *) {return "846910AB12572EDDFCBF";}; std::list< cPointGlob > & cSetPointGlob::PointGlob() @@ -639,7 +664,7 @@ void xml_init(cSetPointGlob & anObj,cElXMLTree * aTree) xml_init(anObj.PointGlob(),aTree->GetAll("PointGlob",false,1)); } -std::string Mangling( cSetPointGlob *) {return "6EDC1913507224BDFF3F";}; +std::string Mangling( cSetPointGlob *) {return "37436826261BF5A8FF3F";}; eEtatPointeImage & cOneSaisie::Etat() @@ -1705,6 +1730,28 @@ const cTplValGesInit< std::string > & cSectionTerrain::PIMsFilterVis()const return mPIMsFilterVis; } + +cTplValGesInit< double > & cSectionTerrain::DistMaxVisib() +{ + return mDistMaxVisib; +} + +const cTplValGesInit< double > & cSectionTerrain::DistMaxVisib()const +{ + return mDistMaxVisib; +} + + +cTplValGesInit< cElRegex_Ptr > & cSectionTerrain::PatternNamePtsVisib() +{ + return mPatternNamePtsVisib; +} + +const cTplValGesInit< cElRegex_Ptr > & cSectionTerrain::PatternNamePtsVisib()const +{ + return mPatternNamePtsVisib; +} + void BinaryUnDumpFromFile(cSectionTerrain & anObj,ELISE_fp & aFp) { { bool IsInit; @@ -1739,6 +1786,22 @@ void BinaryUnDumpFromFile(cSectionTerrain & anObj,ELISE_fp & aFp) } else anObj.PIMsFilterVis().SetNoInit(); } ; + { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.DistMaxVisib().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.DistMaxVisib().ValForcedForUnUmp(),aFp); + } + else anObj.DistMaxVisib().SetNoInit(); + } ; + { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.PatternNamePtsVisib().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.PatternNamePtsVisib().ValForcedForUnUmp(),aFp); + } + else anObj.PatternNamePtsVisib().SetNoInit(); + } ; } void BinaryDumpInFile(ELISE_fp & aFp,const cSectionTerrain & anObj) @@ -1751,6 +1814,10 @@ void BinaryDumpInFile(ELISE_fp & aFp,const cSectionTerrain & anObj) if (anObj.Masq3DFilterVis().IsInit()) BinaryDumpInFile(aFp,anObj.Masq3DFilterVis().Val()); BinaryDumpInFile(aFp,anObj.PIMsFilterVis().IsInit()); if (anObj.PIMsFilterVis().IsInit()) BinaryDumpInFile(aFp,anObj.PIMsFilterVis().Val()); + BinaryDumpInFile(aFp,anObj.DistMaxVisib().IsInit()); + if (anObj.DistMaxVisib().IsInit()) BinaryDumpInFile(aFp,anObj.DistMaxVisib().Val()); + BinaryDumpInFile(aFp,anObj.PatternNamePtsVisib().IsInit()); + if (anObj.PatternNamePtsVisib().IsInit()) BinaryDumpInFile(aFp,anObj.PatternNamePtsVisib().Val()); } cElXMLTree * ToXMLTree(const cSectionTerrain & anObj) @@ -1765,6 +1832,10 @@ cElXMLTree * ToXMLTree(const cSectionTerrain & anObj) aRes->AddFils(::ToXMLTree(std::string("Masq3DFilterVis"),anObj.Masq3DFilterVis().Val())->ReTagThis("Masq3DFilterVis")); if (anObj.PIMsFilterVis().IsInit()) aRes->AddFils(::ToXMLTree(std::string("PIMsFilterVis"),anObj.PIMsFilterVis().Val())->ReTagThis("PIMsFilterVis")); + if (anObj.DistMaxVisib().IsInit()) + aRes->AddFils(::ToXMLTree(std::string("DistMaxVisib"),anObj.DistMaxVisib().Val())->ReTagThis("DistMaxVisib")); + if (anObj.PatternNamePtsVisib().IsInit()) + aRes->AddFils(::ToXMLTree(std::string("PatternNamePtsVisib"),anObj.PatternNamePtsVisib().Val())->ReTagThis("PatternNamePtsVisib")); aRes->mGXml = anObj.mGXml; XMLPopContext(anObj.mGXml); return aRes; @@ -1782,9 +1853,13 @@ void xml_init(cSectionTerrain & anObj,cElXMLTree * aTree) xml_init(anObj.Masq3DFilterVis(),aTree->Get("Masq3DFilterVis",1)); //tototo xml_init(anObj.PIMsFilterVis(),aTree->Get("PIMsFilterVis",1)); //tototo + + xml_init(anObj.DistMaxVisib(),aTree->Get("DistMaxVisib",1)); //tototo + + xml_init(anObj.PatternNamePtsVisib(),aTree->Get("PatternNamePtsVisib",1)); //tototo } -std::string Mangling( cSectionTerrain *) {return "9670D68A763FEBAFFE3F";}; +std::string Mangling( cSectionTerrain *) {return "3CBBC271C12BE8E6FC3F";}; cTplValGesInit< cChantierDescripteur > & cParamSaisiePts::DicoLoc() @@ -2139,6 +2214,28 @@ const cTplValGesInit< std::string > & cParamSaisiePts::PIMsFilterVis()const } +cTplValGesInit< double > & cParamSaisiePts::DistMaxVisib() +{ + return SectionTerrain().DistMaxVisib(); +} + +const cTplValGesInit< double > & cParamSaisiePts::DistMaxVisib()const +{ + return SectionTerrain().DistMaxVisib(); +} + + +cTplValGesInit< cElRegex_Ptr > & cParamSaisiePts::PatternNamePtsVisib() +{ + return SectionTerrain().PatternNamePtsVisib(); +} + +const cTplValGesInit< cElRegex_Ptr > & cParamSaisiePts::PatternNamePtsVisib()const +{ + return SectionTerrain().PatternNamePtsVisib(); +} + + cSectionTerrain & cParamSaisiePts::SectionTerrain() { return mSectionTerrain; @@ -2222,6 +2319,6 @@ void xml_init(cParamSaisiePts & anObj,cElXMLTree * aTree) xml_init(anObj.DirectoryChantier(),aTree->Get("DirectoryChantier",1)); //tototo } -std::string Mangling( cParamSaisiePts *) {return "ACAB05A583C30E95FF3F";}; +std::string Mangling( cParamSaisiePts *) {return "5DF90EDA3EA187A4FF3F";}; // }; diff --git a/src/uti_phgrm/SaisiePts/cParamSaisiePts.h b/src/uti_phgrm/SaisiePts/cParamSaisiePts.h index 6f068c223c..eb0e5cd93e 100644 --- a/src/uti_phgrm/SaisiePts/cParamSaisiePts.h +++ b/src/uti_phgrm/SaisiePts/cParamSaisiePts.h @@ -95,6 +95,9 @@ class cPointGlob cTplValGesInit< Pt3dr > & Incert(); const cTplValGesInit< Pt3dr > & Incert()const ; + cTplValGesInit< Pt3dr > & Normale(); + const cTplValGesInit< Pt3dr > & Normale()const ; + cTplValGesInit< double > & LargeurFlou(); const cTplValGesInit< double > & LargeurFlou()const ; @@ -131,6 +134,7 @@ class cPointGlob cTplValGesInit< Pt3dr > mPt3DFromDico; cTplValGesInit< bool > mMes3DExportable; cTplValGesInit< Pt3dr > mIncert; + cTplValGesInit< Pt3dr > mNormale; cTplValGesInit< double > mLargeurFlou; cTplValGesInit< cContenuPt > mContenuPt; cTplValGesInit< int > mNumAuto; @@ -484,11 +488,19 @@ class cSectionTerrain cTplValGesInit< std::string > & PIMsFilterVis(); const cTplValGesInit< std::string > & PIMsFilterVis()const ; + + cTplValGesInit< double > & DistMaxVisib(); + const cTplValGesInit< double > & DistMaxVisib()const ; + + cTplValGesInit< cElRegex_Ptr > & PatternNamePtsVisib(); + const cTplValGesInit< cElRegex_Ptr > & PatternNamePtsVisib()const ; private: cTplValGesInit< double > mIntervPercProf; cTplValGesInit< cProfEstimator > mProfEstimator; cTplValGesInit< std::string > mMasq3DFilterVis; cTplValGesInit< std::string > mPIMsFilterVis; + cTplValGesInit< double > mDistMaxVisib; + cTplValGesInit< cElRegex_Ptr > mPatternNamePtsVisib; }; cElXMLTree * ToXMLTree(const cSectionTerrain &); @@ -605,6 +617,12 @@ class cParamSaisiePts cTplValGesInit< std::string > & PIMsFilterVis(); const cTplValGesInit< std::string > & PIMsFilterVis()const ; + cTplValGesInit< double > & DistMaxVisib(); + const cTplValGesInit< double > & DistMaxVisib()const ; + + cTplValGesInit< cElRegex_Ptr > & PatternNamePtsVisib(); + const cTplValGesInit< cElRegex_Ptr > & PatternNamePtsVisib()const ; + cSectionTerrain & SectionTerrain(); const cSectionTerrain & SectionTerrain()const ; From 44b170b2881b27af89043675203fa3e6437b1329 Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Wed, 29 Jan 2020 13:41:21 +0100 Subject: [PATCH 21/49] Add Campari AllFreePat --- include/XML_MicMac/Apero-Compense.xml | 5 +++-- src/uti_phgrm/CPP_Campari.cpp | 8 +++++++- 2 files changed, 10 insertions(+), 3 deletions(-) diff --git a/include/XML_MicMac/Apero-Compense.xml b/include/XML_MicMac/Apero-Compense.xml index 7810b00970..3ef2fbcd45 100644 --- a/include/XML_MicMac/Apero-Compense.xml +++ b/include/XML_MicMac/Apero-Compense.xml @@ -51,7 +51,7 @@ AffineFree=false LibCD=false LibDec=false - + AllFreePattern=".*" PoseFigee=false @@ -811,8 +811,9 @@ <#WHEN VTEST=${AllFree}> - + + ${AllFreePattern} eAllParamLibres diff --git a/src/uti_phgrm/CPP_Campari.cpp b/src/uti_phgrm/CPP_Campari.cpp index 8c4361015d..483265762e 100644 --- a/src/uti_phgrm/CPP_Campari.cpp +++ b/src/uti_phgrm/CPP_Campari.cpp @@ -480,7 +480,8 @@ cAppli_Campari::cAppli_Campari (int argc,char ** argv) : LocLibPP = true; LocLibDec = true; LocLibCD= true; - bool AllFree = false; + bool AllFree = false; + std::string AllFreePattern; std::string CalibMod2Refine; bool AddViscInterne=false; double ViscosInterne=0.1; @@ -546,6 +547,7 @@ cAppli_Campari::cAppli_Campari (int argc,char ** argv) : << EAM(CPI1,"CPI1",true,"Calib Per Im, Firt time", eSAM_IsBool) << EAM(CPI2,"CPI2",true,"Calib Per Im, After first time, reUsing Calib Per Im As input", eSAM_IsBool) << EAM(AllFree,"AllFree",true,"Refine all calibration parameters (Def=false)", eSAM_IsBool) + << EAM(AllFreePattern,"AllFreePat",true,"Pattern of images that will be subject to AllFree (Def=.*)", eSAM_IsBool) << EAM(CalibMod2Refine,"GradualRefineCal",true,"Calibration model to refine gradually",eSAM_None) << EAM(DetailAppuis,"DetGCP",true,"Detail on GCP (Def=false)", eSAM_IsBool) << EAM(Viscos,"Visc",true,"Viscosity on external orientation in Levenberg-Marquardt like resolution (Def=1.0)") @@ -661,6 +663,10 @@ cAppli_Campari::cAppli_Campari (int argc,char ** argv) : if (EAMIsInit(&RapTxt)) mCom += std::string(" +RapTxt=") + RapTxt + " "; if (AllPoseFigee) mCom += " +PoseFigee=true "; + if (EAMIsInit(&AllFreePattern)) + { + mCom += " +AllFreePattern=" + AllFreePattern + " "; + } if (EAMIsInit(&PatPoseFigee)) { mCom += " +WithPatPoseFigee=true +PatPoseFigee=" + PatPoseFigee + " "; From 30bab3bdb656b12e881bf9eef807324d7a0263be Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Thu, 30 Jan 2020 14:53:28 +0100 Subject: [PATCH 22/49] Add export ElAffine2D dans ResamFid --- src/uti_phgrm/CPP_CreateEpip.cpp | 15 ++++++++++++++- 1 file changed, 14 insertions(+), 1 deletion(-) diff --git a/src/uti_phgrm/CPP_CreateEpip.cpp b/src/uti_phgrm/CPP_CreateEpip.cpp index 38d9fac641..586dff80b3 100644 --- a/src/uti_phgrm/CPP_CreateEpip.cpp +++ b/src/uti_phgrm/CPP_CreateEpip.cpp @@ -930,6 +930,7 @@ class cAppliOneReechMarqFid : public ElDistortion22_Gen , bool mBySingle; int mNumKer; std::string mPostMasq; + bool ExportAffine; }; // mAffin (mm) = Pixel @@ -964,7 +965,8 @@ cAppliOneReechMarqFid::cAppliOneReechMarqFid(int argc,char ** argv) : mAffPixIm2ChambreMm (ElAffin2D::Id()), mBySingle (true), mNumKer (5), - mPostMasq ("NONE") + mPostMasq ("NONE"), + ExportAffine (true) { ElInitArgMain ( @@ -974,6 +976,7 @@ cAppliOneReechMarqFid::cAppliOneReechMarqFid(int argc,char ** argv) : LArgMain() << EAM(mBoxChambreMm,"BoxCh",true,"Box in Chambre (generally in mm, [xmin,ymin,xmax,ymax])") << EAM(mNumKer,"Kern",true,"Kernel of interpol,0 Bilin, 1 Bicub, other SinC (fix size of apodisation window), Def=5") << EAM(mPostMasq,"AttrMasq",true,"Atribut for masq toto-> toto_AttrMasq.tif, NONE if unused, Def=NONE") + << EAM(ExportAffine,"ExpAff","true","Export the affine transformation") ); if (mPostMasq!="NONE") @@ -1045,6 +1048,16 @@ void cAppliOneReechMarqFid::DoReech() 2000 ); std::cout << "FOR " << mNameIm << " RESIDU " << mResidu << " Time " << aChrono.uval() << " \n"; + + if (ExportAffine) + { + std::string aAffFileDir = "Ori-InterneScan/"; + ELISE_fp::MkDirSvp(aAffFileDir); + + mAffChambreMm2PixIm.SaveInFile(aAffFileDir+"OIS-Reech_"+StdPrefix(mNameIm)+"_ChambreMm2Pix.xml"); + //MakeFileXML(mAffChambreMm2PixIm,aAffFileDir+"OIS-Reech_"+StdPrefix(mNameIm)+"_ChambreMm2Pix.xml"); + + } } From 91315bed495a15a545e1d9f325c1231ca531517d Mon Sep 17 00:00:00 2001 From: Tristan Faure Date: Fri, 31 Jan 2020 15:29:23 +0100 Subject: [PATCH 23/49] Ajout option Malt : Spatial, BoxTerrainGeomImage, plus de classes d'equiv, ... Ajout dans SateLib : SatPosition, SatBBox --- include/XML_MicMac/MM-Malt-Spatial.xml | 795 ++++++++++++++++++++++ include/XML_MicMac/MM-Malt.xml | 24 + include/private/cElNuage3DMaille.h | 2 +- src/CBinaires/mm3d.cpp | 10 +- src/SateLib/CPP_SATtoBundle.cpp | 41 ++ src/TpMMPD/ServiceGeoSud.cpp | 2 +- src/geom3d/cElNuage3DMaille.cpp | 9 +- src/uti_phgrm/Apero/cCameraRPC.cpp | 146 +++- src/uti_phgrm/CPP_Malt.cpp | 200 +++++- src/uti_phgrm/MICMAC/cAppliMICMAC_GPU.cpp | 42 +- src/uti_phgrm/MICMAC/cStatNDistrib.cpp | 60 +- 11 files changed, 1269 insertions(+), 62 deletions(-) create mode 100644 include/XML_MicMac/MM-Malt-Spatial.xml diff --git a/include/XML_MicMac/MM-Malt-Spatial.xml b/include/XML_MicMac/MM-Malt-Spatial.xml new file mode 100644 index 0000000000..f94fbd1b8f --- /dev/null +++ b/include/XML_MicMac/MM-Malt-Spatial.xml @@ -0,0 +1,795 @@ + + + + + + + + Dir="XXXX" + ImPat="XXX" + Ori=XXXX + + + ZRegul=0.12 + SzW=2 + ZoomFinal=2 + ResolRelOrhto=0.5 + ZoomInit=32 + + + + DefCor=0.3 + CostTrans=4.0 + NbMinIV=2 + Repere="NO-REPERE" + FileAnam=EmptyXML.xml + FileZMoy=EmptyXML.xml + UseGpu=false + NotUseGpu=! ${UseGpu} + + + FileMasqT=MM-MasqTerrain.xml + FileZ4PC=MM-Zoom4-PC.xml + FileZ2PC=EmptyXML.xml + + FileZ1Raff=MM-Zoom1Raffin.xml + + FileZ64=EmptyXML.xml + FileZ32=EmptyXML.xml + FileZ16PC=MM-Zoom16-PC.xml + FileOthoF=MM-Malt-OrthoFinal.xml + FileOthoQ=MM-Malt-OrthoQuick.xml + FileUnAnam=EmptyXML.xml + + ZPas=1.0 + + DbleZPas=2.0 + DemiZPas=0.5 + + + DirQO=Qk-ORTHO + DirMEC=MEC-Malt/ + Chantier=STD-MALT + DirTA=TA + Purge=true + + MkFPC=true + DoMEC=true + + DirOrthoF=ORTHO + + NbEtapeQuant=-1 + + NameMaskOrtho=../${DirMEC}AutoMask_STD-MALT_Num_${NbEtapeQuant}.tif + NameMTDMaskOrtho=../${DirMEC}Z_Num${NbEtapeQuant}_DeZoom${ZoomFinal}_STD-MALT.xml + + Geom=eGeomMNTFaisceauIm1ZTerrain_Px1D + + + ImageMaster=XXXX + ImageMasterSsPost=XXXX + FileIm1=EmptyXML.xml + ZIncIsProp=true + FullIm1=false + PasInPixel=true + + + ImMNT=".*" + ImOrtho=".*" + + ButDoOrtho=false + + FileDoNothing=EmptyXML.xml + UseImSec=false + CorMS=true + eAggregSymetrique=eAggregSymetrique + + + + AddZoom64=Sup ${ZoomInit} 64 + AddZoom32=Sup ${ZoomInit} 32 + AddZoom16=Sup ${ZoomInit} 16 + AddZoom8=Sup ${ZoomInit} 8 + AddZoom4=Sup ${ZoomInit} 4 + AddZoom2=Sup ${ZoomInit} 2 + + DoNotMEC=! ${DoMEC} + ButDoOrtho=true + + + UseMasqPerIm=false + MasqPerIm="XXXXXX" + UseGlobMasqPerIm=false + GlobMasqPerIm="XXXXXX" + + + + UseImMaxMin="false" + ImMin="XXXXXX" + ImMax="XXXXXX" + + + DoAnam=false + ParamAnam=XXXXX + IncidMax= 0.75 + DoIncid=false + DoMaskNadir=false + + + NotZoom8="Neq 8 ${ZoomFinal}" + UseClip=false + X0Clip=0 + Y0Clip=0 + X1Clip=1 + Y1Clip=1 + + + UseBoxTerrain=false + X0Terrain=0 + Y0Terrain=0 + X1Terrain=1 + Y1Terrain=1 + + UseRR=false + RoundResol=XXXX + GCC=false + + + NotCorMS=! ${CorMS} + + + + UseEqui=false + UseClas1=false + Clas1=.* + UseClas2=false + Clas2=.* + UseClas3=false + Clas3=.* + UseClas4=false + Clas4=.* + UseClas5=false + Clas5=.* + UseClas6=false + Clas6=.* + EZA=false + SzRec=50 + AlgoMaxFlow=false + + UseMasq3D=false + NameMasq3D=XXXX + + UseResolTerrain=false + ResolTerrain=0 + UseRatioResolImage=false + RatioResolImage=1 + + UseDEMInit=false + DEMInitXML="XXXXXX" + DEMInitIMG="XXXXXX" + + + + + ZIncCalc=0.3 + Conik=true + NonConik=! ${Conik} + PxIsProp=${Conik} + ModeOriIm=eGeomImageOri + ModeOrientStd=${Conik} + MSDense=true + + SpecDirFaisc="false" + DirFaisX="XXXXX" + DirFaisY="XXXXX" + DirFaisZ="XXXXX" + + UseMasqImGlobOrLoc= Or ${UseMasqPerIm} ${UseGlobMasqPerIm} + + InParal= Neq 0 ${NbProc} + + + UsePtDebug=false + PtDebugX=-10000000 + PtDebugY=-10000000 + RSRT=false + + UseGenBundle=false + ForDeform=false + UsePC=true + UseVSNI=false + VSNI=0 + NbDirPrgDyn=8 + ModeAgregPrgDyn=ePrgDAgrSomme + + + + + + + ${ZIncCalc} + ${ZIncIsProp} + ${FileZMoy} + <#WHEN VTEST=${UseDEMInit}> + + ${DEMInitIMG} + ${DEMInitXML} + + + + + + 0.5 + 3 + + + + <#WHEN VTEST=${UseResolTerrain}> + ${ResolTerrain} + + <#WHEN VTEST=${UseRatioResolImage}> + ${RatioResolImage} + + + + + ${RSRT} + ${FileMasqT} + ${ImMNT} + + + <#WHEN VTEST=${UseBoxTerrain}> + ${X0Terrain} ${Y0Terrain} ${X1Terrain} ${Y1Terrain} + + + + + <#WHEN VTEST=${UseRR}> + ${RoundResol} + + + + + + + true + ${ModeOriIm} + + <#WHEN VTEST=${UseVSNI}> + ${VSNI} + + + + ${FileIm1} + ${ImPat} + <#WHEN VTEST=${UseImMaxMin}> + + ${ImMin} + ${ImMax} + + + <#WHEN VTEST=${UseImSec}> + + NKS-Assoc-ImSec@-${Ori} + + + + + <#IF VTEST=${UseGenBundle}> + + + ${Ori} + .* + + + <#IF VTEST=${ModeOrientStd}> + + + NKS-Assoc-Im2Orient@-${Ori} + + + + (.*)\.[0-9,a-z,A-Z,_]{3,4} + $1.${Ori} + + + + + + <#WHEN VTEST=${UseGlobMasqPerIm}> + + + .* + ${GlobMasqPerIm} + + + + + <#WHEN VTEST=${UseMasqPerIm}> + + + (.*)\.(.*) + $1${MasqPerIm}.tif + + true + + + + <#WHEN VTEST=${UseEqui}> + + + <#WHEN VTEST=${UseClas1}> + + ${Clas1} + Classe1 + + + <#WHEN VTEST=${UseClas2}> + + ${Clas2} + Classe2 + + + <#WHEN VTEST=${UseClas3}> + + ${Clas3} + Classe3 + + + <#WHEN VTEST=${UseClas4}> + + ${Clas4} + Classe4 + + + <#WHEN VTEST=${UseClas5}> + + ${Clas5} + Classe5 + + + <#WHEN VTEST=${UseClas6}> + + ${Clas6} + Classe6 + + + + .* + ClasseDef + + + + + + + + + + <#WHEN VTEST=${UseClip}> + ${X0Clip} ${Y0Clip} ${X1Clip} ${Y1Clip} + + + ${PasInPixel} + ${NbMinIV} + ${FullIm1} + <#WHEN VTEST=${UseMasq3D}> + + ${NameMasq3D} + 16 + 2 + + + + + + -1 + ${SzW} + + <#WHEN VTEST=${NotUseGpu}> + <#IF VTEST=${AlgoMaxFlow}> + eAlgoCoxRoy + eAlgo2PrgDyn + + + + + true + false + + <#WHEN VTEST=${UseGpu}> + eAlgoTestGPU + + + true + ${GCC} + + ${ZPas} + eInterpolBiCub + + 5 + 2 + ${ZRegul} + + + + ${ModeAgregPrgDyn} + ${NbDirPrgDyn} + + 20.0 + + + + + false + ${ImMNT} + + + eCoeffAngle + ${ModeAgrCor} + + <#WHEN VTEST=${UseGpu}> + + 128 + + true + + + + + + + + + ${ZoomInit} + + + <#WHEN VTEST=${AddZoom64}> + + 64 + eInterpolBiLin + ${DbleZPas} + + + + + <#WHEN VTEST=${AddZoom32}> + + 32 + ${DbleZPas} + + + + <#WHEN VTEST=${AddZoom16}> + + 16 + ${DbleZPas} + + + + + + <#WHEN VTEST=${AddZoom8}> + + + + 8 + ${DbleZPas} + 10 + + + + + + <#WHEN VTEST=${AddZoom4}> + + 4 + 10 + ${ZPas} + + + + <#WHEN VTEST=${AddZoom2}> + + 2 + 4 + + + + + <#WHEN VTEST=${NotZoom8}> + + ${ZoomFinal} + + 0 + 0 + 40 + + false + false + false + false + + 2 2 + 0 + 1 + false + + + 3 3 + 1 + 0.5 + false + + + 4 4 + 2 + 0.25 + false + + + + + + + 2 + 4 + + + ePrgDAgrSomme + 8 + + 10 + + 0.3 + 4.0 + false + + + + + + ${ZoomFinal} + ${DemiZPas} + 4 + 1 + + + + + + ${ZoomFinal} + 1.0 + eAlgoDequant + ${EZA} + + + + false + .* + + + + ${FileOthoF} + ${FileUnAnam} + + + + + + + + <#WHEN VTEST=${SpecDirFaisc}> + ${DirFaisX} + ${DirFaisY} + ${DirFaisZ} + + + ${Geom} + ${Repere} + ${FileAnam} + + ${DoMEC} + + 8 + true + + ${FileDoNothing} + <#WHEN VTEST=${DoNotMEC}> + + ${ButDoOrtho} + true + true + + + + + <#WHEN VTEST=${DoIncid}> + + ${IncidMax} + 16 + <#WHEN VTEST=${DoAnam}> + + ${ParamAnam} + TheSurf + + + <#WHEN VTEST=${DoMaskNadir}> + + 1e4 + true + 1 + 0.1 + 6 + 3 + + + + + + + + + + + + + + + + ${Dir} + ${DirMEC} + ${DirMEC} + Pyram/ + + ${NbProc} + ${Chantier} + + ${Purge} + + ${SzRec} + + + + 40000 + + + + + + <#WHEN VTEST=${UsePtDebug}> + ${PtDebugX} ${PtDebugY} + + + + + + + + diff --git a/include/XML_MicMac/MM-Malt.xml b/include/XML_MicMac/MM-Malt.xml index bf3b491bfb..9b19dda99e 100644 --- a/include/XML_MicMac/MM-Malt.xml +++ b/include/XML_MicMac/MM-Malt.xml @@ -196,6 +196,12 @@ MICMAC /home/marc/micmac/include/XML_MicMac/Param-MNS-Ortho.xml WorkDir=/home/m Clas2=.* UseClas3=false Clas3=.* + UseClas4=false + Clas4=.* + UseClas5=false + Clas5=.* + UseClas6=false + Clas6=.* EZA=false SzRec=50 AlgoMaxFlow=false @@ -400,6 +406,24 @@ MICMAC /home/marc/micmac/include/XML_MicMac/Param-MNS-Ortho.xml WorkDir=/home/m Classe3 + <#WHEN VTEST=${UseClas4}> + + ${Clas4} + Classe4 + + + <#WHEN VTEST=${UseClas5}> + + ${Clas5} + Classe5 + + + <#WHEN VTEST=${UseClas6}> + + ${Clas6} + Classe6 + + .* ClasseDef diff --git a/include/private/cElNuage3DMaille.h b/include/private/cElNuage3DMaille.h index 0215160f32..b87a7833ce 100644 --- a/include/private/cElNuage3DMaille.h +++ b/include/private/cElNuage3DMaille.h @@ -238,7 +238,7 @@ class cElNuage3DMaille : public cCapture3D Pt3dr PtOfIndex(const tIndex2D & aP) const ; Pt3dr PtOfIndexInterpol(const Pt2dr & aP) const; // [2] - Pt3dr NormaleOfIndex(const tIndex2D&, int) const; + Pt3dr NormaleOfIndex(const tIndex2D&, int, const Pt3dr&) const; virtual Pt3dr Loc_PtOfIndex(const tIndex2D & aP) const = 0; diff --git a/src/CBinaires/mm3d.cpp b/src/CBinaires/mm3d.cpp index 83c7609236..ce4663db07 100644 --- a/src/CBinaires/mm3d.cpp +++ b/src/CBinaires/mm3d.cpp @@ -1262,6 +1262,8 @@ extern int SATtoBundle_main(int argc, char ** argv); extern int SATvalid_main(int argc, char ** argv); extern int SATTrajectory_main(int argc, char ** argv); extern int SatEmpriseSol_main(int argc, char ** argv); +extern int SatBBox_main(int argc, char ** argv); +extern int SatPosition_main(int argc, char ** argv); extern int CalcBsurH_main(int argc, char ** argv); extern int CalcBsurHGrille_main(int argc, char ** argv); extern int CPP_SATDef2D_main(int argc, char ** argv); @@ -1298,9 +1300,11 @@ const std::vector & SateLibAvailableCommands() aRes.push_back(cMMCom("AsterDestrip", AsterDestrip_main, "Destrip Aster Images ")); aRes.push_back(cMMCom("SATtoBundle", SATtoBundle_main, "Export a satellite image to a grid of bundles")); aRes.push_back(cMMCom("SATValid", SATvalid_main, "Validate the prj function by either retrieving the line of optical centers or the provided GCPs")); - aRes.push_back(cMMCom("SatFootprint", SatEmpriseSol_main, "Satellite foortprints in ply")); - aRes.push_back(cMMCom("SatTrajectory", SATTrajectory_main, "Satellite trajectories in ply")); - aRes.push_back(cMMCom("BsurH", CalcBsurH_main, "Calculate the b/h ratio for a pattern of images")); + aRes.push_back(cMMCom("SatFootprint", SatEmpriseSol_main, "Satellite foortprints in ply")); + aRes.push_back(cMMCom("SatBBox", SatBBox_main, "Get satellite's footprint (in txt) BBox (from GRID)")); + aRes.push_back(cMMCom("SatTrajectory", SATTrajectory_main, "Satellite trajectories in ply")); + aRes.push_back(cMMCom("SatPosition", SatPosition_main, "Satellite position")); + aRes.push_back(cMMCom("BsurH", CalcBsurH_main, "Calculate the b/h ratio for a pattern of images")); aRes.push_back(cMMCom("BsurHGRI", CalcBsurHGrille_main, "Calculate the b/h ratio for a pattern of images")); aRes.push_back(cMMCom("SATD2D", CPP_SATDef2D_main, "Visualize 2D deformation fields of a pushbroom image")); aRes.push_back(cMMCom("TestRPC", CPP_TestRPCDirectGen, "Test the calculation of direct RPCs")); diff --git a/src/SateLib/CPP_SATtoBundle.cpp b/src/SateLib/CPP_SATtoBundle.cpp index 691d90fbe1..d967f919ce 100644 --- a/src/SateLib/CPP_SATtoBundle.cpp +++ b/src/SateLib/CPP_SATtoBundle.cpp @@ -219,6 +219,47 @@ int SatEmpriseSol_main(int argc,char ** argv) return EXIT_SUCCESS; } +int SatBBox_main(int argc,char ** argv) +{ + std::string aGRIName; + + ElInitArgMain + ( + argc, argv, + LArgMain() << EAMC(aGRIName,"Grid"), + LArgMain() + ); + + OrientationGrille aOri(aGRIName); + + Pt2dr aDZ = aOri.GetRangeZ(); + double Zmin =max(min(aDZ.x, aDZ.y),0.); + + Pt2dr aDC = aOri.GetRangeCol(); //problems if the grid is much wider than the image... + Pt2dr aDR = aOri.GetRangeRow(); + + + Pt2dr aP00(aDC.x,aDR.x); + Pt2dr aP01(aDC.x,abs(aDR.y)); + Pt2dr aP10(aDC.y,aDR.x); + Pt2dr aP11(aDC.y,abs(aDR.y)); + + Pt2dr aP00Gr,aP01Gr,aP10Gr,aP11Gr; + aOri.ImageAndPx2Obj(aP00.x,aP00.y,&Zmin,aP00Gr.x,aP00Gr.y); + aOri.ImageAndPx2Obj(aP01.x,aP01.y,&Zmin,aP01Gr.x,aP01Gr.y); + aOri.ImageAndPx2Obj(aP10.x,aP10.y,&Zmin,aP10Gr.x,aP10Gr.y); + aOri.ImageAndPx2Obj(aP11.x,aP11.y,&Zmin,aP11Gr.x,aP11Gr.y); + + double Xmin=min(min(aP00Gr.x, aP01Gr.x), min(aP10Gr.x, aP11Gr.x)); + double Xmax=max(max(aP00Gr.x, aP01Gr.x), max(aP10Gr.x, aP11Gr.x)); + double Ymin=min(min(aP00Gr.y, aP01Gr.y), min(aP10Gr.y, aP11Gr.y)); + double Ymax=max(max(aP00Gr.y, aP01Gr.y), max(aP10Gr.y, aP11Gr.y)); + + std::cout << Xmin << " " << Ymin << " " << Xmax << " " << Ymax << "\n"; + + return EXIT_SUCCESS; +} + int SATtoOpticalCenter_main(cSatI_Appli &aApps) { diff --git a/src/TpMMPD/ServiceGeoSud.cpp b/src/TpMMPD/ServiceGeoSud.cpp index d31fcf5189..32d6c91ba2 100644 --- a/src/TpMMPD/ServiceGeoSud.cpp +++ b/src/TpMMPD/ServiceGeoSud.cpp @@ -145,7 +145,7 @@ std::vector* > createVTIm2DFromFile(std::string const &aName, int mFlagLoadedIms=0; std::vector > vSLLI; - for(size_t i=0;iNbCanaux();++i) + for(int i=0;iNbCanaux();++i) { TIm2D * ptr = new TIm2D(SzCrop); vPtr.push_back(ptr); diff --git a/src/geom3d/cElNuage3DMaille.cpp b/src/geom3d/cElNuage3DMaille.cpp index f2a6bb8043..ffb0aebea8 100644 --- a/src/geom3d/cElNuage3DMaille.cpp +++ b/src/geom3d/cElNuage3DMaille.cpp @@ -912,7 +912,7 @@ void cElNuage3DMaille::PlyPutDataVertex(FILE * aFP, bool aModeBin, int aAddNorma if (aAddNormale) { - Pt3dr aN = NormaleOfIndex(anI, aAddNormale); + Pt3dr aN = NormaleOfIndex(anI, aAddNormale, anOffset); if (DoublePrec) { @@ -1125,7 +1125,7 @@ double cElNuage3DMaille::DiffDeSurface } //Compute local normal on 3D points in a window (wSize x wSize) -Pt3dr cElNuage3DMaille::NormaleOfIndex(const tIndex2D& anI1, int wSize) const +Pt3dr cElNuage3DMaille::NormaleOfIndex(const tIndex2D& anI1, int wSize, const Pt3dr & anOffset) const { if (IndexHasContenu(anI1)) { @@ -1136,7 +1136,10 @@ Pt3dr cElNuage3DMaille::NormaleOfIndex(const tIndex2D& anI1, int wSize) const if (mNormByCenter==1) return aTgt * (-aFact); else if (mNormByCenter==2) - return mCam->OrigineProf(); + { + Pt3dr aCentreOptique = mCam->OrigineProf() - anOffset; + return aCentreOptique; + } std::vector aVP; std::vector aVPds; diff --git a/src/uti_phgrm/Apero/cCameraRPC.cpp b/src/uti_phgrm/Apero/cCameraRPC.cpp index 62ea29b53f..b355bed5e3 100644 --- a/src/uti_phgrm/Apero/cCameraRPC.cpp +++ b/src/uti_phgrm/Apero/cCameraRPC.cpp @@ -4292,6 +4292,30 @@ bool CalcCentreOptiqueGrille(const OrientationGrille & aOri, Pt3dr & aCentre) } +int SatPosition_main(int argc,char ** argv) +{ + std::string aGRIName; + + ElInitArgMain + ( + argc, argv, + LArgMain() << EAMC(aGRIName,"Grid"), + LArgMain() + ); + + OrientationGrille aGRI(aGRIName); + + Pt3dr aCentre; + if (! CalcCentreOptiqueGrille(aGRI,aCentre)) + return EXIT_FAILURE; + + std::cout << aCentre.x << " " << aCentre.y << " " << aCentre.z << "\n"; + + return EXIT_SUCCESS; + +} + + int CalcBsurHGrille_main(int argc,char ** argv) { std::string aGRIName1,aGRIName2; @@ -4325,6 +4349,7 @@ int CalcBsurHGrille_main(int argc,char ** argv) std::cout << "B=" << aB << ", H=" << aCentre1.z << ", B/H=" << aB/aCentre1.z << "\n"; + return(1); @@ -4407,6 +4432,83 @@ int CalcBsurH_main(int argc,char ** argv) return EXIT_SUCCESS; } +int CalcBsurHGrid_main(int argc,char ** argv) +{ + + cInterfChantierNameManipulateur * aICNM; + std::string aFullName; + std::string aDir; + std::string aName; + std::list aListFile; + + + ElInitArgMain + ( + argc, argv, + LArgMain() << EAMC(aFullName,"Orientation file (or pattern) in cXml_CamGenPolBundle format"), + LArgMain() + ); + + SplitDirAndFile(aDir, aName, aFullName); + aICNM = cInterfChantierNameManipulateur::BasicAlloc(aDir); + aListFile = aICNM->StdGetListOfFile(aName); + + /* Print out the b sur h */ + int i=0, j=0; + std::list::iterator it1=aListFile.begin(); + for( ; it1 !=aListFile.end(); it1++, i++ ) + { + CameraRPC aCam1( aDir+(*it1)); + + + Pt2dr aCentIm1(double(aCam1.SzBasicCapt3D().x)/2,double(aCam1.SzBasicCapt3D().y)/2); + Pt3dr aTer = aCam1.ImEtZ2Terrain(aCentIm1, aCam1.GetAltiSol()); + + Pt3dr a01 = aCam1.OpticalCenterOfPixel(aCentIm1); + + + std::list::iterator it2=aListFile.begin(); + j=i; + for( it2=it1; it2 !=aListFile.end(); it2++, j++) + { + if( (*it1)!=(*it2)) + { + CameraRPC aCam2( aDir+(*it2) ); + + Pt2dr aTerBPrj = aCam2.Ter2Capteur(aTer); + + Pt3dr a02 = aCam2.OpticalCenterOfPixel(aTerBPrj); + + //H within the "epipolar plane" + double aA = sqrt(std::pow(a01.x - aTer.x,2) + std::pow(a01.y - aTer.y,2) + std::pow(a01.z - aTer.z,2) ); + double aB = sqrt(std::pow(a02.x - aTer.x,2) + std::pow(a02.y - aTer.y,2) + std::pow(a02.z - aTer.z,2) ); + double aC = sqrt(std::pow(a02.x - a01.x,2) + std::pow(a02.y - a01.y,2) + std::pow(a02.z - a01.z,2) ); + double aH = sqrt( aA*aB*(aA+aB+aC)*(aA+aB-aC) )/(aA+aB); + + //std::cout << "\n a01 " << a01 << ", a02 " << a02 << ", aCentIm1 " << aCentIm1 << ", aTerBPrj " << aTerBPrj << ", aTer " << aTer << "\n"; + //std::cout << " aA " << aA << ", aB " << aB << ", aC " << aC << ", aH " << aH << "\n"; + + std::cout << " (" << i << "," << j << ")" + << aC/aH; + } + else + std::cout << " (" << i << "," << j << ")0.0 "; + + } + + + std::cout << "\n"; + + } + + /* Print out the list of images */ + i=0; + for( it1=aListFile.begin(); it1 !=aListFile.end(); it1++, i++ ) + std::cout << i << " " << (*it1) << "\n"; + + return EXIT_SUCCESS; +} + double TestGradBCG ( cBasicGeomCap3D * aBGC, @@ -4860,33 +4962,33 @@ void cRPCVerf::Compare3D(std::vector &aGrid3d) const /*Footer-MicMac-eLiSe-25/06/2007 -Ce logiciel est un programme informatique servant à la mise en +Ce logiciel est un programme informatique servant a la mise en correspondances d'images pour la reconstruction du relief. -Ce logiciel est régi par la licence CeCILL-B soumise au droit français et +Ce logiciel est regi par la licence CeCILL-B soumise au droit francais et respectant les principes de diffusion des logiciels libres. Vous pouvez utiliser, modifier et/ou redistribuer ce programme sous les conditions -de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA +de la licence CeCILL-B telle que diffusee par le CEA, le CNRS et l'INRIA sur le site "http://www.cecill.info". -En contrepartie de l'accessibilité au code source et des droits de copie, -de modification et de redistribution accordés par cette licence, il n'est -offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, -seule une responsabilité restreinte pèse sur l'auteur du programme, le -titulaire des droits patrimoniaux et les concédants successifs. - -A cet égard l'attention de l'utilisateur est attirée sur les risques -associés au chargement, à l'utilisation, à la modification et/ou au -développement et à la reproduction du logiciel par l'utilisateur étant -donné sa spécificité de logiciel libre, qui peut le rendre complexe à -manipuler et qui le réserve donc à des développeurs et des professionnels -avertis possédant des connaissances informatiques approfondies. Les -utilisateurs sont donc invités à charger et tester l'adéquation du -logiciel à leurs besoins dans des conditions permettant d'assurer la -sécurité de leurs systèmes et ou de leurs données et, plus généralement, -à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. - -Le fait que vous puissiez accéder à cet en-tête signifie que vous avez -pris connaissance de la licence CeCILL-B, et que vous en avez accepté les +En contrepartie de l'accessibilite au code source et des droits de copie, +de modification et de redistribution accordes par cette licence, il n'est +offert aux utilisateurs qu'une garantie limitee. Pour les memes raisons, +seule une responsabilite restreinte pese sur l'auteur du programme, le +titulaire des droits patrimoniaux et les concedants successifs. + +A cet egard l'attention de l'utilisateur est attiree sur les risques +associes au chargement, a l'utilisation, a la modification et/ou au +developpement et a la reproduction du logiciel par l'utilisateur etant +donne sa specificite de logiciel libre, qui peut le rendre complexe a +manipuler et qui le reserve donc a des developpeurs et des professionnels +avertis possedant des connaissances informatiques approfondies. Les +utilisateurs sont donc invites a charger et tester l'adequation du +logiciel a leurs besoins dans des conditions permettant d'assurer la +securite de leurs systemes et ou de leurs donnees et, plus generalement, +a l'utiliser et l'exploiter dans les memes conditions de securite. + +Le fait que vous puissiez acceder a cet en-tete signifie que vous avez +pris connaissance de la licence CeCILL-B, et que vous en avez accepte les termes. Footer-MicMac-eLiSe-25/06/2007*/ diff --git a/src/uti_phgrm/CPP_Malt.cpp b/src/uti_phgrm/CPP_Malt.cpp index 12f935bb81..4b89ee3fc1 100644 --- a/src/uti_phgrm/CPP_Malt.cpp +++ b/src/uti_phgrm/CPP_Malt.cpp @@ -39,6 +39,11 @@ Header-MicMac-eLiSe-25/06/2007*/ #include "StdAfx.h" #include "XML_GEN/all_tpl.h" +#include "../uti_phgrm/MICMAC/cInterfModuleImageLoader.h" +#include "../uti_phgrm/MICMAC/Jp2ImageLoader.h" +#include "../uti_phgrm/MICMAC/cCameraModuleOrientation.h" +#include "../uti_phgrm/MICMAC/cOrientationRTO.h" + #if ELISE_QT #include "general/visual_mainwindow.h" #endif @@ -63,6 +68,95 @@ template void VerifIn(const Type & aV,const Type * aTab,int aNb, co ELISE_ASSERT(false,"Value is not in eligible set "); } +int getPlacePoint(const std::string fileName) +{ + int placePoint = -1; + for(int l=(int)(fileName.size()-1);(l>=0)&&(placePoint==-1);--l) + { + if (fileName[l]=='.') + { + placePoint = l; + } + } + return placePoint; +} + +Pt2di getImageSz(std::string const &aName) +{ + //on recupere l'extension + int placePoint = getPlacePoint(aName); + std::string ext = std::string(""); + if (placePoint!=-1) + { + ext.assign(aName.begin()+placePoint+1,aName.end()); + } + //std::cout << "Extension : "< aRes(new JP2ImageLoader(aName, false)); + if (aRes.get()) + { + return Std2Elise(aRes->Sz(1)); + } + } +#endif + + Tiff_Im aTif = Tiff_Im::StdConvGen(aName,1,true,false); + return aTif.sz(); +} + +bool getCamera(const std::string imageName, const std::string oriType, const std::string modeOri, const std::string mDir, const Pt2di ImgSz, shared_ptr& aCam, cInterfChantierNameManipulateur * mICNM) +{ + std::string orientationName; + ElAffin2D oriIntImaM2C; + + if (modeOri=="GRID") + { + int placePoint = getPlacePoint(imageName); + if (placePoint==-1) return false; + + std::string baseName; + baseName.assign(imageName.begin(),imageName.begin()+placePoint+1); + orientationName = mDir + baseName+oriType; + if (ELISE_fp::exist_file(orientationName)) + { + shared_ptr aCam2 (new cCameraModuleOrientation(new OrientationGrille(orientationName),ImgSz,oriIntImaM2C)); + aCam = aCam2; + } + } + else + { + //Soit il s'agit d'une orientation normale + if (ELISE_fp::exist_file(mDir + "Ori-" + oriType + "/Orientation-" + imageName + ".xml")) + { + orientationName = mDir + "Ori-" + oriType + "/Orientation-" + imageName + ".xml"; + + std::cout< aCam2 (Cam_Gen_From_File(orientationName,"OrientationConique", mICNM)); + aCam = aCam2; + } + //Soit d'une orientation passee par GenBundle + else if (ELISE_fp::exist_file(mDir + "Ori-" + oriType + "/GB-Orientation-" + imageName + ".xml")) + { + orientationName = mDir + "Ori-" + oriType + "/GB-Orientation-" + imageName + ".xml"; + + shared_ptr aCam2 (new cCameraModuleOrientation(new OrientationRTO(orientationName),ImgSz,oriIntImaM2C)); + aCam = aCam2; + } + else + { + orientationName = ""; + } + } + + return (ELISE_fp::exist_file(orientationName)); +} + + class cAppliMalt { public : @@ -153,6 +247,7 @@ class cAppliMalt int mVSNI; int mNbDirPrgD; bool mPrgDReInject; + bool mSpatial; }; @@ -244,7 +339,8 @@ cAppliMalt::cAppliMalt(int argc,char ** argv) : mMaxFlow (false), mSzRec (50), mNbDirPrgD (7), - mPrgDReInject (false) + mPrgDReInject (false), + mSpatial (false) { #if ELISE_QT @@ -298,7 +394,8 @@ cAppliMalt::cAppliMalt(int argc,char ** argv) : InitDefValFromType(); - Box2dr aBoxClip, aBoxTerrain; + Box2dr aBoxClip, aBoxTerrain, aBoxTerrainGeomIm; + double aZMin=-999; double aResolTerrain; double aRatioResolImage=1; @@ -373,6 +470,8 @@ cAppliMalt::cAppliMalt(int argc,char ** argv) : << EAM(mIncidMax,"IncMax",true,"Maximum incidence of image", eSAM_NoInit) << EAM(aBoxClip,"BoxClip",true,"To Clip Computation, normalized image coordinates ([0,0,1,1] means full box)", eSAM_Normalize) << EAM(aBoxTerrain,"BoxTerrain",true,"([Xmin,Ymin,Xmax,Ymax])") + << EAM(aBoxTerrainGeomIm,"BoxTerrainGeomIm",true,"For GeomImage, using orientation to project... ([Xmin,Ymin,Xmax,Ymax])") + << EAM(aZMin,"ZMin",true,"to compute BoxTerrainGeomIm projection in the image") << EAM(aResolTerrain,"ResolTerrain",true,"Ground Resol (Def automatically computed)", eSAM_NoInit) << EAM(aRatioResolImage,"RRI",true,"Ratio Resol Image (f.e. if set to 0.8 and image resol is 2.0, will be computed at 1.6)", eSAM_NoInit) << EAM(mRoundResol,"RoundResol",true,"Use rounding of resolution (def context dependent,tuning purpose)", eSAM_InternalUse) @@ -393,9 +492,10 @@ cAppliMalt::cAppliMalt(int argc,char ** argv) : << EAM(mNbDirPrgD,"NbDirPrgD",true,"Nb Dir for prog dyn, (rather for tuning)") << EAM(mPrgDReInject,"PrgDReInject",true,"Reinjection mode for Prg Dyn (experimental)") << EAM(OrthoImSupMNT,"OISM",true,"When true footprint of ortho-image=footprint of DSM") + << EAM(mSpatial,"Spatial",true,"Compute the DTM with spatial optimized parameters") << EAM(aDEMInitIMG,"DEMInitIMG",true,"img of the DEM used to initialise the depth research", eSAM_NoInit) << EAM(aDEMInitXML,"DEMInitXML",true,"xml of the DEM used to initialise the depth research", eSAM_NoInit) - ); + ); if (!MMVisualMode) { @@ -712,6 +812,18 @@ cAppliMalt::cAppliMalt(int argc,char ** argv) : std::string aFileMM = "MM-Malt.xml"; + if (mSpatial && mType==eGeomImage) + { + aFileMM="MM-Malt-Spatial.xml"; + mSzW = 2; + mZRegul = 0.12; +// mAffineLast = true; + mZPas = 1.0; + mCostTrans = 4.0; + mDefCor = 0.3; + mNbMinIV = 2; + } + if (0) { std::cout << "TTTTESSTTTTTT MALT !!!!!!!!\n";// getchar(); @@ -1228,6 +1340,78 @@ cAppliMalt::cAppliMalt(int argc,char ** argv) : + std::string(" +Y1Terrain=") + ToString(aBoxTerrain._p1.y) ; } + if (EAMIsInit(&aBoxTerrainGeomIm) && eGeomImage) + { + std::cout << "Calcul d'une boxImage a partir de celle ci (Terrain): " << aBoxTerrainGeomIm << std::endl; + + Pt2di ImgSz = getImageSz(mDir + mImMaster); + std::cout << "ImgSz: " << ImgSz.x << " " << ImgSz.y << std::endl; + std::cout << "ZMin: "<< aZMin<< std::endl; + + if (aZMin==-999) + { + std::cout << "*****************************************************************************" << std::endl; + std::cout << "***** Donner le ZMin pour reprojeter la BoxTerrain en coordonnees image *****" << std::endl; + std::cout << "*****************************************************************************" << std::endl; + return; + } + shared_ptr aCam; + + if (!getCamera(mImMaster,mOri,mModeOri,mDir,ImgSz, aCam, mICNM)) + { + std::cout << "No orientation file for " << mImMaster << " - skip " << std::endl; + return; + } + + //Ecriture en pt3d pour utiliser Ter2Capteur + Pt3dr PtSO, PtSE, PtNO, PtNE; + PtSO.x = aBoxTerrainGeomIm._p0.x; PtSO.y = aBoxTerrainGeomIm._p0.y; PtSO.z = aZMin; + PtNE.x = aBoxTerrainGeomIm._p1.x; PtNE.y = aBoxTerrainGeomIm._p1.y; PtNE.z = aZMin; + PtSE.x = PtNE.x; PtSE.y = PtSO.y; PtSE.z = aZMin; + PtNO.x = PtSO.x; PtNO.y = PtNE.y; PtNO.z = aZMin; + Pt2dr ptINO = aCam->Ter2Capteur(PtNO); + Pt2dr ptINE = aCam->Ter2Capteur(PtNE); + Pt2dr ptISO = aCam->Ter2Capteur(PtSO); + Pt2dr ptISE = aCam->Ter2Capteur(PtSE); + + std::cout << "ptINO : " << ptINO.x << " " << ptINO.y << std::endl; + std::cout << "ptINE : " << ptINE.x << " " << ptINE.y << std::endl; + std::cout << "ptISO : " << ptISO.x << " " << ptISO.y << std::endl; + std::cout << "ptISE : " << ptISE.x << " " << ptISE.y << std::endl; + + int marge = 20; // en pixel + + int cmin = std::min(std::min(ptINE.x,ptISE.x), std::min(ptINO.x,ptISO.x))-marge; + cmin = std::max(cmin, 0); + + int lmin = std::min(std::min(ptINE.y,ptISE.y), std::min(ptINO.y,ptISO.y))-marge; + lmin = std::max(lmin, 0); + + int cmax = std::max(std::max(ptINE.x,ptISE.x), std::max(ptINO.x,ptISO.x))+marge; + cmax = std::min(cmax, ImgSz.x); + + int lmax = std::max(std::max(ptINE.y,ptISE.y), std::max(ptINO.y,ptISO.y))+marge; + lmax = std::min(lmax, ImgSz.y); + + std::cout << "BOX : " << cmin << " " << lmin << " " << cmax << " " << lmax << std::endl; + + if (cmin>=ImgSz.x || cmax<=0 || lmin>=ImgSz.y || lmax<=0) + { + std::cout << "**********************************************************************" << std::endl; + std::cout << "******* La BoxTerrainGeomIm est en dehors de l'image maitresse *******" << std::endl; + std::cout << "**********************************************************************" << std::endl; + return; + } + else + { + mCom = mCom + " +UseBoxTerrain=true " + + std::string(" +X0Terrain=") + ToString(cmin) + + std::string(" +Y0Terrain=") + ToString(lmin) + + std::string(" +X1Terrain=") + ToString(cmax) + + std::string(" +Y1Terrain=") + ToString(lmax) ; + } + } + if (EAMIsInit(&mMaxFlow)) mCom = mCom + " +AlgoMaxFlow=" + ToString(mMaxFlow); if (EAMIsInit(&mSzRec)) mCom = mCom + " +SzRec=" + ToString(mSzRec); @@ -1241,6 +1425,8 @@ cAppliMalt::cAppliMalt(int argc,char ** argv) : { if (mMCorPonc) mCom = mCom + " +ModeAgrCor=eAggregIm1Maitre"; + else if (mSpatial) + mCom = mCom + " +ModeAgrCor=eAggregSymetrique"; else mCom = mCom + " +ModeAgrCor=eAggregMoyMedIm1Maitre"; } @@ -1260,8 +1446,14 @@ cAppliMalt::cAppliMalt(int argc,char ** argv) : mCom= mCom + " +UseClas2=true" + " +Clas2=" +QUOTE(mEquiv[1]); if (mEquiv.size()>2) mCom= mCom + " +UseClas3=true" + " +Clas3=" +QUOTE(mEquiv[2]); - if (mEquiv.size()>3) + mCom= mCom + " +UseClas4=true" + " +Clas4=" +QUOTE(mEquiv[3]); + if (mEquiv.size()>4) + mCom= mCom + " +UseClas5=true" + " +Clas5=" +QUOTE(mEquiv[4]); + if (mEquiv.size()>5) + mCom= mCom + " +UseClas6=true" + " +Clas6=" +QUOTE(mEquiv[5]); + + if (mEquiv.size()>6) ELISE_ASSERT(false,"too many equiv class for Malt, use MicMac"); } if (mPenalSelImBestNadir>0) diff --git a/src/uti_phgrm/MICMAC/cAppliMICMAC_GPU.cpp b/src/uti_phgrm/MICMAC/cAppliMICMAC_GPU.cpp index 1bb0b255bd..8646d885f0 100644 --- a/src/uti_phgrm/MICMAC/cAppliMICMAC_GPU.cpp +++ b/src/uti_phgrm/MICMAC/cAppliMICMAC_GPU.cpp @@ -1414,25 +1414,61 @@ if (0) int aY0 = anY - mCurSzV0.x; int aY1 = anY + mCurSzV0.x; - + std::string mode = "normal"; +// /* NORMAL + std::vector imageM; for (int aXV=aX0 ; aXV<=aX1 ; aXV++) { for (int aYV=aY0 ; aYV<=aY1 ; aYV++) { double aSV = 0; double aSVV = 0; + std::vector vectMediane; for (int aKIm=0 ; aKImValNorm(aXV,aYV); // std::cout << "VvV = " << aV << "\n"; aSV += aV; aSVV += QSquare(aV) ; + vectMediane.push_back(aV); + } + + if(mode=="normal") + anEC2 += (aSVV-QSquare(aSV)/aNbImCur); + else if(mode=="moyenne") + { + aSV/=aNbImCur; + imageM.push_back(aSV); + } + else if (mode == "mediane") + { + std::sort(vectMediane.begin(), vectMediane.end()); + if (vectMediane.size()%2==0) + imageM.push_back((vectMediane[vectMediane.size()/2]+vectMediane[vectMediane.size()/2-1])/2); + else + imageM.push_back(vectMediane[(vectMediane.size()-1)/2]); } - anEC2 += (aSVV-QSquare(aSV)/aNbImCur); } } + // std::cout << "NOCMS " << anEC2 << "\n"; - aCost = anEC2 / ((aNbImCur -1) * mNbPtsWFixe); + + if(mode=="normal") + aCost = anEC2 / ((aNbImCur -1) * mNbPtsWFixe); + else + { + double aSVmoy = 0; + double aSVVmoy = 0; + for (size_t aI=0 ; aI > histo2d_norm(nb_bins,std::vector(nb_bins,0.)); @@ -692,7 +702,7 @@ void cStatGlob::SetSomsMade(bool aSSM) /*Footer-MicMac-eLiSe-25/06/2007 -Ce logiciel est un programme informatique servant à la mise en +Ce logiciel est un programme informatique servant � la mise en correspondances d'images pour la reconstruction du relief. Ce logiciel est régi par la licence CeCILL-B soumise au droit français et @@ -708,17 +718,17 @@ seule une responsabilité restreinte pèse sur l'auteur du programme, le titulaire des droits patrimoniaux et les concédants successifs. A cet égard l'attention de l'utilisateur est attirée sur les risques -associés au chargement, à l'utilisation, à la modification et/ou au -développement et à la reproduction du logiciel par l'utilisateur étant -donné sa spécificité de logiciel libre, qui peut le rendre complexe à -manipuler et qui le réserve donc à des développeurs et des professionnels +associés au chargement, � l'utilisation, � la modification et/ou au +développement et � la reproduction du logiciel par l'utilisateur étant +donné sa spécificité de logiciel libre, qui peut le rendre complexe � +manipuler et qui le réserve donc � des développeurs et des professionnels avertis possédant des connaissances informatiques approfondies. Les -utilisateurs sont donc invités à charger et tester l'adéquation du -logiciel à leurs besoins dans des conditions permettant d'assurer la +utilisateurs sont donc invités � charger et tester l'adéquation du +logiciel � leurs besoins dans des conditions permettant d'assurer la sécurité de leurs systèmes et ou de leurs données et, plus généralement, -à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. +� l'utiliser et l'exploiter dans les mêmes conditions de sécurité. -Le fait que vous puissiez accéder à cet en-tête signifie que vous avez +Le fait que vous puissiez accéder � cet en-tête signifie que vous avez pris connaissance de la licence CeCILL-B, et que vous en avez accepté les termes. Footer-MicMac-eLiSe-25/06/2007*/ From 4ad77de634e7188201a6d2b92d8ec0da75c9d4f0 Mon Sep 17 00:00:00 2001 From: Tristan Faure Date: Mon, 3 Feb 2020 11:08:01 +0100 Subject: [PATCH 24/49] fix pour gcc7 : enum != bool --- src/uti_phgrm/CPP_Malt.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/uti_phgrm/CPP_Malt.cpp b/src/uti_phgrm/CPP_Malt.cpp index 4b89ee3fc1..b673f2e410 100644 --- a/src/uti_phgrm/CPP_Malt.cpp +++ b/src/uti_phgrm/CPP_Malt.cpp @@ -1340,7 +1340,7 @@ cAppliMalt::cAppliMalt(int argc,char ** argv) : + std::string(" +Y1Terrain=") + ToString(aBoxTerrain._p1.y) ; } - if (EAMIsInit(&aBoxTerrainGeomIm) && eGeomImage) + if (EAMIsInit(&aBoxTerrainGeomIm) && mType==eGeomImage) { std::cout << "Calcul d'une boxImage a partir de celle ci (Terrain): " << aBoxTerrainGeomIm << std::endl; From e745b70d90ae1dff034c29c4f1810a3b855a3394 Mon Sep 17 00:00:00 2001 From: Tristan Faure Date: Fri, 7 Feb 2020 11:43:47 +0100 Subject: [PATCH 25/49] Removing unused code --- applis/OLD-MICMAC-OLD/cStatNDistrib.cpp | 44 +++++++------- src/uti_phgrm/Apero/cCameraRPC.cpp | 77 ------------------------- 2 files changed, 22 insertions(+), 99 deletions(-) diff --git a/applis/OLD-MICMAC-OLD/cStatNDistrib.cpp b/applis/OLD-MICMAC-OLD/cStatNDistrib.cpp index 824376b511..dad6799b94 100644 --- a/applis/OLD-MICMAC-OLD/cStatNDistrib.cpp +++ b/applis/OLD-MICMAC-OLD/cStatNDistrib.cpp @@ -631,33 +631,33 @@ void cStatGlob::SetSomsMade(bool aSSM) /*Footer-MicMac-eLiSe-25/06/2007 -Ce logiciel est un programme informatique servant à la mise en +Ce logiciel est un programme informatique servant a la mise en correspondances d'images pour la reconstruction du relief. -Ce logiciel est régi par la licence CeCILL-B soumise au droit français et +Ce logiciel est regi par la licence CeCILL-B soumise au droit francais et respectant les principes de diffusion des logiciels libres. Vous pouvez utiliser, modifier et/ou redistribuer ce programme sous les conditions -de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA +de la licence CeCILL-B telle que diffusee par le CEA, le CNRS et l'INRIA sur le site "http://www.cecill.info". -En contrepartie de l'accessibilité au code source et des droits de copie, -de modification et de redistribution accordés par cette licence, il n'est -offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, -seule une responsabilité restreinte pèse sur l'auteur du programme, le -titulaire des droits patrimoniaux et les concédants successifs. - -A cet égard l'attention de l'utilisateur est attirée sur les risques -associés au chargement, à l'utilisation, à la modification et/ou au -développement et à la reproduction du logiciel par l'utilisateur étant -donné sa spécificité de logiciel libre, qui peut le rendre complexe à -manipuler et qui le réserve donc à des développeurs et des professionnels -avertis possédant des connaissances informatiques approfondies. Les -utilisateurs sont donc invités à charger et tester l'adéquation du -logiciel à leurs besoins dans des conditions permettant d'assurer la -sécurité de leurs systèmes et ou de leurs données et, plus généralement, -à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. - -Le fait que vous puissiez accéder à cet en-tête signifie que vous avez -pris connaissance de la licence CeCILL-B, et que vous en avez accepté les +En contrepartie de l'accessibilite au code source et des droits de copie, +de modification et de redistribution accordes par cette licence, il n'est +offert aux utilisateurs qu'une garantie limitee. Pour les memes raisons, +seule une responsabilite restreinte pese sur l'auteur du programme, le +titulaire des droits patrimoniaux et les concedants successifs. + +A cet egard l'attention de l'utilisateur est attiree sur les risques +associes au chargement, a l'utilisation, a la modification et/ou au +developpement et a la reproduction du logiciel par l'utilisateur etant +donne sa specificite de logiciel libre, qui peut le rendre complexe a +manipuler et qui le reserve donc a des developpeurs et des professionnels +avertis possedant des connaissances informatiques approfondies. Les +utilisateurs sont donc invites a charger et tester l'adequation du +logiciel a leurs besoins dans des conditions permettant d'assurer la +securite de leurs systemes et ou de leurs donnees et, plus generalement, +a l'utiliser et l'exploiter dans les memes conditions de securite. + +Le fait que vous puissiez acceder a cet en-tete signifie que vous avez +pris connaissance de la licence CeCILL-B, et que vous en avez accepte les termes. Footer-MicMac-eLiSe-25/06/2007*/ diff --git a/src/uti_phgrm/Apero/cCameraRPC.cpp b/src/uti_phgrm/Apero/cCameraRPC.cpp index b355bed5e3..53e8296e5c 100644 --- a/src/uti_phgrm/Apero/cCameraRPC.cpp +++ b/src/uti_phgrm/Apero/cCameraRPC.cpp @@ -4432,83 +4432,6 @@ int CalcBsurH_main(int argc,char ** argv) return EXIT_SUCCESS; } -int CalcBsurHGrid_main(int argc,char ** argv) -{ - - cInterfChantierNameManipulateur * aICNM; - std::string aFullName; - std::string aDir; - std::string aName; - std::list aListFile; - - - ElInitArgMain - ( - argc, argv, - LArgMain() << EAMC(aFullName,"Orientation file (or pattern) in cXml_CamGenPolBundle format"), - LArgMain() - ); - - SplitDirAndFile(aDir, aName, aFullName); - aICNM = cInterfChantierNameManipulateur::BasicAlloc(aDir); - aListFile = aICNM->StdGetListOfFile(aName); - - /* Print out the b sur h */ - int i=0, j=0; - std::list::iterator it1=aListFile.begin(); - for( ; it1 !=aListFile.end(); it1++, i++ ) - { - CameraRPC aCam1( aDir+(*it1)); - - - Pt2dr aCentIm1(double(aCam1.SzBasicCapt3D().x)/2,double(aCam1.SzBasicCapt3D().y)/2); - Pt3dr aTer = aCam1.ImEtZ2Terrain(aCentIm1, aCam1.GetAltiSol()); - - Pt3dr a01 = aCam1.OpticalCenterOfPixel(aCentIm1); - - - std::list::iterator it2=aListFile.begin(); - j=i; - for( it2=it1; it2 !=aListFile.end(); it2++, j++) - { - if( (*it1)!=(*it2)) - { - CameraRPC aCam2( aDir+(*it2) ); - - Pt2dr aTerBPrj = aCam2.Ter2Capteur(aTer); - - Pt3dr a02 = aCam2.OpticalCenterOfPixel(aTerBPrj); - - //H within the "epipolar plane" - double aA = sqrt(std::pow(a01.x - aTer.x,2) + std::pow(a01.y - aTer.y,2) + std::pow(a01.z - aTer.z,2) ); - double aB = sqrt(std::pow(a02.x - aTer.x,2) + std::pow(a02.y - aTer.y,2) + std::pow(a02.z - aTer.z,2) ); - double aC = sqrt(std::pow(a02.x - a01.x,2) + std::pow(a02.y - a01.y,2) + std::pow(a02.z - a01.z,2) ); - double aH = sqrt( aA*aB*(aA+aB+aC)*(aA+aB-aC) )/(aA+aB); - - //std::cout << "\n a01 " << a01 << ", a02 " << a02 << ", aCentIm1 " << aCentIm1 << ", aTerBPrj " << aTerBPrj << ", aTer " << aTer << "\n"; - //std::cout << " aA " << aA << ", aB " << aB << ", aC " << aC << ", aH " << aH << "\n"; - - std::cout << " (" << i << "," << j << ")" - << aC/aH; - } - else - std::cout << " (" << i << "," << j << ")0.0 "; - - } - - - std::cout << "\n"; - - } - - /* Print out the list of images */ - i=0; - for( it1=aListFile.begin(); it1 !=aListFile.end(); it1++, i++ ) - std::cout << i << " " << (*it1) << "\n"; - - return EXIT_SUCCESS; -} - double TestGradBCG ( cBasicGeomCap3D * aBGC, From 8b6f806088528f21854d9951f511fa213e52cc7f Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Tue, 11 Feb 2020 12:12:41 +0100 Subject: [PATCH 26/49] Update GraphPose remove getchar --- src/uti_phgrm/Apero/GraphePose.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/uti_phgrm/Apero/GraphePose.cpp b/src/uti_phgrm/Apero/GraphePose.cpp index 92599468ae..1a5a1d1067 100644 --- a/src/uti_phgrm/Apero/GraphePose.cpp +++ b/src/uti_phgrm/Apero/GraphePose.cpp @@ -142,7 +142,7 @@ void cAppliApero::ConstructMST } { std::cout << "MM " << MPD_MM() << " BLoc=" << UseBloc << "\n"; - getchar(); + //getchar(); } // A chaque iteration on va affecter un sommet From 0093ac46f979a891764cbaec336ec844dcbf5cd0 Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Tue, 11 Feb 2020 15:45:12 +0100 Subject: [PATCH 27/49] Add GpsLoc L1, L1Pds, Outliers --- src/uti_phgrm/Apero/GraphePose.cpp | 2 +- src/uti_phgrm/CPP_Bundler2MM.cpp | 4 +- src/uti_phgrm/NewOri/GpsLoc.cpp | 298 +++++++++++++++++++++++--- src/uti_phgrm/NewOri/cNewO_FicObs.cpp | 2 +- 4 files changed, 270 insertions(+), 36 deletions(-) diff --git a/src/uti_phgrm/Apero/GraphePose.cpp b/src/uti_phgrm/Apero/GraphePose.cpp index 92599468ae..1a5a1d1067 100644 --- a/src/uti_phgrm/Apero/GraphePose.cpp +++ b/src/uti_phgrm/Apero/GraphePose.cpp @@ -142,7 +142,7 @@ void cAppliApero::ConstructMST } { std::cout << "MM " << MPD_MM() << " BLoc=" << UseBloc << "\n"; - getchar(); + //getchar(); } // A chaque iteration on va affecter un sommet diff --git a/src/uti_phgrm/CPP_Bundler2MM.cpp b/src/uti_phgrm/CPP_Bundler2MM.cpp index c6a535c16e..441f8776b4 100644 --- a/src/uti_phgrm/CPP_Bundler2MM.cpp +++ b/src/uti_phgrm/CPP_Bundler2MM.cpp @@ -98,9 +98,9 @@ cAppliBundler::cAppliBundler(int argc, char** argv) : argc,argv, LArgMain() << EAMC(aDir,"Working dir. If inside put ./"), LArgMain() << EAM(mNameFile,"b",true,"bundler.txt, (if FromBundler or ToBundler)" ) - << EAM(mCCListAllFile,"l",true,"list.txt, (if FromBundler)") + << EAM(mCCListAllFile,"l",true,"list.txt, (if FromBundler or ToBundler)") << EAM(mCoordsFile,"c",true,"coords.txt, (if FromBundler)") - << EAM(mOri,"Ori",true,"Orientation directory, (if FromBundler or ToBundler)") + << EAM(mOri,"Ori",true,"Orientation directory withoout Ori-, (if FromBundler or ToBundler)") << EAM(mSH,"SH",true,"Homol Postfix") << EAM(aExpTxt,"ExpTxt",true,"Homol in ASCI?") << EAM(ConvHomMM2Bund,"ConvHom",true,"Convert homol to bundler format, Def=false") diff --git a/src/uti_phgrm/NewOri/GpsLoc.cpp b/src/uti_phgrm/NewOri/GpsLoc.cpp index 120106ecbb..2f3026a1e1 100644 --- a/src/uti_phgrm/NewOri/GpsLoc.cpp +++ b/src/uti_phgrm/NewOri/GpsLoc.cpp @@ -64,6 +64,14 @@ cSolBasculeRig StdSolFromPts int aNbL2 = 5 ); + +enum EstimType +{ + L1, + L1Pds, + L2 +}; + /** cXml_Rotation ElRotation3D Xml2El(const cXml_Rotation & aXml) @@ -126,22 +134,89 @@ class cGpsLoc_Som { public : cGpsLoc_Som(const std::string & aName); - cGpsLoc_Rep & Sol(); - Pt3dr & Gps(); + ~cGpsLoc_Som(); + + cGpsLoc_Rep & Sol(); + std::vector & SolPerTri(); + Pt3dr & Gps(); + + void RemoveOutliers(); + void CalcMedErr(); + + double & ErrMed(); + std::vector & Pds(); + void Save(cNewO_NameManager *); + inline std::string Name() {return mName;} + private : std::string mName; - cGpsLoc_Rep mSol;//centre perspective+rotation absolute calculé - Pt3dr mGPS;//centre perspectif mesuré par le GPS + cGpsLoc_Rep mSol;//final centre perspective+rotation absolute calculé + std::vector mSolPerTri;//vector of solutions from N triplets + Pt3dr mGPS;//centre perspectif mesuré par le GPS + + double * mErrMed; + std::vector mPds; }; cGpsLoc_Som::cGpsLoc_Som(const std::string & aName) : - mName (aName) + mName (aName), + mErrMed(NULL) { } +cGpsLoc_Som::~cGpsLoc_Som() +{ + if (mErrMed) + delete mErrMed; +} + +std::vector & cGpsLoc_Som::SolPerTri() {return mSolPerTri;} +cGpsLoc_Rep & cGpsLoc_Som::Sol() {return mSol;} +Pt3dr & cGpsLoc_Som::Gps() {return mGPS;} +double & cGpsLoc_Som::ErrMed() {return *mErrMed;} +std::vector & cGpsLoc_Som::Pds() {return mPds;} + + +void cGpsLoc_Som::CalcMedErr() +{ + std::vector anErr; + + for (auto aOri : mSolPerTri) + { + anErr.push_back (euclid(mGPS - aOri.Ori())); + } + + mErrMed = new double; + (*mErrMed) = KthValProp(anErr,0.75); + std::cout << mName << " Median Err " << (*mErrMed) << "\n"; +} + +void cGpsLoc_Som::RemoveOutliers() +{ + + if (mErrMed) + { + std::vector aSolPerTriNew; + std::vector aPdsNew; + + double anErr = 0; + int Nb = mSolPerTri.size(); + for (int aK=0; aKGps(),1.0); + AddEllips(anEl,mSoms[1]->Gps(),1.0); + AddEllips(anEl,mSoms[2]->Gps(),1.0); + NormEllips(anEl); + mGG = new cGenGaus3D(anEl); + + //std::cout << mGG->ValP(0) << " " << mGG->ValP(1) << " " << mGG->ValP(2) << "\n"; + //std::cout << mSoms[0]->Name() << " " << mSoms[1]->Name() << " " << mSoms[2]->Name() << "\n"; } @@ -194,43 +287,61 @@ void cGpsLoc_Triplet::InitSomTrivial() for (auto aK : {0,1,2}) { - //mSoms[aK]->Sol() = mReps[aK]; mVP1.push_back(mReps[aK].Ori()); mVP2.push_back(mSoms[aK]->Gps()); } //le calcul de la similitude (7parametrs) à partir de points dans les deux reperes - cSolBasculeRig aSol = cSolBasculeRig::StdSolFromPts(mVP1,mVP2); + mBasc = cSolBasculeRig::StdSolFromPts(mVP1,mVP2); - //la pose calculée - ElRotation3D aPose(aSol.Tr(),aSol.Rot(),true); + ElRotation3D aPose(mBasc.Tr(),mBasc.Rot(),true); - /* - std::cout << "Bascule, Tr=" << aSol.Tr() << ", Lambda=" << aSol.Lambda() << "\n"; - std::cout << ", Rot=" << aSol.Rot()(0,0) << ", " << aSol.Rot()(0,1) << ", " << aSol.Rot()(0,2) << "\n" - << aSol.Rot()(1,0) << ", " << aSol.Rot()(1,1) << ", " << aSol.Rot()(1,2) << "\n" - << aSol.Rot()(2,0) << ", " << aSol.Rot()(2,1) << ", " << aSol.Rot()(2,2) << "\n"; - */ + + /*std::cout << "Bascule, Tr=" << mBasc.Tr() << ", Lambda=" << mBasc.Lambda() << "\n"; + std::cout << ", Rot=" << mBasc.Rot()(0,0) << ", " << mBasc.Rot()(0,1) << ", " << mBasc.Rot()(0,2) << "\n" + << mBasc.Rot()(1,0) << ", " << mBasc.Rot()(1,1) << ", " << mBasc.Rot()(1,2) << "\n" + << mBasc.Rot()(2,0) << ", " << mBasc.Rot()(2,1) << ", " << mBasc.Rot()(2,2) << "\n";*/ + //sauvgaurde de la pose dans l'objet de la classe for (auto aK : {0,1,2}) { - Pt3dr aPEch( mReps[aK].Ori().x * aSol.Lambda(), - mReps[aK].Ori().y * aSol.Lambda(), - mReps[aK].Ori().z * aSol.Lambda() ); + Pt3dr aPEch( mReps[aK].Ori().x * mBasc.Lambda(), + mReps[aK].Ori().y * mBasc.Lambda(), + mReps[aK].Ori().z * mBasc.Lambda() ); //calcul de la position du centre perspectif de la camera aK dans repere absolut Pt3dr aOriBasc = aPose.ImAff(aPEch); // tk + Mk * Ckj; ElMatrix aRotBasc = aPose.Mat() * mReps[aK].MatRot();// Mk * Mkj mSoms[aK]->Sol() = cGpsLoc_Rep(ElRotation3D(aOriBasc,aRotBasc,true)); - + + //sauvgarde de tous les candidates + std::vector & aSolPerTri = mSoms[aK]->SolPerTri(); + aSolPerTri.push_back(cGpsLoc_Rep(ElRotation3D(aOriBasc,aRotBasc,true))); + + //save Pds + std::vector & aPds = mSoms[aK]->Pds(); + aPds.push_back(1.0); + + if (0) + PrintCurSoms(); } } +void cGpsLoc_Triplet::PrintCurSoms() +{ + for (auto aK : {0,1,2}) + { + std::cout << "img=" << mSoms[aK]->Name() << " " << mSoms[aK]->Sol().Ori() << ", \n" + << mSoms[aK]->Sol().MatRot()(0,0) << ", " << mSoms[aK]->Sol().MatRot()(0,1) << ", " << mSoms[aK]->Sol().MatRot()(0,2) << "\n" + << mSoms[aK]->Sol().MatRot()(1,0) << ", " << mSoms[aK]->Sol().MatRot()(1,1) << ", " << mSoms[aK]->Sol().MatRot()(1,2) << "\n" + << mSoms[aK]->Sol().MatRot()(2,0) << ", " << mSoms[aK]->Sol().MatRot()(2,1) << ", " << mSoms[aK]->Sol().MatRot()(2,2) << "\n"; + } +} /* ========================================= */ @@ -245,12 +356,22 @@ class cAppliGpsLoc : public cCommonMartiniAppli cAppliGpsLoc(int argc,char ** argv); private : void InitSom(); + void CalcOptSol(); + void CalcMedErr(); + void RemoveOutliers(); + + cGpsLoc_Rep CalcL1(std::vector& aCandidateSol); + cGpsLoc_Rep CalcL1Pds(std::vector& aCandidateSol,std::vector& aPds); + + EstimType Str2Enum(std::string& aStr); std::string mDir; // Associe un nom d'image a l'objet C++ std::map mMapS; std::vector mV3; int mNbSom; + + EstimType mET; }; void cAppliGpsLoc::InitSom() @@ -258,14 +379,121 @@ void cAppliGpsLoc::InitSom() } +void cAppliGpsLoc::CalcMedErr() +{ + for(auto aS : mMapS) + aS.second->CalcMedErr(); + +} + +void cAppliGpsLoc::RemoveOutliers() +{ + for(auto aS : mMapS) + aS.second->RemoveOutliers(); +} + + +void cAppliGpsLoc::CalcOptSol() +{ + //calculate the median error per sommet + CalcMedErr(); + + //remove outliers + RemoveOutliers(); + + //calculate the optimal solution on inliers + for(auto aS : mMapS) + { + switch (mET) + { + case L1 : + aS.second->Sol() = CalcL1(aS.second->SolPerTri()); + break; + case L1Pds : + aS.second->Sol() = CalcL1Pds(aS.second->SolPerTri(),aS.second->Pds()); + break; + case L2 : //TO-DO + break; + + } + } +} + +cGpsLoc_Rep cAppliGpsLoc::CalcL1(std::vector& aCandidateSol) +{ + + int Nb = aCandidateSol.size(); + Pt3dr aOri(0,0,0); + ElMatrix aRotBasc(3,3); + + for (auto aK : aCandidateSol) + { + aOri.x += aK.Ori().x; + aOri.y += aK.Ori().y; + aOri.z += aK.Ori().z; + aRotBasc += aK.MatRot(); + } + aOri.x /= Nb; + aOri.y /= Nb; + aOri.z /= Nb; + aRotBasc *= double(1)/Nb; + aRotBasc = NearestRotation(aRotBasc); + + + return cGpsLoc_Rep(ElRotation3D(aOri,aRotBasc,true)); +} + +cGpsLoc_Rep cAppliGpsLoc::CalcL1Pds(std::vector& aCandidateSol, std::vector& aPds) +{ + + ELISE_ASSERT(aPds.size()==aCandidateSol.size(),"Incoherent size for Pds and solution candidates."); + + + int aJ=0; + double aPdsSom=0; + Pt3dr aOri(0,0,0); + ElMatrix aRotBasc(3,3); + + for (auto aK : aCandidateSol) + { + aOri.x += (aK.Ori().x * aPds.at(aJ)); + aOri.y += (aK.Ori().y * aPds.at(aJ)); + aOri.z += (aK.Ori().z * aPds.at(aJ)); + aRotBasc += (aK.MatRot() * aPds.at(aJ)); + + aPdsSom += aPds.at(aJ); + + aJ++; + } + aOri.x /= aPdsSom; + aOri.y /= aPdsSom; + aOri.z /= aPdsSom; + aRotBasc *= double(1)/aPdsSom; + aRotBasc = NearestRotation(aRotBasc); + + return cGpsLoc_Rep(ElRotation3D(aOri,aRotBasc,true)); +} + +EstimType cAppliGpsLoc::Str2Enum(std::string& aStr) +{ + if (aStr=="L1") + return L1; + else if (aStr=="L1Pds") + return L1Pds; + else + return L2; +} + cAppliGpsLoc::cAppliGpsLoc(int argc,char ** argv) : cCommonMartiniAppli (), - mDir ("./") + mDir ("./"), + mET (L1) { int tata; std::string aPat; std::string aDir; std::string aGpsOri; + std::string EstimTypeStr; cInterfChantierNameManipulateur * aICNM; @@ -277,6 +505,7 @@ cAppliGpsLoc::cAppliGpsLoc(int argc,char ** argv) : LArgMain() << EAMC(aPat,"Pattern of images", eSAM_IsExistFile) << EAMC(aGpsOri,"GPS orientation (OrientationConique)", eSAM_IsExistFile) , LArgMain() << EAM(tata,"GenOri",true,"Generate Ori, Def=true, false for quick process to RedTieP") + << EAM(EstimTypeStr,"EType",true,"L1, L1Pds, L2") << ArgCMA() ); @@ -284,6 +513,9 @@ cAppliGpsLoc::cAppliGpsLoc(int argc,char ** argv) : replace( aPat.begin(), aPat.end(), '\\', '/' ); #endif + if (EAMIsInit(&EstimTypeStr)) + mET = Str2Enum(EstimTypeStr); + SplitDirAndFile(aDir,aPat,aPat); StdCorrecNameOrient(aGpsOri,aDir);//ajoutera "Ori-" devant aGpsOri si necessaire @@ -315,7 +547,6 @@ cAppliGpsLoc::cAppliGpsLoc(int argc,char ** argv) : mMapS[aName] = new cGpsLoc_Som(aName); mMapS[aName]->Gps() = aC; - //std::cout << "+Pt3dr=" << mMapS[aName]->Gps() << "\n"; } @@ -327,7 +558,7 @@ cAppliGpsLoc::cAppliGpsLoc(int argc,char ** argv) : cXml_TopoTriplet aLT = StdGetFromSI(aNameLTriplets,Xml_TopoTriplet); //pour chaque triplets - // + verifie s'il existe son sommet + // + verifie s'il y existe son sommet // + recuper les cGpsLoc_Som correspondant a chaque image d'un triplet (absolut) // + recuper le nom de fichier qui contient l'orientation d'un triplet (relatif)(aName3R) // + lecture du fichier (aXml3Ori) @@ -359,17 +590,20 @@ cAppliGpsLoc::cAppliGpsLoc(int argc,char ** argv) : } else { // calcul pour chaque triplet -/* Commente car warning unused + for (auto a3 : mV3) { - //a faire: - //- calcul de lorientation absolute pour chaque sommet dans chaque triplet independement - // (alors on dispose de plusiers poses abs pour chaque sommet) - //- estimer la transformation de similitude (7param) la plus robuste en prennant en compte toutes les resultat + a3.InitSomTrivial(); } -*/ - } + + //calculate an optimal solution + CalcOptSol(); + + //save + for (auto aS : mMapS) + aS.second->Save(aNM); + } diff --git a/src/uti_phgrm/NewOri/cNewO_FicObs.cpp b/src/uti_phgrm/NewOri/cNewO_FicObs.cpp index a295280ef3..fac8430d88 100644 --- a/src/uti_phgrm/NewOri/cNewO_FicObs.cpp +++ b/src/uti_phgrm/NewOri/cNewO_FicObs.cpp @@ -1191,7 +1191,7 @@ double cAppliFictObs::CalcPoids(double aPds) else if (mPdsFun=="L1") aRes= aPds / double(NbPtsMax); else if (mPdsFun == "L2") - aRes = 1- ((aPds*NbPtsMax) / (aPds+NbPtsMax))/aPds; + aRes = 1- ((NbPtsMax) / (aPds+NbPtsMax)); //aRes = std::pow(aPds,0.3) / std::pow(NbPtsMax,0.3); From 2dda42f23907b3ef5a9ca20e094f953d32bd6c81 Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Wed, 12 Feb 2020 10:49:16 +0100 Subject: [PATCH 28/49] Add cPose header --- src/uti_phgrm/Apero/cPose.cpp | 37 ++--- src/uti_phgrm/Apero/cPose.h | 199 ++++++++++++++++++++++++++ src/uti_phgrm/CPP_Morito.cpp | 2 +- src/uti_phgrm/NewOri/cNewO_FicObs.cpp | 6 +- 4 files changed, 219 insertions(+), 25 deletions(-) create mode 100644 src/uti_phgrm/Apero/cPose.h diff --git a/src/uti_phgrm/Apero/cPose.cpp b/src/uti_phgrm/Apero/cPose.cpp index d816b6f355..272594a650 100644 --- a/src/uti_phgrm/Apero/cPose.cpp +++ b/src/uti_phgrm/Apero/cPose.cpp @@ -43,7 +43,7 @@ Header-MicMac-eLiSe-25/06/2007*/ -#include "Apero.h" +#include "cPose.h" /* ========== cStructRigidInit ============*/ @@ -56,20 +56,13 @@ cStructRigidInit::cStructRigidInit(cPoseCam * RigidMere,const ElRotation3D & aR) static const int NbMinCreateIm = 200; -class cPtAVGR; -class cAperoVisuGlobRes; +//class cPtAVGR; +//class cAperoVisuGlobRes; + +/***************** classes moved to cPose.h *******************/ /*=========== cPtAVGR ===========*/ -class cPtAVGR -{ - public : - cPtAVGR (const Pt3dr & aP,double aRes); - Pt3df mPt; - float mRes; - float mResFiltr; - bool mInQt; -}; cPtAVGR::cPtAVGR(const Pt3dr & aP,double aRes) : @@ -78,15 +71,15 @@ cPtAVGR::cPtAVGR(const Pt3dr & aP,double aRes) : { } -class cFoncPtOfPtAVGR +/*class cFoncPtOfPtAVGR { public : Pt2dr operator () (cPtAVGR * aP) {return Pt2dr(aP->mPt.x,aP->mPt.y);} -}; +};*/ /*=========== cAperoVisuGlobRes ===========*/ -typedef enum +/*typedef enum { eBAVGR_X, eBAVGR_Y, @@ -122,7 +115,7 @@ class cAperoVisuGlobRes cPlyCloud mPC; cPlyCloud mPCLeg; // Legende double mVMilZ; -}; +};*/ cAperoVisuGlobRes::cAperoVisuGlobRes() : @@ -356,7 +349,7 @@ static cAperoVisuGlobRes mAVGR; //============================================ -class cInfoAccumRes +/*class cInfoAccumRes { public : cInfoAccumRes(const Pt2dr & aPt,double aPds,double aResidu,const Pt2dr & aDir); @@ -365,7 +358,7 @@ class cInfoAccumRes double mPds; double mResidu; Pt2dr mDir; -}; +};*/ cInfoAccumRes::cInfoAccumRes(const Pt2dr & aPt,double aPds,double aResidu,const Pt2dr & aDir) : @@ -376,7 +369,7 @@ cInfoAccumRes::cInfoAccumRes(const Pt2dr & aPt,double aPds,double aResidu,const { } -class cAccumResidu +/*class cAccumResidu { public : void Accum(const cInfoAccumRes &); @@ -407,7 +400,7 @@ class cAccumResidu bool mInit; int mDegPol; L2SysSurResol * mSys; -}; +};*/ cAccumResidu::cAccumResidu(Pt2di aSz,double aResol,bool OnlySign,int aDegPol) : mNbInfo (0), @@ -1689,12 +1682,12 @@ double DistanceMatr(const ElRotation3D & aR1,const ElRotation3D & aR2) return aId.L2(aMatr); } -class cTransfo3DIdent : public cTransfo3D +/*class cTransfo3DIdent : public cTransfo3D { public : std::vector Src2Cibl(const std::vector & aSrc) const {return aSrc;} -}; +};*/ extern bool DebugOFPA; diff --git a/src/uti_phgrm/Apero/cPose.h b/src/uti_phgrm/Apero/cPose.h new file mode 100644 index 0000000000..00aa2e12c8 --- /dev/null +++ b/src/uti_phgrm/Apero/cPose.h @@ -0,0 +1,199 @@ +/*Header-MicMac-eLiSe-25/06/2007 + + MicMac : Multi Image Correspondances par Methodes Automatiques de Correlation + eLiSe : ELements of an Image Software Environnement + + www.micmac.ign.fr + + + Copyright : Institut Geographique National + Author : Marc Pierrot Deseilligny + Contributors : Gregoire Maillet, Didier Boldo. + +[1] M. Pierrot-Deseilligny, N. Paparoditis. + "A multiresolution and optimization-based image matching approach: + An application to surface reconstruction from SPOT5-HRS stereo imagery." + In IAPRS vol XXXVI-1/W41 in ISPRS Workshop On Topographic Mapping From Space + (With Special Emphasis on Small Satellites), Ankara, Turquie, 02-2006. + +[2] M. Pierrot-Deseilligny, "MicMac, un lociel de mise en correspondance + d'images, adapte au contexte geograhique" to appears in + Bulletin d'information de l'Institut Geographique National, 2007. + +Francais : + + MicMac est un logiciel de mise en correspondance d'image adapte + au contexte de recherche en information geographique. Il s'appuie sur + la bibliotheque de manipulation d'image eLiSe. Il est distibue sous la + licences Cecill-B. Voir en bas de fichier et http://www.cecill.info. + + +English : + + MicMac is an open source software specialized in image matching + for research in geographic information. MicMac is built on the + eLiSe image library. MicMac is governed by the "Cecill-B licence". + See below and http://www.cecill.info. + +Header-MicMac-eLiSe-25/06/2007*/ + +#ifndef _POSE_H_ +#define _POSE_H_ + +#include "Apero.h" + +class cPtAVGR; +class cFoncPtOfPtAVGR; +class cAperoVisuGlobRes; +class cTransfo3DIdent; +class cInfoAccumRes; +class cAccumResidu; + + + +class cPtAVGR +{ + public : + cPtAVGR (const Pt3dr & aP,double aRes); + Pt3df mPt; + float mRes; + float mResFiltr; + bool mInQt; +}; + + +typedef enum +{ + eBAVGR_X, + eBAVGR_Y, + eBAVGR_Z, + eBAVGR_Res +} eBoxAVGR; + +class cFoncPtOfPtAVGR +{ + public : + Pt2dr operator () (cPtAVGR * aP) {return Pt2dr(aP->mPt.x,aP->mPt.y);} +}; + + +class cAperoVisuGlobRes +{ + public : + void AddResidu(const Pt3dr & aP,double aRes); + void DoResidu(const std::string & aDir,int aNbMes); + + cAperoVisuGlobRes(); + + private : + Interval CalculBox(double & aVMil,double & aResol,eBoxAVGR aMode,double PropElim,double Rab); + Box2dr CalculBox_XY(double PropElim,double Rab); + double ToEcartStd(double anE) const; + double FromEcartStd(double anE) const; + Pt3di ColOfEcart(double anE); + + typedef ElQT tQtTiepT; + + int mNbPts; + std::list mLpt; + tQtTiepT * mQt; + double mResol; + double mResolX; + double mResolY; + double mSigRes; + double mMoyRes; + cPlyCloud mPC; + cPlyCloud mPCLeg; // Legende + double mVMilZ; +}; + +class cTransfo3DIdent : public cTransfo3D +{ + public : + std::vector Src2Cibl(const std::vector & aSrc) const {return aSrc;} + +}; + + +class cInfoAccumRes +{ + public : + cInfoAccumRes(const Pt2dr & aPt,double aPds,double aResidu,const Pt2dr & aDir); + + Pt2dr mPt; + double mPds; + double mResidu; + Pt2dr mDir; +}; + + +class cAccumResidu +{ + public : + void Accum(const cInfoAccumRes &); + cAccumResidu(Pt2di aSz,double aRed,bool OnlySign,int aDegPol); + + const Pt2di & SzRed() {return mSzRed;} + + void Export(const std::string & aDir,const std::string & aName,const cUseExportImageResidu &,FILE * ); + void ExportResXY(TIm2D* aTResX,TIm2D* aTResY); + void ExportResXY(const Pt2di&,Pt2dr& aRes); + private : + void AccumInImage(const cInfoAccumRes &); + + std::list mLIAR; + int mNbInfo; + double mSomPds; + bool mOnlySign; + double mResol; + Pt2di mSz; + Pt2di mSzRed; + + Im2D_REAL4 mPds; + TIm2D mTPds; + Im2D_REAL4 mMoySign; + TIm2D mTMoySign; + Im2D_REAL4 mMoyAbs; + TIm2D mTMoyAbs; + bool mInit; + int mDegPol; + L2SysSurResol * mSys; +}; + +#endif // _POSE_H_ + + +/*Footer-MicMac-eLiSe-25/06/2007 + +Ce logiciel est un programme informatique servant à la mise en +correspondances d'images pour la reconstruction du relief. + +Ce logiciel est régi par la licence CeCILL-B soumise au droit français et +respectant les principes de diffusion des logiciels libres. Vous pouvez +utiliser, modifier et/ou redistribuer ce programme sous les conditions +de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA +sur le site "http://www.cecill.info". + +En contrepartie de l'accessibilité au code source et des droits de copie, +de modification et de redistribution accordés par cette licence, il n'est +offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, +seule une responsabilité restreinte pèse sur l'auteur du programme, le +titulaire des droits patrimoniaux et les concédants successifs. + +A cet égard l'attention de l'utilisateur est attirée sur les risques +associés au chargement, à l'utilisation, à la modification et/ou au +développement et à la reproduction du logiciel par l'utilisateur étant +donné sa spécificité de logiciel libre, qui peut le rendre complexe à +manipuler et qui le réserve donc à des développeurs et des professionnels +avertis possédant des connaissances informatiques approfondies. Les +utilisateurs sont donc invités à charger et tester l'adéquation du +logiciel à leurs besoins dans des conditions permettant d'assurer la +sécurité de leurs systèmes et ou de leurs données et, plus généralement, +à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. + +Le fait que vous puissiez accéder à cet en-tête signifie que vous avez +pris connaissance de la licence CeCILL-B, et que vous en avez accepté les +termes. +Footer-MicMac-eLiSe-25/06/2007*/ + + diff --git a/src/uti_phgrm/CPP_Morito.cpp b/src/uti_phgrm/CPP_Morito.cpp index 290d58b2b3..be325dc949 100644 --- a/src/uti_phgrm/CPP_Morito.cpp +++ b/src/uti_phgrm/CPP_Morito.cpp @@ -172,7 +172,7 @@ cAppliMorito::cAppliMorito(int argc,char ** argv) : LArgMain() << EAMC(mOri1,"First set of image", eSAM_IsPatFile) << EAMC(mOri2,"Second set of image", eSAM_IsPatFile) << EAMC(mOriOut,"Orientation Dir"), - LArgMain() << EAM(mWithOutLayer,"WithOutLayer",true,"Is robust estimation requires or simply L2 (Def=false, other not supported now)") + LArgMain() << EAM(mWithOutLayer,"WithOutLayer",true,"If robust estimation required or simply L2 (Def=false, other not supported now)") << EAM(mDir,"Dir",true,"Global directory, Def=./") << EAM(aShowSol,"Show",true,"Show the transformation, Def=false") diff --git a/src/uti_phgrm/NewOri/cNewO_FicObs.cpp b/src/uti_phgrm/NewOri/cNewO_FicObs.cpp index fac8430d88..e4bd2f371b 100644 --- a/src/uti_phgrm/NewOri/cNewO_FicObs.cpp +++ b/src/uti_phgrm/NewOri/cNewO_FicObs.cpp @@ -37,12 +37,14 @@ English : Header-MicMac-eLiSe-25/06/2007*/ +#include "StdAfx.h" #include "NewOri.h" #include "../TiepTri/MultTieP.h" -// #include "../Apero/Apero.h" -#include "../Apero/cPose.cpp" +#include "../Apero/cPose.h" //extern bool ERupnik_MM(); +class cAccumResidu; + ElRotation3D TestOriConvention(std::string & aNameOri, const std::string & mNameIm1, const std::string & mNameIm2); /* contains both triplets and couples; From 3baf5eddf2fa70d0647527d6151c95a487895dd1 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Thu, 13 Feb 2020 10:04:04 +0100 Subject: [PATCH 29/49] Compens sur Angle + MatchTieP --- .../Str_ParamChantierPhotogram.cpp | 3 +- MMVII/src/MatchTieP/MatchTieP.h | 30 + MMVII/src/MatchTieP/cAppliMatchTiePBasic.cpp | 233 ++++++++ MMVII/src/MatchTieP/cBaseMatchTieP.cpp | 71 +++ include/XML_GEN/ParamChantierPhotogram.h | 4 + include/XML_GEN/ParamChantierPhotogram.xml | 1 + include/XML_MicMac/DicoCamera.xml | 7 + include/ext_stl/numeric.h | 16 + src/CBinaires/mm3d.cpp | 7 + src/XML_GEN/ParamChantierPhotogram.cpp | 27 +- src/photogram/phgr_vrai_bundle.cpp | 4 +- src/uti_phgrm/Apero/cAA_Compensation.cpp | 109 ++++ src/uti_phgrm/Apero/cImplemBlockCam.cpp | 25 +- src/uti_phgrm/Apero/cPose.cpp | 9 +- src/uti_phgrm/BlockCam.h | 142 +++++ src/uti_phgrm/CPP_Block.cpp | 561 +++++++++++++----- src/uti_phgrm/CPP_HomFilterMasq.cpp | 2 +- src/uti_phgrm/CPP_Stereopolis.cpp | 477 +++++++++++++++ src/uti_phgrm/Sources.cmake | 1 + 19 files changed, 1558 insertions(+), 171 deletions(-) create mode 100644 MMVII/src/MatchTieP/MatchTieP.h create mode 100644 MMVII/src/MatchTieP/cAppliMatchTiePBasic.cpp create mode 100644 MMVII/src/MatchTieP/cBaseMatchTieP.cpp create mode 100644 src/uti_phgrm/BlockCam.h create mode 100644 src/uti_phgrm/CPP_Stereopolis.cpp diff --git a/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp b/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp index d63f7aaf5d..691257afc2 100644 --- a/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp +++ b/CodeGenere/File2String/Str_ParamChantierPhotogram.cpp @@ -1,5 +1,5 @@ #include "StdAfx.h" -const char * theNameVar_ParamChantierPhotogram[2163] = { +const char * theNameVar_ParamChantierPhotogram[2164] = { "\n", "\n", "\n", @@ -1772,6 +1772,7 @@ const char * theNameVar_ParamChantierPhotogram[2163] = { "-->\n", " \n", " \n", +" \n", "\n", " \n", " \n", diff --git a/MMVII/src/MatchTieP/MatchTieP.h b/MMVII/src/MatchTieP/MatchTieP.h new file mode 100644 index 0000000000..6e3fcf3c8e --- /dev/null +++ b/MMVII/src/MatchTieP/MatchTieP.h @@ -0,0 +1,30 @@ +#ifndef _cAPPLI_MATCH_TIEP_H_ +#define _cAPPLI_MATCH_TIEP_H_ + +namespace MMVII +{ + +/** + This class implement some services common to applications doing tie-points matching +*/ +class cBaseMatchTieP : public cMMVII_Appli +{ + public : + + cBaseMatchTieP(const std::vector & aVArgs,const cSpecMMVII_Appli & aSpec); + // int Exe() override; + cCollecSpecArg2007 & ArgObl(cCollecSpecArg2007 & anArgObl) override ; + cCollecSpecArg2007 & ArgOpt(cCollecSpecArg2007 & anArgOpt) override ; + void PostInit(); ///< Initialisation not in constructor (need ArgObl/ArgOpt have been executed) + protected : + std::string mNameIm1; ///< First image + std::string mNameIm2; ///< Second image + std::vector mVSAPc1; ///< Aime Carac Point of Im1 + std::vector mVSAPc2; ///< Aime Carac Point of Im2 +}; + + +}; + +#endif // _cAPPLI_MATCH_TIEP_H_ + diff --git a/MMVII/src/MatchTieP/cAppliMatchTiePBasic.cpp b/MMVII/src/MatchTieP/cAppliMatchTiePBasic.cpp new file mode 100644 index 0000000000..07fed753a5 --- /dev/null +++ b/MMVII/src/MatchTieP/cAppliMatchTiePBasic.cpp @@ -0,0 +1,233 @@ +#include "include/MMVII_all.h" +#include "MatchTieP.h" + +namespace MMVII +{ + +class cCdtBasic; // Store a Aime PC + other stuff necessary for match +class cHypMatchCdtBasic; // An hypothesis of match between 2 candidate +class cSetCdtBasic; // All the Cdt of one type in on image +class cCpleSetCdtBasic ; // The two corresponding sets in two images +class cAppliMatchTiePBasic; // The application + +/** A class to store one hypothesi of match , contain 2 candidate and a cost, + The two candidate will share the same cHypMatchCdtBasic +*/ + + +class cHypMatchCdtBasic : public cMemCheck +{ + public : + const double & Cost() const; ///< Accessor to cost + /** We need to know for a given Hyp who is the other candidate */ + cCdtBasic & Other(const cCdtBasic & MySelf); + cHypMatchCdtBasic(double aCost,cCdtBasic & aCd1,cCdtBasic & aCd2,int aIndexOr); + /// Std Comparison, the best hyp is the lowest cost + bool operator < (const cHypMatchCdtBasic & aH2) const {return mCost tSPHypM; + +/** Descripor (Aime) + Hypothesis of match +*/ +class cCdtBasic : public cMemCheck +{ + public : + cCdtBasic(cAimePCar *); + /// Make a firt level of match by computing the NbSel best match + void MatchInit(cSetCdtBasic&,int NbSel); + cAimePCar & PC(); // Accessor + private : + cAimePCar * mPC; /// Aime descriptor + std::vector mHypMatch; /// Hypothesis of match +}; + +class cSetCdtBasic : public cMemCheck +{ + public : + cSetCdtBasic(cSetAimePCAR *); + cSetAimePCAR & SetPC(); // Accessor + std::vector& VCdt(); // Accessor + private : + cSetAimePCAR * mSetPC; // The initial set of Aime Points + std::vector mVCdt; // The structure that containt all the candidtes +}; + +class cCpleSetCdtBasic : public cMemCheck +{ + public : + cCpleSetCdtBasic(cSetAimePCAR * aS1,cSetAimePCAR * aS2); + void MakeCost(); + private : + cSetCdtBasic mS1; + cSetCdtBasic mS2; +}; + +/* ******************************************************** */ +/* */ +/* cCdtBasic */ +/* */ +/* ******************************************************** */ + +cCdtBasic:: cCdtBasic(cAimePCar * aPC) : + mPC (aPC) +{ +} + +void cCdtBasic::MatchInit(cSetCdtBasic& aSet,int NbSel) +{ + static int aCpt=0; + aCpt++; + + std::vector aVH; + for (auto & aCd2 : aSet.VCdt()) + { + cWhitchMin aWM= mPC->Desc().DistanceFromBestPeek(aCd2.mPC->Desc(),aSet.SetPC()); + aVH.push_back(cHypMatchCdtBasic(aWM.Val(),*this,aCd2,aWM.Index())); + } + std::sort(aVH.begin(),aVH.end()); + StdOut() << "BEST COST " << aVH[0].Cost() << " " << aVH.back().Cost() << " Cpt " << aCpt << "\n"; + +} + + +/* ******************************************************** */ +/* */ +/* cHypMatchCdtBasic */ +/* */ +/* ******************************************************** */ + +cHypMatchCdtBasic::cHypMatchCdtBasic(double aCost,cCdtBasic & aCd1,cCdtBasic & aCd2,int aIndexOr): + mCost (aCost), + mIndexOr (aIndexOr), + mCd1 (&aCd1), + mCd2 (&aCd2) +{ +} + +const double & cHypMatchCdtBasic::Cost() const {return mCost;} + +/* ******************************************************** */ +/* */ +/* cSetCdtBasic */ +/* */ +/* ******************************************************** */ + +cSetCdtBasic::cSetCdtBasic(cSetAimePCAR * aSet) : + mSetPC (aSet) +{ + for (auto & aPC : mSetPC->VPC()) + mVCdt.push_back(cCdtBasic(&aPC)); +} + +std::vector& cSetCdtBasic::VCdt() {return mVCdt;} +cSetAimePCAR & cSetCdtBasic::SetPC() {return *mSetPC;} + +/* ******************************************************** */ +/* */ +/* cCpleSetCdtBasic */ +/* */ +/* ******************************************************** */ + +cCpleSetCdtBasic::cCpleSetCdtBasic(cSetAimePCAR * aS1,cSetAimePCAR * aS2) : + mS1 (aS1), + mS2 (aS2) +{ +} + +void cCpleSetCdtBasic::MakeCost() +{ + for (auto & aCd1 : mS1.VCdt()) + { + aCd1.MatchInit(mS2,20); + } +} + + +/** + This class implement basic match +*/ +class cAppliMatchTiePBasic : public cBaseMatchTieP +{ + public : + + cAppliMatchTiePBasic(const std::vector & aVArgs,const cSpecMMVII_Appli & aSpec); + int Exe() override; + cCollecSpecArg2007 & ArgObl(cCollecSpecArg2007 & anArgObl) override ; + cCollecSpecArg2007 & ArgOpt(cCollecSpecArg2007 & anArgOpt) override ; + private : + std::string mTestObl; ///< temporary + std::string mTestOPt; ///< temporary + std::vector mVSCB; // Pair of set of Aime/cdt +}; + +/* =============================================== */ +/* */ +/* cAppliMatchTiePBasic */ +/* */ +/* =============================================== */ + +cAppliMatchTiePBasic::cAppliMatchTiePBasic(const std::vector & aVArgs,const cSpecMMVII_Appli & aSpec) : + cBaseMatchTieP(aVArgs,aSpec) +{ +} + +cCollecSpecArg2007 & cAppliMatchTiePBasic::ArgObl(cCollecSpecArg2007 & anArgObl) +{ + cBaseMatchTieP::ArgObl(anArgObl); + + return anArgObl + << Arg2007(mTestObl,"Test Obl"); + +} + +cCollecSpecArg2007 & cAppliMatchTiePBasic::ArgOpt(cCollecSpecArg2007 & anArgOpt) +{ + cBaseMatchTieP::ArgOpt(anArgOpt); + return anArgOpt + << AOpt2007(mTestOPt,"TOpt","Test Optionnal local",{eTA2007::HDV}) + ; +} + +int cAppliMatchTiePBasic::Exe() +{ + PostInit(); + for (int aKSet=0 ; aKSet & aVArgs,const cSpecMMVII_Appli & aSpec) +{ + return tMMVII_UnikPApli(new cAppliMatchTiePBasic(aVArgs,aSpec)); +} + +cSpecMMVII_Appli TheSpecMatchTieP +( + "TieP-AimeBasicMatch", + Alloc_MatchTieP, + "Match caracteristic points and descriptors computed with Aime method", + {eApF::TieP}, + {eApDT::PCar}, + {eApDT::TieP}, + __FILE__ +); + + + + +}; diff --git a/MMVII/src/MatchTieP/cBaseMatchTieP.cpp b/MMVII/src/MatchTieP/cBaseMatchTieP.cpp new file mode 100644 index 0000000000..ea3b76f25c --- /dev/null +++ b/MMVII/src/MatchTieP/cBaseMatchTieP.cpp @@ -0,0 +1,71 @@ +#include "include/MMVII_all.h" +#include "MatchTieP.h" + +namespace MMVII +{ + + +/* =============================================== */ +/* */ +/* cBaseMatchTieP */ +/* */ +/* =============================================== */ + +cBaseMatchTieP::cBaseMatchTieP(const std::vector & aVArgs,const cSpecMMVII_Appli & aSpec) : + cMMVII_Appli (aVArgs,aSpec,{eSharedPO::eSPO_CarPI}) +{ +} + +/// Im1 and Im2 are the only mandatory args +cCollecSpecArg2007 & cBaseMatchTieP::ArgObl(cCollecSpecArg2007 & anArgObl) +{ + return + anArgObl + << Arg2007(mNameIm1,"Name of input file") + << Arg2007(mNameIm2,"Name of input file") + ; +} + +/// This was a test to check that optional args are "inherited" +cCollecSpecArg2007 & cBaseMatchTieP::ArgOpt(cCollecSpecArg2007 & anArgOpt) +{ + return anArgOpt + // << AOpt2007(mTestOPtBase,"TOBase","Test Optionnal Base",{eTA2007::HDV}) + ; +} + +/** Once the args have been initiazed by virtual method (not in constrtuctor !) ArgObl-ArgOpt + we can read the +*/ +void cBaseMatchTieP::PostInit() +{ + // Parse all the possible labels + for (int aKTy=0 ; aKTy & MasterGrp(); + const cTplValGesInit< std::string > & MasterGrp()const ; + std::list< cParamOrientSHC > & ParamOrientSHC(); const std::list< cParamOrientSHC > & ParamOrientSHC()const ; @@ -6542,6 +6545,7 @@ class cStructBlockCam const cTplValGesInit< cLiaisonsSHC > & LiaisonsSHC()const ; private: std::string mKeyIm2TimeCam; + cTplValGesInit< std::string > mMasterGrp; cTplValGesInit< cLiaisonsSHC > mLiaisonsSHC; }; cElXMLTree * ToXMLTree(const cStructBlockCam &); diff --git a/include/XML_GEN/ParamChantierPhotogram.xml b/include/XML_GEN/ParamChantierPhotogram.xml index 82f7b12fac..fda74be78f 100644 --- a/include/XML_GEN/ParamChantierPhotogram.xml +++ b/include/XML_GEN/ParamChantierPhotogram.xml @@ -1770,6 +1770,7 @@ --> + diff --git a/include/XML_MicMac/DicoCamera.xml b/include/XML_MicMac/DicoCamera.xml index 8210fea46a..b850cba161 100644 --- a/include/XML_MicMac/DicoCamera.xml +++ b/include/XML_MicMac/DicoCamera.xml @@ -20,6 +20,13 @@ See https://en.wikipedia.org/wiki/Image_sensor_format#Table_of_sensor_formats_an --> + + LadyBug + 7.23 8.67 + LadyBug + + + OV8865 3.4 4.67 diff --git a/include/ext_stl/numeric.h b/include/ext_stl/numeric.h index a1b7d29cc1..4856942b31 100644 --- a/include/ext_stl/numeric.h +++ b/include/ext_stl/numeric.h @@ -449,6 +449,22 @@ template TVal KthValProp(std::vector & aV,double aProp) double MedianPond(std::vector & aV,int * aKMed=0); +template Pt3dr P3DMed(const Type & aCont,const TFctr & aFctr) +{ + std::vector mCX; + std::vector mCY; + std::vector mCZ; + + for (const auto & anObj : aCont) + { + Pt3dr aP = aFctr(anObj); + mCX.push_back(aP.x); + mCY.push_back(aP.y); + mCZ.push_back(aP.z); + } + return Pt3dr(MedianeSup(mCX),MedianeSup(mCY),MedianeSup(mCZ)); +} + #endif // _ELISE_EXT_STL_NUMERICS_H diff --git a/src/CBinaires/mm3d.cpp b/src/CBinaires/mm3d.cpp index 83c7609236..c3f0589b81 100644 --- a/src/CBinaires/mm3d.cpp +++ b/src/CBinaires/mm3d.cpp @@ -259,6 +259,8 @@ int Image_Vide(int argc,char ** argv); int PPMD_MatEss2Orient(int argc,char ** argv); int GrapheStereopolis_main(int argc,char ** argv); +int CheckGCPStereopolis_main(int argc,char ** argv); +int AnalyseTrajStereopolis_main(int argc,char ** argv); @@ -375,6 +377,11 @@ const std::vector & getAvailableCommands() aRes.push_back(cMMCom("GrapheHom", GrapheHom_main, "Compute XML-Visibility graph from approximate orientation", cArgLogCom(3))); aRes.push_back(cMMCom("GrapheStereopolis", GrapheStereopolis_main,"Compute Pair of Image for Stereopolis", cArgLogCom(2))); + aRes.push_back(cMMCom("CheckGCPStereopolis", CheckGCPStereopolis_main,"Check GCP with strategy optimized for Stereopolis-like acquisition", cArgLogCom(2))); + + + aRes.push_back(cMMCom("AnalyseTrajStereopolis", AnalyseTrajStereopolis_main,"Analyse trajectory of Stereopolis-like acquisition", cArgLogCom(2))); + aRes.push_back(cMMCom("GCPConvert", GCP_Txt2Xml_main, "Convert GCP from Txt 2 XML", cArgLogCom(3))); aRes.push_back(cMMCom("OriConvert", Ori_Txt2Xml_main, "Convert Orientation from Txt 2 XML", cArgLogCom(3))); aRes.push_back(cMMCom("OriExport", OriExport_main, "Export orientation from XML to XML or TXT with specified convention", cArgLogCom(3))); diff --git a/src/XML_GEN/ParamChantierPhotogram.cpp b/src/XML_GEN/ParamChantierPhotogram.cpp index 9314d7b5b8..3792ac2c28 100644 --- a/src/XML_GEN/ParamChantierPhotogram.cpp +++ b/src/XML_GEN/ParamChantierPhotogram.cpp @@ -20510,6 +20510,17 @@ const std::string & cStructBlockCam::KeyIm2TimeCam()const } +cTplValGesInit< std::string > & cStructBlockCam::MasterGrp() +{ + return mMasterGrp; +} + +const cTplValGesInit< std::string > & cStructBlockCam::MasterGrp()const +{ + return mMasterGrp; +} + + std::list< cParamOrientSHC > & cStructBlockCam::ParamOrientSHC() { return LiaisonsSHC().Val().ParamOrientSHC(); @@ -20534,6 +20545,14 @@ const cTplValGesInit< cLiaisonsSHC > & cStructBlockCam::LiaisonsSHC()const void BinaryUnDumpFromFile(cStructBlockCam & anObj,ELISE_fp & aFp) { BinaryUnDumpFromFile(anObj.KeyIm2TimeCam(),aFp); + { bool IsInit; + BinaryUnDumpFromFile(IsInit,aFp); + if (IsInit) { + anObj.MasterGrp().SetInitForUnUmp(); + BinaryUnDumpFromFile(anObj.MasterGrp().ValForcedForUnUmp(),aFp); + } + else anObj.MasterGrp().SetNoInit(); + } ; { bool IsInit; BinaryUnDumpFromFile(IsInit,aFp); if (IsInit) { @@ -20547,6 +20566,8 @@ void BinaryUnDumpFromFile(cStructBlockCam & anObj,ELISE_fp & aFp) void BinaryDumpInFile(ELISE_fp & aFp,const cStructBlockCam & anObj) { BinaryDumpInFile(aFp,anObj.KeyIm2TimeCam()); + BinaryDumpInFile(aFp,anObj.MasterGrp().IsInit()); + if (anObj.MasterGrp().IsInit()) BinaryDumpInFile(aFp,anObj.MasterGrp().Val()); BinaryDumpInFile(aFp,anObj.LiaisonsSHC().IsInit()); if (anObj.LiaisonsSHC().IsInit()) BinaryDumpInFile(aFp,anObj.LiaisonsSHC().Val()); } @@ -20556,6 +20577,8 @@ cElXMLTree * ToXMLTree(const cStructBlockCam & anObj) XMLPushContext(anObj.mGXml); cElXMLTree * aRes = new cElXMLTree((cElXMLTree *)0,"StructBlockCam",eXMLBranche); aRes->AddFils(::ToXMLTree(std::string("KeyIm2TimeCam"),anObj.KeyIm2TimeCam())->ReTagThis("KeyIm2TimeCam")); + if (anObj.MasterGrp().IsInit()) + aRes->AddFils(::ToXMLTree(std::string("MasterGrp"),anObj.MasterGrp().Val())->ReTagThis("MasterGrp")); if (anObj.LiaisonsSHC().IsInit()) aRes->AddFils(ToXMLTree(anObj.LiaisonsSHC().Val())->ReTagThis("LiaisonsSHC")); aRes->mGXml = anObj.mGXml; @@ -20570,10 +20593,12 @@ void xml_init(cStructBlockCam & anObj,cElXMLTree * aTree) xml_init(anObj.KeyIm2TimeCam(),aTree->Get("KeyIm2TimeCam",1)); //tototo + xml_init(anObj.MasterGrp(),aTree->Get("MasterGrp",1)); //tototo + xml_init(anObj.LiaisonsSHC(),aTree->Get("LiaisonsSHC",1)); //tototo } -std::string Mangling( cStructBlockCam *) {return "B06598583EB111DCFE3F";}; +std::string Mangling( cStructBlockCam *) {return "9231968F03FA00A5FF3F";}; std::list< std::string > & cXmlExivEntry::Names() diff --git a/src/photogram/phgr_vrai_bundle.cpp b/src/photogram/phgr_vrai_bundle.cpp index 6c05d6cf9e..f01c7e4410 100644 --- a/src/photogram/phgr_vrai_bundle.cpp +++ b/src/photogram/phgr_vrai_bundle.cpp @@ -1157,12 +1157,14 @@ cFullBundleBase::cFullBundleBase(const ElPackHomologue & aPack,double aFoc,bool cPackInPts2d (aPack), cInterfBundle2Image ((int)mVP1.size(),aFoc), mBB (false,0,aFoc,UseAccelCoordCste), - mAddCstrDrone (MPD_MM()) + mAddCstrDrone (false && MPD_MM()) { if (mAddCstrDrone) { std::cout << "ADD CSTRE DRONE \n"; } +/* +*/ } double cFullBundleBase::VIB2I_ErrorK(const ElRotation3D &aRot,const int & aK) const diff --git a/src/uti_phgrm/Apero/cAA_Compensation.cpp b/src/uti_phgrm/Apero/cAA_Compensation.cpp index c0f2b170d0..bded975c19 100644 --- a/src/uti_phgrm/Apero/cAA_Compensation.cpp +++ b/src/uti_phgrm/Apero/cAA_Compensation.cpp @@ -530,6 +530,112 @@ const std::string & TheNameFileTxtConvName() static std::string TMC="Sensib-ConvName.txt"; return TMC; } + +const std::string & TheNameFileXmlConvNameIm() +{ + static std::string TMC="Sensib-ConvName-Im.xml"; + return TMC; +} + +std::map LecSensibName(const std::string & aNameFile,const std::string & aPref) +{ + std::map aRes; + ELISE_fp aFile(aNameFile.c_str(),ELISE_fp::READ); + + std::string aPat = std::string(" (") + aPref + ".*) => (.*)"; + cElRegex anAutom(aPat,10); + bool endof=false; + std::string aLine; + + while (!endof) + { + if (aFile.fgets(aLine,endof)) + { + if (anAutom.Match(aLine)) + { + std::string anId = anAutom.KIemeExprPar(1); + std::string aVal = anAutom.KIemeExprPar(2); + aRes[anId] = aVal; + } + } + } + return aRes; +} + +std::map > + LecSensibDicIm(const std::string & aNameConv,const std::string & aNameXml) +{ + std::map > aRes; + + std::map aConv = LecSensibName ( aNameConv,"Ima"); + cXmlNameSensibs aXmlSN = StdGetFromAp(aNameXml,XmlNameSensibs); + + for (const auto & aS1I : aXmlSN.SensibDateOneInc()) + { + auto anIter = aConv.find(aS1I.NameBloc()); + if (anIter != aConv.end()) + { + aRes[anIter->second].push_back(aS1I); + } + } + + return aRes; +} + +const cSensibDateOneInc * GetSensib(const std::vector & aVec,const std::string & anId,bool SVP=false) +{ + auto anIter = std::find_if + ( + aVec.begin(), + aVec.end(), + [anId](const cSensibDateOneInc & aS1) {return aS1.NameInc() == anId;} + ); + if (anIter == aVec.end()) + { + ELISE_ASSERT(SVP,"Cannot find in GetSensib"); + return nullptr; + } + + return &(*anIter); +} + + +std::map> GetSCenterOPK(const std::string & aNameConv,const std::string & aNameXml) +{ + std::map > aRes; + + for (const auto & aVec : LecSensibDicIm(aNameConv,aNameXml)) + { + Pt3dr aSCenter + ( + GetSensib(aVec.second,"Cx")->SensibParamInv(), + GetSensib(aVec.second,"Cy")->SensibParamInv(), + GetSensib(aVec.second,"Cz")->SensibParamInv() + ); + Pt3dr aSOPK + ( + GetSensib(aVec.second,"T12")->SensibParamInv(), + GetSensib(aVec.second,"T02")->SensibParamInv(), + GetSensib(aVec.second,"T01")->SensibParamInv() + ); + if (0) + { + std::cout << "SSSss " << aVec.first << aSCenter << aSOPK << "\n"; + } + aRes[aVec.first] = std::pair(aSCenter,aSOPK); + } + + return aRes; +} +std::map> StdGetSCenterOPK(const std::string & aDir) +{ + return GetSCenterOPK(aDir+"/Sensib-ConvName.txt",aDir+"/Sensib-Data.dmp"); +} + + + + + std::string TheNameFileExpSens(bool Bin) { return "Sensib-Data" + std::string(Bin ? ".dmp" : ".xml"); @@ -670,6 +776,7 @@ std::cout << "DONNNNE AOAF : NonO ============================================== std::string aNameConv = aPrefESPA + TheNameFileTxtConvName(); ofstream aStdConvTxt (aNameConv.c_str()); + cSauvegardeNamedRel aRelIm; if (! aStdConvTxt.is_open()) { std::cout << "FILE=" << aNameConv << "\n"; @@ -689,6 +796,7 @@ std::cout << "DONNNNE AOAF : NonO ============================================== for (int aK=0 ; aK " << mNamesIdIm[aK] << "\n"; + aRelIm.Cple().push_back(cCpleString(IdOfIma(aK), mNamesIdIm[aK])); } Im2D_REAL4 aMCov(aNbV,aNbV); @@ -726,6 +834,7 @@ std::cout << "DONNNNE AOAF : NonO ============================================== //fclose(aFConvTxt); aStdConvTxt.close(); + MakeFileXML(aRelIm,aPrefESPA+ TheNameFileXmlConvNameIm()); } bool ExportMMF = mParam.SectionChantier().ExportMatrixMarket().Val() ; diff --git a/src/uti_phgrm/Apero/cImplemBlockCam.cpp b/src/uti_phgrm/Apero/cImplemBlockCam.cpp index 8c534aba90..438fb43396 100644 --- a/src/uti_phgrm/Apero/cImplemBlockCam.cpp +++ b/src/uti_phgrm/Apero/cImplemBlockCam.cpp @@ -783,19 +783,26 @@ cImplemBlockCam::cImplemBlockCam mGlobDistTB (false) { const std::vector & aVP = mAppli.VecAllPose(); + std::string aMasterGrp = aSBC.MasterGrp().ValWithDef(""); // On initialise les camera - for (int aKP=0 ; aKPName(); - std::pair aPair = mAppli.ICNM()->Assoc2To1(mSBC.KeyIm2TimeCam(),aNamePose,true); - std::string aNameCam = aPair.second; - if (! DicBoolFind(mName2Cam,aNameCam)) // si aNameCam se trouve dans mName2Cam + + for (int aKP=0 ; aKPName(); + std::pair aPair = mAppli.ICNM()->Assoc2To1(mSBC.KeyIm2TimeCam(),aNamePose,true); + std::string aNameCam = aPair.second; + // At first iter, we do it if master, at second if not master + bool Doit = (anIter==0) == (aNameCam==aMasterGrp); + if (Doit && (! DicBoolFind(mName2Cam,aNameCam))) // si aNameCam se trouve dans mName2Cam + { + cIBC_OneCam * aCam = new cIBC_OneCam(aNameCam, (int)mNum2Cam.size()); // (name & index dans mNum2Cam) + mName2Cam[aNameCam] = aCam; + mNum2Cam.push_back(aCam); + } } } mNbCam = (int)mNum2Cam.size(); diff --git a/src/uti_phgrm/Apero/cPose.cpp b/src/uti_phgrm/Apero/cPose.cpp index d816b6f355..c9b038209f 100644 --- a/src/uti_phgrm/Apero/cPose.cpp +++ b/src/uti_phgrm/Apero/cPose.cpp @@ -1546,6 +1546,7 @@ void cPoseCam::PCSetCurRot(const ElRotation3D & aRot) void cPoseCam::SetBascRig(const cSolBasculeRig & aSBR) { + PCSetCurRot(aSBR.TransformOriC2M(CurRot())); Pt3dr aP; if (mSomPM) @@ -1556,13 +1557,17 @@ void cPoseCam::SetBascRig(const cSolBasculeRig & aSBR) else { const CamStenope * aCS = CurCam() ; - ELISE_ASSERT( (mProfondeur != PROF_UNDEF()),"No Profondeur in cPoseCam::SetBascRig"); + if (mProfondeur == PROF_UNDEF()) + { + std::cout << "Warn : NoProfInBasc For camera =" << mName << "\n"; + // ELISE_ASSERT( false,"No Profondeur in cPoseCam::SetBascRig"); + return ; + } aP = aCS->ImEtProf2Terrain(aCS->Sz()/2.0,mProfondeur); aP = aSBR(aP); } - PCSetCurRot(aSBR.TransformOriC2M(CurRot())); const CamStenope * aCS = CurCam() ; diff --git a/src/uti_phgrm/BlockCam.h b/src/uti_phgrm/BlockCam.h new file mode 100644 index 0000000000..9a66d1cff2 --- /dev/null +++ b/src/uti_phgrm/BlockCam.h @@ -0,0 +1,142 @@ +#ifndef _ELISE_BLOCK_CAM_H_ +#define _ELISE_BLOCK_CAM_H_ + +/* + This file, who should have exist far before, contains some devlopment common to Tapas & Campari +*/ + +class cAppli_Block +{ + public : + CamStenope * CamSOfName(const std::string & aName) {return mICNM->StdCamStenOfNames(aName,mOriIn);} + typedef std::pair t2Str; + t2Str TimGrp(const std::string & aName) + { + return mICNM->Assoc2To1(mKeyBl,aName,true); + } + protected : + void Compile(); + + // === Input parameters + std::string mPatIm; // Liste of all images + std::string mOriIn; // input orientation + std::string mNameBlock; // name of the block-blini + + // === Computed parameters + std::string mKeyBl; // key for name compute of bloc + cStructBlockCam mBlock; // structure of the rigid bloc + cElemAppliSetFile mEASF; // Structure to extract pattern + name manip + const std::vector * mVN; // list of images + std::string mDir; // Directory of data + cInterfChantierNameManipulateur * mICNM; // Name manip +}; + + +class cGS_Cam; +class cGS_1BlC; // 1 Bloc Camera +class cGS_Appli; // Application + + +class cGS_Cam // 1 Camera +{ + public : + cGS_Cam(CamStenope * aCamS, const std::string &aName, const std::string &aGrp,cGS_1BlC * aBl) : + mCamS (aCamS), + mName (aName), + mGrp (aGrp), + mBlock (aBl) + { + } + cGS_Cam(const cGS_Cam&) = delete; + CamStenope * mCamS; // Camera + std::string mName; // Name Im + std::string mGrp; // Groupe in the block + cGS_1BlC * mBlock; +}; + + +class cGS_1BlC // 1 Bloc Camera +{ + public : + double DistLine(const cGS_1BlC & aBl2) const; + double Time() const {return mCamC->mCamS->GetTime();} + cGS_Cam * CamOfGrp(const std::string & aGrp) const; + bool ValidForCross(const cGS_1BlC&,const cGS_SectionCross &) const; + + cGS_1BlC(cGS_Appli&,const std::string & aTimeId,const std::vector &); + cGS_1BlC(const cGS_1BlC&) = delete; + + cGS_Appli& mAppli; // Application + std::string mTimeId; // Identifier of timing + std::vector mVCams; // Vector of all cam/image + cGS_Cam * mCamC; // Centrale camera (generaly INS) + cGS_Cam * mCamSec; // Used for apply comparing 3 traj + Pt3dr mP3; // Center + Pt2dr mP2; // P for indextion in QT + Pt2dr mV2; // 2D speed + Seg2d mSeg; // line PCur -> Next + int mNum; // Numerotation, can be usefull ? + double mAbsCurv; // Curvilinear abscisse +}; + +// Poor desing, a huge class with several command, would be better to make some inheritance +// will see later + +class cGS_Appli : public cAppli_Block // Application +{ + public : + typedef enum + { + eGraphe, + eCheckRel, // Check Relative Orientation + eComputeBlini // Analyse Traj et Blini + } eModeAppli; + + cGS_Appli(int,char**,eModeAppli); + bool AddPair(std::string aS1,std::string aS2); + const std::string & NameGrpC() const {return mNameGrpC;} + cGS_Cam* & CamOfName(const std::string & aName) {return mDicoCam[aName];} + virtual int Exe(); + protected : + void DoGraphe(); + void DoCheckMesures(); + void SauvRel(); + void AddAllBloc(const cGS_1BlC&,const cGS_1BlC &); + double mDistStd; + typedef ElQT tQtSom; + typedef ElQT tQtArc; + + eModeAppli mMode; + cXml_ParamGraphStereopolis mParam; + int mLevelMsg; + int AdaptIndex(int aKBl) {return ElMax(0,ElMin(mNbBloc,aKBl));} + + std::vector mVBlocs; + int mNbBloc; + std::set mSetStr; + tQtSom * mQtSom; + tQtArc * mQtArc; + cPlyCloud mPlyCross; + std::string mNameSave; + int mNbPairByF; + int mNbFile; + cSauvegardeNamedRel mRel; + Pt2dr mPInf; + Pt2dr mPSup; + bool mDoPlyCros; + std::string mNameParam; + std::string mNameGrpC; + + cSetOfMesureAppuisFlottants mSMAF; + std::string mNamePointe; + std::map mDicoCam; + std::set mSetBloc; + std::string mDirInc; // Folder 4 Inc readin + std::string mNameMasq3D; // For eliminating part of trajectory + Pt2dr mSig0Incert; // Sigma to transform Inc in weight +}; + + + + +#endif // _ELISE_BLOCK_CAM_H_ diff --git a/src/uti_phgrm/CPP_Block.cpp b/src/uti_phgrm/CPP_Block.cpp index 0b5ad9c73d..8451319246 100644 --- a/src/uti_phgrm/CPP_Block.cpp +++ b/src/uti_phgrm/CPP_Block.cpp @@ -37,7 +37,7 @@ English : Header-MicMac-eLiSe-25/06/2007*/ #include "StdAfx.h" - +#include "BlockCam.h" int Blinis_main(int argc,char ** argv) @@ -46,9 +46,10 @@ int Blinis_main(int argc,char ** argv) MMD_InitArgcArgv(argc,argv); std::string aDir,aPat,aFullDir; - std::string AeroIn; - std::string KeyIm2Bloc; - std::string aFileOut; + std::string AeroIn; + std::string KeyIm2Bloc; + std::string aFileOut; + std::string aMasterGrp; ElInitArgMain @@ -59,6 +60,7 @@ int Blinis_main(int argc,char ** argv) << EAMC(KeyIm2Bloc,"Key for computing bloc structure") << EAMC(aFileOut,"File for destination"), LArgMain() + << EAM(aMasterGrp,"MGrp",true,"Master Group if you need to fix it (as in IMU for example)") ); if (!MMVisualMode) @@ -71,6 +73,10 @@ int Blinis_main(int argc,char ** argv) cStructBlockCam aBlockName = StdGetFromPCP(Basic_XML_MM_File("Stereo-Bloc_Naming.xml"),StructBlockCam); aBlockName.KeyIm2TimeCam() = KeyIm2Bloc; + if (EAMIsInit(&aMasterGrp)) + { + aBlockName.MasterGrp().SetVal(aMasterGrp); + } ELISE_fp::MkDirSvp(aDir+"Tmp-MM-Dir/"); MakeFileXML(aBlockName,aDir+"Tmp-MM-Dir/Stereo-Bloc_Naming.xml"); std::string aCom = MM3dBinFile_quotes( "Apero" ) @@ -92,31 +98,6 @@ int Blinis_main(int argc,char ** argv) /***********************************************************************/ -class cAppli_Block -{ - public : - CamStenope * CamS(const std::string & aName) {return mICNM->StdCamStenOfNamesSVP(aName,mOriIn);} - typedef std::pair t2Str; - t2Str TimGrp(const std::string & aName) - { - return mICNM->Assoc2To1(mKeyBl,aName,true); - } - protected : - void Compile(); - - // === Input parameters - std::string mPatIm; // Liste of all images - std::string mOriIn; // input orientation - std::string mNameBlock; // name of the block-blini - - // === Computed parameters - std::string mKeyBl; // key for name compute of bloc - cStructBlockCam mBlock; // structure of the rigid bloc - cElemAppliSetFile mEASF; // Structure to extract pattern + name manip - const std::vector * mVN; // list of images - std::string mDir; // Directory of data - cInterfChantierNameManipulateur * mICNM; // Name manip -}; void cAppli_Block::Compile() { @@ -197,7 +178,7 @@ cAppli_OriFromBlock::cAppli_OriFromBlock (int argc,char ** argv) : { const std::string & aName = (*mVN)[aKIm]; // CamStenope * aCamIn = mICNM->StdCamStenOfNamesSVP(aName,mOriIn); // Camera may not - CamStenope * aCamIn = CamS(aName); + CamStenope * aCamIn = CamSOfName(aName); std::string aNameCal = mICNM->StdNameCalib(mNameCalib,aName); mICNM->GlobCalibOfName(aName,mNameCalib,true); // Calib should exist cAOFB_Im * aPtrI = new cAOFB_Im(aName,aCamIn,aNameCal); // Create compiled @@ -293,21 +274,6 @@ int OrientFromBlock_main(int argc,char ** argv) /***********************************************************************/ -class cOneImBrion -{ - public : - private : - std::string mName; - CamStenope * mCalib; -}; - -class cAppli_Brion // Block Rigid Initialisation des Orientation Normale -{ - public : - private : - cStructBlockCam mBlock; -}; - /***********************************************************/ /* */ @@ -315,98 +281,35 @@ class cAppli_Brion // Block Rigid Initialisation des Orientation Normale /* */ /***********************************************************/ -class cGS_Cam; -class cGS_1BlC; // 1 Bloc Camera -class cGS_Appli; // Application -class cGS_Cam // 1 Camera -{ - public : - cGS_Cam(CamStenope * aCamS, const std::string &aName, const std::string &aGrp) : - mCamS (aCamS), - mName (aName), - mGrp (aGrp) - { - } - cGS_Cam(const cGS_Cam&) = delete; - CamStenope * mCamS; // Camera - std::string mName; // Name Im - std::string mGrp; // Groupe in the block -}; - - -class cGS_1BlC // 1 Bloc Camera -{ - public : - double DistLine(const cGS_1BlC & aBl2) const; - double Time() const {return mCamC->mCamS->GetTime();} - cGS_Cam * CamOfGrp(const std::string & aGrp) const; - bool ValidForCross(const cGS_1BlC&,const cGS_SectionCross &) const; - - cGS_1BlC(cGS_Appli&,const std::vector &); - cGS_1BlC(const cGS_1BlC&) = delete; - - cGS_Appli& mAppli; // Application - std::vector mVCams; // Vector of all cam/image - cGS_Cam * mCamC; // Centrale camera (generaly INS) - Pt3dr mP3; // Center - Pt2dr mP2; // P for indextion in QT - Pt2dr mV2; // 2D speed - Seg2d mSeg; // line PCur -> Next - int mNum; // Numerotation, can be usefull ? - double mAbsCurv; // Curvilinear abscisse -}; - -//extern Box2dr aBox; -//ElQT aQT([](cGS_1BlC *aBl){return aBl->mP2;},aBox,20,20); - -// (aGetP1,aBox,20,20); - - - -class cGS_Appli : public cAppli_Block // Application -{ - public : - cGS_Appli(int,char**); - bool AddPair(std::string aS1,std::string aS2); - const std::string & NameGrpC() const {return mParam.NameGrpC();} - private : - void AddAllBloc(const cGS_1BlC&,const cGS_1BlC &); - double mDistStd; - typedef ElQT tQtSom; - typedef ElQT tQtArc; - - cXml_ParamGraphStereopolis mParam; - int mLevelMsg; - int AdaptIndex(int aKBl) {return ElMax(0,ElMin(mNbBloc,aKBl));} - - std::vector mVBlocs; - int mNbBloc; - std::set mSetStr; - tQtSom * mQtSom; - tQtArc * mQtArc; - cPlyCloud mPlyCross; - std::string mNameSave; -}; - // =========== cGS_1BlC ============= -cGS_1BlC::cGS_1BlC(cGS_Appli& anAppli,const std::vector & aVN) : - mAppli (anAppli), - mCamC (nullptr) +cGS_1BlC::cGS_1BlC(cGS_Appli& anAppli,const std::string& aTimeId,const std::vector & aVN) : + mAppli (anAppli), + mTimeId (aTimeId), + mCamC (nullptr), + mCamSec (nullptr) { for (const auto & aName : aVN) { // Compute new Cam with name & grp - CamStenope * aCam = mAppli.CamS(aName); + CamStenope * aCam = mAppli.CamSOfName(aName); std::string aNameGrp = mAppli.TimGrp(aName).second; - cGS_Cam * aGS_Cam = new cGS_Cam(aCam,aName,aNameGrp); + cGS_Cam * aGS_Cam = new cGS_Cam(aCam,aName,aNameGrp,this); + mAppli.CamOfName(aName) = aGS_Cam; + // save it mVCams.push_back(aGS_Cam); // Chek if it is the central one if (aNameGrp==mAppli.NameGrpC()) + { mCamC = aGS_Cam; + } + else + { + mCamSec = aGS_Cam; + } } if (mCamC) { @@ -483,32 +386,84 @@ void cGS_Appli::AddAllBloc(const cGS_1BlC& aBl1,const cGS_1BlC & aBl2) } +void cGS_Appli::SauvRel() +{ + std::string aName = StdPrefix(mNameSave) + "_" + ToString(mNbFile) + "." + StdPostfix(mNameSave); -cGS_Appli::cGS_Appli (int argc,char ** argv) : - mLevelMsg (1), - mQtSom (nullptr), - mQtArc (nullptr), - mNameSave ("GrapheStereropolis.xml") + MakeFileXML(mRel,mDir+aName); +} + +cGS_Appli::cGS_Appli (int argc,char ** argv,eModeAppli aMode) : + mMode (aMode), + mLevelMsg (1), + mQtSom (nullptr), + mQtArc (nullptr), + mNameSave ("GrapheStereropolis.xml"), + mNbPairByF (2000), + mNbFile (0), + mPInf (1e20,1e20), + mPSup (-1e20,-1e20), + mDoPlyCros (true) { - bool mDoPlyCros = true; MMD_InitArgcArgv(argc,argv); - std::string aNameParam; - ElInitArgMain - ( - argc,argv, - LArgMain() << EAMC(mPatIm,"Full name (Dir+Pat)", eSAM_IsPatFile) - << EAMC(mOriIn,"Input Orientation folder", eSAM_IsExistDirOri) - << EAMC(mNameBlock,"File for block") - << EAMC(aNameParam,"Name Grp Centrale Camera"), - LArgMain() - << EAM(mLevelMsg,"LevMsg",true,"Level of Message, def=1") - << EAM(mNameSave,"Out",true,"Name 4 save, def=GrapheStereropolis.xml") - ); - mParam = StdGetFromPCP(aNameParam,Xml_ParamGraphStereopolis); + LArgMain anArgObl; + anArgObl << EAMC(mPatIm,"Full name (Dir+Pat)", eSAM_IsPatFile) + << EAMC(mOriIn,"Input Orientation folder", eSAM_IsExistDirOri) + << EAMC(mNameBlock,"File for block"); + LArgMain anArgOpt; + anArgOpt << EAM(mLevelMsg,"LevMsg",true,"Level of Message, def=1"); + + + if (aMode == eGraphe) + { + ElInitArgMain + ( + argc,argv, + anArgObl + << EAMC(mNameParam,"Name File Param"), + anArgOpt + << EAM(mNameSave,"Out",true,"Name 4 save, def=GrapheStereropolis.xml") + << EAM(mNbPairByF,"NbPByF",true,"Max number of pair by file") + ); + mParam = StdGetFromPCP(mNameParam,Xml_ParamGraphStereopolis); + mNameGrpC = mParam.NameGrpC(); + } + else if (aMode == eCheckRel) + { + ElInitArgMain + ( + argc,argv, + anArgObl + << EAMC(mNamePointe,"Name File Pointe"), + anArgOpt + // << EAM(mNameSave,"Out",true,"Name 4 save, def=GrapheStereropolis.xml") + ); + } + else if (aMode == eComputeBlini) + { + ElInitArgMain + ( + argc,argv, + anArgObl, + anArgOpt + << EAM(mDirInc,"DirInc",true,"Folder 4 Inc reading") + << EAM(mNameMasq3D,"Masq3D",true,"Folder 4 eliminating part of trajectory") + << EAM(mSig0Incert,"SigmaInc",true,"Sigma to transform incet in weight") + ); + } cAppli_Block::Compile(); + // Must be done now because + if (aMode != eGraphe) + { + mNameGrpC = mBlock.MasterGrp().ValWithDef(mBlock.ParamOrientSHC().begin()->IdGrp()); + } + + if (EAMIsInit(&mDirInc)) + StdCorrecNameOrient(mDirInc,mDir); + if (mLevelMsg>=1) std::cout << "=== DONE READ ARGS\n"; // Map Name of Time => Vecteur of name images at this time @@ -519,20 +474,20 @@ cGS_Appli::cGS_Appli (int argc,char ** argv) : { t2Str aTimG = TimGrp(aName); aMapBl[aTimG.first].push_back(aName); + mSetBloc.insert(aTimG.second); } if (mLevelMsg>=1) std::cout << "=== DONE COMPUTE Groups, NbInit=" << aMapBl.size() << "\n"; // Compute bloc - Pt2dr aPInf(1e20,1e20); - Pt2dr aPSup(-1e20,-1e20); + bool RequireCamSec = (mMode==cGS_Appli::eComputeBlini); for (const auto & aBloc : aMapBl) { - cGS_1BlC * aGSB = new cGS_1BlC(*this,aBloc.second); - if (aGSB->mCamC!=nullptr) + cGS_1BlC * aGSB = new cGS_1BlC(*this,aBloc.first,aBloc.second); + if ( (aGSB->mCamC!=nullptr) && ((!RequireCamSec)||(aGSB->mCamSec!=nullptr)) ) { mVBlocs.push_back(aGSB); - aPInf = Inf(aPInf,aGSB->mP2); - aPSup = Sup(aPSup,aGSB->mP2); + mPInf = Inf(mPInf,aGSB->mP2); + mPSup = Sup(mPSup,aGSB->mP2); } } @@ -581,7 +536,283 @@ cGS_Appli::cGS_Appli (int argc,char ** argv) : aCur.mSeg = Seg2d(aCur.mP2,aNext.mP2); } } - if (mLevelMsg>=1) std::cout << "=== DONE COMPUTED SPEED\n"; + +} + +int cGS_Appli::Exe() +{ + if (mMode == eGraphe) + { + DoGraphe(); + } + else if (mMode == eCheckRel) + { + DoCheckMesures(); + } + + return EXIT_SUCCESS; +} + + + +// Represent 1 point + a cam +class cInterv_OneP3D2C; +class cGS_OneP3D2Check; +class cGS_OnePointe2Check; + +class cGS_OnePointe2Check +{ + public : + cGS_OnePointe2Check(const Pt2dr aPt,cGS_Cam * aCam) : + mPt (aPt ), + mCam (aCam), + mSeg (mCam->mCamS->Capteur2RayTer(mPt)) + { + } + double Absc() const {return mCam->mBlock->mAbsCurv;} + double DProj(const Pt3dr & aPTer) {return euclid(mPt, mCam->mCamS->Ter2Capteur(aPTer));} + + Pt2dr mPt; + cGS_Cam * mCam; + ElSeg3D mSeg; +}; + +// Represent a list of consecutive cGS_OneP3D2Check +class cInterv_OneP3D2C +{ + public : + cInterv_OneP3D2C(int aInd0,int aInd1,cGS_OneP3D2Check * aP3); + double ScoreReproj(const Pt3dr & aP) const; + Pt3dr Inter(int aI1,int aI2,bool & Ok) const; + double ScoreReproj(int aI1,int aI2) const; + void Print(FILE * aFp) const; + + cGS_OneP3D2Check * mP3; + int mInd0; + int mInd1; + double mScoreMin; + double mScoreMax; + double mScoreSom; + Pt2di mCplMin; + bool mOk; + Pt3dr mPInter; +}; +class cGS_OneP3D2Check +{ + public : + cGS_OneP3D2Check(const std::string & aName) : + mName (aName), + mScMax (0.0), + mScSom (0.0) + { + } + + std::string mName; + double mScMax; + double mScSom; + + std::vector mVPt; + std::vector mVInt; + void Print(FILE * aFp) const; + void Compile(); +}; + +/**************** cInterv_OneP3D2C ***********/ + +double cInterv_OneP3D2C::ScoreReproj(const Pt3dr & aP) const +{ + double aRes = 0.0; + for (int aInd=mInd0 ; aIndmVPt[aInd].DProj(aP); + } + int aNbConstr = (mInd1 - mInd0) * 2; + int aDOF = aNbConstr -3 ; // degre of freedom + return aRes / double(aDOF); +} + +Pt3dr cInterv_OneP3D2C::Inter(int aI1,int aI2,bool &Ok) const +{ + std::vector aVS; + aVS.push_back(mP3->mVPt[aI1].mSeg); + aVS.push_back(mP3->mVPt[aI2].mSeg); + return InterSeg(aVS,Ok); +} + +double cInterv_OneP3D2C::ScoreReproj(int aI1,int aI2) const +{ + bool Ok; + Pt3dr aPInter = Inter(aI1,aI2,Ok); + return Ok ? ScoreReproj(aPInter) : 1e20; +} + + +cInterv_OneP3D2C::cInterv_OneP3D2C(int aInd0,int aInd1,cGS_OneP3D2Check * aP3) : + mP3 (aP3), + mInd0 (aInd0), + mInd1 (aInd1), + mScoreMin (1e10), + mScoreMax (0), + mScoreSom (0), + mCplMin (-1,-1), + mOk (false) +{ + for (int aI1 = mInd0 ; aI1mVPt[anInd].DProj(mPInter); + mScoreMax = ElMax(mScoreMax,aD); + mScoreSom += aD; + } + } +} + +void cInterv_OneP3D2C::Print(FILE * aFp) const +{ + double aPixThres = 5; + fprintf(aFp,"- - - - - - - - - - - - - - -\n"); + for (int anInd=mInd0 ; anIndmVPt[anInd].DProj(mPInter); + bool Ok = (aDistmVPt[anInd].mCam->mName.c_str() + ); + fprintf(aFp,"\n"); + } +} + + + +/********** cGS_OneP3D2Check **************/ + +void cGS_OneP3D2Check::Print(FILE * aFp) const +{ + fprintf(aFp,"############################################################\n"); + fprintf(aFp," Name Point : %s\n",mName.c_str()); + + for(const auto & aPtrInt : mVInt) + { + aPtrInt->Print(aFp); + } +} + + +void cGS_OneP3D2Check::Compile() +{ + std::sort + ( + mVPt.begin(), mVPt.end(), + [](const cGS_OnePointe2Check & aP1,const cGS_OnePointe2Check & aP2) {return aP1.Absc()= aBegin+2) + { + cInterv_OneP3D2C * aInterv = new cInterv_OneP3D2C(aBegin,aEnd,this); + if (aInterv->mOk) + { + mVInt.push_back(aInterv); + mScMax = ElMax(mScMax,aInterv->mScoreMax); + mScSom += aInterv->mScoreSom; + } + } + } +} + +void cGS_Appli::DoCheckMesures() +{ + mSMAF = StdGetFromPCP(mNamePointe,SetOfMesureAppuisFlottants); + std::map mDicoP3; + + int aNbPointes = 0; + for (const auto & aMes1Im : mSMAF.MesureAppuiFlottant1Im()) + { +// std::cout<<"IMMM " << aMes1Im.NameIm() << "\n"; + cGS_Cam *aCam = CamOfName(aMes1Im.NameIm()); + if (aCam!=nullptr) + { + for (auto aPointe : aMes1Im.OneMesureAF1I()) + { + aNbPointes++; + cGS_OneP3D2Check * & aP3 = mDicoP3[aPointe.NamePt()]; + if (aP3==nullptr) + { + aP3 = new cGS_OneP3D2Check(aPointe.NamePt()); + } + aP3->mVPt.push_back(cGS_OnePointe2Check(aPointe.PtIm(),aCam)); + } + } + } + const cGS_OneP3D2Check * aWorst = nullptr; + double aScMax = -1; + double aScSum = 0; + for (const auto & aPointe : mDicoP3) + { + if (aPointe.second) + { + aPointe.second->Compile(); + aScSum += aPointe.second->mScSom; + if (aPointe.second->mScMax > aScMax) + { + aScMax = aPointe.second->mScMax; + aWorst = aPointe.second; + } + } + } + FILE * aFP = FopenNN("CheckGCPStereopolis.txt","w","DoCheckMesures"); + + fprintf(aFP,"AVERAGE = %f\n",aScSum/aNbPointes); + if (aWorst) + { + fprintf(aFP,"WORT POINT = %s\n",aWorst->mName.c_str()); + } + for (const auto & aPointe : mDicoP3) + { + if (aPointe.second) + { + aPointe.second->Print(aFP); + } + } + fclose(aFP); +} + + + +void cGS_Appli::DoGraphe() +{ // Compute Quod Tree for spatial indexation { @@ -591,14 +822,14 @@ cGS_Appli::cGS_Appli (int argc,char ** argv) : mQtSom= new tQtSom ( [](cGS_1BlC *aBl){return aBl->mP2;}, - Box2dr(aPInf-aRab,aPSup+aRab), + Box2dr(mPInf-aRab,mPSup+aRab), 10, mDistStd*5.0 ); mQtArc= new tQtArc ( [](cGS_1BlC *aBl){return aBl->mSeg;}, - Box2dr(aPInf-aRab,aPSup+aRab), + Box2dr(mPInf-aRab,mPSup+aRab), 10, mDistStd*5.0 ); @@ -676,19 +907,37 @@ cGS_Appli::cGS_Appli (int argc,char ** argv) : std::cout << "NB VAL , FOR LINE: " << aNbLine << " FOR CROSS: " << aNbCross << "\n"; // Save to file - cSauvegardeNamedRel aRel; + + int aCptPair = 0; for (const auto & aPair : mSetStr) { - aRel.Cple().push_back(cCpleString(aPair.first,aPair.second)); + mRel.Cple().push_back(cCpleString(aPair.first,aPair.second)); + aCptPair ++; + // If we are at limit size, flush buffer + if (aCptPair== mNbPairByF) + { + SauvRel(); + mRel.Cple().clear(); + aCptPair=0; + mNbFile++; + } } - MakeFileXML(aRel,mDir+mNameSave); + // Save remaining + SauvRel(); +} + +int CheckGCPStereopolis_main(int argc,char ** argv) +{ + cGS_Appli anAppli(argc,argv,cGS_Appli::eCheckRel); + + return anAppli.Exe(); } int GrapheStereopolis_main(int argc,char ** argv) { - cGS_Appli(argc,argv); + cGS_Appli anAppli(argc,argv,cGS_Appli::eGraphe); - return EXIT_SUCCESS; + return anAppli.Exe(); } /*Footer-MicMac-eLiSe-25/06/2007 diff --git a/src/uti_phgrm/CPP_HomFilterMasq.cpp b/src/uti_phgrm/CPP_HomFilterMasq.cpp index 5c109623f0..6dbd86b4c8 100644 --- a/src/uti_phgrm/CPP_HomFilterMasq.cpp +++ b/src/uti_phgrm/CPP_HomFilterMasq.cpp @@ -120,7 +120,7 @@ int HomFilterMasq_main(int argc,char ** argv) << EAM(aSelecTer,"SelecTer",true,"[Per,Prop] Period of tiling on ground selection, Prop=proporion of selected") << EAM(aDistId,"DistId",true,"Supress pair such that d(P1,P2) < DistId, def unused") << EAM(aDistHom,"DistH",true,"Distance of reprojection for filtering homologous point") - << EAM(DoSym,"Symetrise",true,"Symetrise masq") + << EAM(DoSym,"Symetrise",true,"Symetrise Files when dont exist") << EAM(DoCalNb,"Nb",true,"Calculate number of homologous points") ); bool aHasOri3D = EAMIsInit(&aOriMasq3D); diff --git a/src/uti_phgrm/CPP_Stereopolis.cpp b/src/uti_phgrm/CPP_Stereopolis.cpp new file mode 100644 index 0000000000..07263cfd36 --- /dev/null +++ b/src/uti_phgrm/CPP_Stereopolis.cpp @@ -0,0 +1,477 @@ +/*Header-MicMac-eLiSe-25/06/2007 + + MicMac : Multi Image Correspondances par Methodes Automatiques de Correlation + eLiSe : ELements of an Image Software Environnement + + www.micmac.ign.fr + + + Copyright : Institut Geographique National + Author : Marc Pierrot Deseilligny + Contributors : Gregoire Maillet, Didier Boldo. + +[1] M. Pierrot-Deseilligny, N. Paparoditis. + "A multiresolution and optimization-based image matching approach: + An application to surface reconstruction from SPOT5-HRS stereo imagery." + In IAPRS vol XXXVI-1/W41 in ISPRS Workshop On Topographic Mapping From Space + (With Special Emphasis on Small Satellites), Ankara, Turquie, 02-2006. + +[2] M. Pierrot-Deseilligny, "MicMac, un lociel de mise en correspondance + d'images, adapte au contexte geograhique" to appears in + Bulletin d'information de l'Institut Geographique National, 2007. + +Francais : + + MicMac est un logiciel de mise en correspondance d'image adapte + au contexte de recherche en information geographique. Il s'appuie sur + la bibliotheque de manipulation d'image eLiSe. Il est distibue sous la + licences Cecill-B. Voir en bas de fichier et http://www.cecill.info. + + +English : + + MicMac is an open source software specialized in image matching + for research in geographic information. MicMac is built on the + eLiSe image library. MicMac is governed by the "Cecill-B licence". + See below and http://www.cecill.info. + +Header-MicMac-eLiSe-25/06/2007*/ +#include "StdAfx.h" +#include "BlockCam.h" + +static const Pt3di PColRed(255,0,0); +static const Pt3di PColGreen(0,255,0); +static const Pt3di PColBlue(0,0,255); +static const Pt3di PColBlack(0,0,0); +static const Pt3di PColOrange(255,128,0); +static const Pt3di PColCyan(0,0,255); +static const Pt3di PColGrayMed(128,128,12); + +typedef std::map> tMapInc; + +// std::map> +tMapInc StdGetSCenterOPK(const std::string & aDir); + + // StdGetSCenterOPK("Ori-4MesInc/"); + +/*****************************************/ +/* */ +/* :: */ +/* */ +/*****************************************/ + + +void CreatPlyOnePt(const std::string& aName, const Pt3dr & aPt,const Pt3di aCoul,double aRay,int aNbByRay) +{ + cPlyCloud aPlyFile; + aPlyFile.AddSphere(aCoul,aPt,aRay,aNbByRay); + aPlyFile.PutFile(aName); +} + +class cBlockATS +{ + public : + cBlockATS(const cBlockATS *) = delete; + cBlockATS(cGS_1BlC *); + const ElRotation3D & OriC2S() const {return mOriC2S;} + const Pt3dr & LevA() const {return mLevA;} + const Pt3dr & Pos() const {return mOriC2W.tr();} + const ElMatrix & BoreS() const {return mBoreS;} + void CalculNext(const cBlockATS & aNext); + + // Calcul le boresight relatif + void SetEstimBoreS(const ElMatrix & aMat); + void SetInc(const tMapInc &); + + const Pt3dr & OPK_V() const {return mOPK;} // Vehicule + Pt3dr OPK_W() const {return mOriC2W.Mat() * mOPK;} // Word + const cGS_1BlC & StdBl() const {return *mStdBl;} + const std::string & NameIm() const {return mStdBl->mCamSec->mName;} + bool WithInc () const {return mWithInc;} + Pt3dr IncXYZ () const {return mIncXYZ;} + Pt3dr IncOPK () const {return mIncOPK;} + + double PdsPos() const {return mPdsPos;} + void SetPdsPos(double aPds) {mPdsPos=aPds;} + double PdsOri() const {return mPdsOri;} + void SetPdsOri(double aPds) {mPdsOri=aPds;} + Pt3di StdCoul() {return (mPdsPos >0) ? PColGreen : PColRed;} + private : + cGS_1BlC * mStdBl; + ElRotation3D mOriC2W; // Orientation Centrale 3 World + ElRotation3D mOriS2W; // Orientation Secondary = cam + ElRotation3D mOriC2S; // Orientation Centrale relatively to Cam + + // ElRotation3D mOriCNext2C; // Orientation Centrale 3 World + // ElRotation3D mOriSNext2S; // Orientation Centrale 3 World + + // Relative position of C(=central) in S (=second=camera) repair + Pt3dr mLevA; // alwo known as lever arm + ElMatrix mBoreS; // alwo known as boresight + + // Handles Boresigth As + Pt3dr mOPK; // Omega Phi Kapa as delta between Boresight and average Boresight + + // Inc on orients + bool mWithInc; + Pt3dr mIncXYZ; + Pt3dr mIncOPK; + double mPdsPos; + double mPdsOri; +}; + +void cBlockATS::CalculNext(const cBlockATS & aNext) +{ +/* + mOriCNext2C = mOriC2W.inv() * aNext.mOriC2W; + mOriSNext2S = mOriS2W.inv() * aNext.mOriS2W; + std::cout << "TTRRRRRR "<< mOriCNext2C.tr() << mOriSNext2S.tr() << "\n"; +*/ +} + +void cBlockATS::SetInc(const tMapInc & aMap) +{ + tMapInc::const_iterator anIt = aMap.find(NameIm()); + + if (anIt==aMap.end()) + { + return; + } + mWithInc = true; + mIncXYZ = anIt->second.first; + mIncOPK = anIt->second.second; + +// std::cout << "JJJJ " << (anIt==aMap.end()) << " <- " << NameIm() << mIncXYZ << mIncOPK << "\n"; +} + +cBlockATS::cBlockATS(cGS_1BlC * aBl) : + mStdBl (aBl), + mOriC2W (mStdBl->mCamC->mCamS->Orient().inv()), + mOriS2W (mStdBl->mCamSec->mCamS->Orient().inv()), + mOriC2S (mOriS2W.inv() * mOriC2W), + // mOriCNext2C (ElRotation3D::Id), + // mOriSNext2S (ElRotation3D::Id), + mLevA (mOriC2S.tr()), + mBoreS (mOriC2S.Mat()), + mWithInc (false), + mPdsPos (1.0), + mPdsOri (1.0) +{ +} + +void cBlockATS::SetEstimBoreS(const ElMatrix & aMat) +{ + if (true) + { + // BOres = RCam-1 * RIns + // RCam * BOres = RIns + // RCam * BOres = RIns * OPK + // OPK = RIns -1 * RCam * BOres + + ElMatrix aRes = mOriC2W.inv().Mat() * mOriS2W.Mat() * aMat ; + ElRotation3D aR(Pt3dr(0,0,0),aRes,true); + mOPK = Pt3dr(aR.teta12(),aR.teta02(),aR.teta01()); + + // mOPK = mOriC2W.Mat() * mOPK; + } + else + { + } + +} + + +class cAnalyseTrajStereopolis : public cGS_Appli +{ + public : + cAnalyseTrajStereopolis(int argc,char ** argv); + private : + template void Stat(const Type & Fctr,const std::string &Name); + template void StatWithSel(const Type & Fctr,const TypeSel & aSel,const std::string &Name); + + double ScoreOneLA(const Pt3dr &) const; // Score 4 One LevArm, using sum euclid dist + double ScoreOneBoreS(const ElMatrix &) const; + std::vector mVBlATS; + cPlyCloud mPly_LACloud; + cPlyCloud mPly_TrajCOpt; + cPlyCloud mPly_TrajSeg; + cPlyCloud mPly_TrajLevArm; + cPlyCloud mPly_TrajBoreS_V; + cPlyCloud mPly_TrajBoreS_W; + cPlyCloud mPly_TrajNameCam; + + cPlyCloud mPly_TrajIncPos; + cPlyCloud mPly_TrajIncOPK; + Pt3dr mLAEstim; + ElMatrix mBoresEstim; + std::map> mMapInc; + bool mWithInc; + cMasqBin3D * mMasq3D; +}; + +template + void cAnalyseTrajStereopolis::StatWithSel + ( + const Type & aFctr, + const TypeSel & aSel, + const std::string &Name + ) +{ + std::vector aVP; + Pt3dr aSomP(0,0,0); + int aNbSel = 0; + for (const auto & aBl : mVBlATS) + { + if (aSel(aBl)) + { + Pt3dr aP = aFctr(*aBl); + aP = Pt3dr(ElAbs(aP.x),ElAbs(aP.y),ElAbs(aP.z)); + aVP.push_back(aP); + aSomP = aSomP + aP; + aNbSel ++; + } + } + + ELISE_ASSERT(aNbSel!=0,"No Block in StatWithSel"); + aSomP = aSomP / aNbSel; + std::cout << "========== STAT FOR " << Name << " =================\n"; + std::cout << " MoyAbs= " << euclid(aSomP) << " " << aSomP << "\n"; + Pt3dr aPMed = P3DMed(aVP,[](const Pt3dr & aP) {return aP;}); + std::cout << " MedAbs= " << euclid(aPMed) << " " << aPMed << "\n"; +} + +bool SelPds(cBlockATS * aBl) {return aBl->PdsPos()>0;} +bool SelInc(cBlockATS * aBl) {return aBl->WithInc() && (aBl->PdsPos()>0);} +template void cAnalyseTrajStereopolis::Stat(const Type & Fctr,const std::string &Name) +{ + StatWithSel(Fctr,[](cBlockATS *) {return true;},Name); +} + // template void StatWithSel(const Type & Fctr,const Type & aSel,const std::string &Name); + +double cAnalyseTrajStereopolis::ScoreOneLA(const Pt3dr & aLA) const +{ + double aSomEcP = 0; + double aSomP = 0; + for (const auto & aBl : mVBlATS) + { + double aPds = aBl->PdsPos(); + aSomP += aPds; + aSomEcP += euclid(aLA-aBl->LevA()) * aPds; + } + + return aSomEcP / aSomP; +} + +double cAnalyseTrajStereopolis::ScoreOneBoreS(const ElMatrix & aBoreS) const +{ + double aRes = 0; + for (const auto & aBl : mVBlATS) + aRes += sqrt(aBoreS.L2(aBl->BoreS())); + + return aRes / mVBlATS.size(); +} +/* +*/ + + + + +cAnalyseTrajStereopolis::cAnalyseTrajStereopolis(int argc,char ** argv) : + cGS_Appli (argc,argv,cGS_Appli::eComputeBlini), + mBoresEstim (3,3), + mWithInc (false), + mMasq3D (nullptr) +{ + if (EAMIsInit(&mNameMasq3D)) + { + mMasq3D = cMasqBin3D::FromSaisieMasq3d(mNameMasq3D); + } + if (EAMIsInit(&mDirInc)) + { + mWithInc = true; + mMapInc = StdGetSCenterOPK("Ori-"+mDirInc + "/"); + } + int aNbByRayPly = 4; + double aRayPly = 0.01; + + ELISE_ASSERT(mSetBloc.size()==2,"cAnalyseTrajStereopolis require excactly 2 cam in bloc"); + + for (const auto & aPtrBl : mVBlocs) + { + cBlockATS * aPtrBlA = new cBlockATS(aPtrBl); + mVBlATS.push_back(aPtrBlA); + + if (mWithInc) + aPtrBlA->SetInc(mMapInc); + // std::cout << "TR = " << mVBlATS.back().OriC2S().tr() << "\n"; + Pt3dr aLA = aPtrBlA->LevA(); + + if (mMasq3D) + { + double aPds = mMasq3D->IsInMasq(aPtrBlA->Pos()); + aPtrBlA->SetPdsOri(aPds); + aPtrBlA->SetPdsPos(aPds); + } + mPly_LACloud.AddPt(aPtrBlA->StdCoul(),aLA); + } + mPly_LACloud.PutFile("AnTS_LevArmCloud.ply"); + for (int aK=1 ; aKCalculNext(*mVBlATS[aK]); + } + + + // Calcul d'un point moyen par min de som(abs(dist)) + { + double aScCMin = 1e20; + Pt3dr aLAMinDEucl; + for (const auto & aBl : mVBlATS) + { + double aScC = ScoreOneLA(aBl->LevA()); + if (aScCLevA(); + } + } + CreatPlyOnePt("AnTS_LevArmDAbs.ply",aLAMinDEucl,PColBlue,aRayPly,aNbByRayPly); + mLAEstim = aLAMinDEucl; + } + if (0) // Pb Resolu, a priori inutile + { + Pt3dr aMedLA = P3DMed(mVBlATS,[](const cBlockATS * aBl) {return aBl->LevA() ;}); + CreatPlyOnePt("AnTS_LevArmMed.ply",aMedLA,PColOrange,aRayPly,aNbByRayPly); + } + + // Calcul d'un borseight moyen par min de som(abs(dist)) + { + double aScCMin = 1e20; + ElMatrix aBoreSMinDist(3,3); + for (const auto & aBl : mVBlATS) + { + double aScC = ScoreOneBoreS(aBl->BoreS()); + if (aScCBoreS(); + } + } + mBoresEstim = aBoreSMinDist; + + cPlyCloud aPly_BoreSCloud; + for (auto & aBl : mVBlATS) + { + aBl->SetEstimBoreS(mBoresEstim); + aPly_BoreSCloud.AddPt(aBl->StdCoul(),aBl->OPK_V()); + } + aPly_BoreSCloud.PutFile("AnTS_OPKCloud.ply"); + + std::cout << "DISP LA " << ScoreOneLA(mLAEstim) << "\n"; + std::cout << "DISP BORESIGHT " << ScoreOneBoreS(mBoresEstim) << "\n"; + } + + + { + for (int aKp=0 ; aKpOPK(); + } + + double aMulPos = 100; + double aMulOPK = 200; + + Pt3di aCoulTraj = PColOrange; + for (int aKp=0 ; aKp 0) ? PColGreen : PColRed ; + mPly_TrajCOpt.AddSphere(aColPos,aBl.Pos(),0.10,4); + Pt3dr anEcart = aBl.LevA() - mLAEstim; + mPly_TrajLevArm.AddSeg(PColRed,aBl.Pos(),aBl.Pos() + anEcart*aMulPos,100); + + mPly_TrajBoreS_V.AddSeg(PColBlue ,aBl.Pos(),aBl.Pos() + aBl.OPK_V() * aMulOPK ,100); + mPly_TrajBoreS_W.AddSeg(PColCyan,aBl.Pos(),aBl.Pos() + aBl.OPK_W() * aMulOPK ,100); + if (aKp>=1) + { + const cBlockATS & aBlPrec = *mVBlATS.at(aKp-1); + mPly_TrajSeg.AddSeg(aCoulTraj,aBl.Pos(),aBlPrec.Pos(),100); + } + mPly_TrajNameCam.PutString + ( + aBl.StdBl().mTimeId, + aBl.Pos() + Pt3dr(0,0,2), + Pt3dr(1,0,0), + Pt3dr(0,1,0), + PColGrayMed, + 0.3, + 0.05, + 1 // Number of pix ply for 1 pix digit + ); + if (aBl.WithInc()) + { + mPly_TrajIncPos.AddSeg(Pt3di(255,0,128),aBl.Pos(),aBl.Pos() + aBl.IncXYZ()*aMulPos,100); + mPly_TrajIncOPK.AddSeg(Pt3di(0,128,255),aBl.Pos(),aBl.Pos() + aBl.IncOPK()*aMulOPK,100); + } + } + mPly_TrajCOpt.PutFile("AnTS_TrajCenter.ply"); + mPly_TrajSeg.PutFile("AnTS_TrajLine.ply"); + mPly_TrajLevArm.PutFile("AnTS_TrajLevArm.ply"); + mPly_TrajBoreS_V.PutFile("AnTS_TrajBoreS_Vehicule.ply"); + mPly_TrajBoreS_W.PutFile("AnTS_TrajBoreS_Word.ply"); + mPly_TrajNameCam.PutFile("AnTS_TrajNameCam.ply"); + if (mWithInc) + { + mPly_TrajIncPos.PutFile("AnTS_TrajIncXYZ.ply"); + mPly_TrajIncOPK.PutFile("AnTS_TrajIncOPK.ply"); + } + } + StatWithSel ( [this](const cBlockATS & aBl){return aBl.LevA() - mLAEstim;},SelPds, "Lever-Arm"); + StatWithSel ( [](const cBlockATS & aBl){return aBl.OPK_V() ;},SelPds, "Bore-Sight"); + + StatWithSel ( [](const cBlockATS & aBl){return aBl.IncXYZ() ;},SelInc, "XYZInc"); + StatWithSel ( [](const cBlockATS & aBl){return aBl.IncOPK() ;},SelInc, "WKPInc"); +} + +int AnalyseTrajStereopolis_main(int argc,char ** argv) +{ + // GetSCenterOPK("Ori-4MesInc/Sensib-ConvName.txt","Ori-4MesInc/Sensib-Data.dmp"); + cAnalyseTrajStereopolis anAppli(argc,argv); + + return EXIT_SUCCESS; +} + + + +/*Footer-MicMac-eLiSe-25/06/2007 + +Ce logiciel est un programme informatique servant à la mise en +correspondances d'images pour la reconstruction du relief. + +Ce logiciel est régi par la licence CeCILL-B soumise au droit français et +respectant les principes de diffusion des logiciels libres. Vous pouvez +utiliser, modifier et/ou redistribuer ce programme sous les conditions +de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA +sur le site "http://www.cecill.info". + +En contrepartie de l'accessibilité au code source et des droits de copie, +de modification et de redistribution accordés par cette licence, il n'est +offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, +seule une responsabilité restreinte pèse sur l'auteur du programme, le +titulaire des droits patrimoniaux et les concédants successifs. + +A cet égard l'attention de l'utilisateur est attirée sur les risques +associés au chargement, à l'utilisation, à la modification et/ou au +développement et à la reproduction du logiciel par l'utilisateur étant +donné sa spécificité de logiciel libre, qui peut le rendre complexe à +manipuler et qui le réserve donc à des développeurs et des professionnels +avertis possédant des connaissances informatiques approfondies. Les +utilisateurs sont donc invités à charger et tester l'adéquation du +logiciel à leurs besoins dans des conditions permettant d'assurer la +sécurité de leurs systèmes et ou de leurs données et, plus généralement, +à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. + +Le fait que vous puissiez accéder à cet en-tête signifie que vous avez +pris connaissance de la licence CeCILL-B, et que vous en avez accepté les +termes. +Footer-MicMac-eLiSe-25/06/2007*/ diff --git a/src/uti_phgrm/Sources.cmake b/src/uti_phgrm/Sources.cmake index 79668394d5..a798f42901 100644 --- a/src/uti_phgrm/Sources.cmake +++ b/src/uti_phgrm/Sources.cmake @@ -126,6 +126,7 @@ set( Applis_phgrm_Src_Files ${UTI_PHGRM_DIR}/CPP_Gri2Bin.cpp ${UTI_PHGRM_DIR}/CPP_GCPBascule.cpp ${UTI_PHGRM_DIR}/CPP_Block.cpp + ${UTI_PHGRM_DIR}/CPP_Stereopolis.cpp ${UTI_PHGRM_DIR}/CPP_CenterBascule.cpp ${UTI_PHGRM_DIR}/CPP_MakeGrid.cpp ${UTI_PHGRM_DIR}/CPP_Malt.cpp From b81848be228bb5a665121d2352ef66a780ffc9b5 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Wed, 19 Feb 2020 20:49:55 +0100 Subject: [PATCH 30/49] Formal derivative : Seem OK for der, need test and eval --- .../TestLibsExtern/TestDynCompDerivatives.cpp | 851 ++++++++++++++++++ MMVII/src/TestLibsExtern/TestMyJets.cpp | 231 +---- 2 files changed, 895 insertions(+), 187 deletions(-) create mode 100644 MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp diff --git a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp new file mode 100644 index 0000000000..c477ebfc34 --- /dev/null +++ b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp @@ -0,0 +1,851 @@ +#ifndef _MMVII_DynAndStatFormalDerivation_H_ +#define _MMVII_DynAndStatFormalDerivation_H_ + + +/** \file TestDynCompDerivatives.cpp + \brief Proto of generated code + +Prototype of generated code, do not know how it will evolve + +*/ + +#define WITH_MMVII false + +#if (WITH_MMVII) //========================================================= +#include "include/MMVII_all.h" +#include "include/MMVII_Derivatives.h" +using namespace MMVII; +#else //========================================================== +class cMemCheck +{ +}; +#include "ExternalInclude/Eigen/Dense" +#include +#include +#include + +#endif //========================================================== + +#define TPLDecl +#define TPLInst + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * Pre-Declaration of all classes * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + // The two classes visible by user are cFormulaFD (mainly) and cContextFormalDer (rarely) + +/** Encupsulation of share ptr on cImplemFormFD , */ +template TPLDecl class cFormulaFD ; +/** Class for managing the "context", i.e. coordinating all the formula + and their derivative corresponding to a single use */ +template TPLDecl class cContextFormalDer; + + // Other classe are cImplemFormFD and its derivatives +template TPLDecl class cImplemFormFD ; ///< Mother class of all FunFormal, abstract class with pure virtual method + // --- "Atomic" function : Unknown, constant, observation +template TPLDecl class cFObsFormalDer ; ///< "Observations" corresponding to user constant (change for each evaluation) +template TPLDecl class cFCsteFormalDer ; ///< Constant function +template TPLDecl class cFUnknownFormalDer; ///< "Unknown" for representing coordinates function X0,X1,X2 .... + // --- Unary operator +template TPLDecl class cOpUnFormalDer ; ///< Mother Class of all unary operator +template TPLDecl class cSquareFormalDer ; ///< Class for square operator +template TPLDecl class cExpFormalDer ; ///< Class for exponential operator +template TPLDecl class cMin1FormalDer ; ///< Class for Unary Minus + // --- Binary operator +template TPLDecl class cOpBinFormalDer ; ///< Mother class of binary operators +template TPLDecl class cSumFormalDer ; ///< Class for sum of 2 functions +template TPLDecl class cMulFormalDer ; ///< Class for multiplication of 2 functions +template TPLDecl class cSubFormalDer ; ///< Class for substraction of 2 functions +template TPLDecl class cDivFormalDer ; ///< Class for division of 2 functions + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * Declare all operator * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + // -------- Declare all binary operators ---------------- + + // For each operator with have the 3 versions "Formula x Formula" , + // "Number x Formula" and "Formula x Number" + + // Operator + +template TPLDecl cFormulaFD TPLInst operator +(const cFormulaFD TPLInst & aF1 ,const cFormulaFD TPLInst & aF2); +template TPLDecl cFormulaFD TPLInst operator +(const TypeElem & aV1,const cFormulaFD TPLInst & aF2); +template TPLDecl cFormulaFD TPLInst operator +(const cFormulaFD TPLInst & aF1,const TypeElem & aV2); + // Operator * +template TPLDecl cFormulaFD TPLInst operator *(const cFormulaFD TPLInst & aF1 ,const cFormulaFD TPLInst & aF2); +template TPLDecl cFormulaFD TPLInst operator *(const TypeElem & aV1,const cFormulaFD TPLInst & aF2); +template TPLDecl cFormulaFD TPLInst operator *(const cFormulaFD TPLInst & aF1,const TypeElem & aV2); + // Operator - +template TPLDecl cFormulaFD TPLInst operator -(const cFormulaFD TPLInst & aF1 ,const cFormulaFD TPLInst & aF2); +template TPLDecl cFormulaFD TPLInst operator -(const TypeElem & aV1,const cFormulaFD TPLInst & aF2); +template TPLDecl cFormulaFD TPLInst operator -(const cFormulaFD TPLInst & aF1,const TypeElem & aV2); + // Operator / +template TPLDecl cFormulaFD TPLInst operator /(const cFormulaFD TPLInst & aF1 ,const cFormulaFD TPLInst & aF2); +template TPLDecl cFormulaFD TPLInst operator /(const TypeElem & aV1,const cFormulaFD TPLInst & aF2); +template TPLDecl cFormulaFD TPLInst operator /(const cFormulaFD TPLInst & aF1,const TypeElem & aV2); + + // -------- Declare all unary operators ---------------- +template TPLDecl cFormulaFD TPLInst square(const cFormulaFD TPLInst & aF); +template TPLDecl cFormulaFD TPLInst exp(const cFormulaFD TPLInst & aF); +template TPLDecl cFormulaFD TPLInst operator - (const cFormulaFD TPLInst & aF); + + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * Definition of all classes * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + // ------------------- 3 "Main" Classes ------------------------- + // cContextFormalDer / cFormulaFD / cImplemFormFD + // ---------------------------------------------------------------- + +template TPLDecl class cContextFormalDer : public cMemCheck +{ + public : + + // Result of several evaluation are stored in a buffer, Eigen vector are used + // as they implement efficiently arithmeticall operation + typedef Eigen::Matrix tBuf; + typedef cImplemFormFD TPLInst tIFD; + typedef cFormulaFD TPLInst tFormulaFD; + typedef std::map tDicoFunc; + typedef std::map tDicoCste; + typedef std::vector tVecId; + + friend tFormulaFD; + + + // --------------------------- Constructors ------------------- + /// Constructor with explicit Id for Unknown/Observation if we want to analyze the generated code + inline cContextFormalDer(const tVecId & aVecUK,const tVecId & aVecObs); + /// Constructor with basic Id (if we dont generate code, or dont want to analyse it by human) + inline cContextFormalDer(int aNbUnknown,int aNbObservation); + + // --------------------------- Accessors ------------------- + const std::vector& VUK() const {return mVFuncUnknown;} ///< Unknowns + const std::vector& VObs() const {return mVFuncObs;} ///< Observations + + + + // --------------------------- Acces to function from names, values ------------------- + /// Indicate if the formula corresponding to a given string allreay exist + inline bool ExistFunc(const std::string & aName) const + { + return (mDicoFunc.find(aName) != mDicoFunc.end()); + } + /// Func of given name, Error if don't exist + inline tFormulaFD FuncOfName(const std::string & aName) const ; + /// Add a function (put it in dico), Error if already exist + inline void AddFormula(tFormulaFD aPF) + { + if (ExistFunc(aPF->Name())) throw ("Multiple add of identic name :[" + aPF->Name() + "]"); + mDicoFunc[aPF->Name()] = aPF; + mVAllFormula.push_back(aPF); + } + + /// Func of given constant, create if don't exist + inline tFormulaFD CsteOfVal(const TypeElem & aCste) ; + tFormulaFD Cste0() const {return mCste0;} ///< Acces to a current constant + tFormulaFD Cste1() const {return mCste1;} ///< Another Acces to a current constant + tFormulaFD Cste2() const {return mCste2;} ///< Yet another Acces to a current constant + /// Tuning --- Print the stack of function as a tree + inline void ShowStackFunc() const; + + + size_t NbCurFonc() const {return mVAllFormula.size();} + private : + cContextFormalDer(const cContextFormalDer &) = delete; ///< Don't allow copy + + /// Used to generate automatically Id for Unknown/Observatio, when we dont need to control them explicitely + static std::vector MakeAutomId(const std::string & aPrefix,int aNb); + + size_t mNbCste; ///< Number Cste + size_t mNbUK; ///< Dim=number of unkown + size_t mNbObs; ///< Number of obserbation variable + std::vector mVFuncUnknown; ///< Vector of All Unknowns + std::vector mVFuncObs; ///< Vector of All Observations + tDicoFunc mDicoFunc; ///< Map Name => Func + std::vector mVAllFormula; ///< Vector of All Func, allow to parse them in creation order + tDicoCste mDicoCste; ///< Map Value => Func Constant + tFormulaFD mCste0; ///< Fonc constant null + tFormulaFD mCste1; ///< Fonc constant 1 + tFormulaFD mCste2; ///< Fonc constant 1 +}; + +template TPLDecl class cFormulaFD +{ + public : + typedef cContextFormalDer TPLInst tContext; + typedef typename tContext::tIFD tIFD; + typedef typename tContext::tFormulaFD tFormulaFD; + typedef std::shared_ptr tSPtrFuncFD; + + // -------------------- constructor ------------------- + /// Construct from a pointer, standard + cFormulaFD (tIFD * aRawPtr) : + mSPtr (aRawPtr) + { + } + /// Default constructor, required by some code (vector ?) + cFormulaFD (): + cFormulaFD TPLInst (nullptr) + { + } + // --------------- operator on pointer --------------------- + + tIFD & operator*() const {return *mSPtr;} ///< Standard behaviour of a pointer + tIFD * operator->() const {return mSPtr.operator ->();} ///< Standard behaviour of a pointer + bool IsNull() const {return mSPtr.get()==nullptr;} ///< Safer than giving acces to raw pointer + + // --------------- Naming --------------------- + + /// Generate the unique indentifier of a binary expression + std::string NameOperBin(const std::string & aNameOper,const tFormulaFD & aF2) const + { + return "F"+ std::to_string((*this)->NumGlob()) + aNameOper + "F" + std::to_string(aF2->NumGlob()); + } + + /// Generate the unique indentifier of a unary expression + std::string NameOperUn(const std::string & aNameOper) const + { + return aNameOper + " F" + std::to_string((*this)->NumGlob()); + } + + private : + tSPtrFuncFD mSPtr; ///< Smart/shared point on object +}; + + +template TPLDecl class cImplemFormFD : public cMemCheck +{ + public : + // See eigen documentation, this macro is mandatory for alignment reason + EIGEN_MAKE_ALIGNED_OPERATOR_NEW + + typedef TypeElem tElem; + static const int vSzBuf = TheSzBuf; + + typedef cContextFormalDer TPLInst tContext; + typedef typename tContext::tBuf tBuf; + typedef typename tContext::tFormulaFD tFormulaFD; + + friend tContext; + + virtual bool IsCste0() const {return false;} ///< To redefine in constant func, Used for simplification in "/ * + -" + virtual bool IsCste1() const {return false;} ///< To redefine in constant func, Used for simplification in "/ *" + // virtual void ComputeBuf() = 0; + virtual tFormulaFD Derivate(int aK) const = 0; + // Used to print constant from generic pointer + virtual const TypeElem * ValCste() const {return nullptr;} + + + /// Infixed "Pretty" Print . For tuning and checking (reduction, derivative) + virtual std::string InfixPPrint() const =0; + + // ---------- Accessors --------------- + const std::string & Name() const {return mName;} ///< Standard accessor + tContext * Context() const {return mContext;} ///< Standard accesor + int NumGlob() const {return mNumGlob;} ///< Standard accessor + + virtual ~cImplemFormFD () {} ///< Add a virtual ~X() when we have virtual methods + protected : + inline cImplemFormFD (tContext * aContext,const std::string & aName) : + mContext (aContext), + mName (aName), + mNumGlob (mContext->NbCurFonc()) + { } + + tBuf mBuf; ///< Buf to store values + tContext * mContext; ///< Context that manage all the funcion cooperating + const std::string mName; ///< string represention of the formula like for example "+C2*S6cos3.6" + int mNumGlob; ///< Global number (!= Num in class) + private : + cImplemFormFD (const cImplemFormFD &) = delete; +}; + + // ------------------- ATOMIC FORMULA ------------------------- + // cFUnknownFormalDer / cFUnknownFormalDer / cFUnknownFormalDer + // ---------------------------------------------------------------- + +template TPLDecl class cFUnknownFormalDer : public cImplemFormFD TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tContext tContext; + typedef typename tContext::tFormulaFD tFormulaFD; + + std::string InfixPPrint() const override {return tIFD::Name();} + tFormulaFD Derivate(int aK) const override + { + return (aK==mNumUnk) ? tIFD::mContext->Cste1() : tIFD::mContext->Cste0(); + } + + friend tContext; + private : + inline cFUnknownFormalDer(tContext * aContext,const std::string& aName,int aNum) : + tIFD (aContext,aName), + mNumUnk (aNum) + { } + + int mNumUnk; +}; + +template TPLDecl class cFObsFormalDer : public cImplemFormFD TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tContext tContext; + typedef typename tContext::tFormulaFD tFormulaFD; + friend tContext; + + std::string InfixPPrint() const override {return tIFD::Name();} + tFormulaFD Derivate(int aK) const override {return tIFD::mContext->Cste0();} + + protected : + inline cFObsFormalDer(tContext * aContext,const std::string & aName,int aNum) : + tIFD (aContext,aName), + mNum (aNum) + { } + int mNum; +}; + +template TPLDecl class cFCsteFormalDer : public cImplemFormFD TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tContext tContext; + typedef typename tContext::tBuf tBuf; + typedef typename tContext::tFormulaFD tFormulaFD; + friend tContext; + + bool IsCste0() const override {return mVal==0.0;} ///< Here we know if we are constant 0 + bool IsCste1() const override {return mVal==1.0;} ///< Here we know if we are constant 1 + // std::string InfixPPrint() const override {return "C" + std::to_string(mVal);} + std::string InfixPPrint() const override {return tIFD::Name();} + tFormulaFD Derivate(int aK) const override {return tIFD::mContext->Cste0();} + const TypeElem * ValCste() const override {return &mVal;} + + protected : + inline cFCsteFormalDer(tContext * aContext,const std::string & aName,int aNum,const TypeElem& aVal) : + tIFD (aContext,aName), + mNum (aNum), + mVal (aVal) + { + tIFD::mBuf= tBuf::Constant(mVal); // We know the value of buf that will never change + } + int mNum; + const TypeElem mVal; +}; + // ------------------- FORMULA ON UNARY OPERATOR --------------- + // MOTHER CLASS : cOpUnFormalDer + // cSquareFormalDer / cExpFormalDer + // ---------------------------------------------------------------- + +template TPLDecl class cOpUnFormalDer : public cImplemFormFD TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tContext tContext; + typedef typename tIFD::tFormulaFD tFormulaFD; + + virtual std::string NameOperator() const = 0; + std::string InfixPPrint() const override + { + return NameOperator() + " "+ mF->InfixPPrint() ; + } + protected : + inline cOpUnFormalDer(tFormulaFD aF,const std::string & aName) : + tIFD (aF->Context(),aName), + mF (aF) + { } + tFormulaFD mF; +}; + + +/* Probably not more efficient than implementing Square as F*F, because derivation would give + F'F + F'F BUT would be reorder as F'F + F'F and unified ... + By the way it was a test, if necessary replace Square by F*F */ +template TPLDecl class cSquareFormalDer : public cOpUnFormalDer TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tFormulaFD tFormulaFD; + typedef cOpUnFormalDer TPLInst tO1; + + std::string NameOperator() const override {return "square";} + cSquareFormalDer (tFormulaFD aF,const std::string & aName) : + tO1 (aF,aName) + { } + private : + tFormulaFD Derivate(int aK) const override + { + return 2.0 * tO1::mF->Derivate(aK) * tO1::mF; + } +}; + + +template TPLDecl class cExpFormalDer : public cOpUnFormalDer TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tFormulaFD tFormulaFD; + typedef cOpUnFormalDer TPLInst tO1; + + std::string NameOperator() const override {return "exp";} + cExpFormalDer (tFormulaFD aF,const std::string & aName) : + tO1 (aF,aName) + { } + private : + tFormulaFD Derivate(int aK) const override + { + return tO1::mF->Derivate(aK) * exp(tO1::mF); + } +}; + +template TPLDecl class cMin1FormalDer : public cOpUnFormalDer TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tFormulaFD tFormulaFD; + typedef cOpUnFormalDer TPLInst tO1; + + std::string NameOperator() const override {return "-";} + cMin1FormalDer (tFormulaFD aF,const std::string & aName) : + tO1 (aF,aName) + { } + private : + tFormulaFD Derivate(int aK) const override + { + return - tO1::mF->Derivate(aK) ; + } +}; + + + // ------------------- FORMULA ON BINARY OPERATOR --------------- + // MOTHER CLASS : cOpBinFormalDer + // cSumFormalDer / cMulFormalDer / cSubFormalDer / cDivFormalDer + // ---------------------------------------------------------------- + +template TPLDecl class cOpBinFormalDer : public cImplemFormFD TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tContext tContext; + typedef typename tIFD::tFormulaFD tFormulaFD; + + virtual std::string NameOperator() const = 0; + std::string InfixPPrint() const override + { + return NameOperator() + "("+ mF1->InfixPPrint() + " " + mF2->InfixPPrint() + ")"; + } + protected : + inline cOpBinFormalDer(tFormulaFD aF1,tFormulaFD aF2,const std::string & aName): + tIFD (aF1->Context(),aName), + mF1 (aF1), + mF2 (aF2) + { + // It doesn't work to mix formula from different context + assert(mF1->Context()==mF2->Context()); + } + + + tFormulaFD mF1; + tFormulaFD mF2; +}; + + +template TPLDecl class cSumFormalDer : public cOpBinFormalDer TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tFormulaFD tFormulaFD; + typedef cOpBinFormalDer TPLInst tO2; + + inline cSumFormalDer(tFormulaFD aF1,tFormulaFD aF2,const std::string & aName) : + tO2 (aF1,aF2,aName) + { } + private : + tFormulaFD Derivate(int aK) const override {return tO2::mF1->Derivate(aK) + tO2::mF2->Derivate(aK);} + std::string NameOperator() const override {return "+";} +}; + +template TPLDecl class cMulFormalDer : public cOpBinFormalDer TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tFormulaFD tFormulaFD; + typedef cOpBinFormalDer TPLInst tO2; + + inline cMulFormalDer(tFormulaFD aF1,tFormulaFD aF2,const std::string & aName) : + tO2 (aF1,aF2,aName) + { } + private : + tFormulaFD Derivate(int aK) const override + { + return tO2::mF2*tO2::mF1->Derivate(aK) + tO2::mF1*tO2::mF2->Derivate(aK); + } + std::string NameOperator() const override {return "*";} +}; + +template TPLDecl class cSubFormalDer : public cOpBinFormalDer TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tFormulaFD tFormulaFD; + typedef cOpBinFormalDer TPLInst tO2; + + inline cSubFormalDer(tFormulaFD aF1,tFormulaFD aF2,const std::string & aName) : + tO2 (aF1,aF2,aName) + { } + private : + tFormulaFD Derivate(int aK) const override {return tO2::mF1->Derivate(aK) - tO2::mF2->Derivate(aK);} + std::string NameOperator() const override {return "-";} +}; + +template TPLDecl class cDivFormalDer : public cOpBinFormalDer TPLInst +{ + public : + typedef cImplemFormFD TPLInst tIFD; + typedef typename tIFD::tFormulaFD tFormulaFD; + typedef cOpBinFormalDer TPLInst tO2; + + inline cDivFormalDer(tFormulaFD aF1,tFormulaFD aF2,const std::string & aName) : + tO2 (aF1,aF2,aName) + { } + private : + tFormulaFD Derivate(int aK) const override + { + return (tO2::mF1->Derivate(aK)* tO2::mF2 - tO2::mF2->Derivate(aK) * tO2::mF1) / square(tO2::mF2); + } + std::string NameOperator() const override {return "/";} +}; + + + +// template TPLDecl class cDivFormalDer ; ///< Class for division of 2 functions +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * External Definition of methods * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + + + + + /* ----------------------------------------------*/ + /* cContextFormalDer */ + /* ----------------------------------------------*/ + +template TPLDecl std::vector cContextFormalDer TPLInst::MakeAutomId(const std::string & aPrefix,int aNb) +{ + tVecId aRes; + for (int aK=0 ; aKsecond; +} + +template TPLDecl void cContextFormalDer TPLInst::ShowStackFunc() const +{ + for (const auto & aForm : mVAllFormula) + { + std::cout << "Form[" << aForm->NumGlob() << "] => " << aForm->Name(); + const TypeElem * aPV = aForm->ValCste(); + if (aPV) + std::cout << " ; Val=" << *aPV; + std::cout << "\n"; + } +} + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * Global function * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + /* ----------------------------------------------*/ + /* Binary operator between formulas */ + /* ----------------------------------------------*/ + +template class cGenOperatorBinaire +{ + public : + typedef typename TypeCompiled::tIFD tIFD; + typedef typename tIFD::tFormulaFD tFormulaFD; + static tFormulaFD Generate(tFormulaFD aF1,tFormulaFD aF2,const std::string & aNameOp) + { + // Extract context (take F1 ou F2, does not matter, they must be the same) + auto aPCont = aF1->Context(); + std::string aNameForm = aF1.NameOperBin(aNameOp,aF2); + + if (aPCont->ExistFunc(aNameForm)) + return aPCont->FuncOfName(aNameForm); + + tFormulaFD aResult (new TypeCompiled(aF1,aF2,aNameForm)); + aPCont->AddFormula(aResult); + return aResult; + } +}; + + +template TPLDecl cFormulaFD TPLInst operator +(const cFormulaFD TPLInst & aF1,const cFormulaFD TPLInst & aF2) +{ + // Use the fact that 0 is neutral element to simplify + if (aF1->IsCste0()) return aF2; + if (aF2->IsCste0()) return aF1; + + // Use commutativity of + to have a unique representation + if (aF1->Name() > aF2->Name()) + return aF2+aF1; + + return cGenOperatorBinaire >::Generate(aF1,aF2,"+"); +} + +template TPLDecl cFormulaFD TPLInst operator -(const cFormulaFD TPLInst & aF1,const cFormulaFD TPLInst & aF2) +{ + // Use the fact that 0 is neutral element to simplify + if (aF1->IsCste0()) return -aF2; + if (aF2->IsCste0()) return aF1; + + return cGenOperatorBinaire >::Generate(aF1,aF2,"-"); +} + +template TPLDecl cFormulaFD TPLInst operator *(const cFormulaFD TPLInst & aF1,const cFormulaFD TPLInst & aF2) +{ + // Use the fact that 1 is neutral element to simplify + if (aF1->IsCste1()) return aF2; + if (aF2->IsCste1()) return aF1; + + // Use the fact that 0 is absorbant element to simplify + if (aF1->IsCste0()) return aF1; + if (aF2->IsCste0()) return aF2; + + + // Use commutativity of + to have a unique representation + if (aF1->Name() > aF2->Name()) + return aF2 * aF1; + + return cGenOperatorBinaire >::Generate(aF1,aF2,"*"); +} + +template TPLDecl cFormulaFD TPLInst operator /(const cFormulaFD TPLInst & aF1,const cFormulaFD TPLInst & aF2) +{ + if (aF1->IsCste0()) return aF1; // 0/F2 = 0 + if (aF2->IsCste1()) return aF1; // F1/1 = F1 + + return cGenOperatorBinaire >::Generate(aF1,aF2,"/"); +} + + + /* ----------------------------------------------------------*/ + /* Binary Operator between Formula and constants */ + /* ----------------------------------------------------------*/ + + // ++++++++++++++++++++++++ +template TPLDecl inline cFormulaFD TPLInst operator +(const TypeElem & aV1,const cFormulaFD TPLInst & aF2) +{ + return aF2->Context()->CsteOfVal(aV1) + aF2; +} +template TPLDecl inline cFormulaFD TPLInst operator +(const cFormulaFD TPLInst & aF1,const TypeElem & aV2) +{ + return aV2+aF1; +} + // ************************ +template TPLDecl inline cFormulaFD TPLInst operator *(const TypeElem & aV1,const cFormulaFD TPLInst & aF2) +{ + return aF2->Context()->CsteOfVal(aV1) * aF2; +} +template TPLDecl inline cFormulaFD TPLInst operator *(const cFormulaFD TPLInst & aF1,const TypeElem & aV2) +{ + return aV2*aF1; +} + // ************************ +template TPLDecl inline cFormulaFD TPLInst operator -(const TypeElem & aV1,const cFormulaFD TPLInst & aF2) +{ + return aF2->Context()->CsteOfVal(aV1) - aF2; +} +template TPLDecl inline cFormulaFD TPLInst operator -(const cFormulaFD TPLInst & aF1,const TypeElem & aV2) +{ + return aF1-aF1->Context()->CsteOfVal(aV2) ; +} + + + + /* ---------------------------------------*/ + /* Unary Operator */ + /* ---------------------------------------*/ + +template class cGenOperatorUnaire +{ + public : + typedef typename TypeCompiled::tIFD tIFD; + typedef typename tIFD::tFormulaFD tFormulaFD; + static tFormulaFD Generate(tFormulaFD aF,const std::string & aNameOp) + { + auto aPCont = aF->Context(); + std::string aNameForm = aF.NameOperUn(aNameOp); + + if (aPCont->ExistFunc(aNameForm)) + return aPCont->FuncOfName(aNameForm); + + tFormulaFD aResult (new TypeCompiled(aF,aNameForm)); + aPCont->AddFormula(aResult); + return aResult; + } +}; + +template TPLDecl inline cFormulaFD TPLInst square(const cFormulaFD TPLInst & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"square"); +} + +template TPLDecl inline cFormulaFD TPLInst exp(const cFormulaFD TPLInst & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"exp"); +} +template TPLDecl inline cFormulaFD TPLInst operator - (const cFormulaFD TPLInst & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"-"); +} + + /* ----------------------------------------------*/ + /* TEST */ + /* ----------------------------------------------*/ +static const int SzBufTest = 8; +typedef double TypeTest; +typedef cFormulaFD tFormulaTest; + + +void BenchFormalDer() +{ + { + cContextFormalDer aCFD(3,5); + + tFormulaTest X0 = aCFD.VUK().at(0); + tFormulaTest X1 = aCFD.VUK().at(1); + tFormulaTest X2 = aCFD.VUK().at(2); + + tFormulaTest aF = (X0+X1) * (X0 +square(X2)) - exp(-square(X0)); + // tFormulaTest aF = X0 * X0; + tFormulaTest aFd0 = aF->Derivate(0); + + std::cout << "F=" << aF->InfixPPrint() << "\n"; + std::cout << "Fd=" << aFd0->InfixPPrint() << "\n"; + + aCFD.ShowStackFunc(); +/* + aCFD.CsteOfVal(3.14); + aCFD.CsteOfVal(3.14); + tFormulaTest aU0 = aCFD.VUK()[0]; + tFormulaTest aU1 = aCFD.VUK()[1]; + tFormulaTest aO0 = aCFD.VObs()[0]; + tFormulaTest aO1 = aCFD.VObs()[1]; + tFormulaTest aO2 = aCFD.VObs()[2]; + + tFormulaTest aSom00 = aU0 + aO0; + tFormulaTest aSomInv00 = aO0 + aU0; + tFormulaTest aSom11 = aO1 + aU1; + + tFormulaTest aSom0 = aCFD.VUK()[0] + aCFD.Cste0(); + tFormulaTest aSom1 = aCFD.VUK()[0] + aCFD.Cste1(); + + tFormulaTest aSom3 = aCFD.VUK()[0] + 3.14; + tFormulaTest aSom4 = 3.14 + aCFD.VUK()[0] ; + std::cout << "TEST ADD CST " << aSom0->Name() << " " << aSom1->Name() << "\n"; + std::cout << "TEST ADD CST " << aSom3->Name() << " " << aSom4->Name() << "\n"; + + aO0+aO1; + aO1+aO2; + aO0+(aO1+aO2); + { + tFormulaTest aS=(aO0+aO1)*(aO2+2.1); + std::cout << "PP=" << aS->InfixPPrint() << "\n"; + } +*/ + + // cFormulaFD aPtr(nullptr); + // aPtr->IsCste0(); + + + // std::shared_ptr > aF1 = + + // const std::vector& VUK() const {return mVFuncUnknown;} ///< Unknowns + // const std::vector& VObs() const {return mVFuncObs;} ///< Observations + } + // new cContextFormalDer (3,5); + + int i=10; + std::string aStr = "i="+ std::to_string(i); + std::cout << "BenchFormalDerBenchFormalDerBenchFormalDer " << aStr << "\n"; + + getchar(); +} + + +#endif // _MMVII_DynAndStatFormalDerivation_H_ diff --git a/MMVII/src/TestLibsExtern/TestMyJets.cpp b/MMVII/src/TestLibsExtern/TestMyJets.cpp index a356378fa0..323b2f59f4 100644 --- a/MMVII/src/TestLibsExtern/TestMyJets.cpp +++ b/MMVII/src/TestLibsExtern/TestMyJets.cpp @@ -1,10 +1,17 @@ #include "include/MMVII_all.h" #include "include/MMVII_Derivatives.h" +extern void BenchFormalDer(); namespace MMVII { +/* +class cXMMVII_Ofs : public cMemCheck +{ +}; +*/ + /* ************************************** */ @@ -13,201 +20,27 @@ namespace MMVII /* */ /* ************************************** */ +#if (0) -// class cProjCamRad; -// class cProjCamRad >; - - -template class cTestJets -{ - public : - Type ComputeExpansed(Type * Parameter) const; - Type ComputeLoop(Type * Parameter) const; - double Phase[Nb]; - double Freq[Nb]; - - cTestJets() ; -}; - - -#define TJ(K) (COS(Freq[K]*Square(Param[K]+0.2) + Phase[K])) -/// TJ(K) (COS(Freq[K]*Square(Param[K]+0.2) + Phase[K])) -template cEpsNum TJ_DerAnalytique(const cTestJets & aTJ,double * aParam) -{ - static double Tmp[Nb]; - double Som = 0.0; - const double* Phase = aTJ.Phase; - const double* Freq = aTJ.Freq; - for (int aK=0 ; aK mEps; - - for (int aK=0 ; aK(Som,mEps); -} - - - - - -template cTestJets::cTestJets() -{ - for (int aK=0 ; aK Type cTestJets::ComputeExpansed(Type * Param) const -{ - if (Nb==2) - return Type(1)/ (TJ(0)+TJ(1)); - if (Nb==6) - return Type(1)/ (TJ(0)+TJ(1)-TJ(2)+TJ(3)+TJ(4)+TJ(5)); - if (Nb==12) - return Type(1)/ (TJ(0)+TJ(1)-TJ(2)+TJ(3)+TJ(4)+TJ(5)+TJ(6)+TJ(7)+TJ(8)+TJ(9)+TJ(10)+TJ(11)); - - if (Nb==18) - return Type(1)/ (TJ(0)+TJ(1)-TJ(2)+TJ(3)+TJ(4)+TJ(5)+TJ(6)+TJ(7)+TJ(8)+TJ(9)+TJ(10)+TJ(11)+TJ(12)+TJ(13)+TJ(14)+TJ(15)+TJ(16)+TJ(17)); - - - if (Nb==24) - return Type(1)/ (TJ(0)+TJ(1)-TJ(2)+TJ(3)+TJ(4)+TJ(5)+TJ(6)+TJ(7)+TJ(8)+TJ(9)+TJ(10)+TJ(11)+TJ(12)+TJ(13)+TJ(14)+TJ(15)+TJ(16)+TJ(17)+TJ(18)+TJ(19)+TJ(20)+TJ(21)+TJ(22)+TJ(23)); - -/* - MMVII_INTERNAL_ASSERT_always(false,"COMMPUUTE"); - return Type(1)/ TJ(0); -*/ - return ComputeLoop(Param); -} - -template Type cTestJets::ComputeLoop(Type * Param) const -{ - Type aRes = TJ(0); - for (int aK=1 ; aK void TplTestJet(double aTiny) -{ - cEpsNum TabJets[Nb]; - double TabDouble[Nb]; - // On initialise le Jet et les double a la meme valeur - for (int aK=0 ; aK(TabDouble[aK],aK); - } - cTestJets,Nb > aTestJet; - cTestJets aTestDouble; - - cEpsNum aDerAn = TJ_DerAnalytique(aTestDouble,TabDouble); - cEpsNum aJetDer = aTestJet.ComputeExpansed(TabJets); - cEpsNum aJetLoop = aTestJet.ComputeLoop(TabJets); - for (int aKv=0 ; aKv aDerJet = aTestJet.ComputeExpansed(TabJets); - if (NEVER) - StdOut() << aDerJet.mNum << "\n"; - } - double aT1 = cMMVII_Appli::CurrentAppli().SecFromT0(); - for (int aK=0 ; aK aDerAn = TJ_DerAnalytique(aTestDouble,TabDouble); - IgnoreUnused(aDerAn); - if (NEVER) - StdOut() << aDerAn.mNum << "\n"; - } - double aT2 = cMMVII_Appli::CurrentAppli().SecFromT0(); - - for (int aK=0 ; aK aDerLoop = aTestJet.ComputeLoop(TabJets); - if (NEVER) - StdOut() << aDerLoop.mNum << "\n"; - } - double aT3 = cMMVII_Appli::CurrentAppli().SecFromT0(); - - StdOut() << "TIME; Ratio Jet/An=" << (aT1-aT0) / (aT2-aT1) - << " Jets= " << aT1-aT0 - << " An=" << aT2-aT1 - << " Loop=" << aT3-aT2 - << "\n"; - } - StdOut() << "============== Nb=" << Nb << "\n"; -} +#endif +// Test coherence between cEpsNum and cVarEpsNum template void TplBenchDifJets() { { static int aCpt=0,aNbTot=0,aNbNot0=0; aCpt++; + // Generate an EpsNum with a random density of non 0 cEpsNum anEps1 = cEpsNum::Random(RandUnif_0_1()); + // Convert to var cVarEpsNum aVEps1 = anEps1.ToVEN(); + // Compute differnce double aDif1 = EpsDifference(anEps1,aVEps1); aNbTot+= Nb; aNbNot0 += aVEps1.mVInd.size(); + // Need a minimum number before we can compare experimental to theoreticall density if (aCpt>100) { double aProp = aNbNot0/double(aNbTot); @@ -218,7 +51,7 @@ template void TplBenchDifJets() MMVII_INTERNAL_ASSERT_bench(aDif1<1e-5,"TplBenchDifJets"); - // operation algebrique + // Generate five cEpsNum and their conversion in cVarEpsNum cEpsNum anEps2 = cEpsNum::Random(RandUnif_0_1()); cVarEpsNum aVEps2 = anEps2.ToVEN(); @@ -231,23 +64,29 @@ template void TplBenchDifJets() cEpsNum anEps5 = cEpsNum::Random(RandUnif_0_1()); cVarEpsNum aVEps5 = anEps5.ToVEN(); - // + // Make some calculus cEpsNum anEpsCmp = 2.7+ 1.2*anEps1*1.3 + anEps2*COS(anEps3)+3.14 -(anEps4-1)/anEps5; cVarEpsNum aVEpsCmp = 2.7+ 1.3*aVEps1*1.2 + aVEps2*COS(aVEps3)+3.14 -(aVEps4-1)/aVEps5; + // Cheks the values are identical double aDifCmp = EpsDifference(anEpsCmp,aVEpsCmp); MMVII_INTERNAL_ASSERT_bench(aDifCmp<1e-5,"TplBenchDifJets"); } - double aVNum = RandUnif_C(); + + // Construct tow equivalent cVarEpsNum and cEpsNum + double aVNum = RandUnif_C(); // Constant "Num" Val + // Create two numbers with no epsilon 4 Now cVarEpsNum aVE(aVNum); cEpsNum aE(aVNum); int aNbCoeff = RandUnif_N(Nb); for (int aTime=0 ; aTime void TplBenchDifJets() } MMVII_INTERNAL_ASSERT_bench(EpsDifference(aE,aVE)<1e-5,"TplBenchDifJets"); + // Add a Value to VarEps, disjoint from Eps, and modify difference double aTheoDif = 0.0; double aV0 = RandUnif_C(); aTheoDif += std::abs(aV0); aVE.AddVal(aV0,Nb+2); - double aD0 = EpsDifference(aE,aVE); + double aD0 = EpsDifference(aE,aVE); // Now they are different but we can predict MMVII_INTERNAL_ASSERT_bench(std::abs(aD0-aTheoDif)<1e-5,"TplBenchDifJets"); + // Add a value in Eps and not in VarEps and check the difference double aV1 = RandUnif_C(); aE.mEps[1] += aV1; aTheoDif += std::abs(aV1); double aD1 = EpsDifference(aE,aVE); MMVII_INTERNAL_ASSERT_bench(std::abs(aD1-aTheoDif)<1e-5,"TplBenchDifJets"); + // Do same modification wich must not modify difference for (int aTime=0 ; aTime<3 ; aTime++) { int aK = RandUnif_N(Nb); @@ -289,6 +131,19 @@ template void TplBenchDifJets() void BenchMyJets() { + BenchFormalDer(); + { + Eigen::Matrix aVec; + double * aD0 = & aVec(0); + double * aD1 = & aVec(1); + + MMVII_INTERNAL_ASSERT_bench((aD1-aD0)==1,"Assertion on Eigen memory organization"); + if (0) + { + StdOut() << "TEsEigenMEm " << aD0 << " " << aD1 << " " << (aD1-aD0) << "\n"; + getchar(); + } + } BenchJetsCam(); @@ -301,6 +156,7 @@ void BenchMyJets() //===== +/* TplTestJet<2>(1e-5); TplTestJet<6>(1e-5); TplTestJet<12>(1e-5); @@ -310,6 +166,7 @@ void BenchMyJets() TplTestJet<96>(1e-5); TplTestJet<192>(1e-5); TplTestJet<484>(1e-5); +*/ // Test that we can compile with, for example, points on jets cEpsNum<20> aEps(3.0,1); From 66bc6542a306f9cc58fa9352bbb1f03d0d374347 Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Fri, 21 Feb 2020 15:04:10 +0100 Subject: [PATCH 31/49] CmpOri add angular distance on quaternions and R --- src/uti_phgrm/CPP_CenterBascule.cpp | 143 ++++++++++++++++++++++++++++ 1 file changed, 143 insertions(+) diff --git a/src/uti_phgrm/CPP_CenterBascule.cpp b/src/uti_phgrm/CPP_CenterBascule.cpp index 327745ce8d..94f2066747 100644 --- a/src/uti_phgrm/CPP_CenterBascule.cpp +++ b/src/uti_phgrm/CPP_CenterBascule.cpp @@ -142,6 +142,7 @@ class cCmpOriOneSom double mAbsCurv; double mDC; double mDMat; + double mDMatAng;//angular distance between rotation matrices double mDMatRel; double mDCRel; ElRotation3D mRC1ToC2; @@ -252,6 +253,7 @@ class cAppli_CmpOriCam : public cAppliWithSetImage cAppli_CmpOriCam(int argc, char** argv); void ComputeCircular(); + void ComputeAngularDist(); std::string mPat,mOri1,mOri2; std::string mDirOri2; @@ -309,6 +311,134 @@ void cAppli_CmpOriCam::ComputeCircular() getchar(); } +ElMatrix Half_R_Rt(const ElMatrix& R) +{ + ElMatrix aRes((R - R.transpose())*0.5); + + /*std::cout << aRes(0,0) << " " << aRes(0,1) << " " << aRes(0,2) << "\n" + << aRes(1,0) << " " << aRes(1,1) << " " << aRes(1,2) << "\n" + << aRes(2,0) << " " << aRes(2,1) << " " << aRes(2,2) << "\n";*/ + return aRes; +} + +std::vector R2q(const ElMatrix& R) +{ + std::vector q(4); + + q.at(0) = (R(0,0) + R(1,1) + R(2,2) -1) *0.5; + q.at(1) = (R(2,1) - R(1,2)) *0.5; + q.at(2) = (R(0,2) - R(2,0)) *0.5; + q.at(3) = (R(1,0) - R(0,1)) *0.5; + + q.at(0) = sqrt((q.at(0)+1)/2); + + for (int aK=1; aK<4; aK++) + { + q.at(aK) = q.at(aK)/2/q.at(0); + } + + //std::cout << "q " << q << "\n"; + return q; +} + + +/* Logarithm of a matrix S*R^T */ +Pt3dr LogR(const ElMatrix& SRt) +{ + Pt3dr aRes(0,0,0); + + //transform to skew matrix + ElMatrix SRtx = Half_R_Rt(SRt); + + //if euclidean norm equal to zero return zero matrix + if (SRtx.L2()==0) + return aRes; + + Pt3dr y (SRtx(2,1),SRtx(0,2),SRtx(1,0)); + double yNorm = euclid(y); + + + aRes.x = std::asin(yNorm) * y.x * 1/yNorm; + aRes.y = std::asin(yNorm) * y.y * 1/yNorm; + aRes.z = std::asin(yNorm) * y.z * 1/yNorm; + //std::cout << "LogSRtx=" << aRes << "\n"; + + + return aRes; + +} + +/* Angular distance from quaternions + * + * Teta = 2*acos (|c|) where (c,vec) = q1^-1 * q2 + * where c is the real and vec the imaginary part of the resulting quaternion + * + * Hartley, R., Trumpf, J., Dai, Y. and Li, H., 2013. Rotation averaging. International journal of computer vision, 103(3), pp.267-305. + * + * */ +double AngDistFromQ(std::vector& q1,std::vector& q2) +{ + double aRes; + + double SOM2=0; + for (int aK=0; aK<4; aK++) + SOM2 += q1.at(aK)*q1.at(aK); + + std::vector q1Inv(4); + q1Inv.at(0) = q1.at(0)/SOM2; + for (int aK=1; aK<4; aK++) + { + q1Inv.at(aK) = -q1.at(aK)/SOM2; + } + + double q1Inv_q2_dot = q1Inv.at(1)*q2.at(1) + q1Inv.at(2)*q2.at(2) + q1Inv.at(3)*q2.at(3); + double q1Inv_q2_real = q1Inv.at(0)*q2.at(0) - q1Inv_q2_dot; + + /* Computation of the real part not necessary for the angular distance + Pt3dr q1Inv_q2_cross = Pt3dr (q1Inv.at(2)*q2.at(3) - q1Inv.at(3)*q2.at(2), + q1Inv.at(3)*q2.at(1) - q1Inv.at(1)*q2.at(3), + q1Inv.at(1)*q2.at(2) - q1Inv.at(2)*q2.at(1)); + + Pt3dr q1Inv_q2_im = Pt3dr (q1Inv.at(0)*q2.at(1) + q2.at(0)*q1Inv.at(1) + q1Inv_q2_cross.x, + q1Inv.at(0)*q2.at(2) + q2.at(0)*q1Inv.at(2) + q1Inv_q2_cross.y, + q1Inv.at(0)*q2.at(3) + q2.at(0)*q1Inv.at(3) + q1Inv_q2_cross.z); */ + + aRes = 2*acos (abs(q1Inv_q2_real)); + aRes *= (180/PI); + + return aRes; +} + +/* Angular distance from Rotations in SO(3) + * + * mDMatAng = || log(S*R^t) ||_2 + * where S and R are two rotation matrices that we compare + + * Hartley, R., Trumpf, J., Dai, Y. and Li, H., 2013. Rotation averaging. International journal of computer vision, 103(3), pp.267-305. + * */ + +double AngDistFromR(ElMatrix& R1,ElMatrix& R2) +{ + Pt3dr LogSRtx = LogR(R1*R2.transpose()); + + return euclid(LogSRtx) *180/PI; +} + + + +void cAppli_CmpOriCam::ComputeAngularDist() +{ + //iterate over all cameras + for (auto & aSom : mVCmp) + { + + std::vector q1 = R2q(aSom.mRC1ToM.Mat()); + std::vector q2 = R2q(aSom.mRC2ToM.Mat()); + aSom.mDMatAng = AngDistFromQ(q1,q2); + //std::cout << "mDMatAng=" << aSom.mDMatAng << "\n"; + } +} + cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : cAppliWithSetImage(argc-1,argv+1,0) { @@ -319,6 +449,7 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : double aScaleO; double aF; Pt2dr SeuilMatRel; + bool DoAngDist = false; ElInitArgMain ( @@ -338,10 +469,12 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : << EAM(aF,"F",true,"approximate value of focal length in (m), Def=0.03875m for Camlight") << EAM(SeuilMatRel,"SMR",true,"Seuil Mat Rel [Ratio,Prop] ") << EAM(mSeuilsCircs,"SeuilCirc",true,"Thresholds to compute circ [I0,RatBcl]") + << EAM(DoAngDist,"AngDist",true,"Calculate the angular distance, Def=false") ); bool DoRel = true; // Do relative informatio, bool DoCirc = EAMIsInit(&mSeuilsCircs); + mICNM2 = mEASF.mICNM; if (EAMIsInit(&mDirOri2)) { @@ -354,6 +487,7 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : double aSomDC = 0; double aSomDM = 0; + double aSomDMAng = 0; bool isCSV = false; ofstream mCSVContent; @@ -393,11 +527,19 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : ComputeCircular(); } + if (DoAngDist) + { + ComputeAngularDist(); + } for (const auto & aSom : mVCmp) { aSomDC += aSom.mDC; aSomDM += aSom.mDMat; + + if (DoAngDist) + aSomDMAng += aSom.mDMatAng; + if (EAMIsInit(&aScaleO)) { aSom.PlyShowDiffRot(aPlyO,aScaleO,aColOri); @@ -416,6 +558,7 @@ cAppli_CmpOriCam::cAppli_CmpOriCam(int argc, char** argv) : std::cout << "Aver; DistCenter= " << aSomDC/mVSoms.size() << " DistMatrix= " << aSomDM/mVSoms.size() + << " DistMatrixAng= " << (DoAngDist ? ToString(aSomDMAng/mVSoms.size()) : "not calculated") << "\n"; if(mXmlG!="") { From e7c10b41e30d5753665d1d5e4b7254b1652f5c98 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Sat, 22 Feb 2020 06:33:57 +0100 Subject: [PATCH 32/49] Dans formal deriv --- .../TestLibsExtern/TestDynCompDerivatives.cpp | 1257 +++++++++++------ 1 file changed, 812 insertions(+), 445 deletions(-) diff --git a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp index c477ebfc34..807baf156a 100644 --- a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp +++ b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp @@ -9,7 +9,7 @@ Prototype of generated code, do not know how it will evolve */ -#define WITH_MMVII false +#define WITH_MMVII true #if (WITH_MMVII) //========================================================= #include "include/MMVII_all.h" @@ -24,119 +24,144 @@ class cMemCheck #include #include -#endif //========================================================== +#endif // WITH_MMVI ========================================================== + +namespace NS_MMVII_FormalDerivative +{ +void Error(const std::string & aMes,const std::string & aExplanation) +{ + std::cout << "In MMVII_FormalDerivative a fatal error" << "\n"; + std::cout << " Likely Source ["<< aExplanation << "\n"; + std::cout << " Message ["<< aMes << "]\n"; + assert(false); +} + +void InternalError(const std::string & aMes) +{ + Error(aMes,"Internal Error of the Library"); +} +void UserSError(const std::string & aMes) +{ + Error(aMes,"Probable error on user's side due to unapropriate usage of the library"); +} -#define TPLDecl -#define TPLInst /* *************************************************** */ /* *************************************************** */ /* * * */ -/* * Pre-Declaration of all classes * */ +/* * Main user interace * */ /* * * */ /* *************************************************** */ /* *************************************************** */ - // The two classes visible by user are cFormulaFD (mainly) and cContextFormalDer (rarely) + // ------------- The two classes visible by user are cFormula and cContextF ------ + +/** Abstraction of mathemicall formula, this the object manipulated by user, its +has all algerbric operation required. This object is just an encapsulation of +a pointer on cImplemF. +*/ +template class cFormula ; -/** Encupsulation of share ptr on cImplemFormFD , */ -template TPLDecl class cFormulaFD ; /** Class for managing the "context", i.e. coordinating all the formula - and their derivative corresponding to a single use */ -template TPLDecl class cContextFormalDer; - - // Other classe are cImplemFormFD and its derivatives -template TPLDecl class cImplemFormFD ; ///< Mother class of all FunFormal, abstract class with pure virtual method - // --- "Atomic" function : Unknown, constant, observation -template TPLDecl class cFObsFormalDer ; ///< "Observations" corresponding to user constant (change for each evaluation) -template TPLDecl class cFCsteFormalDer ; ///< Constant function -template TPLDecl class cFUnknownFormalDer; ///< "Unknown" for representing coordinates function X0,X1,X2 .... - // --- Unary operator -template TPLDecl class cOpUnFormalDer ; ///< Mother Class of all unary operator -template TPLDecl class cSquareFormalDer ; ///< Class for square operator -template TPLDecl class cExpFormalDer ; ///< Class for exponential operator -template TPLDecl class cMin1FormalDer ; ///< Class for Unary Minus - // --- Binary operator -template TPLDecl class cOpBinFormalDer ; ///< Mother class of binary operators -template TPLDecl class cSumFormalDer ; ///< Class for sum of 2 functions -template TPLDecl class cMulFormalDer ; ///< Class for multiplication of 2 functions -template TPLDecl class cSubFormalDer ; ///< Class for substraction of 2 functions -template TPLDecl class cDivFormalDer ; ///< Class for division of 2 functions + and their derivative corresponding to a single use . +*/ +template class cContextF; -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * Declare all operator * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ - // -------- Declare all binary operators ---------------- + + + // -------- Declaration all binary operators ---------------- // For each operator with have the 3 versions "Formula x Formula" , // "Number x Formula" and "Formula x Number" // Operator + -template TPLDecl cFormulaFD TPLInst operator +(const cFormulaFD TPLInst & aF1 ,const cFormulaFD TPLInst & aF2); -template TPLDecl cFormulaFD TPLInst operator +(const TypeElem & aV1,const cFormulaFD TPLInst & aF2); -template TPLDecl cFormulaFD TPLInst operator +(const cFormulaFD TPLInst & aF1,const TypeElem & aV2); +template cFormula + operator +(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator +(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator +(const cFormula & aF1,const TypeElem & aV2); // Operator * -template TPLDecl cFormulaFD TPLInst operator *(const cFormulaFD TPLInst & aF1 ,const cFormulaFD TPLInst & aF2); -template TPLDecl cFormulaFD TPLInst operator *(const TypeElem & aV1,const cFormulaFD TPLInst & aF2); -template TPLDecl cFormulaFD TPLInst operator *(const cFormulaFD TPLInst & aF1,const TypeElem & aV2); +template cFormula + operator *(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator *(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator *(const cFormula & aF1,const TypeElem & aV2); // Operator - -template TPLDecl cFormulaFD TPLInst operator -(const cFormulaFD TPLInst & aF1 ,const cFormulaFD TPLInst & aF2); -template TPLDecl cFormulaFD TPLInst operator -(const TypeElem & aV1,const cFormulaFD TPLInst & aF2); -template TPLDecl cFormulaFD TPLInst operator -(const cFormulaFD TPLInst & aF1,const TypeElem & aV2); +template cFormula + operator -(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator -(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator -(const cFormula & aF1,const TypeElem & aV2); // Operator / -template TPLDecl cFormulaFD TPLInst operator /(const cFormulaFD TPLInst & aF1 ,const cFormulaFD TPLInst & aF2); -template TPLDecl cFormulaFD TPLInst operator /(const TypeElem & aV1,const cFormulaFD TPLInst & aF2); -template TPLDecl cFormulaFD TPLInst operator /(const cFormulaFD TPLInst & aF1,const TypeElem & aV2); - - // -------- Declare all unary operators ---------------- -template TPLDecl cFormulaFD TPLInst square(const cFormulaFD TPLInst & aF); -template TPLDecl cFormulaFD TPLInst exp(const cFormulaFD TPLInst & aF); -template TPLDecl cFormulaFD TPLInst operator - (const cFormulaFD TPLInst & aF); - +template cFormula + operator /(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator /(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator /(const cFormula & aF1,const TypeElem & aV2); + // pow +template cFormula + pow (const cFormula & aF1 ,const cFormula & aF2); +template cFormula + pow (const TypeElem & aV1,const cFormula & aF2); +template cFormula + pow (const cFormula & aF1,const TypeElem & aV2); -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * Definition of all classes * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ - - // ------------------- 3 "Main" Classes ------------------------- - // cContextFormalDer / cFormulaFD / cImplemFormFD - // ---------------------------------------------------------------- -template TPLDecl class cContextFormalDer : public cMemCheck + // -------- Declare all unary operators ---------------- +template cFormula + square(const cFormula & aF); +template cFormula + exp(const cFormula & aF); +template cFormula + operator - (const cFormula & aF); +template cFormula + log(const cFormula & aF); + + // -------- Declaration of Context class ---------------- + +template class cContextF : public cMemCheck { public : - - // Result of several evaluation are stored in a buffer, Eigen vector are used - // as they implement efficiently arithmeticall operation - typedef Eigen::Matrix tBuf; - typedef cImplemFormFD TPLInst tIFD; - typedef cFormulaFD TPLInst tFormulaFD; - typedef std::map tDicoFunc; - typedef std::map tDicoCste; - typedef std::vector tVecId; - - friend tFormulaFD; - - - // --------------------------- Constructors ------------------- - /// Constructor with explicit Id for Unknown/Observation if we want to analyze the generated code - inline cContextFormalDer(const tVecId & aVecUK,const tVecId & aVecObs); - /// Constructor with basic Id (if we dont generate code, or dont want to analyse it by human) - inline cContextFormalDer(int aNbUnknown,int aNbObservation); + + typedef cFormula tFormula; + + // --------------------------- Constructors / Destructor ------------------- + /// Constructor with explicit Id for Unknown/Observation. Used if we want to analyze the generated code + inline cContextF(const std::vector & aVecUK,const std::vector & aVecObs); + /// Constructor with basic Id (used if we dont generate code, or dont want to analyse it by human) + inline cContextF(int aNbUnknown,int aNbObservation); + /// Destructeur will free allocated formulas + ~cContextF(); + /// Copies are not allowed + cContextF(const cContextF &) = delete; // --------------------------- Accessors ------------------- - const std::vector& VUK() const {return mVFuncUnknown;} ///< Unknowns - const std::vector& VObs() const {return mVFuncObs;} ///< Observations + const std::vector >& VUK() const {return mVFormUnknowns;} ///< Unknowns + const std::vector >& VObs() const {return mVFormObservations;} ///< Observations + + // --------------------------- Manipulation ------------------- + + /// Add a new set of vals (unknown + Obs) inside de evaluation "queue" + void PushNewEvals(const std::vector & aVUK,const std::vector & aVObs); + /// Set + void SetCurFormulas(const std::vector &); + + + private : // END-USER + /* ================================================================================= + ABOVE WAS THE REAL PUBLIC PART OF cContextF FOR USER OF LIBRARY. THE REST + IS PUBLIC FOR IMPLEMENTERS BUT NOT NEEDED BY USER + =====================================================================================*/ + public : + // Result of several evaluation are stored in a buffer, Eigen vector are used + // as they implement efficiently arithmeticall operation + typedef Eigen::Array tBuf; // --------------------------- Acces to function from names, values ------------------- @@ -146,219 +171,332 @@ template TPLDecl class cContextFormalDer : public cMemCheck return (mDicoFunc.find(aName) != mDicoFunc.end()); } /// Func of given name, Error if don't exist - inline tFormulaFD FuncOfName(const std::string & aName) const ; + inline tFormula FuncOfName(const std::string & aName) const ; /// Add a function (put it in dico), Error if already exist - inline void AddFormula(tFormulaFD aPF) + inline void AddFormula(tFormula aPF) { - if (ExistFunc(aPF->Name())) throw ("Multiple add of identic name :[" + aPF->Name() + "]"); + if (ExistFunc(aPF->Name())) InternalError ("Multiple add of identic name :[" + aPF->Name() + "]"); mDicoFunc[aPF->Name()] = aPF; mVAllFormula.push_back(aPF); } /// Func of given constant, create if don't exist - inline tFormulaFD CsteOfVal(const TypeElem & aCste) ; - tFormulaFD Cste0() const {return mCste0;} ///< Acces to a current constant - tFormulaFD Cste1() const {return mCste1;} ///< Another Acces to a current constant - tFormulaFD Cste2() const {return mCste2;} ///< Yet another Acces to a current constant + inline tFormula CsteOfVal(const TypeElem & aCste) ; + tFormula Cste0() const {return mCste0;} ///< Acces to a current constant + tFormula Cste1() const {return mCste1;} ///< Another Acces to a current constant + tFormula Cste2() const {return mCste2;} ///< Yet another Acces to a current constant /// Tuning --- Print the stack of function as a tree inline void ShowStackFunc() const; size_t NbCurFonc() const {return mVAllFormula.size();} private : - cContextFormalDer(const cContextFormalDer &) = delete; ///< Don't allow copy + + /// Called by PushNewEvals to Set Unknown/Observations + void SetNewEvals(std::vector & aVF,const std::string & aMes,const std::vector & aVVals); /// Used to generate automatically Id for Unknown/Observatio, when we dont need to control them explicitely static std::vector MakeAutomId(const std::string & aPrefix,int aNb); - size_t mNbCste; ///< Number Cste - size_t mNbUK; ///< Dim=number of unkown - size_t mNbObs; ///< Number of obserbation variable - std::vector mVFuncUnknown; ///< Vector of All Unknowns - std::vector mVFuncObs; ///< Vector of All Observations - tDicoFunc mDicoFunc; ///< Map Name => Func - std::vector mVAllFormula; ///< Vector of All Func, allow to parse them in creation order - tDicoCste mDicoCste; ///< Map Value => Func Constant - tFormulaFD mCste0; ///< Fonc constant null - tFormulaFD mCste1; ///< Fonc constant 1 - tFormulaFD mCste2; ///< Fonc constant 1 + size_t mNbCste; ///< Number Cste + size_t mNbUK; ///< Dim=number of unkown + size_t mNbObs; ///< Number of obserbation variable + std::vector mVFormUnknowns; ///< Vector of All Unknowns + std::vector mVFormObservations; ///< Vector of All Observations + std::map mDicoFunc; ///< Map Name => Func + std::vector mVAllFormula; ///< Vector of All Func, allow to parse them in creation order + std::map mDicoCste; ///< Map Value => Func Constant + tFormula mCste0; ///< Fonc constant null + tFormula mCste1; ///< Fonc constant 1 + tFormula mCste2; ///< Fonc constant 1 + int mNbInBuf; ///< Number of Unknown/Obs vect currenlty loaded in buf + bool mCurFormSet; ///< Check if formula was set }; -template TPLDecl class cFormulaFD -{ - public : - typedef cContextFormalDer TPLInst tContext; - typedef typename tContext::tIFD tIFD; - typedef typename tContext::tFormulaFD tFormulaFD; - typedef std::shared_ptr tSPtrFuncFD; - - // -------------------- constructor ------------------- - /// Construct from a pointer, standard - cFormulaFD (tIFD * aRawPtr) : - mSPtr (aRawPtr) - { - } - /// Default constructor, required by some code (vector ?) - cFormulaFD (): - cFormulaFD TPLInst (nullptr) - { - } - // --------------- operator on pointer --------------------- +/* ************************************************** + * * + * Pre-Declaration of all classes * + * Not required by compilation * + * (Except for cImplemF )but I like to have * + * a quick view of all existing classes * + * * + * **************************************************/ + +/** "Mother" Interface class of all classes implementing the service , + abstract class with pure virtual method +*/ - tIFD & operator*() const {return *mSPtr;} ///< Standard behaviour of a pointer - tIFD * operator->() const {return mSPtr.operator ->();} ///< Standard behaviour of a pointer - bool IsNull() const {return mSPtr.get()==nullptr;} ///< Safer than giving acces to raw pointer +template class cImplemF ; + + // --------------- "Atomic" function : Unknown, constant, observation----------------- +template class cAtomicF ; ///< Mother Class of all atomic formulas + /// "Observations" corresponding to user constant (change for each evaluation) +template class cObservationF ; + /// "Constant" function +template class cConstantF ; + /// "Unknown" for representing coordinates function X0,X1,X2 .... +template class cUnknownF; + + // ----------------------------- Unary operator ------------------------------------ +template class cUnaryF ; ///< Mother Class of all unary operator +template class cSquareF ; ///< Class for square operator +template class cExpF ; ///< Class for exponential operator +template class cMin1F ; ///< Class for Unary Minus +template class cLogF ; ///< Class for neperien log + + // -------------------------------- Binary operator ------------------------------------- +template class cBinaryF ; ///< Mother class of binary operators +template class cSumF ; ///< Class for sum of 2 functions +template class cMulF ; ///< Class for multiplication of 2 functions +template class cSubF ; ///< Class for substraction of 2 functions +template class cDivF ; ///< Class for division of 2 functions +template class cPowF ; ///< Class for division of 2 functions - // --------------- Naming --------------------- - /// Generate the unique indentifier of a binary expression - std::string NameOperBin(const std::string & aNameOper,const tFormulaFD & aF2) const - { - return "F"+ std::to_string((*this)->NumGlob()) + aNameOper + "F" + std::to_string(aF2->NumGlob()); - } - - /// Generate the unique indentifier of a unary expression - std::string NameOperUn(const std::string & aNameOper) const - { - return aNameOper + " F" + std::to_string((*this)->NumGlob()); - } +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * Definition of all classes * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ - private : - tSPtrFuncFD mSPtr; ///< Smart/shared point on object -}; + // ------------------- 2 "Main" Classes ------------------------- + // cFormula / cImplemF + // ---------------------------------------------------------------- -template TPLDecl class cImplemFormFD : public cMemCheck +template class cImplemF : public cMemCheck { public : // See eigen documentation, this macro is mandatory for alignment reason EIGEN_MAKE_ALIGNED_OPERATOR_NEW - typedef TypeElem tElem; - static const int vSzBuf = TheSzBuf; - - typedef cContextFormalDer TPLInst tContext; - typedef typename tContext::tBuf tBuf; - typedef typename tContext::tFormulaFD tFormulaFD; - - friend tContext; + typedef cContextF tContext; + typedef typename tContext::tBuf tBuf; + typedef typename tContext::tFormula tFormula; + //----------- For derivation and reduction-------------- virtual bool IsCste0() const {return false;} ///< To redefine in constant func, Used for simplification in "/ * + -" virtual bool IsCste1() const {return false;} ///< To redefine in constant func, Used for simplification in "/ *" - // virtual void ComputeBuf() = 0; - virtual tFormulaFD Derivate(int aK) const = 0; - // Used to print constant from generic pointer - virtual const TypeElem * ValCste() const {return nullptr;} + virtual tFormula Derivate(int aK) const = 0; ///< Compute the formula of it's derivative to Kth unknown - - /// Infixed "Pretty" Print . For tuning and checking (reduction, derivative) - virtual std::string InfixPPrint() const =0; + // -------------- For Computation ------------------------- + /// Method that wil compute data inside mBuf + virtual void ComputeBuf() =0; + + /// Return "Sub"-formula referenced + virtual std::vector Ref() const =0; // ---------- Accessors --------------- const std::string & Name() const {return mName;} ///< Standard accessor tContext * Context() const {return mContext;} ///< Standard accesor int NumGlob() const {return mNumGlob;} ///< Standard accessor + tBuf & Buf() {return mBuf;} ///< Return buffer + // ---------- Reached Flag --------------- + bool Reached() const {return mReached;} ///< Standard accessor + void SetReached(bool IsReached) const {mReached = IsReached;} ///< Fix Reached - virtual ~cImplemFormFD () {} ///< Add a virtual ~X() when we have virtual methods + + // ---------- Tuning / Debugging / Analysing --------------- + /// Used to print constant from generic formula + virtual const TypeElem * ValCste() const {return nullptr;} + /// Infixed "Pretty" Print . For tuning and checking (i.e correction of reduction, derivative, rewrite ...) + virtual std::string InfixPPrint() const =0; + /// Number of reference that would occur without reduction on identic formula (to test performance in paper) + int RecursiveRec() const; + + // -------------------- Destructor / Constructor -------------------------- + virtual ~cImplemF () {} ///< Add a virtual ~X() when we have virtual methods, who knows ... protected : - inline cImplemFormFD (tContext * aContext,const std::string & aName) : + inline cImplemF (tContext * aContext,const std::string & aName) : + mBuf (tBuf::Random()), // Initialize however mContext (aContext), mName (aName), - mNumGlob (mContext->NbCurFonc()) + mNumGlob (mContext->NbCurFonc()), + mReached (false) { } tBuf mBuf; ///< Buf to store values tContext * mContext; ///< Context that manage all the funcion cooperating - const std::string mName; ///< string represention of the formula like for example "+C2*S6cos3.6" + const std::string mName; ///< string represention of the formula as for ex : C2, X1, V0 , square F3, F18/F3 ... int mNumGlob; ///< Global number (!= Num in class) + bool mReached; ///< Flag to know if a formula is usefull for compute current private : - cImplemFormFD (const cImplemFormFD &) = delete; + cImplemF (const cImplemF &) = delete; ///< No Copy }; - // ------------------- ATOMIC FORMULA ------------------------- - // cFUnknownFormalDer / cFUnknownFormalDer / cFUnknownFormalDer - // ---------------------------------------------------------------- +template class cFormula +{ + public : + typedef cContextF tContext; + typedef cImplemF tImplemF; + typedef typename tContext::tFormula tFormula; + + // -------------------- constructor ------------------- + /// Construct from a pointer, standard + cFormula (tImplemF * aRawPtr) : + mPtr (aRawPtr) + { + } + /// Default constructor, required by some code (vector ?) + cFormula (): + cFormula (nullptr) + { + } + // --------------- operator on pointer --------------------- + + // UNUSED 4 NOW tImplemF & operator*() const {return *mPtr;} ///< Standard behaviour of a pointer + tImplemF * operator->() const {return mPtr;} ///< Standard behaviour of a pointer + // DO NOT WORK const std::unique_ptr operator->() const {return std::unique_ptr;} + bool IsNull() const {return mPtr==nullptr;} ///< Safer than giving acces to raw pointer + + // --------------- Naming --------------------- + + /// Generate the unique indentifier of a binary expression + std::string NameFormulaBin(const std::string & aNameOper,const tFormula & aF2) const + { + return "F"+ std::to_string((*this)->NumGlob()) + aNameOper + "F" + std::to_string(aF2->NumGlob()); + } + + /// Generate the unique indentifier of a unary expression + std::string NameFormulaUn(const std::string & aNameOper) const + { + return aNameOper + " F" + std::to_string((*this)->NumGlob()); + } + /// To allow destruction without giving access to raw pointer + void FreeMem() {delete mPtr; mPtr=nullptr;} + + private : + tImplemF* mPtr; ///< Faster than shared and deallocation is easy as object controlled by context +}; + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * ATOMIC FORMULA * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + /* ---------------------------------------------------------- + Class for atomic formula + MOTHER CLASS : cAtomicF + DERIVED : cUnknownF / cObservationF / cConstantF + ----------------------------------------------------------------*/ -template TPLDecl class cFUnknownFormalDer : public cImplemFormFD TPLInst +template class cAtomicF : public cImplemF { - public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tContext tContext; - typedef typename tContext::tFormulaFD tFormulaFD; + public : + typedef cImplemF tImplemF; + typedef typename tImplemF::tContext tContext; + typedef typename tContext::tFormula tFormula; + + /// Should work always + std::string InfixPPrint() const override {return tImplemF::Name();} + /// Rule deriv=0 , work by default (constant and observations) + tFormula Derivate(int aK) const override {return tImplemF::mContext->Cste0();} + + /// Generally nothing to do in atomic, their buffer has been filled witj adequate values + void ComputeBuf() override { } + std::vector Ref() const override{return std::vector();} + protected : + inline cAtomicF(tContext * aContext,const std::string& aName) : + tImplemF (aContext,aName) + { } +}; - std::string InfixPPrint() const override {return tIFD::Name();} - tFormulaFD Derivate(int aK) const override +template class cUnknownF : public cAtomicF +{ + public : + typedef cAtomicF tAtom; + typedef typename tAtom::tImplemF tImplemF; + typedef typename tImplemF::tContext tContext; + typedef typename tContext::tFormula tFormula; + + std::string InfixPPrint() const override {return tImplemF::Name();} + /// rule : dXi/dXj = delta(i,j) + tFormula Derivate(int aK) const override { - return (aK==mNumUnk) ? tIFD::mContext->Cste1() : tIFD::mContext->Cste0(); + return (aK==mNumUnk) ? tImplemF::mContext->Cste1() : tImplemF::mContext->Cste0(); } friend tContext; private : - inline cFUnknownFormalDer(tContext * aContext,const std::string& aName,int aNum) : - tIFD (aContext,aName), - mNumUnk (aNum) + inline cUnknownF(tContext * aContext,const std::string& aName,int aNum) : + tAtom (aContext,aName), + mNumUnk (aNum) { } - int mNumUnk; + int mNumUnk; ///< Number of the Unknown; like : 0 for X0, 1 for X1 ... }; -template TPLDecl class cFObsFormalDer : public cImplemFormFD TPLInst +template class cObservationF : public cAtomicF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tContext tContext; - typedef typename tContext::tFormulaFD tFormulaFD; + typedef cAtomicF tAtom; + typedef typename tAtom::tImplemF tImplemF; + typedef typename tImplemF::tContext tContext; + typedef typename tContext::tFormula tFormula; friend tContext; - std::string InfixPPrint() const override {return tIFD::Name();} - tFormulaFD Derivate(int aK) const override {return tIFD::mContext->Cste0();} - - protected : - inline cFObsFormalDer(tContext * aContext,const std::string & aName,int aNum) : - tIFD (aContext,aName), + private : + inline cObservationF(tContext * aContext,const std::string & aName,int aNum) : + tAtom (aContext,aName), mNum (aNum) { } - int mNum; + int mNum; ///< Number of the Observation; like : 0 for V0, 1 for V1 ... }; -template TPLDecl class cFCsteFormalDer : public cImplemFormFD TPLInst +template class cConstantF : public cAtomicF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tContext tContext; - typedef typename tContext::tBuf tBuf; - typedef typename tContext::tFormulaFD tFormulaFD; + typedef cAtomicF tAtom; + typedef typename tAtom::tImplemF tImplemF; + typedef typename tImplemF::tContext tContext; + typedef typename tContext::tFormula tFormula; + typedef typename tContext::tBuf tBuf; friend tContext; bool IsCste0() const override {return mVal==0.0;} ///< Here we know if we are constant 0 bool IsCste1() const override {return mVal==1.0;} ///< Here we know if we are constant 1 - // std::string InfixPPrint() const override {return "C" + std::to_string(mVal);} - std::string InfixPPrint() const override {return tIFD::Name();} - tFormulaFD Derivate(int aK) const override {return tIFD::mContext->Cste0();} const TypeElem * ValCste() const override {return &mVal;} protected : - inline cFCsteFormalDer(tContext * aContext,const std::string & aName,int aNum,const TypeElem& aVal) : - tIFD (aContext,aName), - mNum (aNum), - mVal (aVal) + inline cConstantF(tContext * aContext,const std::string & aName,int aNum,const TypeElem& aVal) : + tAtom (aContext,aName), + mNum (aNum), + mVal (aVal) { - tIFD::mBuf= tBuf::Constant(mVal); // We know the value of buf that will never change + tImplemF::mBuf= tBuf::Constant(mVal); // We know the value of buf, it will never change } int mNum; const TypeElem mVal; }; - // ------------------- FORMULA ON UNARY OPERATOR --------------- - // MOTHER CLASS : cOpUnFormalDer - // cSquareFormalDer / cExpFormalDer - // ---------------------------------------------------------------- -template TPLDecl class cOpUnFormalDer : public cImplemFormFD TPLInst + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * UNARY FORMULA * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + + /* ---------------------------------------------------------- + Class implementing unary operation on formula + MOTHER CLASS : cUnaryF + DERIVED : cSquareF / cExpF / cMin1F / cLogF + ----------------------------------------------------------------*/ + +template class cUnaryF : public cImplemF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tContext tContext; - typedef typename tIFD::tFormulaFD tFormulaFD; + typedef cImplemF tImplemF; + typedef typename tImplemF::tContext tContext; + typedef typename tImplemF::tFormula tFormula; + typedef typename tImplemF::tBuf tBuf; virtual std::string NameOperator() const = 0; std::string InfixPPrint() const override @@ -366,295 +504,339 @@ template TPLDecl class cOpUnFormalDer : public cImplemFormFD TPLInst return NameOperator() + " "+ mF->InfixPPrint() ; } protected : - inline cOpUnFormalDer(tFormulaFD aF,const std::string & aName) : - tIFD (aF->Context(),aName), - mF (aF) + std::vector Ref() const override{return std::vector{mF};} + inline cUnaryF(tFormula aF,const std::string & aName) : + tImplemF (aF->Context(),aName), + mF (aF), + mFBuf (mF->Buf()) { } - tFormulaFD mF; + tFormula mF; ///< The formula argument of unary operator + const tBuf & mFBuf; ///< A fast access to its buffer of data }; /* Probably not more efficient than implementing Square as F*F, because derivation would give F'F + F'F BUT would be reorder as F'F + F'F and unified ... By the way it was a test, if necessary replace Square by F*F */ -template TPLDecl class cSquareFormalDer : public cOpUnFormalDer TPLInst +template class cSquareF : public cUnaryF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tFormulaFD tFormulaFD; - typedef cOpUnFormalDer TPLInst tO1; + typedef cImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + typedef cUnaryF tUF; - std::string NameOperator() const override {return "square";} - cSquareFormalDer (tFormulaFD aF,const std::string & aName) : - tO1 (aF,aName) + cSquareF (tFormula aF,const std::string & aName) : + tUF (aF,aName) { } private : - tFormulaFD Derivate(int aK) const override + std::string NameOperator() const override {return "square";} + void ComputeBuf() override {tImplemF::mBuf = tUF::mFBuf * tUF::mFBuf;} + /// rule : (FF)' = 2 F' F + tFormula Derivate(int aK) const override { - return 2.0 * tO1::mF->Derivate(aK) * tO1::mF; + return 2.0 * tUF::mF->Derivate(aK) * tUF::mF; } }; -template TPLDecl class cExpFormalDer : public cOpUnFormalDer TPLInst +template class cExpF : public cUnaryF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tFormulaFD tFormulaFD; - typedef cOpUnFormalDer TPLInst tO1; + typedef cImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + typedef cUnaryF tUF; - std::string NameOperator() const override {return "exp";} - cExpFormalDer (tFormulaFD aF,const std::string & aName) : - tO1 (aF,aName) + cExpF (tFormula aF,const std::string & aName) : + tUF (aF,aName) { } private : - tFormulaFD Derivate(int aK) const override + std::string NameOperator() const override {return "exp";} + void ComputeBuf() override {tImplemF::mBuf = exp(tUF::mFBuf);} + /// rule : (exp F)' = F' * exp F + tFormula Derivate(int aK) const override { - return tO1::mF->Derivate(aK) * exp(tO1::mF); + return tUF::mF->Derivate(aK) * exp(tUF::mF); } }; -template TPLDecl class cMin1FormalDer : public cOpUnFormalDer TPLInst +template class cMin1F : public cUnaryF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tFormulaFD tFormulaFD; - typedef cOpUnFormalDer TPLInst tO1; + typedef cImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + typedef cUnaryF tUF; + cMin1F (tFormula aF,const std::string & aName) : + tUF (aF,aName) + { } + private : std::string NameOperator() const override {return "-";} - cMin1FormalDer (tFormulaFD aF,const std::string & aName) : - tO1 (aF,aName) + void ComputeBuf() override {tImplemF::mBuf = -tUF::mFBuf;} + /// rule : (-F)' = - (F') + tFormula Derivate(int aK) const override + { + return - tUF::mF->Derivate(aK) ; + } +}; + +template class cLogF : public cUnaryF +{ + public : + typedef cImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + typedef cUnaryF tUF; + + cLogF (tFormula aF,const std::string & aName) : + tUF (aF,aName) { } private : - tFormulaFD Derivate(int aK) const override + std::string NameOperator() const override {return "log";} + void ComputeBuf() override {tImplemF::mBuf = log(tUF::mFBuf) ;} + /// rule : (log F)' = F' / F + tFormula Derivate(int aK) const override { - return - tO1::mF->Derivate(aK) ; + return tUF::mF->Derivate(aK) / tUF::mF ; } }; - // ------------------- FORMULA ON BINARY OPERATOR --------------- - // MOTHER CLASS : cOpBinFormalDer - // cSumFormalDer / cMulFormalDer / cSubFormalDer / cDivFormalDer - // ---------------------------------------------------------------- -template TPLDecl class cOpBinFormalDer : public cImplemFormFD TPLInst + /* ---------------------------------------*/ + /* Global Functio on unary op */ + /* ---------------------------------------*/ + +/** A Helper class to avoid code duplication on the process : + * compute name + * test existence + * eventualy create + Template parameter is the class created +*/ + +template class cGenOperatorUnaire +{ + public : + typedef typename TypeCompiled::tContext tContext; + typedef typename TypeCompiled::tImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + + static tFormula Generate(tFormula aF,const std::string & aNameOp) + { + tContext* aPCont = aF->Context(); // Get the context from the formula + std::string aNameForm = aF.NameFormulaUn(aNameOp); // Compute the name formula should have + + if (aPCont->ExistFunc(aNameForm)) // If it already exist + return aPCont->FuncOfName(aNameForm); // Then return formula whih this name + + tFormula aResult (new TypeCompiled(aF,aNameForm)); // else create it + aPCont->AddFormula(aResult); // indicate to the context to remember this new formula + return aResult; // return it + } +}; + +template +inline cFormula square(const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"square"); +} + +template +inline cFormula exp(const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"exp"); +} +template +inline cFormula operator - (const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"-"); +} +template +inline cFormula log (const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"log"); +} + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * BINARY FORMULA * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + /* ---------------------------------------------------------- + Class implementing unary operation on formula + MOTHER CLASS : cBinaryF + DERIVED : cSumF / cMulF / cSubF / cDivF / cPowF + ----------------------------------------------------------------*/ + +template class cBinaryF : public cImplemF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tContext tContext; - typedef typename tIFD::tFormulaFD tFormulaFD; + typedef cImplemF tImplemF; + typedef typename tImplemF::tContext tContext; + typedef typename tImplemF::tFormula tFormula; + typedef typename tImplemF::tBuf tBuf; + /// An operator must describe its name virtual std::string NameOperator() const = 0; + /// We can compute print of binary formula using operator name std::string InfixPPrint() const override { - return NameOperator() + "("+ mF1->InfixPPrint() + " " + mF2->InfixPPrint() + ")"; + return "("+ NameOperator() + " "+ mF1->InfixPPrint() + " " + mF2->InfixPPrint() + ")"; } protected : - inline cOpBinFormalDer(tFormulaFD aF1,tFormulaFD aF2,const std::string & aName): - tIFD (aF1->Context(),aName), - mF1 (aF1), - mF2 (aF2) + std::vector Ref() const override{return std::vector{mF1,mF2};} + inline cBinaryF(tFormula aF1,tFormula aF2,const std::string & aName): + tImplemF (aF1->Context(),aName), + mF1 (aF1), + mBuf1 (aF1->Buf()), + mF2 (aF2), + mBuf2 (aF2->Buf()) { // It doesn't work to mix formula from different context - assert(mF1->Context()==mF2->Context()); + if (mF1->Context()!=mF2->Context()) + UserSError("Mix formula from different context"); } - - tFormulaFD mF1; - tFormulaFD mF2; + tFormula mF1; ///< First argument of operator + const tBuf& mBuf1; ///< A fast access to its buffer of data + tFormula mF2; ///< Second argument of operator + const tBuf& mBuf2; ///< A fast access to its buffer of data }; -template TPLDecl class cSumFormalDer : public cOpBinFormalDer TPLInst +template class cSumF : public cBinaryF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tFormulaFD tFormulaFD; - typedef cOpBinFormalDer TPLInst tO2; + typedef cImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + typedef cBinaryF tBF; - inline cSumFormalDer(tFormulaFD aF1,tFormulaFD aF2,const std::string & aName) : - tO2 (aF1,aF2,aName) + inline cSumF(tFormula aF1,tFormula aF2,const std::string & aName) : + tBF (aF1,aF2,aName) { } private : - tFormulaFD Derivate(int aK) const override {return tO2::mF1->Derivate(aK) + tO2::mF2->Derivate(aK);} std::string NameOperator() const override {return "+";} + void ComputeBuf() override {tImplemF::mBuf = tBF::mBuf1 + tBF::mBuf2;} + /// Formula (F+G)' = F' + G' + tFormula Derivate(int aK) const override {return tBF::mF1->Derivate(aK) + tBF::mF2->Derivate(aK);} }; -template TPLDecl class cMulFormalDer : public cOpBinFormalDer TPLInst +template class cMulF : public cBinaryF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tFormulaFD tFormulaFD; - typedef cOpBinFormalDer TPLInst tO2; + typedef cImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + typedef cBinaryF tBF; - inline cMulFormalDer(tFormulaFD aF1,tFormulaFD aF2,const std::string & aName) : - tO2 (aF1,aF2,aName) + inline cMulF(tFormula aF1,tFormula aF2,const std::string & aName) : + tBF (aF1,aF2,aName) { } private : - tFormulaFD Derivate(int aK) const override + std::string NameOperator() const override {return "*";} + void ComputeBuf() override {tImplemF::mBuf = tBF::mBuf1 * tBF::mBuf2;} + /// Formula (FG)' = F'G + G'F + tFormula Derivate(int aK) const override { - return tO2::mF2*tO2::mF1->Derivate(aK) + tO2::mF1*tO2::mF2->Derivate(aK); + return tBF::mF2 * tBF::mF1->Derivate(aK) + tBF::mF1 * tBF::mF2->Derivate(aK); } - std::string NameOperator() const override {return "*";} }; -template TPLDecl class cSubFormalDer : public cOpBinFormalDer TPLInst +template class cSubF : public cBinaryF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tFormulaFD tFormulaFD; - typedef cOpBinFormalDer TPLInst tO2; + typedef cImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + typedef cBinaryF tBF; - inline cSubFormalDer(tFormulaFD aF1,tFormulaFD aF2,const std::string & aName) : - tO2 (aF1,aF2,aName) + inline cSubF(tFormula aF1,tFormula aF2,const std::string & aName) : + tBF (aF1,aF2,aName) { } private : - tFormulaFD Derivate(int aK) const override {return tO2::mF1->Derivate(aK) - tO2::mF2->Derivate(aK);} std::string NameOperator() const override {return "-";} + void ComputeBuf() override {tImplemF::mBuf = tBF::mBuf1 - tBF::mBuf2;} + /// Formula (F-G)' = F' - G' + tFormula Derivate(int aK) const override {return tBF::mF1->Derivate(aK) - tBF::mF2->Derivate(aK);} }; -template TPLDecl class cDivFormalDer : public cOpBinFormalDer TPLInst +template class cDivF : public cBinaryF { public : - typedef cImplemFormFD TPLInst tIFD; - typedef typename tIFD::tFormulaFD tFormulaFD; - typedef cOpBinFormalDer TPLInst tO2; + typedef cImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + typedef cBinaryF tBF; - inline cDivFormalDer(tFormulaFD aF1,tFormulaFD aF2,const std::string & aName) : - tO2 (aF1,aF2,aName) + inline cDivF(tFormula aF1,tFormula aF2,const std::string & aName) : + tBF (aF1,aF2,aName) { } private : - tFormulaFD Derivate(int aK) const override + std::string NameOperator() const override {return "/";} + /// Formula (F/G)' = (F'G - G'F) / G ^ 2 + void ComputeBuf() override {tImplemF::mBuf = tBF::mBuf1 / tBF::mBuf2;} + tFormula Derivate(int aK) const override { - return (tO2::mF1->Derivate(aK)* tO2::mF2 - tO2::mF2->Derivate(aK) * tO2::mF1) / square(tO2::mF2); + return (tBF::mF1->Derivate(aK)* tBF::mF2 - tBF::mF2->Derivate(aK) * tBF::mF1) / square(tBF::mF2); } - std::string NameOperator() const override {return "/";} }; - - -// template TPLDecl class cDivFormalDer ; ///< Class for division of 2 functions -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * External Definition of methods * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ - - - - - - /* ----------------------------------------------*/ - /* cContextFormalDer */ - /* ----------------------------------------------*/ - -template TPLDecl std::vector cContextFormalDer TPLInst::MakeAutomId(const std::string & aPrefix,int aNb) -{ - tVecId aRes; - for (int aK=0 ; aK class cPowF : public cBinaryF { - const auto & anIt = mDicoFunc.find(aName); - if (anIt == mDicoFunc.end()) throw ("Try to acces non existing name :[" + aName + "]"); - return anIt->second; -} - -template TPLDecl void cContextFormalDer TPLInst::ShowStackFunc() const -{ - for (const auto & aForm : mVAllFormula) - { - std::cout << "Form[" << aForm->NumGlob() << "] => " << aForm->Name(); - const TypeElem * aPV = aForm->ValCste(); - if (aPV) - std::cout << " ; Val=" << *aPV; - std::cout << "\n"; - } -} + public : + typedef cImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + typedef cBinaryF tBF; + using tBF::mF1; + using tBF::mF2; + + inline cPowF(tFormula aF1,tFormula aF2,const std::string & aName) : + tBF (aF1,aF2,aName) + { } + private : + std::string NameOperator() const override {return "^";} + /// Formula F ^ G = exp(G log(F)) + /// (F^G) ' = (F^G) (G F'/F + G'log(F)) + void ComputeBuf() override {tImplemF::mBuf = pow(tBF::mBuf1,tBF::mBuf2);} + tFormula Derivate(int aK) const override + { + return pow(mF1,mF2) * ( (mF1->Derivate(aK)/mF1)*mF2 + mF2->Derivate(aK)*log(mF1)) ; + } +}; -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * Global function * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ - /* ----------------------------------------------*/ - /* Binary operator between formulas */ - /* ----------------------------------------------*/ + /* ---------------------------------------*/ + /* Global Functio on unary op */ + /* ---------------------------------------*/ +/** A Helper class to avoid code duplication on the process , see detailed comment in cGenOperatorUnaire (analogous) */ template class cGenOperatorBinaire { public : - typedef typename TypeCompiled::tIFD tIFD; - typedef typename tIFD::tFormulaFD tFormulaFD; - static tFormulaFD Generate(tFormulaFD aF1,tFormulaFD aF2,const std::string & aNameOp) + typedef typename TypeCompiled::tContext tContext; + typedef typename TypeCompiled::tImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + + static tFormula Generate(tFormula aF1,tFormula aF2,const std::string & aNameOp) { // Extract context (take F1 ou F2, does not matter, they must be the same) - auto aPCont = aF1->Context(); - std::string aNameForm = aF1.NameOperBin(aNameOp,aF2); + tContext * aPCont = aF1->Context(); + std::string aNameForm = aF1.NameFormulaBin(aNameOp,aF2); if (aPCont->ExistFunc(aNameForm)) return aPCont->FuncOfName(aNameForm); - tFormulaFD aResult (new TypeCompiled(aF1,aF2,aNameForm)); + tFormula aResult (new TypeCompiled(aF1,aF2,aNameForm)); aPCont->AddFormula(aResult); return aResult; } }; -template TPLDecl cFormulaFD TPLInst operator +(const cFormulaFD TPLInst & aF1,const cFormulaFD TPLInst & aF2) +template +cFormula operator + + ( + const cFormula & aF1, + const cFormula & aF2 + ) { // Use the fact that 0 is neutral element to simplify if (aF1->IsCste0()) return aF2; @@ -664,19 +846,29 @@ template TPLDecl cFormulaFD TPLInst operator +(const cFormulaFD TPLInst & aF1,c if (aF1->Name() > aF2->Name()) return aF2+aF1; - return cGenOperatorBinaire >::Generate(aF1,aF2,"+"); + return cGenOperatorBinaire >::Generate(aF1,aF2,"+"); } -template TPLDecl cFormulaFD TPLInst operator -(const cFormulaFD TPLInst & aF1,const cFormulaFD TPLInst & aF2) +template +cFormula operator - + ( + const cFormula & aF1, + const cFormula & aF2 + ) { // Use the fact that 0 is neutral element to simplify if (aF1->IsCste0()) return -aF2; if (aF2->IsCste0()) return aF1; - return cGenOperatorBinaire >::Generate(aF1,aF2,"-"); + return cGenOperatorBinaire >::Generate(aF1,aF2,"-"); } -template TPLDecl cFormulaFD TPLInst operator *(const cFormulaFD TPLInst & aF1,const cFormulaFD TPLInst & aF2) +template +cFormula operator * + ( + const cFormula & aF1, + const cFormula & aF2 + ) { // Use the fact that 1 is neutral element to simplify if (aF1->IsCste1()) return aF2; @@ -691,113 +883,290 @@ template TPLDecl cFormulaFD TPLInst operator *(const cFormulaFD TPLInst & aF1,c if (aF1->Name() > aF2->Name()) return aF2 * aF1; - return cGenOperatorBinaire >::Generate(aF1,aF2,"*"); + return cGenOperatorBinaire >::Generate(aF1,aF2,"*"); } -template TPLDecl cFormulaFD TPLInst operator /(const cFormulaFD TPLInst & aF1,const cFormulaFD TPLInst & aF2) +template +cFormula operator / + ( + const cFormula & aF1, + const cFormula & aF2 + ) { - if (aF1->IsCste0()) return aF1; // 0/F2 = 0 - if (aF2->IsCste1()) return aF1; // F1/1 = F1 + if (aF1->IsCste0()) return aF1; // 0/F2 -> 0 + if (aF2->IsCste1()) return aF1; // F1/1 -> F1 - return cGenOperatorBinaire >::Generate(aF1,aF2,"/"); + return cGenOperatorBinaire >::Generate(aF1,aF2,"/"); } +template +cFormula pow + ( + const cFormula & aF1, + const cFormula & aF2 + ) +{ + return cGenOperatorBinaire >::Generate(aF1,aF2,"^"); +} /* ----------------------------------------------------------*/ /* Binary Operator between Formula and constants */ /* ----------------------------------------------------------*/ // ++++++++++++++++++++++++ -template TPLDecl inline cFormulaFD TPLInst operator +(const TypeElem & aV1,const cFormulaFD TPLInst & aF2) +template +inline cFormula operator +(const TypeElem & aV1,const cFormula & aF2) { return aF2->Context()->CsteOfVal(aV1) + aF2; } -template TPLDecl inline cFormulaFD TPLInst operator +(const cFormulaFD TPLInst & aF1,const TypeElem & aV2) +template +inline cFormula operator +(const cFormula & aF1,const TypeElem & aV2) { return aV2+aF1; } // ************************ -template TPLDecl inline cFormulaFD TPLInst operator *(const TypeElem & aV1,const cFormulaFD TPLInst & aF2) +template +inline cFormula operator *(const TypeElem & aV1,const cFormula & aF2) { return aF2->Context()->CsteOfVal(aV1) * aF2; } -template TPLDecl inline cFormulaFD TPLInst operator *(const cFormulaFD TPLInst & aF1,const TypeElem & aV2) +template +inline cFormula operator *(const cFormula & aF1,const TypeElem & aV2) { return aV2*aF1; } - // ************************ -template TPLDecl inline cFormulaFD TPLInst operator -(const TypeElem & aV1,const cFormulaFD TPLInst & aF2) + // -------------------------- +template +inline cFormula operator -(const TypeElem & aV1,const cFormula & aF2) { return aF2->Context()->CsteOfVal(aV1) - aF2; } -template TPLDecl inline cFormulaFD TPLInst operator -(const cFormulaFD TPLInst & aF1,const TypeElem & aV2) +template +inline cFormula operator -(const cFormula & aF1,const TypeElem & aV2) { return aF1-aF1->Context()->CsteOfVal(aV2) ; } + // ///////////////////////// +template +inline cFormula operator /(const TypeElem & aV1,const cFormula & aF2) +{ + return aF2->Context()->CsteOfVal(aV1) / aF2; +} +template +inline cFormula operator /(const cFormula & aF1,const TypeElem & aV2) +{ + return aF1/aF1->Context()->CsteOfVal(aV2) ; +} + + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * cImplemF / cContextF * */ +/* * External Definition of methods * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + /* ---------------------- */ + /* cImplemF */ + /* ---------------------- */ + +template int cImplemF::RecursiveRec() const +{ + int aRes = 1; + for (const auto & aF : Ref()) + { + aRes += aF->RecursiveRec(); + } + return aRes; +} + /* ---------------------- */ + /* cContextF */ + /* ---------------------- */ +template +std::vector cContextF::MakeAutomId(const std::string & aPrefix,int aNb) +{ + std::vector aRes; + for (int aK=0 ; aK +cContextF::cContextF +( + const std::vector & aVNameUK, + const std::vector & aVNameObs +) : + mNbCste (0), + mNbUK (aVNameUK.size()), + mNbObs (aVNameObs.size()), + mCste0 (CsteOfVal(0.0)), + mCste1 (CsteOfVal(1.0)), + mCste2 (CsteOfVal(2.0)), + mNbInBuf (0), + mCurFormSet (false) +{ + // Generate all the function corresponding to unknown + for (size_t aNumUK=0 ; aNumUK(this,aVNameUK[aNumUK],aNumUK)); // Create it + mVFormUnknowns.push_back(aFuncUK); // Push it in vector of coordinat func + AddFormula(aFuncUK); // Add to all func + } -template class cGenOperatorUnaire + // Generate all the function corresponding to observations + for (size_t aNumObs=0 ; aNumObs(this,aVNameObs[aNumObs],aNumObs)); // Create it + mVFormObservations.push_back(aFuncObs); // Push it in vector of coordinat func + AddFormula(aFuncObs); // Add to all func + } +} + +template +cContextF::cContextF(int aNbUK,int aNbObs) : + cContextF(MakeAutomId("X",aNbUK),MakeAutomId("V",aNbObs)) { - public : - typedef typename TypeCompiled::tIFD tIFD; - typedef typename tIFD::tFormulaFD tFormulaFD; - static tFormulaFD Generate(tFormulaFD aF,const std::string & aNameOp) - { - auto aPCont = aF->Context(); - std::string aNameForm = aF.NameOperUn(aNameOp); +} - if (aPCont->ExistFunc(aNameForm)) - return aPCont->FuncOfName(aNameForm); +template +cContextF::~cContextF() +{ + for (auto & aForm : mVAllFormula) + { + aForm.FreeMem(); + } +} - tFormulaFD aResult (new TypeCompiled(aF,aNameForm)); - aPCont->AddFormula(aResult); - return aResult; - } -}; - -template TPLDecl inline cFormulaFD TPLInst square(const cFormulaFD TPLInst & aF) +template +cFormula cContextF::CsteOfVal(const TypeElem & aCste) +{ + tFormula & aRef = mDicoCste[aCste]; + if (aRef.IsNull()) // If it was not existing, the map contain now the def element + { + aRef=tFormula(new cConstantF(this,"C"+std::to_string(mNbCste),mNbCste,aCste)); + mNbCste++; + AddFormula(aRef); + } + + return aRef; +} + +template +cFormula cContextF::FuncOfName(const std::string & aName) const { - return cGenOperatorUnaire >::Generate(aF,"square"); + const auto & anIt = mDicoFunc.find(aName); + if (anIt == mDicoFunc.end()) InternalError ("Try to acces non existing name :[" + aName + "]"); + return anIt->second; } -template TPLDecl inline cFormulaFD TPLInst exp(const cFormulaFD TPLInst & aF) +template +void cContextF::PushNewEvals + ( + const std::vector & aVUK, + const std::vector & aVObs + ) { - return cGenOperatorUnaire >::Generate(aF,"exp"); + if (mNbInBuf >= TheSzBuf) + { + UserSError("Push exceed buffer capacity"); + } + SetNewVals(mVFormUnknowns,"Unknowns",aVUK); + SetNewVals(mVFormObservations,"Observations",aVObs); + mNbInBuf++; } -template TPLDecl inline cFormulaFD TPLInst operator - (const cFormulaFD TPLInst & aF) + +template +void cContextF::SetNewEvals + ( + std::vector & aVF, + const std::string & aMes, + const std::vector & aVVals + ) { - return cGenOperatorUnaire >::Generate(aF,"-"); + if (aVF.size() != aVVals.size()) + { + UserSError("Bad size in " + aMes); + } + for (size_t aK=0 ; aKBuf()[mNbInBuf] = aVVals[aK]; + } +} + +template +void cContextF::ShowStackFunc() const +{ + for (const auto & aForm : mVAllFormula) + { + std::cout << "Form[" << aForm->NumGlob() << "] => " << aForm->Name(); + const TypeElem * aPV = aForm->ValCste(); + if (aPV) + std::cout << " ; Val=" << *aPV; + std::cout << "\n"; + } } - /* ----------------------------------------------*/ - /* TEST */ - /* ----------------------------------------------*/ +}; // NS_MMVII_FormalDerivative + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * TEST * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + +namespace FD = NS_MMVII_FormalDerivative; + static const int SzBufTest = 8; typedef double TypeTest; -typedef cFormulaFD tFormulaTest; +typedef FD::cFormula tFormulaTest; void BenchFormalDer() { { - cContextFormalDer aCFD(3,5); + FD::cContextF aCFD(3,5); tFormulaTest X0 = aCFD.VUK().at(0); + if (0) + { + FD::cContextF aCFD2(3,5); + tFormulaTest B0 = aCFD2.VUK().at(0); + X0 + B0; + } tFormulaTest X1 = aCFD.VUK().at(1); tFormulaTest X2 = aCFD.VUK().at(2); - tFormulaTest aF = (X0+X1) * (X0 +square(X2)) - exp(-square(X0)); + tFormulaTest aF0 = X0 ; + for (int aK=0 ; aK<5 ; aK++) + { + std::cout << "K= " << aK << " R=" << aF0->RecursiveRec() << "\n"; + aF0 = aF0 + aF0; + } +/* + tFormulaTest aF1 = aF0 + aF0; + tFormulaTest aF2 = aF1 + aF1; + tFormulaTest aF3 = aF2 + aF2; + tFormulaTest aF4 = aF3 + aF3; + std::cout << "Re=" << aF->InfixPPrint() << "\n"; +*/ + + + tFormulaTest aF = (X0+X1) * (X0 +square(X2)) - exp(-square(X0))/X0; // tFormulaTest aF = X0 * X0; tFormulaTest aFd0 = aF->Derivate(0); std::cout << "F=" << aF->InfixPPrint() << "\n"; std::cout << "Fd=" << aFd0->InfixPPrint() << "\n"; + aF->ComputeBuf(); + aCFD.ShowStackFunc(); /* aCFD.CsteOfVal(3.14); @@ -829,16 +1198,14 @@ void BenchFormalDer() } */ - // cFormulaFD aPtr(nullptr); + // cFormula aPtr(nullptr); // aPtr->IsCste0(); // std::shared_ptr > aF1 = - // const std::vector& VUK() const {return mVFuncUnknown;} ///< Unknowns - // const std::vector& VObs() const {return mVFuncObs;} ///< Observations } - // new cContextFormalDer (3,5); + // new cContextF (3,5); int i=10; std::string aStr = "i="+ std::to_string(i); From aeff42d3257d41dba3782fec9fa662fef7903436 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Tue, 25 Feb 2020 16:28:44 +0100 Subject: [PATCH 33/49] Dans derivatice --- .../TestLibsExtern/TestDynCompDerivatives.cpp | 1061 ++++++++++++----- 1 file changed, 764 insertions(+), 297 deletions(-) diff --git a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp index 807baf156a..6fcef097e9 100644 --- a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp +++ b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp @@ -6,7 +6,14 @@ \brief Proto of generated code Prototype of generated code, do not know how it will evolve - + +http://en.wikipedia.org/wiki/Automatic_differentiation +https://git.irc.umbc.edu/photorig/openMVG/blob/260584fda68dce095e279362efd24a2d7d7cf5d9/src/third_party/ceres-solver/include/ceres/jet.h + +https://mc-stan.org/ +http://www.met.reading.ac.uk/clouds/adept/array_features.html +http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.89.7749&rep=rep1&type=pdf +http://www.autodiff.org/ */ #define WITH_MMVII true @@ -26,8 +33,15 @@ class cMemCheck #endif // WITH_MMVI ========================================================== + namespace NS_MMVII_FormalDerivative { + + +/// This function is required if we want to have same operation on numbers double and formulas +double square(const double & aV) {return aV*aV;} +// static double square(const float & aV) {return aV*aV;} + void Error(const std::string & aMes,const std::string & aExplanation) { std::cout << "In MMVII_FormalDerivative a fatal error" << "\n"; @@ -60,12 +74,12 @@ void UserSError(const std::string & aMes) has all algerbric operation required. This object is just an encapsulation of a pointer on cImplemF. */ -template class cFormula ; +template class cFormula ; /** Class for managing the "context", i.e. coordinating all the formula and their derivative corresponding to a single use . */ -template class cContextF; +template class cContextF; @@ -76,80 +90,106 @@ template class cContextF; // "Number x Formula" and "Formula x Number" // Operator + -template cFormula - operator +(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator +(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator +(const cFormula & aF1,const TypeElem & aV2); +template cFormula + operator +(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator +(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator +(const cFormula & aF1,const TypeElem & aV2); // Operator * -template cFormula - operator *(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator *(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator *(const cFormula & aF1,const TypeElem & aV2); +template cFormula + operator *(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator *(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator *(const cFormula & aF1,const TypeElem & aV2); // Operator - -template cFormula - operator -(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator -(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator -(const cFormula & aF1,const TypeElem & aV2); +template cFormula + operator -(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator -(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator -(const cFormula & aF1,const TypeElem & aV2); // Operator / -template cFormula - operator /(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator /(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator /(const cFormula & aF1,const TypeElem & aV2); +template cFormula + operator /(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator /(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator /(const cFormula & aF1,const TypeElem & aV2); // pow -template cFormula - pow (const cFormula & aF1 ,const cFormula & aF2); -template cFormula - pow (const TypeElem & aV1,const cFormula & aF2); -template cFormula - pow (const cFormula & aF1,const TypeElem & aV2); +template cFormula + pow (const cFormula & aF1 ,const cFormula & aF2); +template cFormula + pow (const TypeElem & aV1,const cFormula & aF2); +template cFormula + pow (const cFormula & aF1,const TypeElem & aV2); // -------- Declare all unary operators ---------------- -template cFormula - square(const cFormula & aF); -template cFormula - exp(const cFormula & aF); -template cFormula - operator - (const cFormula & aF); -template cFormula - log(const cFormula & aF); +template cFormula + square(const cFormula & aF); +template cFormula + exp(const cFormula & aF); +template cFormula + operator - (const cFormula & aF); +template cFormula + log(const cFormula & aF); // -------- Declaration of Context class ---------------- -template class cContextF : public cMemCheck +template class cContextF : public cMemCheck { public : - typedef cFormula tFormula; + typedef cFormula tFormula; + typedef std::vector tOneRes; // --------------------------- Constructors / Destructor ------------------- /// Constructor with explicit Id for Unknown/Observation. Used if we want to analyze the generated code - inline cContextF(const std::vector & aVecUK,const std::vector & aVecObs); + inline cContextF(int SzBuf,const std::vector & aVecUK,const std::vector & aVecObs); /// Constructor with basic Id (used if we dont generate code, or dont want to analyse it by human) - inline cContextF(int aNbUnknown,int aNbObservation); + inline cContextF(int SzBuf,int aNbUnknown,int aNbObservation); /// Destructeur will free allocated formulas ~cContextF(); - /// Copies are not allowed - cContextF(const cContextF &) = delete; + /// Copies are not allowed on this kind of object. + cContextF(const cContextF &) = delete; - // --------------------------- Accessors ------------------- - const std::vector >& VUK() const {return mVFormUnknowns;} ///< Unknowns - const std::vector >& VObs() const {return mVFormObservations;} ///< Observations + // --------------------------- Accessors to Atomic Formulas ------------------- + const std::vector >& VUk() const {return mVFormUnknowns;} ///< Unknowns + const std::vector >& VObs() const {return mVFormObservations;} ///< Observations // --------------------------- Manipulation ------------------- + /// Set the formulas that with be used for computation + void SetCurFormulas(const std::vector &); + + /** SetCurFormulas + all its derivative , order of storage will be + VF0 dVF0/dX0 dVF0/dX1 .... VF1 dVF1/dX0 ... */ + void SetCurFormulasWithDerivative(const std::vector & aVF); + /// Add a new set of vals (unknown + Obs) inside de evaluation "queue" void PushNewEvals(const std::vector & aVUK,const std::vector & aVObs); - /// Set - void SetCurFormulas(const std::vector &); + + bool BufIsFull() const {return mNbInBuf == mSzBuf;} ///< Can we push more value ? + size_t SzBuf() const {return mSzBuf;} ///< Number of value we can add + + /** Make the evaluation of current functions on pushe valuse . Let V be the result + (*V[0]) is the vector of containing current formula for first SetCur + !! => Warn the same memory space is recycled ... + */ + const std::vector & EvalAndClear(); + /// Retur value computed taking into account order of storage + const TypeElem & ValComp(int aNumPush,int aKElem) + { + return mBufRes.at(aNumPush)->at(mSzInterval*aKElem); + } + /// Retur value of derivate computed taking into account order of storage + const TypeElem & DerComp(int aNumPush,int aKElem,int aKVarDer) + { + if (! mWithDer) UserSError("Acces to derivate wich were not computed"); + return mBufRes.at(aNumPush)->at(mSzInterval*aKElem +1 + aKVarDer); + } private : // END-USER @@ -161,7 +201,8 @@ template class cContextF : public cMemCheck // Result of several evaluation are stored in a buffer, Eigen vector are used // as they implement efficiently arithmeticall operation - typedef Eigen::Array tBuf; + // typedef Eigen::Array tBuf; + typedef std::vector tBuf; // --------------------------- Acces to function from names, values ------------------- @@ -193,11 +234,12 @@ template class cContextF : public cMemCheck private : /// Called by PushNewEvals to Set Unknown/Observations - void SetNewEvals(std::vector & aVF,const std::string & aMes,const std::vector & aVVals); + void SetNewVals(std::vector & aVF,const std::string & aMes,const std::vector & aVVals); /// Used to generate automatically Id for Unknown/Observatio, when we dont need to control them explicitely static std::vector MakeAutomId(const std::string & aPrefix,int aNb); + size_t mSzBuf; ///< Capacity of bufferirsation size_t mNbCste; ///< Number Cste size_t mNbUK; ///< Dim=number of unkown size_t mNbObs; ///< Number of obserbation variable @@ -209,8 +251,14 @@ template class cContextF : public cMemCheck tFormula mCste0; ///< Fonc constant null tFormula mCste1; ///< Fonc constant 1 tFormula mCste2; ///< Fonc constant 1 - int mNbInBuf; ///< Number of Unknown/Obs vect currenlty loaded in buf - bool mCurFormSet; ///< Check if formula was set + size_t mNbInBuf; ///< Number of Unknown/Obs vect currenlty loaded in buf + bool mWithDer; ///< Done With Derivate + int mSzInterval; ///< Size between two val, depends if computation done with deriv + std::vector mVCurF; ///< Current evaluted formulas + std::vector mVReachedF; ///< Formula "reachable" i.e. necessary to comput mVCurF + std::vector mBufLineRes; ///< Reserve memory for each line + std::vector mBufRes; ///< Reserve memory for result itself + }; /* ************************************************** @@ -226,31 +274,31 @@ template class cContextF : public cMemCheck abstract class with pure virtual method */ -template class cImplemF ; +template class cImplemF ; // --------------- "Atomic" function : Unknown, constant, observation----------------- -template class cAtomicF ; ///< Mother Class of all atomic formulas +template class cAtomicF ; ///< Mother Class of all atomic formulas /// "Observations" corresponding to user constant (change for each evaluation) -template class cObservationF ; +template class cObservationF ; /// "Constant" function -template class cConstantF ; +template class cConstantF ; /// "Unknown" for representing coordinates function X0,X1,X2 .... -template class cUnknownF; +template class cUnknownF; // ----------------------------- Unary operator ------------------------------------ -template class cUnaryF ; ///< Mother Class of all unary operator -template class cSquareF ; ///< Class for square operator -template class cExpF ; ///< Class for exponential operator -template class cMin1F ; ///< Class for Unary Minus -template class cLogF ; ///< Class for neperien log +template class cUnaryF ; ///< Mother Class of all unary operator +template class cSquareF ; ///< Class for square operator +template class cExpF ; ///< Class for exponential operator +template class cMin1F ; ///< Class for Unary Minus +template class cLogF ; ///< Class for neperien log // -------------------------------- Binary operator ------------------------------------- -template class cBinaryF ; ///< Mother class of binary operators -template class cSumF ; ///< Class for sum of 2 functions -template class cMulF ; ///< Class for multiplication of 2 functions -template class cSubF ; ///< Class for substraction of 2 functions -template class cDivF ; ///< Class for division of 2 functions -template class cPowF ; ///< Class for division of 2 functions +template class cBinaryF ; ///< Mother class of binary operators +template class cSumF ; ///< Class for sum of 2 functions +template class cMulF ; ///< Class for multiplication of 2 functions +template class cSubF ; ///< Class for substraction of 2 functions +template class cDivF ; ///< Class for division of 2 functions +template class cPowF ; ///< Class for division of 2 functions /* *************************************************** */ @@ -265,14 +313,14 @@ template class cPowF ; ///< Class for di // cFormula / cImplemF // ---------------------------------------------------------------- - -template class cImplemF : public cMemCheck +template class cImplemF : public cMemCheck { public : // See eigen documentation, this macro is mandatory for alignment reason EIGEN_MAKE_ALIGNED_OPERATOR_NEW - typedef cContextF tContext; + typedef TypeElem tElem; + typedef cContextF tContext; typedef typename tContext::tBuf tBuf; typedef typename tContext::tFormula tFormula; @@ -283,7 +331,7 @@ template class cImplemF : public cMemCheck // -------------- For Computation ------------------------- /// Method that wil compute data inside mBuf - virtual void ComputeBuf() =0; + virtual void ComputeBuf(int aK0,int aK1) =0; /// Return "Sub"-formula referenced virtual std::vector Ref() const =0; @@ -292,10 +340,17 @@ template class cImplemF : public cMemCheck const std::string & Name() const {return mName;} ///< Standard accessor tContext * Context() const {return mContext;} ///< Standard accesor int NumGlob() const {return mNumGlob;} ///< Standard accessor - tBuf & Buf() {return mBuf;} ///< Return buffer + // ---------- Acces to Buf data --------------- + void SetBuf(size_t anIndex,const TypeElem & aVal) {mBuf.at(anIndex) = aVal;} + const TypeElem & GetBuf(size_t anIndex) {return mBuf.at(anIndex);} + TypeElem * DataBuf() {return mDataBuf;} // ---------- Reached Flag --------------- bool Reached() const {return mReached;} ///< Standard accessor - void SetReached(bool IsReached) const {mReached = IsReached;} ///< Fix Reached + void SetReached(bool IsReached) {mReached = IsReached;} ///< Fix Reached + /// Compute in the reference graphe and put formal explored in VReached + void CalcRecursiveDepth(std::vector & VReached) ; + int Depth() const {return mDepth;} ///< Standard accessor + void SetDepth(bool aDepth) {mDepth = aDepth;} ///< Fix Reached // ---------- Tuning / Debugging / Analysing --------------- @@ -310,27 +365,33 @@ template class cImplemF : public cMemCheck virtual ~cImplemF () {} ///< Add a virtual ~X() when we have virtual methods, who knows ... protected : inline cImplemF (tContext * aContext,const std::string & aName) : - mBuf (tBuf::Random()), // Initialize however mContext (aContext), + mBuf (mContext->SzBuf(),TypeElem(0.0)), + mDataBuf (mBuf.data()), mName (aName), mNumGlob (mContext->NbCurFonc()), - mReached (false) - { } + mReached (false), + mDepth (-1) + { + } - tBuf mBuf; ///< Buf to store values tContext * mContext; ///< Context that manage all the funcion cooperating + tBuf mBuf; ///< Buf to store values + TypeElem * mDataBuf; ///< Raw pointer const std::string mName; ///< string represention of the formula as for ex : C2, X1, V0 , square F3, F18/F3 ... int mNumGlob; ///< Global number (!= Num in class) bool mReached; ///< Flag to know if a formula is usefull for compute current + int mDepth; ///< Used for topological sort private : - cImplemF (const cImplemF &) = delete; ///< No Copy + + cImplemF (const cImplemF &) = delete; ///< No Copy }; -template class cFormula +template class cFormula { public : - typedef cContextF tContext; - typedef cImplemF tImplemF; + typedef cContextF tContext; + typedef cImplemF tImplemF; typedef typename tContext::tFormula tFormula; // -------------------- constructor ------------------- @@ -341,7 +402,7 @@ template class cFormula } /// Default constructor, required by some code (vector ?) cFormula (): - cFormula (nullptr) + cFormula (nullptr) { } // --------------- operator on pointer --------------------- @@ -385,10 +446,10 @@ template class cFormula DERIVED : cUnknownF / cObservationF / cConstantF ----------------------------------------------------------------*/ -template class cAtomicF : public cImplemF +template class cAtomicF : public cImplemF { public : - typedef cImplemF tImplemF; + typedef cImplemF tImplemF; typedef typename tImplemF::tContext tContext; typedef typename tContext::tFormula tFormula; @@ -398,7 +459,7 @@ template class cAtomicF : public cImplemFCste0();} /// Generally nothing to do in atomic, their buffer has been filled witj adequate values - void ComputeBuf() override { } + void ComputeBuf(int aK0,int aK1) override { } std::vector Ref() const override{return std::vector();} protected : inline cAtomicF(tContext * aContext,const std::string& aName) : @@ -406,10 +467,10 @@ template class cAtomicF : public cImplemF class cUnknownF : public cAtomicF +template class cUnknownF : public cAtomicF { public : - typedef cAtomicF tAtom; + typedef cAtomicF tAtom; typedef typename tAtom::tImplemF tImplemF; typedef typename tImplemF::tContext tContext; typedef typename tContext::tFormula tFormula; @@ -431,10 +492,10 @@ template class cUnknownF : public cAtomicF class cObservationF : public cAtomicF +template class cObservationF : public cAtomicF { public : - typedef cAtomicF tAtom; + typedef cAtomicF tAtom; typedef typename tAtom::tImplemF tImplemF; typedef typename tImplemF::tContext tContext; typedef typename tContext::tFormula tFormula; @@ -448,10 +509,10 @@ template class cObservationF : public cAtomi int mNum; ///< Number of the Observation; like : 0 for V0, 1 for V1 ... }; -template class cConstantF : public cAtomicF +template class cConstantF : public cAtomicF { public : - typedef cAtomicF tAtom; + typedef cAtomicF tAtom; typedef typename tAtom::tImplemF tImplemF; typedef typename tImplemF::tContext tContext; typedef typename tContext::tFormula tFormula; @@ -468,7 +529,7 @@ template class cConstantF : public cAtomicF< mNum (aNum), mVal (aVal) { - tImplemF::mBuf= tBuf::Constant(mVal); // We know the value of buf, it will never change + for (auto & aV : tImplemF::mBuf) aV = aVal; // Initialize buf with const val } int mNum; const TypeElem mVal; @@ -490,10 +551,10 @@ template class cConstantF : public cAtomicF< DERIVED : cSquareF / cExpF / cMin1F / cLogF ----------------------------------------------------------------*/ -template class cUnaryF : public cImplemF +template class cUnaryF : public cImplemF { public : - typedef cImplemF tImplemF; + typedef cImplemF tImplemF; typedef typename tImplemF::tContext tContext; typedef typename tImplemF::tFormula tFormula; typedef typename tImplemF::tBuf tBuf; @@ -508,94 +569,110 @@ template class cUnaryF : public cImplemFContext(),aName), mF (aF), - mFBuf (mF->Buf()) + mDataF (mF->DataBuf()) { } - tFormula mF; ///< The formula argument of unary operator - const tBuf & mFBuf; ///< A fast access to its buffer of data + tFormula mF; ///< The formula argument of unary operator + const TypeElem* mDataF; ///< Fast access to data of buf }; /* Probably not more efficient than implementing Square as F*F, because derivation would give F'F + F'F BUT would be reorder as F'F + F'F and unified ... By the way it was a test, if necessary replace Square by F*F */ -template class cSquareF : public cUnaryF +template class cSquareF : public cUnaryF { public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - typedef cUnaryF tUF; - - cSquareF (tFormula aF,const std::string & aName) : - tUF (aF,aName) + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cSquareF (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) { } private : std::string NameOperator() const override {return "square";} - void ComputeBuf() override {tImplemF::mBuf = tUF::mFBuf * tUF::mFBuf;} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override { - return 2.0 * tUF::mF->Derivate(aK) * tUF::mF; + return 2.0 * mF->Derivate(aK) * mF; } }; -template class cExpF : public cUnaryF +template class cExpF : public cUnaryF { public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - typedef cUnaryF tUF; + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; - cExpF (tFormula aF,const std::string & aName) : - tUF (aF,aName) + cExpF (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) { } private : std::string NameOperator() const override {return "exp";} - void ComputeBuf() override {tImplemF::mBuf = exp(tUF::mFBuf);} - /// rule : (exp F)' = F' * exp F - tFormula Derivate(int aK) const override + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override { - return tUF::mF->Derivate(aK) * exp(tUF::mF); + return mF->Derivate(aK) * exp(mF); } }; -template class cMin1F : public cUnaryF +template class cMin1F : public cUnaryF { public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - typedef cUnaryF tUF; + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; - cMin1F (tFormula aF,const std::string & aName) : - tUF (aF,aName) + cMin1F (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) { } private : std::string NameOperator() const override {return "-";} - void ComputeBuf() override {tImplemF::mBuf = -tUF::mFBuf;} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override { - return - tUF::mF->Derivate(aK) ; + return - mF->Derivate(aK) ; } }; -template class cLogF : public cUnaryF +template class cLogF : public cUnaryF { public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - typedef cUnaryF tUF; + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; - cLogF (tFormula aF,const std::string & aName) : - tUF (aF,aName) + cLogF (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) { } private : std::string NameOperator() const override {return "log";} - void ComputeBuf() override {tImplemF::mBuf = log(tUF::mFBuf) ;} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override { - return tUF::mF->Derivate(aK) / tUF::mF ; + return mF->Derivate(aK) / mF ; } }; @@ -633,26 +710,26 @@ template class cGenOperatorUnaire } }; -template -inline cFormula square(const cFormula & aF) +template +inline cFormula square(const cFormula & aF) { - return cGenOperatorUnaire >::Generate(aF,"square"); + return cGenOperatorUnaire >::Generate(aF,"square"); } -template -inline cFormula exp(const cFormula & aF) +template +inline cFormula exp(const cFormula & aF) { - return cGenOperatorUnaire >::Generate(aF,"exp"); + return cGenOperatorUnaire >::Generate(aF,"exp"); } -template -inline cFormula operator - (const cFormula & aF) +template +inline cFormula operator - (const cFormula & aF) { - return cGenOperatorUnaire >::Generate(aF,"-"); + return cGenOperatorUnaire >::Generate(aF,"-"); } -template -inline cFormula log (const cFormula & aF) +template +inline cFormula log (const cFormula & aF) { - return cGenOperatorUnaire >::Generate(aF,"log"); + return cGenOperatorUnaire >::Generate(aF,"log"); } /* *************************************************** */ @@ -669,10 +746,10 @@ inline cFormula log (const cFormula & aF) DERIVED : cSumF / cMulF / cSubF / cDivF / cPowF ----------------------------------------------------------------*/ -template class cBinaryF : public cImplemF +template class cBinaryF : public cImplemF { public : - typedef cImplemF tImplemF; + typedef cImplemF tImplemF; typedef typename tImplemF::tContext tContext; typedef typename tImplemF::tFormula tFormula; typedef typename tImplemF::tBuf tBuf; @@ -687,11 +764,11 @@ template class cBinaryF : public cImplemF Ref() const override{return std::vector{mF1,mF2};} inline cBinaryF(tFormula aF1,tFormula aF2,const std::string & aName): - tImplemF (aF1->Context(),aName), - mF1 (aF1), - mBuf1 (aF1->Buf()), - mF2 (aF2), - mBuf2 (aF2->Buf()) + tImplemF (aF1->Context(),aName), + mF1 (aF1), + mDataF1 (aF1->DataBuf()), + mF2 (aF2), + mDataF2 (aF2->DataBuf()) { // It doesn't work to mix formula from different context if (mF1->Context()!=mF2->Context()) @@ -699,104 +776,141 @@ template class cBinaryF : public cImplemF class cSumF : public cBinaryF +template class cSumF : public cBinaryF { public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - typedef cBinaryF tBF; - - inline cSumF(tFormula aF1,tFormula aF2,const std::string & aName) : - tBF (aF1,aF2,aName) + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1+aV2;} + using cBinaryF::mF1; + using cBinaryF::mF2; + using cBinaryF::mDataF1; + using cBinaryF::mDataF2; + using cImplemF::mDataBuf; + + inline cSumF(cFormula aF1,cFormula aF2,const std::string & aName) : + cBinaryF (aF1,aF2,aName) { } private : std::string NameOperator() const override {return "+";} - void ComputeBuf() override {tImplemF::mBuf = tBF::mBuf1 + tBF::mBuf2;} - /// Formula (F+G)' = F' + G' - tFormula Derivate(int aK) const override {return tBF::mF1->Derivate(aK) + tBF::mF2->Derivate(aK);} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override {return mF1->Derivate(aK) + mF2->Derivate(aK);} }; -template class cMulF : public cBinaryF +template class cMulF : public cBinaryF { public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - typedef cBinaryF tBF; - - inline cMulF(tFormula aF1,tFormula aF2,const std::string & aName) : - tBF (aF1,aF2,aName) + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1*aV2;} + using cBinaryF::mF1; + using cBinaryF::mF2; + using cBinaryF::mDataF1; + using cBinaryF::mDataF2; + using cImplemF::mDataBuf; + + inline cMulF(cFormula aF1,cFormula aF2,const std::string & aName) : + cBinaryF (aF1,aF2,aName) { } private : std::string NameOperator() const override {return "*";} - void ComputeBuf() override {tImplemF::mBuf = tBF::mBuf1 * tBF::mBuf2;} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override { - return tBF::mF2 * tBF::mF1->Derivate(aK) + tBF::mF1 * tBF::mF2->Derivate(aK); + return mF2*mF1->Derivate(aK) + mF1*mF2->Derivate(aK); } }; -template class cSubF : public cBinaryF +template class cSubF : public cBinaryF { public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - typedef cBinaryF tBF; - - inline cSubF(tFormula aF1,tFormula aF2,const std::string & aName) : - tBF (aF1,aF2,aName) + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1-aV2;} + using cBinaryF::mF1; + using cBinaryF::mF2; + using cBinaryF::mDataF1; + using cBinaryF::mDataF2; + using cImplemF::mDataBuf; + + inline cSubF(cFormula aF1,cFormula aF2,const std::string & aName) : + cBinaryF (aF1,aF2,aName) { } private : std::string NameOperator() const override {return "-";} - void ComputeBuf() override {tImplemF::mBuf = tBF::mBuf1 - tBF::mBuf2;} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aKDerivate(aK) - tBF::mF2->Derivate(aK);} + cFormula Derivate(int aK) const override {return mF1->Derivate(aK) - mF2->Derivate(aK);} }; -template class cDivF : public cBinaryF +template class cDivF : public cBinaryF { public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - typedef cBinaryF tBF; - - inline cDivF(tFormula aF1,tFormula aF2,const std::string & aName) : - tBF (aF1,aF2,aName) + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1/aV2;} + using cBinaryF::mF1; + using cBinaryF::mF2; + using cBinaryF::mDataF1; + using cBinaryF::mDataF2; + using cImplemF::mDataBuf; + + inline cDivF(cFormula aF1,cFormula aF2,const std::string & aName) : + cBinaryF (aF1,aF2,aName) { } private : std::string NameOperator() const override {return "/";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override { - return (tBF::mF1->Derivate(aK)* tBF::mF2 - tBF::mF2->Derivate(aK) * tBF::mF1) / square(tBF::mF2); + return (mF1->Derivate(aK)*mF2 - mF2->Derivate(aK)*mF1)/square(mF2); } }; -template class cPowF : public cBinaryF +template class cPowF : public cBinaryF { public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - typedef cBinaryF tBF; - using tBF::mF1; - using tBF::mF2; - - inline cPowF(tFormula aF1,tFormula aF2,const std::string & aName) : - tBF (aF1,aF2,aName) + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return std::pow(aV1,aV2);} + using cBinaryF::mF1; + using cBinaryF::mF2; + using cBinaryF::mDataF1; + using cBinaryF::mDataF2; + using cImplemF::mDataBuf; + + inline cPowF(cFormula aF1,cFormula aF2,const std::string & aName) : + cBinaryF (aF1,aF2,aName) { } private : std::string NameOperator() const override {return "^";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override { return pow(mF1,mF2) * ( (mF1->Derivate(aK)/mF1)*mF2 + mF2->Derivate(aK)*log(mF1)) ; } @@ -811,6 +925,7 @@ template class cPowF : public cBinaryF class cGenOperatorBinaire { public : + typedef typename TypeCompiled::tElem tElem; typedef typename TypeCompiled::tContext tContext; typedef typename TypeCompiled::tImplemF tImplemF; typedef typename tImplemF::tFormula tFormula; @@ -824,6 +939,17 @@ template class cGenOperatorBinaire if (aPCont->ExistFunc(aNameForm)) return aPCont->FuncOfName(aNameForm); + // Maybe the two operand are constant ? Then we can reduce + { + const tElem * aC1 = aF1->ValCste(); + const tElem * aC2 = aF2->ValCste(); + if (aC1 && aC2) + { + tElem aC12= TypeCompiled::Operation(*aC1,*aC2); + std::cout << "ZZZZZZ " << *aC1 << " " << *aC2 << " " << aC12<< "\n"; + } + } + tFormula aResult (new TypeCompiled(aF1,aF2,aNameForm)); aPCont->AddFormula(aResult); return aResult; @@ -831,11 +957,11 @@ template class cGenOperatorBinaire }; -template -cFormula operator + +template +cFormula operator + ( - const cFormula & aF1, - const cFormula & aF2 + const cFormula & aF1, + const cFormula & aF2 ) { // Use the fact that 0 is neutral element to simplify @@ -846,28 +972,28 @@ cFormula operator + if (aF1->Name() > aF2->Name()) return aF2+aF1; - return cGenOperatorBinaire >::Generate(aF1,aF2,"+"); + return cGenOperatorBinaire >::Generate(aF1,aF2,"+"); } -template -cFormula operator - +template +cFormula operator - ( - const cFormula & aF1, - const cFormula & aF2 + const cFormula & aF1, + const cFormula & aF2 ) { // Use the fact that 0 is neutral element to simplify if (aF1->IsCste0()) return -aF2; if (aF2->IsCste0()) return aF1; - return cGenOperatorBinaire >::Generate(aF1,aF2,"-"); + return cGenOperatorBinaire >::Generate(aF1,aF2,"-"); } -template -cFormula operator * +template +cFormula operator * ( - const cFormula & aF1, - const cFormula & aF2 + const cFormula & aF1, + const cFormula & aF2 ) { // Use the fact that 1 is neutral element to simplify @@ -883,30 +1009,30 @@ cFormula operator * if (aF1->Name() > aF2->Name()) return aF2 * aF1; - return cGenOperatorBinaire >::Generate(aF1,aF2,"*"); + return cGenOperatorBinaire >::Generate(aF1,aF2,"*"); } -template -cFormula operator / +template +cFormula operator / ( - const cFormula & aF1, - const cFormula & aF2 + const cFormula & aF1, + const cFormula & aF2 ) { if (aF1->IsCste0()) return aF1; // 0/F2 -> 0 if (aF2->IsCste1()) return aF1; // F1/1 -> F1 - return cGenOperatorBinaire >::Generate(aF1,aF2,"/"); + return cGenOperatorBinaire >::Generate(aF1,aF2,"/"); } -template -cFormula pow +template +cFormula pow ( - const cFormula & aF1, - const cFormula & aF2 + const cFormula & aF1, + const cFormula & aF2 ) { - return cGenOperatorBinaire >::Generate(aF1,aF2,"^"); + return cGenOperatorBinaire >::Generate(aF1,aF2,"^"); } /* ----------------------------------------------------------*/ @@ -914,46 +1040,46 @@ cFormula pow /* ----------------------------------------------------------*/ // ++++++++++++++++++++++++ -template -inline cFormula operator +(const TypeElem & aV1,const cFormula & aF2) +template +inline cFormula operator +(const TypeElem & aV1,const cFormula & aF2) { return aF2->Context()->CsteOfVal(aV1) + aF2; } -template -inline cFormula operator +(const cFormula & aF1,const TypeElem & aV2) +template +inline cFormula operator +(const cFormula & aF1,const TypeElem & aV2) { return aV2+aF1; } // ************************ -template -inline cFormula operator *(const TypeElem & aV1,const cFormula & aF2) +template +inline cFormula operator *(const TypeElem & aV1,const cFormula & aF2) { return aF2->Context()->CsteOfVal(aV1) * aF2; } -template -inline cFormula operator *(const cFormula & aF1,const TypeElem & aV2) +template +inline cFormula operator *(const cFormula & aF1,const TypeElem & aV2) { return aV2*aF1; } // -------------------------- -template -inline cFormula operator -(const TypeElem & aV1,const cFormula & aF2) +template +inline cFormula operator -(const TypeElem & aV1,const cFormula & aF2) { return aF2->Context()->CsteOfVal(aV1) - aF2; } -template -inline cFormula operator -(const cFormula & aF1,const TypeElem & aV2) +template +inline cFormula operator -(const cFormula & aF1,const TypeElem & aV2) { return aF1-aF1->Context()->CsteOfVal(aV2) ; } // ///////////////////////// -template -inline cFormula operator /(const TypeElem & aV1,const cFormula & aF2) +template +inline cFormula operator /(const TypeElem & aV1,const cFormula & aF2) { return aF2->Context()->CsteOfVal(aV1) / aF2; } -template -inline cFormula operator /(const cFormula & aF1,const TypeElem & aV2) +template +inline cFormula operator /(const cFormula & aF1,const TypeElem & aV2) { return aF1/aF1->Context()->CsteOfVal(aV2) ; } @@ -972,7 +1098,7 @@ inline cFormula operator /(const cFormula /* cImplemF */ /* ---------------------- */ -template int cImplemF::RecursiveRec() const +template int cImplemF::RecursiveRec() const { int aRes = 1; for (const auto & aF : Ref()) @@ -982,12 +1108,23 @@ template int cImplemF::Re return aRes; } +template void cImplemF::CalcRecursiveDepth(std::vector & aVReached) +{ + if (mDepth != -1) return; // if we were already here , nothing to do + for (const auto & aF : Ref()) + { + aF->CalcRecursiveDepth(aVReached); // parse sub formula + mDepth = std::max(mDepth,aF->mDepth); // Memo max depth + } + mDepth++; // my depth is 1 + max of depth of my referenced formulas + aVReached.push_back(tFormula(this)); +} /* ---------------------- */ /* cContextF */ /* ---------------------- */ -template -std::vector cContextF::MakeAutomId(const std::string & aPrefix,int aNb) +template +std::vector cContextF::MakeAutomId(const std::string & aPrefix,int aNb) { std::vector aRes; for (int aK=0 ; aK cContextF::MakeAutomId(const std::st return aRes; } -template -cContextF::cContextF +template +cContextF::cContextF ( + int aSzBuf, const std::vector & aVNameUK, const std::vector & aVNameObs ) : + mSzBuf (aSzBuf), mNbCste (0), mNbUK (aVNameUK.size()), mNbObs (aVNameObs.size()), @@ -1008,12 +1147,15 @@ cContextF::cContextF mCste1 (CsteOfVal(1.0)), mCste2 (CsteOfVal(2.0)), mNbInBuf (0), - mCurFormSet (false) + mBufLineRes (mSzBuf), + mBufRes () + { + mBufRes.reserve(mSzBuf); // Generate all the function corresponding to unknown for (size_t aNumUK=0 ; aNumUK(this,aVNameUK[aNumUK],aNumUK)); // Create it + tFormula aFuncUK(new cUnknownF(this,aVNameUK[aNumUK],aNumUK)); // Create it mVFormUnknowns.push_back(aFuncUK); // Push it in vector of coordinat func AddFormula(aFuncUK); // Add to all func } @@ -1021,20 +1163,20 @@ cContextF::cContextF // Generate all the function corresponding to observations for (size_t aNumObs=0 ; aNumObs(this,aVNameObs[aNumObs],aNumObs)); // Create it + tFormula aFuncObs(new cObservationF(this,aVNameObs[aNumObs],aNumObs)); // Create it mVFormObservations.push_back(aFuncObs); // Push it in vector of coordinat func AddFormula(aFuncObs); // Add to all func } } -template -cContextF::cContextF(int aNbUK,int aNbObs) : - cContextF(MakeAutomId("X",aNbUK),MakeAutomId("V",aNbObs)) +template +cContextF::cContextF(int aSzBuf,int aNbUK,int aNbObs) : + cContextF(aSzBuf,MakeAutomId("X",aNbUK),MakeAutomId("V",aNbObs)) { } -template -cContextF::~cContextF() +template +cContextF::~cContextF() { for (auto & aForm : mVAllFormula) { @@ -1042,13 +1184,13 @@ cContextF::~cContextF() } } -template -cFormula cContextF::CsteOfVal(const TypeElem & aCste) +template +cFormula cContextF::CsteOfVal(const TypeElem & aCste) { tFormula & aRef = mDicoCste[aCste]; if (aRef.IsNull()) // If it was not existing, the map contain now the def element { - aRef=tFormula(new cConstantF(this,"C"+std::to_string(mNbCste),mNbCste,aCste)); + aRef=tFormula(new cConstantF(this,"C"+std::to_string(mNbCste),mNbCste,aCste)); mNbCste++; AddFormula(aRef); } @@ -1056,22 +1198,41 @@ cFormula cContextF::CsteOfVal(const TypeEl return aRef; } -template -cFormula cContextF::FuncOfName(const std::string & aName) const +template +cFormula cContextF::FuncOfName(const std::string & aName) const { const auto & anIt = mDicoFunc.find(aName); if (anIt == mDicoFunc.end()) InternalError ("Try to acces non existing name :[" + aName + "]"); return anIt->second; } -template -void cContextF::PushNewEvals +template +void cContextF::SetNewVals + ( + std::vector & aVF, + const std::string & aMes, + const std::vector & aVVals + ) +{ + if (aVF.size() != aVVals.size()) // Check size are coherents + { + UserSError("Bad size in " + aMes); + } + for (size_t aK=0 ; aKSetBuf(mNbInBuf,aVVals[aK]); + } +} + +template +void cContextF::PushNewEvals ( const std::vector & aVUK, const std::vector & aVObs ) { - if (mNbInBuf >= TheSzBuf) + + if (mNbInBuf >= mSzBuf) { UserSError("Push exceed buffer capacity"); } @@ -1080,35 +1241,109 @@ void cContextF::PushNewEvals mNbInBuf++; } -template -void cContextF::SetNewEvals - ( - std::vector & aVF, - const std::string & aMes, - const std::vector & aVVals - ) + +template +void cContextF::SetCurFormulasWithDerivative(const std::vector & aVF) { - if (aVF.size() != aVVals.size()) + std::vector aVWDer; + for (const auto & aF : aVF) + { + aVWDer.push_back(aF); + for (size_t aUK=0 ; aUKDerivate(aUK)); + } + } + SetCurFormulas(aVWDer); + mWithDer = true; + mSzInterval = 1+mNbUK; +} + +template +void cContextF::SetCurFormulas(const std::vector & aVF) +{ + mWithDer=false; + mSzInterval = 1; + mVCurF = aVF; + + // Erase previous + for (auto & aF : mVReachedF) + aF->SetDepth(-1); + mVReachedF.clear(); + + // Compute depth for topologicall sort + for (auto & aF : mVCurF) { - UserSError("Bad size in " + aMes); + aF->CalcRecursiveDepth(mVReachedF); + } + + // Use depth to have topological sort + std::sort + ( + mVReachedF.begin(), + mVReachedF.end(), + [](const tFormula & aF1,const tFormula &aF2) {return aF1->Depth() < aF2->Depth();} + ); + + + // Make Buf of Res to have right size + for (auto & aLine : mBufLineRes) + { + aLine.resize(mVCurF.size()); + } +} + +template +const std::vector *> & cContextF::EvalAndClear() +{ + // Make the real hard stuff, compute the data, the depedancy ordering should make it coherent + for (auto & aF : mVReachedF) + { + aF->ComputeBuf(0,mNbInBuf); } - for (size_t aK=0 ; aKBuf()[mNbInBuf] = aVVals[aK]; + std::vector & aLine = mBufLineRes[aKLine]; + mBufRes.push_back(&aLine); + for (size_t aKFunc=0 ; aKFunc< mVCurF.size() ; aKFunc++) + aLine[aKFunc] = mVCurF[aKFunc]->GetBuf(aKLine); } + + return mBufRes; } -template -void cContextF::ShowStackFunc() const +template +void cContextF::ShowStackFunc() const { for (const auto & aForm : mVAllFormula) { - std::cout << "Form[" << aForm->NumGlob() << "] => " << aForm->Name(); + if (aForm->Depth()==-1) + std::cout << "---" ; + else + std::cout << "-" << aForm->Depth() << "-"; + + std::cout << " Form[" << aForm->NumGlob() << "] => " << aForm->Name(); const TypeElem * aPV = aForm->ValCste(); if (aPV) std::cout << " ; Val=" << *aPV; std::cout << "\n"; } + + std::cout << "REACHED "; + for (const auto & aForm : mVReachedF) + { + std::cout << aForm->NumGlob() << " "; + } + std::cout << "\n"; + + std::cout << "CUR "; + for (const auto & aForm : mVCurF) + { + std::cout << aForm->NumGlob() << " "; + } + std::cout << "\n"; } }; // NS_MMVII_FormalDerivative @@ -1122,26 +1357,244 @@ void cContextF::ShowStackFunc() const /* *************************************************** */ namespace FD = NS_MMVII_FormalDerivative; +using FD::square; + +std::vector VRand(unsigned aSeed,int aNb) +{ + std::srand(aSeed); + std::vector aVRes; + for (int aK=0 ; aK +std::vector Residu + ( + const std::vector & aVUk, + const std::vector & aVObs + ) +{ + const Type & X0 = aVUk.at(0); + const Type & X1 = aVUk.at(1); + const Type & X2 = aVUk.at(2); + + const Type & V0 = aVObs.at(0); + const Type & V1 = aVObs.at(1); + + Type aF0 = 2.0 *X0 + X0*X1*X2 + pow(square(V0)+square(X0-X2),(X1*V1)/X2); + Type aF1 = log(square(X0+X1+X2+V0+V1)); + Type aF2 = -aF0 + aF1; + + return {aF0,aF1,aF2}; +} + + +void TestDyn() +{ + int aNbUk = 3; + int aNbObs = 2; + + FD::cContextF aCFD(100,aNbUk,aNbObs); + aCFD.SetCurFormulasWithDerivative(Residu(aCFD.VUk(),aCFD.VObs())); + + int aNbT = 2; + unsigned aSeedUk=333, aSeedObs=222; + for (int aKTest=0 ; aKTest aVUk = VRand(aKTest+aSeedUk ,aNbUk); + std::vector aVObs = VRand(aKTest+aSeedObs,aNbObs); + aCFD.PushNewEvals(aVUk,aVObs); + } + aCFD.EvalAndClear(); + + for (int aKTest=0 ; aKTest & aLineDyn = *(aVDyn[aKTest]); + std::vector aVUk = VRand(aKTest+aSeedUk ,aNbUk); + std::vector aVObs = VRand(aKTest+aSeedObs,aNbObs); + std::vector aVRes = Residu(aVUk,aVObs); + int aNbRes = aVRes.size(); + + for (int aKx=0 ; aKx aVUkP = aVUk; + std::vector aVUkM = aVUk; + aVUkP[aKx] += aEps; + aVUkM[aKx] -= aEps; + + std::vector aVResP = Residu(aVUkP,aVObs); + std::vector aVResM = Residu(aVUkM,aVObs); + for (int aKRes=0 ; aKRes tFormulaTest; +typedef FD::cFormula tFormulaTest; +// #include "include/MMVII_all.h" +// #include "include/MMVII_Derivatives.h" + + + + + +#define SzTEigen 90 +typedef float tTEigen; +typedef Eigen::Array tEigenSubArray; +typedef Eigen::Map tEigenWrap; void BenchFormalDer() { + // TestDyn(); + if (1) + { + Eigen::Array aAFix = Eigen::Array::Random(); + // Eigen::Array aADyn(1,SzTEigen); + // Eigen::Array aADyn(SzTEigen); + Eigen::Array aADyn(SzTEigen); + Eigen::Array aADyn1(1,1); + Eigen::Array aADyn2(1,SzTEigen); + + + for (int aX=0 ; aX aBloc + // = aADyn.topLeftCorner(1,SzTEigen); + // = aADyn.block(0,0,1,SzTEigen); + = aADyn.head(SzTEigen-1); + aBloc = aBloc + aBloc -10; + aBloc = (aBloc + 10)/2; + if (aK==0) + { + std::cout << "AAAAADr " << &(aBloc(0,0)) - &(aADyn(0,0)) << "\n"; + std::cout << "AAAAADr " << aBloc(0,0) << " " << aADyn(0,0) << "\n"; + } + } + double aT4 = cMMVII_Appli::CurrentAppli().SecFromT0(); + + for (int aK=0 ; aK aCFD(3,5); + int aNbUk = 3; + int aNbObs = 5; + FD::cContextF aCFD(100,aNbUk,aNbObs); + + std::vector aVUk(aNbUk,0.0); + std::vector aVObs(aNbObs,0.0); + aCFD.PushNewEvals(aVUk,aVObs); + aCFD.EvalAndClear(); - tFormulaTest X0 = aCFD.VUK().at(0); + tFormulaTest X0 = aCFD.VUk().at(0); if (0) { - FD::cContextF aCFD2(3,5); - tFormulaTest B0 = aCFD2.VUK().at(0); + FD::cContextF aCFD2(100,3,5); + tFormulaTest B0 = aCFD2.VUk().at(0); X0 + B0; } - tFormulaTest X1 = aCFD.VUK().at(1); - tFormulaTest X2 = aCFD.VUK().at(2); + tFormulaTest X1 = aCFD.VUk().at(1); + tFormulaTest X2 = aCFD.VUk().at(2); tFormulaTest aF0 = X0 ; for (int aK=0 ; aK<5 ; aK++) @@ -1165,7 +1618,10 @@ void BenchFormalDer() std::cout << "F=" << aF->InfixPPrint() << "\n"; std::cout << "Fd=" << aFd0->InfixPPrint() << "\n"; - aF->ComputeBuf(); + // aF->ComputeBuf(); + std::vector aVF{aF0,aF0}; + aCFD.SetCurFormulas(aVF); + aCFD.SetCurFormulasWithDerivative(aVF); aCFD.ShowStackFunc(); /* @@ -1198,7 +1654,6 @@ void BenchFormalDer() } */ - // cFormula aPtr(nullptr); // aPtr->IsCste0(); @@ -1207,10 +1662,22 @@ void BenchFormalDer() } // new cContextF (3,5); + + int i=10; std::string aStr = "i="+ std::to_string(i); std::cout << "BenchFormalDerBenchFormalDerBenchFormalDer " << aStr << "\n"; + Eigen::MatrixXf m(10,20); + Eigen::MatrixXf aM2 = m.topLeftCorner(8,15); + + + Eigen::Array a; + + std::cout << "MMMM R:" << m.rows() << " C:" << m.cols() << "\n"; + std::cout << "MMMM R:" << aM2.rows() << " C:" << aM2.cols() << "\n"; + std::cout << "MMMM A:" << a.rows() << " C:" << a.cols() << "\n"; + getchar(); } From 465c656c6902b773fa778b27458f6133f9187f4a Mon Sep 17 00:00:00 2001 From: deseilligny Date: Thu, 27 Feb 2020 11:24:15 +0100 Subject: [PATCH 34/49] Dand auto derivative --- .../TestLibsExtern/TestDynCompDerivatives.cpp | 1452 ++--------------- 1 file changed, 160 insertions(+), 1292 deletions(-) diff --git a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp index 6fcef097e9..f70c4e7f24 100644 --- a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp +++ b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp @@ -1,1352 +1,218 @@ -#ifndef _MMVII_DynAndStatFormalDerivation_H_ -#define _MMVII_DynAndStatFormalDerivation_H_ - - +#include "include/MMVII_FormalDerivatives.h" /** \file TestDynCompDerivatives.cpp - \brief Proto of generated code - -Prototype of generated code, do not know how it will evolve + \brief Illustration and test of formal derivative -http://en.wikipedia.org/wiki/Automatic_differentiation -https://git.irc.umbc.edu/photorig/openMVG/blob/260584fda68dce095e279362efd24a2d7d7cf5d9/src/third_party/ceres-solver/include/ceres/jet.h - -https://mc-stan.org/ -http://www.met.reading.ac.uk/clouds/adept/array_features.html -http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.89.7749&rep=rep1&type=pdf -http://www.autodiff.org/ + {I} A detailled example of use, and test of correctness => for the final user */ -#define WITH_MMVII true - -#if (WITH_MMVII) //========================================================= -#include "include/MMVII_all.h" -#include "include/MMVII_Derivatives.h" -using namespace MMVII; -#else //========================================================== -class cMemCheck -{ -}; -#include "ExternalInclude/Eigen/Dense" -#include -#include -#include - -#endif // WITH_MMVI ========================================================== - - -namespace NS_MMVII_FormalDerivative -{ - -/// This function is required if we want to have same operation on numbers double and formulas -double square(const double & aV) {return aV*aV;} -// static double square(const float & aV) {return aV*aV;} -void Error(const std::string & aMes,const std::string & aExplanation) -{ - std::cout << "In MMVII_FormalDerivative a fatal error" << "\n"; - std::cout << " Likely Source ["<< aExplanation << "\n"; - std::cout << " Message ["<< aMes << "]\n"; - assert(false); -} +/* The library is in the namespace NS_MMVII_FormalDerivative, we want to +use it conveniently without the "using" directive, so create an alias FD */ -void InternalError(const std::string & aMes) -{ - Error(aMes,"Internal Error of the Library"); -} -void UserSError(const std::string & aMes) -{ - Error(aMes,"Probable error on user's side due to unapropriate usage of the library"); -} - - -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * Main user interace * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ - - // ------------- The two classes visible by user are cFormula and cContextF ------ - -/** Abstraction of mathemicall formula, this the object manipulated by user, its -has all algerbric operation required. This object is just an encapsulation of -a pointer on cImplemF. -*/ -template class cFormula ; - -/** Class for managing the "context", i.e. coordinating all the formula - and their derivative corresponding to a single use . -*/ -template class cContextF; - - - - - // -------- Declaration all binary operators ---------------- - - // For each operator with have the 3 versions "Formula x Formula" , - // "Number x Formula" and "Formula x Number" - - // Operator + -template cFormula - operator +(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator +(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator +(const cFormula & aF1,const TypeElem & aV2); - // Operator * -template cFormula - operator *(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator *(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator *(const cFormula & aF1,const TypeElem & aV2); - // Operator - -template cFormula - operator -(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator -(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator -(const cFormula & aF1,const TypeElem & aV2); - // Operator / -template cFormula - operator /(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator /(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator /(const cFormula & aF1,const TypeElem & aV2); - // pow -template cFormula - pow (const cFormula & aF1 ,const cFormula & aF2); -template cFormula - pow (const TypeElem & aV1,const cFormula & aF2); -template cFormula - pow (const cFormula & aF1,const TypeElem & aV2); - - - // -------- Declare all unary operators ---------------- -template cFormula - square(const cFormula & aF); -template cFormula - exp(const cFormula & aF); -template cFormula - operator - (const cFormula & aF); -template cFormula - log(const cFormula & aF); - - // -------- Declaration of Context class ---------------- - -template class cContextF : public cMemCheck -{ - public : - - typedef cFormula tFormula; - typedef std::vector tOneRes; - - // --------------------------- Constructors / Destructor ------------------- - /// Constructor with explicit Id for Unknown/Observation. Used if we want to analyze the generated code - inline cContextF(int SzBuf,const std::vector & aVecUK,const std::vector & aVecObs); - /// Constructor with basic Id (used if we dont generate code, or dont want to analyse it by human) - inline cContextF(int SzBuf,int aNbUnknown,int aNbObservation); - /// Destructeur will free allocated formulas - ~cContextF(); - /// Copies are not allowed on this kind of object. - cContextF(const cContextF &) = delete; - - // --------------------------- Accessors to Atomic Formulas ------------------- - const std::vector >& VUk() const {return mVFormUnknowns;} ///< Unknowns - const std::vector >& VObs() const {return mVFormObservations;} ///< Observations - - // --------------------------- Manipulation ------------------- - - /// Set the formulas that with be used for computation - void SetCurFormulas(const std::vector &); - - /** SetCurFormulas + all its derivative , order of storage will be - VF0 dVF0/dX0 dVF0/dX1 .... VF1 dVF1/dX0 ... */ - void SetCurFormulasWithDerivative(const std::vector & aVF); - - /// Add a new set of vals (unknown + Obs) inside de evaluation "queue" - void PushNewEvals(const std::vector & aVUK,const std::vector & aVObs); - - bool BufIsFull() const {return mNbInBuf == mSzBuf;} ///< Can we push more value ? - size_t SzBuf() const {return mSzBuf;} ///< Number of value we can add - - /** Make the evaluation of current functions on pushe valuse . Let V be the result - (*V[0]) is the vector of containing current formula for first SetCur - !! => Warn the same memory space is recycled ... - */ - const std::vector & EvalAndClear(); - /// Retur value computed taking into account order of storage - const TypeElem & ValComp(int aNumPush,int aKElem) - { - return mBufRes.at(aNumPush)->at(mSzInterval*aKElem); - } - /// Retur value of derivate computed taking into account order of storage - const TypeElem & DerComp(int aNumPush,int aKElem,int aKVarDer) - { - if (! mWithDer) UserSError("Acces to derivate wich were not computed"); - return mBufRes.at(aNumPush)->at(mSzInterval*aKElem +1 + aKVarDer); - } - - - private : // END-USER - /* ================================================================================= - ABOVE WAS THE REAL PUBLIC PART OF cContextF FOR USER OF LIBRARY. THE REST - IS PUBLIC FOR IMPLEMENTERS BUT NOT NEEDED BY USER - =====================================================================================*/ - public : +namespace FD = NS_MMVII_FormalDerivative; - // Result of several evaluation are stored in a buffer, Eigen vector are used - // as they implement efficiently arithmeticall operation - // typedef Eigen::Array tBuf; - typedef std::vector tBuf; +/* {I} ======================== EXAMPLE OF USE : Ratkoswky ========================================== - // --------------------------- Acces to function from names, values ------------------- - /// Indicate if the formula corresponding to a given string allreay exist - inline bool ExistFunc(const std::string & aName) const - { - return (mDicoFunc.find(aName) != mDicoFunc.end()); - } - /// Func of given name, Error if don't exist - inline tFormula FuncOfName(const std::string & aName) const ; - /// Add a function (put it in dico), Error if already exist - inline void AddFormula(tFormula aPF) - { - if (ExistFunc(aPF->Name())) InternalError ("Multiple add of identic name :[" + aPF->Name() + "]"); - mDicoFunc[aPF->Name()] = aPF; - mVAllFormula.push_back(aPF); - } + In this first basic example, we take the same model than Ceres jet, the ratkoswky + function. - /// Func of given constant, create if don't exist - inline tFormula CsteOfVal(const TypeElem & aCste) ; - tFormula Cste0() const {return mCste0;} ///< Acces to a current constant - tFormula Cste1() const {return mCste1;} ///< Another Acces to a current constant - tFormula Cste2() const {return mCste2;} ///< Yet another Acces to a current constant - /// Tuning --- Print the stack of function as a tree - inline void ShowStackFunc() const; - - - size_t NbCurFonc() const {return mVAllFormula.size();} - private : - - /// Called by PushNewEvals to Set Unknown/Observations - void SetNewVals(std::vector & aVF,const std::string & aMes,const std::vector & aVVals); - - /// Used to generate automatically Id for Unknown/Observatio, when we dont need to control them explicitely - static std::vector MakeAutomId(const std::string & aPrefix,int aNb); - - size_t mSzBuf; ///< Capacity of bufferirsation - size_t mNbCste; ///< Number Cste - size_t mNbUK; ///< Dim=number of unkown - size_t mNbObs; ///< Number of obserbation variable - std::vector mVFormUnknowns; ///< Vector of All Unknowns - std::vector mVFormObservations; ///< Vector of All Observations - std::map mDicoFunc; ///< Map Name => Func - std::vector mVAllFormula; ///< Vector of All Func, allow to parse them in creation order - std::map mDicoCste; ///< Map Value => Func Constant - tFormula mCste0; ///< Fonc constant null - tFormula mCste1; ///< Fonc constant 1 - tFormula mCste2; ///< Fonc constant 1 - size_t mNbInBuf; ///< Number of Unknown/Obs vect currenlty loaded in buf - bool mWithDer; ///< Done With Derivate - int mSzInterval; ///< Size between two val, depends if computation done with deriv - std::vector mVCurF; ///< Current evaluted formulas - std::vector mVReachedF; ///< Formula "reachable" i.e. necessary to comput mVCurF - std::vector mBufLineRes; ///< Reserve memory for each line - std::vector mBufRes; ///< Reserve memory for result itself + We want to fit a curve y= F(x) with the parametric model [Ratko] , where b1,..,b4 are the unknown and + x,y the observations : -}; + y = b1 / (1+exp(b2-b3*x)) ^ 1/b4 [Ratko] + + we have a set of value (x1,y1), (x2,y2) ..., an initial guess of the parameter b(i) and want + to compute optimal value. Typically we want to use non linear least-square for that, and + need to compute differential of equation [Ratko] . The MMVII_FormalDerivative + offers service for fast differentiation. The weighted least-square is another story that we dont study here. -/* ************************************************** - * * - * Pre-Declaration of all classes * - * Not required by compilation * - * (Except for cImplemF )but I like to have * - * a quick view of all existing classes * - * * - * **************************************************/ - -/** "Mother" Interface class of all classes implementing the service , - abstract class with pure virtual method */ -template class cImplemF ; - - // --------------- "Atomic" function : Unknown, constant, observation----------------- -template class cAtomicF ; ///< Mother Class of all atomic formulas - /// "Observations" corresponding to user constant (change for each evaluation) -template class cObservationF ; - /// "Constant" function -template class cConstantF ; - /// "Unknown" for representing coordinates function X0,X1,X2 .... -template class cUnknownF; - - // ----------------------------- Unary operator ------------------------------------ -template class cUnaryF ; ///< Mother Class of all unary operator -template class cSquareF ; ///< Class for square operator -template class cExpF ; ///< Class for exponential operator -template class cMin1F ; ///< Class for Unary Minus -template class cLogF ; ///< Class for neperien log - - // -------------------------------- Binary operator ------------------------------------- -template class cBinaryF ; ///< Mother class of binary operators -template class cSumF ; ///< Class for sum of 2 functions -template class cMulF ; ///< Class for multiplication of 2 functions -template class cSubF ; ///< Class for substraction of 2 functions -template class cDivF ; ///< Class for division of 2 functions -template class cPowF ; ///< Class for division of 2 functions - - -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * Definition of all classes * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ - - // ------------------- 2 "Main" Classes ------------------------- - // cFormula / cImplemF - // ---------------------------------------------------------------- - -template class cImplemF : public cMemCheck -{ - public : - // See eigen documentation, this macro is mandatory for alignment reason - EIGEN_MAKE_ALIGNED_OPERATOR_NEW - - typedef TypeElem tElem; - typedef cContextF tContext; - typedef typename tContext::tBuf tBuf; - typedef typename tContext::tFormula tFormula; - - //----------- For derivation and reduction-------------- - virtual bool IsCste0() const {return false;} ///< To redefine in constant func, Used for simplification in "/ * + -" - virtual bool IsCste1() const {return false;} ///< To redefine in constant func, Used for simplification in "/ *" - virtual tFormula Derivate(int aK) const = 0; ///< Compute the formula of it's derivative to Kth unknown - - // -------------- For Computation ------------------------- - /// Method that wil compute data inside mBuf - virtual void ComputeBuf(int aK0,int aK1) =0; - - /// Return "Sub"-formula referenced - virtual std::vector Ref() const =0; - - // ---------- Accessors --------------- - const std::string & Name() const {return mName;} ///< Standard accessor - tContext * Context() const {return mContext;} ///< Standard accesor - int NumGlob() const {return mNumGlob;} ///< Standard accessor - // ---------- Acces to Buf data --------------- - void SetBuf(size_t anIndex,const TypeElem & aVal) {mBuf.at(anIndex) = aVal;} - const TypeElem & GetBuf(size_t anIndex) {return mBuf.at(anIndex);} - TypeElem * DataBuf() {return mDataBuf;} - // ---------- Reached Flag --------------- - bool Reached() const {return mReached;} ///< Standard accessor - void SetReached(bool IsReached) {mReached = IsReached;} ///< Fix Reached - /// Compute in the reference graphe and put formal explored in VReached - void CalcRecursiveDepth(std::vector & VReached) ; - int Depth() const {return mDepth;} ///< Standard accessor - void SetDepth(bool aDepth) {mDepth = aDepth;} ///< Fix Reached - - - // ---------- Tuning / Debugging / Analysing --------------- - /// Used to print constant from generic formula - virtual const TypeElem * ValCste() const {return nullptr;} - /// Infixed "Pretty" Print . For tuning and checking (i.e correction of reduction, derivative, rewrite ...) - virtual std::string InfixPPrint() const =0; - /// Number of reference that would occur without reduction on identic formula (to test performance in paper) - int RecursiveRec() const; - - // -------------------- Destructor / Constructor -------------------------- - virtual ~cImplemF () {} ///< Add a virtual ~X() when we have virtual methods, who knows ... - protected : - inline cImplemF (tContext * aContext,const std::string & aName) : - mContext (aContext), - mBuf (mContext->SzBuf(),TypeElem(0.0)), - mDataBuf (mBuf.data()), - mName (aName), - mNumGlob (mContext->NbCurFonc()), - mReached (false), - mDepth (-1) - { - } - - tContext * mContext; ///< Context that manage all the funcion cooperating - tBuf mBuf; ///< Buf to store values - TypeElem * mDataBuf; ///< Raw pointer - const std::string mName; ///< string represention of the formula as for ex : C2, X1, V0 , square F3, F18/F3 ... - int mNumGlob; ///< Global number (!= Num in class) - bool mReached; ///< Flag to know if a formula is usefull for compute current - int mDepth; ///< Used for topological sort - private : - - cImplemF (const cImplemF &) = delete; ///< No Copy -}; - -template class cFormula -{ - public : - typedef cContextF tContext; - typedef cImplemF tImplemF; - typedef typename tContext::tFormula tFormula; - - // -------------------- constructor ------------------- - /// Construct from a pointer, standard - cFormula (tImplemF * aRawPtr) : - mPtr (aRawPtr) - { - } - /// Default constructor, required by some code (vector ?) - cFormula (): - cFormula (nullptr) - { - } - // --------------- operator on pointer --------------------- - - // UNUSED 4 NOW tImplemF & operator*() const {return *mPtr;} ///< Standard behaviour of a pointer - tImplemF * operator->() const {return mPtr;} ///< Standard behaviour of a pointer - // DO NOT WORK const std::unique_ptr operator->() const {return std::unique_ptr;} - bool IsNull() const {return mPtr==nullptr;} ///< Safer than giving acces to raw pointer - - // --------------- Naming --------------------- - - /// Generate the unique indentifier of a binary expression - std::string NameFormulaBin(const std::string & aNameOper,const tFormula & aF2) const - { - return "F"+ std::to_string((*this)->NumGlob()) + aNameOper + "F" + std::to_string(aF2->NumGlob()); - } - - /// Generate the unique indentifier of a unary expression - std::string NameFormulaUn(const std::string & aNameOper) const - { - return aNameOper + " F" + std::to_string((*this)->NumGlob()); - } - /// To allow destruction without giving access to raw pointer - void FreeMem() {delete mPtr; mPtr=nullptr;} - - private : - tImplemF* mPtr; ///< Faster than shared and deallocation is easy as object controlled by context -}; - -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * ATOMIC FORMULA * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ - - /* ---------------------------------------------------------- - Class for atomic formula - MOTHER CLASS : cAtomicF - DERIVED : cUnknownF / cObservationF / cConstantF - ----------------------------------------------------------------*/ - -template class cAtomicF : public cImplemF -{ - public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tContext tContext; - typedef typename tContext::tFormula tFormula; - - /// Should work always - std::string InfixPPrint() const override {return tImplemF::Name();} - /// Rule deriv=0 , work by default (constant and observations) - tFormula Derivate(int aK) const override {return tImplemF::mContext->Cste0();} - - /// Generally nothing to do in atomic, their buffer has been filled witj adequate values - void ComputeBuf(int aK0,int aK1) override { } - std::vector Ref() const override{return std::vector();} - protected : - inline cAtomicF(tContext * aContext,const std::string& aName) : - tImplemF (aContext,aName) - { } -}; - -template class cUnknownF : public cAtomicF -{ - public : - typedef cAtomicF tAtom; - typedef typename tAtom::tImplemF tImplemF; - typedef typename tImplemF::tContext tContext; - typedef typename tContext::tFormula tFormula; - - std::string InfixPPrint() const override {return tImplemF::Name();} - /// rule : dXi/dXj = delta(i,j) - tFormula Derivate(int aK) const override - { - return (aK==mNumUnk) ? tImplemF::mContext->Cste1() : tImplemF::mContext->Cste0(); - } - - friend tContext; - private : - inline cUnknownF(tContext * aContext,const std::string& aName,int aNum) : - tAtom (aContext,aName), - mNumUnk (aNum) - { } - - int mNumUnk; ///< Number of the Unknown; like : 0 for X0, 1 for X1 ... -}; - -template class cObservationF : public cAtomicF -{ - public : - typedef cAtomicF tAtom; - typedef typename tAtom::tImplemF tImplemF; - typedef typename tImplemF::tContext tContext; - typedef typename tContext::tFormula tFormula; - friend tContext; - - private : - inline cObservationF(tContext * aContext,const std::string & aName,int aNum) : - tAtom (aContext,aName), - mNum (aNum) - { } - int mNum; ///< Number of the Observation; like : 0 for V0, 1 for V1 ... -}; - -template class cConstantF : public cAtomicF -{ - public : - typedef cAtomicF tAtom; - typedef typename tAtom::tImplemF tImplemF; - typedef typename tImplemF::tContext tContext; - typedef typename tContext::tFormula tFormula; - typedef typename tContext::tBuf tBuf; - friend tContext; - - bool IsCste0() const override {return mVal==0.0;} ///< Here we know if we are constant 0 - bool IsCste1() const override {return mVal==1.0;} ///< Here we know if we are constant 1 - const TypeElem * ValCste() const override {return &mVal;} - - protected : - inline cConstantF(tContext * aContext,const std::string & aName,int aNum,const TypeElem& aVal) : - tAtom (aContext,aName), - mNum (aNum), - mVal (aVal) - { - for (auto & aV : tImplemF::mBuf) aV = aVal; // Initialize buf with const val - } - int mNum; - const TypeElem mVal; -}; - - -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * UNARY FORMULA * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ - - - /* ---------------------------------------------------------- - Class implementing unary operation on formula - MOTHER CLASS : cUnaryF - DERIVED : cSquareF / cExpF / cMin1F / cLogF - ----------------------------------------------------------------*/ - -template class cUnaryF : public cImplemF -{ - public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tContext tContext; - typedef typename tImplemF::tFormula tFormula; - typedef typename tImplemF::tBuf tBuf; - - virtual std::string NameOperator() const = 0; - std::string InfixPPrint() const override - { - return NameOperator() + " "+ mF->InfixPPrint() ; - } - protected : - std::vector Ref() const override{return std::vector{mF};} - inline cUnaryF(tFormula aF,const std::string & aName) : - tImplemF (aF->Context(),aName), - mF (aF), - mDataF (mF->DataBuf()) - { } - tFormula mF; ///< The formula argument of unary operator - const TypeElem* mDataF; ///< Fast access to data of buf -}; - - -/* Probably not more efficient than implementing Square as F*F, because derivation would give - F'F + F'F BUT would be reorder as F'F + F'F and unified ... - By the way it was a test, if necessary replace Square by F*F */ -template class cSquareF : public cUnaryF -{ - public : - using cUnaryF::mF; - using cUnaryF::mDataF; - using cImplemF::mDataBuf; - - cSquareF (cFormula aF,const std::string & aName) : - cUnaryF (aF,aName) - { } - private : - std::string NameOperator() const override {return "square";} - void ComputeBuf(int aK0,int aK1) override - { - for (int aK=aK0 ; aK Derivate(int aK) const override - { - return 2.0 * mF->Derivate(aK) * mF; - } -}; - - -template class cExpF : public cUnaryF -{ - public : - using cUnaryF::mF; - using cUnaryF::mDataF; - using cImplemF::mDataBuf; - - cExpF (cFormula aF,const std::string & aName) : - cUnaryF (aF,aName) - { } - private : - std::string NameOperator() const override {return "exp";} - void ComputeBuf(int aK0,int aK1) override - { - for (int aK=aK0 ; aK Derivate(int aK) const override - { - return mF->Derivate(aK) * exp(mF); - } -}; - -template class cMin1F : public cUnaryF -{ - public : - using cUnaryF::mF; - using cUnaryF::mDataF; - using cImplemF::mDataBuf; - - cMin1F (cFormula aF,const std::string & aName) : - cUnaryF (aF,aName) - { } - private : - std::string NameOperator() const override {return "-";} - void ComputeBuf(int aK0,int aK1) override - { - for (int aK=aK0 ; aK Derivate(int aK) const override - { - return - mF->Derivate(aK) ; - } -}; - -template class cLogF : public cUnaryF -{ - public : - using cUnaryF::mF; - using cUnaryF::mDataF; - using cImplemF::mDataBuf; - - cLogF (cFormula aF,const std::string & aName) : - cUnaryF (aF,aName) - { } - private : - std::string NameOperator() const override {return "log";} - void ComputeBuf(int aK0,int aK1) override - { - for (int aK=aK0 ; aK Derivate(int aK) const override - { - return mF->Derivate(aK) / mF ; - } -}; - +/** RatkoswkyResidual : residual of the Ratkoswky equation as a function of unknowns and observation. - /* ---------------------------------------*/ - /* Global Functio on unary op */ - /* ---------------------------------------*/ + We return a vector because this is the general case to have a N-dimentional return value + (i.e. multiple residual like in photogrametic colinear equation). -/** A Helper class to avoid code duplication on the process : - * compute name - * test existence - * eventualy create - Template parameter is the class created + This template function can work on numerical type, formula, jets .... */ -template class cGenOperatorUnaire +template +std::vector RatkoswkyResidual + ( + const std::vector & aVUk, + const std::vector & aVObs + ) { - public : - typedef typename TypeCompiled::tContext tContext; - typedef typename TypeCompiled::tImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - - static tFormula Generate(tFormula aF,const std::string & aNameOp) - { - tContext* aPCont = aF->Context(); // Get the context from the formula - std::string aNameForm = aF.NameFormulaUn(aNameOp); // Compute the name formula should have + const Type & b1 = aVUk[0]; + const Type & b2 = aVUk[1]; + const Type & b3 = aVUk[2]; + const Type & b4 = aVUk[3]; - if (aPCont->ExistFunc(aNameForm)) // If it already exist - return aPCont->FuncOfName(aNameForm); // Then return formula whih this name + const Type & x = aVObs[1]; // Warn the data I got were in order y,x .. + const Type & y = aVObs[0]; - tFormula aResult (new TypeCompiled(aF,aNameForm)); // else create it - aPCont->AddFormula(aResult); // indicate to the context to remember this new formula - return aResult; // return it - } -}; - -template -inline cFormula square(const cFormula & aF) -{ - return cGenOperatorUnaire >::Generate(aF,"square"); + // Model : y = b1 / (1+exp(b2-b3*x)) ^ 1/b4 + Error() [Ratko] + return { b1 / pow(1.0+exp(b2-b3*x),1.0/b4) - y } ; } -template -inline cFormula exp(const cFormula & aF) -{ - return cGenOperatorUnaire >::Generate(aF,"exp"); -} -template -inline cFormula operator - (const cFormula & aF) -{ - return cGenOperatorUnaire >::Generate(aF,"-"); -} -template -inline cFormula log (const cFormula & aF) -{ - return cGenOperatorUnaire >::Generate(aF,"log"); -} - -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * BINARY FORMULA * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ - - /* ---------------------------------------------------------- - Class implementing unary operation on formula - MOTHER CLASS : cBinaryF - DERIVED : cSumF / cMulF / cSubF / cDivF / cPowF - ----------------------------------------------------------------*/ -template class cBinaryF : public cImplemF +/** For test Declare a literal vector of pair Y,X corresponding to observations + (not elagant but to avoid parse file in this tutorial) +*/ +typedef std::vector> tVRatkoswkyData; +static tVRatkoswkyData TheVRatkoswkyData { - public : - typedef cImplemF tImplemF; - typedef typename tImplemF::tContext tContext; - typedef typename tImplemF::tFormula tFormula; - typedef typename tImplemF::tBuf tBuf; - - /// An operator must describe its name - virtual std::string NameOperator() const = 0; - /// We can compute print of binary formula using operator name - std::string InfixPPrint() const override - { - return "("+ NameOperator() + " "+ mF1->InfixPPrint() + " " + mF2->InfixPPrint() + ")"; - } - protected : - std::vector Ref() const override{return std::vector{mF1,mF2};} - inline cBinaryF(tFormula aF1,tFormula aF2,const std::string & aName): - tImplemF (aF1->Context(),aName), - mF1 (aF1), - mDataF1 (aF1->DataBuf()), - mF2 (aF2), - mDataF2 (aF2->DataBuf()) - { - // It doesn't work to mix formula from different context - if (mF1->Context()!=mF2->Context()) - UserSError("Mix formula from different context"); - } - - tFormula mF1; ///< First argument of operator - const TypeElem *mDataF1; ///< Fast access to data of buf F1 - tFormula mF2; ///< Second argument of operator - const TypeElem *mDataF2; ///< Fast access to data of buf F2 + {16.08E0,1.0E0}, {33.83E0,2.0E0}, {65.80E0,3.0E0}, {97.20E0,4.0E0}, {191.55E0,5.0E0}, + {326.20E0,6.0E0}, {386.87E0,7.0E0}, {520.53E0,8.0E0}, {590.03E0,9.0E0}, {651.92E0,10.0E0}, + {724.93E0,11.0E0}, {699.56E0,12.0E0}, {689.96E0,13.0E0}, {637.56E0,14.0E0}, {717.41E0,15.0E0} }; -template class cSumF : public cBinaryF -{ - public : - /// Required by constant reduction in cGenOperatorBinaire - static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1+aV2;} - using cBinaryF::mF1; - using cBinaryF::mF2; - using cBinaryF::mDataF1; - using cBinaryF::mDataF2; - using cImplemF::mDataBuf; - - inline cSumF(cFormula aF1,cFormula aF2,const std::string & aName) : - cBinaryF (aF1,aF2,aName) - { } - private : - std::string NameOperator() const override {return "+";} - void ComputeBuf(int aK0,int aK1) override - { - for (int aK=aK0 ; aK Derivate(int aK) const override {return mF1->Derivate(aK) + mF2->Derivate(aK);} -}; +/** Use RatkoswkyResidual on Formulas to computes its derivatives +*/ -template class cMulF : public cBinaryF +void TestRatkoswky(const tVRatkoswkyData & aVData,const std::vector & aInitialGuess) { - public : - /// Required by constant reduction in cGenOperatorBinaire - static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1*aV2;} - using cBinaryF::mF1; - using cBinaryF::mF2; - using cBinaryF::mDataF1; - using cBinaryF::mDataF2; - using cImplemF::mDataBuf; - - inline cMulF(cFormula aF1,cFormula aF2,const std::string & aName) : - cBinaryF (aF1,aF2,aName) - { } - private : - std::string NameOperator() const override {return "*";} - void ComputeBuf(int aK0,int aK1) override - { - for (int aK=aK0 ; aK Derivate(int aK) const override - { - return mF2*mF1->Derivate(aK) + mF1*mF2->Derivate(aK); - } -}; + size_t aNbUk = 4; + size_t aNbObs = 2; + assert(aInitialGuess.size()==aNbUk); // consitency test -template class cSubF : public cBinaryF -{ - public : - /// Required by constant reduction in cGenOperatorBinaire - static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1-aV2;} - using cBinaryF::mF1; - using cBinaryF::mF2; - using cBinaryF::mDataF1; - using cBinaryF::mDataF2; - using cImplemF::mDataBuf; - - inline cSubF(cFormula aF1,cFormula aF2,const std::string & aName) : - cBinaryF (aF1,aF2,aName) - { } - private : - std::string NameOperator() const override {return "-";} - void ComputeBuf(int aK0,int aK1) override - { - for (int aK=aK0 ; aK Derivate(int aK) const override {return mF1->Derivate(aK) - mF2->Derivate(aK);} -}; + //-[1] ========= Create/Init the coordinator ================= + //- This part [1] would be executed only one time + // Create a coordinator/context where values are stored on double and : + // 4 unknown (b1-b4), 2 observations, a buffer of size 100 + FD::cCoordinatorF aCFD(100,aNbUk,aNbObs); -template class cDivF : public cBinaryF -{ - public : - /// Required by constant reduction in cGenOperatorBinaire - static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1/aV2;} - using cBinaryF::mF1; - using cBinaryF::mF2; - using cBinaryF::mDataF1; - using cBinaryF::mDataF2; - using cImplemF::mDataBuf; - - inline cDivF(cFormula aF1,cFormula aF2,const std::string & aName) : - cBinaryF (aF1,aF2,aName) - { } - private : - std::string NameOperator() const override {return "/";} - void ComputeBuf(int aK0,int aK1) override - { - for (int aK=aK0 ; aK Derivate(int aK) const override - { - return (mF1->Derivate(aK)*mF2 - mF2->Derivate(aK)*mF1)/square(mF2); - } -}; + // Create formulas of residuals, VUk and VObs are vector of formulas for unkown and observation + auto aFormulaRes = RatkoswkyResidual(aCFD.VUk(),aCFD.VObs()); -template class cPowF : public cBinaryF -{ - public : - /// Required by constant reduction in cGenOperatorBinaire - static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return std::pow(aV1,aV2);} - using cBinaryF::mF1; - using cBinaryF::mF2; - using cBinaryF::mDataF1; - using cBinaryF::mDataF2; - using cImplemF::mDataBuf; - - inline cPowF(cFormula aF1,cFormula aF2,const std::string & aName) : - cBinaryF (aF1,aF2,aName) - { } - private : - std::string NameOperator() const override {return "^";} - void ComputeBuf(int aK0,int aK1) override - { - for (int aK=aK0 ; aK Derivate(int aK) const override - { - return pow(mF1,mF2) * ( (mF1->Derivate(aK)/mF1)*mF2 + mF2->Derivate(aK)*log(mF1)) ; - } -}; + // Set the formula that will be computed + aCFD.SetCurFormulasWithDerivative(aFormulaRes); + //-[2] ========= Now Use the coordinator to compute vals & derivatives ================= + // "Push" the data , this does not make the computation, data are memporized + // In real case, you should be care to flush with EvalAndClear before you exceed buffe (100) + for (const auto & aVYX : aVData) + { + assert(aVYX.size()==aNbObs); // consitency test + aCFD.PushNewEvals(aInitialGuess,aVYX); + } + // Now run the computation on "pushed" data, we have the derivative + const std::vector *> & aVEvals = aCFD.EvalAndClear(); + assert(aVEvals.size()==aVData.size()); - /* ---------------------------------------*/ - /* Global Functio on unary op */ - /* ---------------------------------------*/ -/** A Helper class to avoid code duplication on the process , see detailed comment in cGenOperatorUnaire (analogous) */ + //-[3] ========= Now we can use the derivatives ========================== + // directly on aVEvals, or with interface : DerComp(), ValComp() + // here the "use" we do is to check coherence with numerical values and derivatives -template class cGenOperatorBinaire -{ - public : - typedef typename TypeCompiled::tElem tElem; - typedef typename TypeCompiled::tContext tContext; - typedef typename TypeCompiled::tImplemF tImplemF; - typedef typename tImplemF::tFormula tFormula; - - static tFormula Generate(tFormula aF1,tFormula aF2,const std::string & aNameOp) + + for (size_t aKObs=0; aKObs result correspond to 1 obs + // storing order : V0 dV0/dX0 dV0/dX1 .... V1 dV1/dX1 .... (here only one val) + const std::vector & aLineRes = *(aVEvals.at(aKObs)); + + // [3.1] Check the value + double aValFLine = aLineRes[0]; // we access via the vector + double aValInterface = aCFD.ValComp(aKObs,0); // via the interface, 0=> first value (unique here) + double aValStd = RatkoswkyResidual(aInitialGuess,aVData[aKObs]).at(0); // Numerical value + assert(aValFLine==aValInterface); // exactly the same + assert(std::abs(aValFLine-aValStd)<1e-10); // may exist some numericall effect + + // [3.2] Check the derivate + for (size_t aKUnk=0 ; aKUnkContext(); - std::string aNameForm = aF1.NameFormulaBin(aNameOp,aF2); - - if (aPCont->ExistFunc(aNameForm)) - return aPCont->FuncOfName(aNameForm); - - // Maybe the two operand are constant ? Then we can reduce - { - const tElem * aC1 = aF1->ValCste(); - const tElem * aC2 = aF2->ValCste(); - if (aC1 && aC2) - { - tElem aC12= TypeCompiled::Operation(*aC1,*aC2); - std::cout << "ZZZZZZ " << *aC1 << " " << *aC2 << " " << aC12<< "\n"; - } - } - - tFormula aResult (new TypeCompiled(aF1,aF2,aNameForm)); - aPCont->AddFormula(aResult); - return aResult; + double aDerFLine = aLineRes[1+aKUnk]; // access via the vector + double aDerInterface = aCFD.DerComp(aKObs,0,aKUnk); // via the interface + assert(aDerFLine==aDerInterface); // exactly the same + // Compute derivate by finite difference ; + // RatkoswkyResidual is the "standard" function operating on numbers + // see NumericalDerivate in "MMVII_FormalDerivatives.h" + double aDerNum = FD::NumericalDerivate + (RatkoswkyResidual,aInitialGuess,aVData[aKObs],aKUnk,1e-5).at(0); + + // Check but with pessimistic majoration of error in finite difference + assert(std::abs(aDerFLine-aDerNum)<1e-4); } -}; - - -template -cFormula operator + - ( - const cFormula & aF1, - const cFormula & aF2 - ) -{ - // Use the fact that 0 is neutral element to simplify - if (aF1->IsCste0()) return aF2; - if (aF2->IsCste0()) return aF1; - - // Use commutativity of + to have a unique representation - if (aF1->Name() > aF2->Name()) - return aF2+aF1; - - return cGenOperatorBinaire >::Generate(aF1,aF2,"+"); -} - -template -cFormula operator - - ( - const cFormula & aF1, - const cFormula & aF2 - ) -{ - // Use the fact that 0 is neutral element to simplify - if (aF1->IsCste0()) return -aF2; - if (aF2->IsCste0()) return aF1; - - return cGenOperatorBinaire >::Generate(aF1,aF2,"-"); -} - -template -cFormula operator * - ( - const cFormula & aF1, - const cFormula & aF2 - ) -{ - // Use the fact that 1 is neutral element to simplify - if (aF1->IsCste1()) return aF2; - if (aF2->IsCste1()) return aF1; - - // Use the fact that 0 is absorbant element to simplify - if (aF1->IsCste0()) return aF1; - if (aF2->IsCste0()) return aF2; - - - // Use commutativity of + to have a unique representation - if (aF1->Name() > aF2->Name()) - return aF2 * aF1; - - return cGenOperatorBinaire >::Generate(aF1,aF2,"*"); -} - -template -cFormula operator / - ( - const cFormula & aF1, - const cFormula & aF2 - ) -{ - if (aF1->IsCste0()) return aF1; // 0/F2 -> 0 - if (aF2->IsCste1()) return aF1; // F1/1 -> F1 - - return cGenOperatorBinaire >::Generate(aF1,aF2,"/"); -} - -template -cFormula pow - ( - const cFormula & aF1, - const cFormula & aF2 - ) -{ - return cGenOperatorBinaire >::Generate(aF1,aF2,"^"); -} - - /* ----------------------------------------------------------*/ - /* Binary Operator between Formula and constants */ - /* ----------------------------------------------------------*/ - - // ++++++++++++++++++++++++ -template -inline cFormula operator +(const TypeElem & aV1,const cFormula & aF2) -{ - return aF2->Context()->CsteOfVal(aV1) + aF2; -} -template -inline cFormula operator +(const cFormula & aF1,const TypeElem & aV2) -{ - return aV2+aF1; -} - // ************************ -template -inline cFormula operator *(const TypeElem & aV1,const cFormula & aF2) -{ - return aF2->Context()->CsteOfVal(aV1) * aF2; -} -template -inline cFormula operator *(const cFormula & aF1,const TypeElem & aV2) -{ - return aV2*aF1; -} - // -------------------------- -template -inline cFormula operator -(const TypeElem & aV1,const cFormula & aF2) -{ - return aF2->Context()->CsteOfVal(aV1) - aF2; -} -template -inline cFormula operator -(const cFormula & aF1,const TypeElem & aV2) -{ - return aF1-aF1->Context()->CsteOfVal(aV2) ; -} - // ///////////////////////// -template -inline cFormula operator /(const TypeElem & aV1,const cFormula & aF2) -{ - return aF2->Context()->CsteOfVal(aV1) / aF2; -} -template -inline cFormula operator /(const cFormula & aF1,const TypeElem & aV2) -{ - return aF1/aF1->Context()->CsteOfVal(aV2) ; -} - - -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * cImplemF / cContextF * */ -/* * External Definition of methods * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ - - /* ---------------------- */ - /* cImplemF */ - /* ---------------------- */ - -template int cImplemF::RecursiveRec() const -{ - int aRes = 1; - for (const auto & aF : Ref()) - { - aRes += aF->RecursiveRec(); - } - return aRes; -} - -template void cImplemF::CalcRecursiveDepth(std::vector & aVReached) -{ - if (mDepth != -1) return; // if we were already here , nothing to do - for (const auto & aF : Ref()) - { - aF->CalcRecursiveDepth(aVReached); // parse sub formula - mDepth = std::max(mDepth,aF->mDepth); // Memo max depth - } - mDepth++; // my depth is 1 + max of depth of my referenced formulas - aVReached.push_back(tFormula(this)); -} - /* ---------------------- */ - /* cContextF */ - /* ---------------------- */ - -template -std::vector cContextF::MakeAutomId(const std::string & aPrefix,int aNb) -{ - std::vector aRes; - for (int aK=0 ; aK -cContextF::cContextF -( - int aSzBuf, - const std::vector & aVNameUK, - const std::vector & aVNameObs -) : - mSzBuf (aSzBuf), - mNbCste (0), - mNbUK (aVNameUK.size()), - mNbObs (aVNameObs.size()), - mCste0 (CsteOfVal(0.0)), - mCste1 (CsteOfVal(1.0)), - mCste2 (CsteOfVal(2.0)), - mNbInBuf (0), - mBufLineRes (mSzBuf), - mBufRes () - -{ - mBufRes.reserve(mSzBuf); - // Generate all the function corresponding to unknown - for (size_t aNumUK=0 ; aNumUK(this,aVNameUK[aNumUK],aNumUK)); // Create it - mVFormUnknowns.push_back(aFuncUK); // Push it in vector of coordinat func - AddFormula(aFuncUK); // Add to all func - } - - // Generate all the function corresponding to observations - for (size_t aNumObs=0 ; aNumObs(this,aVNameObs[aNumObs],aNumObs)); // Create it - mVFormObservations.push_back(aFuncObs); // Push it in vector of coordinat func - AddFormula(aFuncObs); // Add to all func } + std::cout << "OK TestRatkoswky \n"; } -template -cContextF::cContextF(int aSzBuf,int aNbUK,int aNbObs) : - cContextF(aSzBuf,MakeAutomId("X",aNbUK),MakeAutomId("V",aNbObs)) -{ -} -template -cContextF::~cContextF() -{ - for (auto & aForm : mVAllFormula) - { - aForm.FreeMem(); - } -} +/* {II} ======================== ========================================== -template -cFormula cContextF::CsteOfVal(const TypeElem & aCste) -{ - tFormula & aRef = mDicoCste[aCste]; - if (aRef.IsNull()) // If it was not existing, the map contain now the def element - { - aRef=tFormula(new cConstantF(this,"C"+std::to_string(mNbCste),mNbCste,aCste)); - mNbCste++; - AddFormula(aRef); - } - - return aRef; -} - -template -cFormula cContextF::FuncOfName(const std::string & aName) const -{ - const auto & anIt = mDicoFunc.find(aName); - if (anIt == mDicoFunc.end()) InternalError ("Try to acces non existing name :[" + aName + "]"); - return anIt->second; -} - -template -void cContextF::SetNewVals - ( - std::vector & aVF, - const std::string & aMes, - const std::vector & aVVals - ) + This second example, we take a very basic example to analyse +*/ +template +std::vector FitCube + ( + const std::vector & aVUk, + const std::vector & aVObs + ) { - if (aVF.size() != aVVals.size()) // Check size are coherents - { - UserSError("Bad size in " + aMes); - } - for (size_t aK=0 ; aKSetBuf(mNbInBuf,aVVals[aK]); - } -} + const Type & a = aVUk[0]; + const Type & b = aVUk[1]; -template -void cContextF::PushNewEvals - ( - const std::vector & aVUK, - const std::vector & aVObs - ) -{ + const Type & x = aVObs[0]; + const Type & y = aVObs[1]; + + Type F = (a + b *x); - if (mNbInBuf >= mSzBuf) - { - UserSError("Push exceed buffer capacity"); - } - SetNewVals(mVFormUnknowns,"Unknowns",aVUK); - SetNewVals(mVFormObservations,"Observations",aVObs); - mNbInBuf++; + return {F*F*F - y}; } - -template -void cContextF::SetCurFormulasWithDerivative(const std::vector & aVF) +void InspectCube() { - std::vector aVWDer; - for (const auto & aF : aVF) - { - aVWDer.push_back(aF); - for (size_t aUK=0 ; aUKDerivate(aUK)); - } - } - SetCurFormulas(aVWDer); - mWithDer = true; - mSzInterval = 1+mNbUK; -} + std::cout << "===================== TestRatkoswky ===================\n"; -template -void cContextF::SetCurFormulas(const std::vector & aVF) -{ - mWithDer=false; - mSzInterval = 1; - mVCurF = aVF; + // Create a context where values are stored on double and : + // 4 unknown (b1-b4), 2 observations, a buffer of size 100 + FD::cCoordinatorF aCFD(100,{"a","b"},{"x","y"}); - // Erase previous - for (auto & aF : mVReachedF) - aF->SetDepth(-1); - mVReachedF.clear(); + // Inspect vector of unknown and vector of observations + { + for (const auto & aF : aCFD.VUk()) + std::cout << "Unknowns : "<< aF->Name() << "\n"; + for (const auto & aF : aCFD.VObs()) + std::cout << "Observation : "<< aF->Name() << "\n"; + } - // Compute depth for topologicall sort - for (auto & aF : mVCurF) - { - aF->CalcRecursiveDepth(mVReachedF); - } + // Create the formula corresponding to residual + std::vector> aVResidu = FitCube(aCFD.VUk(),aCFD.VObs()); + FD::cFormula aResidu = aVResidu[0]; + + // Inspect the formula + std::cout << "RESIDU FORMULA=[" << aResidu->InfixPPrint() <<"]\n"; - // Use depth to have topological sort - std::sort - ( - mVReachedF.begin(), - mVReachedF.end(), - [](const tFormula & aF1,const tFormula &aF2) {return aF1->Depth() < aF2->Depth();} - ); + // Inspect the derivative relatively to b2 + std::cout << "DERIVEATE FORMULA=[" << aResidu->Derivate(1)->InfixPPrint() <<"]\n"; + // Set the formula that will be computed + aCFD.SetCurFormulasWithDerivative(aVResidu); - // Make Buf of Res to have right size - for (auto & aLine : mBufLineRes) - { - aLine.resize(mVCurF.size()); - } -} - -template -const std::vector *> & cContextF::EvalAndClear() -{ - // Make the real hard stuff, compute the data, the depedancy ordering should make it coherent - for (auto & aF : mVReachedF) - { - aF->ComputeBuf(0,mNbInBuf); - } + // Print stack of formula + aCFD.ShowStackFunc(); - mBufRes.clear(); - for (size_t aKLine=0 ; aKLine & aLine = mBufLineRes[aKLine]; - mBufRes.push_back(&aLine); - for (size_t aKFunc=0 ; aKFunc< mVCurF.size() ; aKFunc++) - aLine[aKFunc] = mVCurF[aKFunc]->GetBuf(aKLine); - } - - return mBufRes; + getchar(); } -template -void cContextF::ShowStackFunc() const -{ - for (const auto & aForm : mVAllFormula) - { - if (aForm->Depth()==-1) - std::cout << "---" ; - else - std::cout << "-" << aForm->Depth() << "-"; - - std::cout << " Form[" << aForm->NumGlob() << "] => " << aForm->Name(); - const TypeElem * aPV = aForm->ValCste(); - if (aPV) - std::cout << " ; Val=" << *aPV; - std::cout << "\n"; - } +#include "ExternalInclude/Eigen/Dense" // TODO => replace with standard eigen file - std::cout << "REACHED "; - for (const auto & aForm : mVReachedF) - { - std::cout << aForm->NumGlob() << " "; - } - std::cout << "\n"; +/* -------------------------------------------------- */ - std::cout << "CUR "; - for (const auto & aForm : mVCurF) - { - std::cout << aForm->NumGlob() << " "; - } - std::cout << "\n"; -} -}; // NS_MMVII_FormalDerivative +/* +template +std::vector ResiduRat43 + ( + const std::vector & aVUk, + const std::vector & aVObs + ) +*/ + /* *************************************************** */ /* *************************************************** */ @@ -1356,7 +222,6 @@ void cContextF::ShowStackFunc() const /* *************************************************** */ /* *************************************************** */ -namespace FD = NS_MMVII_FormalDerivative; using FD::square; std::vector VRand(unsigned aSeed,int aNb) @@ -1399,7 +264,7 @@ void TestDyn() int aNbUk = 3; int aNbObs = 2; - FD::cContextF aCFD(100,aNbUk,aNbObs); + FD::cCoordinatorF aCFD(100,aNbUk,aNbObs); aCFD.SetCurFormulasWithDerivative(Residu(aCFD.VUk(),aCFD.VObs())); int aNbT = 2; @@ -1468,6 +333,10 @@ typedef Eigen::Array tEigenSubArray; typedef Eigen::Map tEigenWrap; void BenchFormalDer() { + // Run TestRatkoswky with static obsevation an inital guess + TestRatkoswky(TheVRatkoswkyData,{100,10,1,1}); + InspectCube() ; + // TestDyn(); if (1) { @@ -1579,7 +448,7 @@ void BenchFormalDer() { int aNbUk = 3; int aNbObs = 5; - FD::cContextF aCFD(100,aNbUk,aNbObs); + FD::cCoordinatorF aCFD(100,aNbUk,aNbObs); std::vector aVUk(aNbUk,0.0); std::vector aVObs(aNbObs,0.0); @@ -1589,7 +458,7 @@ void BenchFormalDer() tFormulaTest X0 = aCFD.VUk().at(0); if (0) { - FD::cContextF aCFD2(100,3,5); + FD::cCoordinatorF aCFD2(100,3,5); tFormulaTest B0 = aCFD2.VUk().at(0); X0 + B0; } @@ -1660,7 +529,7 @@ void BenchFormalDer() // std::shared_ptr > aF1 = } - // new cContextF (3,5); + // new cCoordinatorF (3,5); @@ -1682,4 +551,3 @@ void BenchFormalDer() } -#endif // _MMVII_DynAndStatFormalDerivation_H_ From 7954fd08042b2e081526b218b38a922b4e053a67 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Thu, 27 Feb 2020 11:24:58 +0100 Subject: [PATCH 35/49] Dans Form Deriv, mise au propre des exemples --- MMVII/include/MMVII_FormDer_BinaryOp.h | 371 ++++++++++ MMVII/include/MMVII_FormDer_UnaryOp.h | 212 ++++++ MMVII/include/MMVII_FormalDerivatives.h | 891 ++++++++++++++++++++++++ 3 files changed, 1474 insertions(+) create mode 100644 MMVII/include/MMVII_FormDer_BinaryOp.h create mode 100644 MMVII/include/MMVII_FormDer_UnaryOp.h create mode 100644 MMVII/include/MMVII_FormalDerivatives.h diff --git a/MMVII/include/MMVII_FormDer_BinaryOp.h b/MMVII/include/MMVII_FormDer_BinaryOp.h new file mode 100644 index 0000000000..30a40b7b02 --- /dev/null +++ b/MMVII/include/MMVII_FormDer_BinaryOp.h @@ -0,0 +1,371 @@ +#ifndef _MMVII_FormDer_BinaryOp_H_ +#define _MMVII_FormDer_BinaryOp_H_ + +/** \file MMVII_FormDer_BinaryOp.h + \brief File for definition of binary operators inside formula + +*/ + + + +namespace NS_MMVII_FormalDerivative +{ + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * BINARY FORMULA * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + /* ---------------------------------------------------------- + Class implementing binary operation on formula + MOTHER CLASS : cBinaryF + DERIVED : cSumF / cMulF / cSubF / cDivF / cPowF + ----------------------------------------------------------------*/ + +template class cBinaryF : public cImplemF +{ + public : + typedef cImplemF tImplemF; + typedef typename tImplemF::tCoordF tCoordF; + typedef typename tImplemF::tFormula tFormula; + typedef typename tImplemF::tBuf tBuf; + + /// An operator must describe its name + virtual std::string NameOperator() const = 0; + /// We can compute print of binary formula using operator name + std::string InfixPPrint() const override + { + return "("+ NameOperator() + " "+ mF1->InfixPPrint() + " " + mF2->InfixPPrint() + ")"; + } + protected : + std::vector Ref() const override{return std::vector{mF1,mF2};} + inline cBinaryF(tFormula aF1,tFormula aF2,const std::string & aName): + tImplemF (aF1->CoordF(),aName), + mF1 (aF1), + mDataF1 (aF1->DataBuf()), + mF2 (aF2), + mDataF2 (aF2->DataBuf()) + { + // It doesn't work to mix formula from different context + if (mF1->CoordF()!=mF2->CoordF()) + UserSError("Mix formula from different context"); + } + + tFormula mF1; ///< First argument of operator + const TypeElem *mDataF1; ///< Fast access to data of buf F1 + tFormula mF2; ///< Second argument of operator + const TypeElem *mDataF2; ///< Fast access to data of buf F2 +}; + + +template class cSumF : public cBinaryF +{ + public : + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1+aV2;} + using cBinaryF::mF1; + using cBinaryF::mF2; + using cBinaryF::mDataF1; + using cBinaryF::mDataF2; + using cImplemF::mDataBuf; + + inline cSumF(cFormula aF1,cFormula aF2,const std::string & aName) : + cBinaryF (aF1,aF2,aName) + { } + private : + std::string NameOperator() const override {return "+";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override {return mF1->Derivate(aK) + mF2->Derivate(aK);} +}; + +template class cMulF : public cBinaryF +{ + public : + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1*aV2;} + using cBinaryF::mF1; + using cBinaryF::mF2; + using cBinaryF::mDataF1; + using cBinaryF::mDataF2; + using cImplemF::mDataBuf; + + inline cMulF(cFormula aF1,cFormula aF2,const std::string & aName) : + cBinaryF (aF1,aF2,aName) + { } + private : + std::string NameOperator() const override {return "*";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return mF2*mF1->Derivate(aK) + mF1*mF2->Derivate(aK); + } +}; + +template class cSubF : public cBinaryF +{ + public : + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1-aV2;} + using cBinaryF::mF1; + using cBinaryF::mF2; + using cBinaryF::mDataF1; + using cBinaryF::mDataF2; + using cImplemF::mDataBuf; + + inline cSubF(cFormula aF1,cFormula aF2,const std::string & aName) : + cBinaryF (aF1,aF2,aName) + { } + private : + std::string NameOperator() const override {return "-";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override {return mF1->Derivate(aK) - mF2->Derivate(aK);} +}; + +template class cDivF : public cBinaryF +{ + public : + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1/aV2;} + using cBinaryF::mF1; + using cBinaryF::mF2; + using cBinaryF::mDataF1; + using cBinaryF::mDataF2; + using cImplemF::mDataBuf; + + inline cDivF(cFormula aF1,cFormula aF2,const std::string & aName) : + cBinaryF (aF1,aF2,aName) + { } + private : + std::string NameOperator() const override {return "/";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return (mF1->Derivate(aK)*mF2 - mF2->Derivate(aK)*mF1)/square(mF2); + } +}; + +template class cPowF : public cBinaryF +{ + public : + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return std::pow(aV1,aV2);} + using cBinaryF::mF1; + using cBinaryF::mF2; + using cBinaryF::mDataF1; + using cBinaryF::mDataF2; + using cImplemF::mDataBuf; + + inline cPowF(cFormula aF1,cFormula aF2,const std::string & aName) : + cBinaryF (aF1,aF2,aName) + { } + private : + std::string NameOperator() const override {return "^";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return pow(mF1,mF2) * ( (mF1->Derivate(aK)/mF1)*mF2 + mF2->Derivate(aK)*log(mF1)) ; + } +}; + + + /* ---------------------------------------*/ + /* Global Functio on unary op */ + /* ---------------------------------------*/ +/** A Helper class to avoid code duplication on the process , see detailed comment in cGenOperatorUnaire (analogous) */ + +template class cGenOperatorBinaire +{ + public : + typedef typename TypeCompiled::tElem tElem; + typedef typename TypeCompiled::tCoordF tCoordF; + typedef typename TypeCompiled::tImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + + static tFormula Generate(tFormula aF1,tFormula aF2,const std::string & aNameOp) + { + // Extract context (take F1 ou F2, does not matter, they must be the same) + tCoordF * aPCont = aF1->CoordF(); + std::string aNameForm = aF1.NameFormulaBin(aNameOp,aF2); + + if (aPCont->ExistFunc(aNameForm)) + return aPCont->FuncOfName(aNameForm); + + // Maybe the two operand are constant ? Then we can reduce + { + const tElem * aC1 = aF1->ValCste(); + const tElem * aC2 = aF2->ValCste(); + if (aC1 && aC2) + { + tElem aC12= TypeCompiled::Operation(*aC1,*aC2); + std::cout << "ZZZZZZ " << *aC1 << " " << *aC2 << " " << aC12<< "\n"; + } + } + + tFormula aResult (new TypeCompiled(aF1,aF2,aNameForm)); + aPCont->AddFormula(aResult); + return aResult; + } +}; + + +template +cFormula operator + + ( + const cFormula & aF1, + const cFormula & aF2 + ) +{ + // Use the fact that 0 is neutral element to simplify + if (aF1->IsCste0()) return aF2; + if (aF2->IsCste0()) return aF1; + + // Use commutativity of + to have a unique representation + if (aF1->Name() > aF2->Name()) + return aF2+aF1; + + return cGenOperatorBinaire >::Generate(aF1,aF2,"+"); +} + +template +cFormula operator - + ( + const cFormula & aF1, + const cFormula & aF2 + ) +{ + // Use the fact that 0 is neutral element to simplify + if (aF1->IsCste0()) return -aF2; + if (aF2->IsCste0()) return aF1; + + return cGenOperatorBinaire >::Generate(aF1,aF2,"-"); +} + +template +cFormula operator * + ( + const cFormula & aF1, + const cFormula & aF2 + ) +{ + // Use the fact that 1 is neutral element to simplify + if (aF1->IsCste1()) return aF2; + if (aF2->IsCste1()) return aF1; + + // Use the fact that 0 is absorbant element to simplify + if (aF1->IsCste0()) return aF1; + if (aF2->IsCste0()) return aF2; + + + // Use commutativity of + to have a unique representation + if (aF1->Name() > aF2->Name()) + return aF2 * aF1; + + return cGenOperatorBinaire >::Generate(aF1,aF2,"*"); +} + +template +cFormula operator / + ( + const cFormula & aF1, + const cFormula & aF2 + ) +{ + if (aF1->IsCste0()) return aF1; // 0/F2 -> 0 + if (aF2->IsCste1()) return aF1; // F1/1 -> F1 + + return cGenOperatorBinaire >::Generate(aF1,aF2,"/"); +} + +template +cFormula pow + ( + const cFormula & aF1, + const cFormula & aF2 + ) +{ + return cGenOperatorBinaire >::Generate(aF1,aF2,"^"); +} + + /* ----------------------------------------------------------*/ + /* Binary Operator between Formula and constants */ + /* ----------------------------------------------------------*/ + + // ++++++++++++++++++++++++ +template +inline cFormula operator +(const TypeElem & aV1,const cFormula & aF2) +{ + return aF2->CoordF()->CsteOfVal(aV1) + aF2; +} +template +inline cFormula operator +(const cFormula & aF1,const TypeElem & aV2) +{ + return aV2+aF1; +} + // ************************ +template +inline cFormula operator *(const TypeElem & aV1,const cFormula & aF2) +{ + return aF2->CoordF()->CsteOfVal(aV1) * aF2; +} +template +inline cFormula operator *(const cFormula & aF1,const TypeElem & aV2) +{ + return aV2*aF1; +} + // -------------------------- +template +inline cFormula operator -(const TypeElem & aV1,const cFormula & aF2) +{ + return aF2->CoordF()->CsteOfVal(aV1) - aF2; +} +template +inline cFormula operator -(const cFormula & aF1,const TypeElem & aV2) +{ + return aF1-aF1->CoordF()->CsteOfVal(aV2) ; +} + // ///////////////////////// +template +inline cFormula operator /(const TypeElem & aV1,const cFormula & aF2) +{ + return aF2->CoordF()->CsteOfVal(aV1) / aF2; +} +template +inline cFormula operator /(const cFormula & aF1,const TypeElem & aV2) +{ + return aF1/aF1->CoordF()->CsteOfVal(aV2) ; +} + + + +}; // NS_MMVII_FormalDerivative + + +#endif // _MMVII_FormDer_BinaryOp_H_ diff --git a/MMVII/include/MMVII_FormDer_UnaryOp.h b/MMVII/include/MMVII_FormDer_UnaryOp.h new file mode 100644 index 0000000000..e8dc70737a --- /dev/null +++ b/MMVII/include/MMVII_FormDer_UnaryOp.h @@ -0,0 +1,212 @@ +#ifndef _MMVII_FormDer_UnaryOp_H_ +#define _MMVII_FormDer_UnaryOp_H_ + +/** \file MMVII_FormDer_UnaryOp.h + \brief File for unary operator on formal derivative +*/ + + +namespace NS_MMVII_FormalDerivative +{ + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * UNARY FORMULA * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + + /* ---------------------------------------------------------- + Class implementing unary operation on formula + MOTHER CLASS : cUnaryF + DERIVED : cSquareF / cExpF / cMin1F / cLogF + ----------------------------------------------------------------*/ + +template class cUnaryF : public cImplemF +{ + public : + typedef cImplemF tImplemF; + typedef typename tImplemF::tCoordF tCoordF; + typedef typename tImplemF::tFormula tFormula; + typedef typename tImplemF::tBuf tBuf; + + virtual std::string NameOperator() const = 0; + std::string InfixPPrint() const override + { + return NameOperator() + " "+ mF->InfixPPrint() ; + } + protected : + std::vector Ref() const override{return std::vector{mF};} + inline cUnaryF(tFormula aF,const std::string & aName) : + tImplemF (aF->CoordF(),aName), + mF (aF), + mDataF (mF->DataBuf()) + { } + tFormula mF; ///< The formula argument of unary operator + const TypeElem* mDataF; ///< Fast access to data of buf +}; + + +/* Probably not more efficient than implementing Square as F*F, because derivation would give + F'F + F'F BUT would be reorder as F'F + F'F and unified ... + By the way it was a test, if necessary replace Square by F*F */ +template class cSquareF : public cUnaryF +{ + public : + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cSquareF (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) + { } + private : + std::string NameOperator() const override {return "square";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return 2.0 * mF->Derivate(aK) * mF; + } +}; + + +template class cExpF : public cUnaryF +{ + public : + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cExpF (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) + { } + private : + std::string NameOperator() const override {return "exp";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return mF->Derivate(aK) * exp(mF); + } +}; + +template class cMin1F : public cUnaryF +{ + public : + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cMin1F (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) + { } + private : + std::string NameOperator() const override {return "-";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return - mF->Derivate(aK) ; + } +}; + +template class cLogF : public cUnaryF +{ + public : + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cLogF (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) + { } + private : + std::string NameOperator() const override {return "log";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return mF->Derivate(aK) / mF ; + } +}; + + + + /* ---------------------------------------*/ + /* Global Functio on unary op */ + /* ---------------------------------------*/ + +/** A Helper class to avoid code duplication on the process : + * compute name + * test existence + * eventualy create + Template parameter is the class created +*/ + +template class cGenOperatorUnaire +{ + public : + typedef typename TypeCompiled::tCoordF tCoordF; + typedef typename TypeCompiled::tImplemF tImplemF; + typedef typename tImplemF::tFormula tFormula; + + static tFormula Generate(tFormula aF,const std::string & aNameOp) + { + tCoordF* aPCont = aF->CoordF(); // Get the context from the formula + std::string aNameForm = aF.NameFormulaUn(aNameOp); // Compute the name formula should have + + if (aPCont->ExistFunc(aNameForm)) // If it already exist + return aPCont->FuncOfName(aNameForm); // Then return formula whih this name + + tFormula aResult (new TypeCompiled(aF,aNameForm)); // else create it + aPCont->AddFormula(aResult); // indicate to the context to remember this new formula + return aResult; // return it + } +}; + +template +inline cFormula square(const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"square"); +} + +template +inline cFormula exp(const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"exp"); +} +template +inline cFormula operator - (const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"-"); +} +template +inline cFormula log (const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"log"); +} + +}; // NS_MMVII_FormalDerivative + + + +#endif // _MMVII_FormDer_UnaryOp_H_ diff --git a/MMVII/include/MMVII_FormalDerivatives.h b/MMVII/include/MMVII_FormalDerivatives.h new file mode 100644 index 0000000000..7606d6408c --- /dev/null +++ b/MMVII/include/MMVII_FormalDerivatives.h @@ -0,0 +1,891 @@ +#ifndef _MMVII_FormalDerivative_H_ +#define _MMVII_FormalDerivative_H_ + +/** \file MMVII_FormalDerivate.h + \brief File for generating formal derivate + + Classes for generated formal derivative. All classes are single template classes. + The template parameter indicate the numerical type used for storage/computation + (float, double ...) + + This file is the only file to include. It contains : + + * declaration of operators + * definition of "main" classes : cFormula , cCoordinatorF , cImplemF " ; + * the 3 class for Atomic formula who will (probably) stay the same : Unkown, Observation, Constants + + This file include 2 files corresponding to type of formula : + + * classes for "unary" formulas in "MMVII_FormDer_UnaryOp.h" + * classes for "binary" formulas in "MMVII_FormDer_BinaryOp.h" + + These 2 files have "vocation" to be extended during the future. + + ------------------------------------------------- + + * cFormula : represent a mathematicall formula; as in math : + - if F is a formula, exp(F), log(F) ....are formulas + - if F1 and F2 are formulas, F1+F2 , F1*F2 ... are formulas + - there exist some atomic formulas like constants, unknown and observations + - if F is a formula F->Derivate(k) is a formula corresponding to is derivate dF/dXk + Formulas are a complete algebric type. + + + * cCoordinatorF : is the "coordinator" class. + This class has, between others, the responsability of : + - creating the initial atomic formula corresponding to unknowns and observation + - maintain an inventory of existing formulas for efficiency purpose + + * Using this library is mainly : + - create a coordinator with a given number of unkown and observations + - create a formula using atoms an operator, generally the user function creating a + formula will be a template that can operate on any complete algebric type + (double, float, Formula , jets ...) + - indicate to the coordinator the formula you want work on, with generally its derivate + - evaluate the values of the formula for given unknows and observations + + cFormula is no more than an encapsulation of the "concrete" class + + + +*/ + + +#define WITH_MMVII true + +#if (WITH_MMVII) +#include "include/MMVII_all.h" +#include "include/MMVII_Derivatives.h" +using namespace MMVII; +#else //========================================================== WITH_MMVI +class cMemCheck +{ +}; +#include +#include +#include + +#endif //========================================================== WITH_MMVI + + +namespace NS_MMVII_FormalDerivative +{ + +/* *************************************************** */ +/* */ +/* P0-Definition of global functions */ +/* */ +/* *************************************************** */ + +/* + +*/ + +/// This function is required if we want to have same operation on numbers double and formulas +double square(const double & aV) {return aV*aV;} +// static double square(const float & aV) {return aV*aV;} + +void Error(const std::string & aMes,const std::string & aExplanation) +{ + std::cout << "In MMVII_FormalDerivative a fatal error" << "\n"; + std::cout << " Likely Source ["<< aExplanation << "\n"; + std::cout << " Message ["<< aMes << "]\n"; + assert(false); +} + +void InternalError(const std::string & aMes) +{ + Error(aMes,"Internal Error of the Library"); +} +void UserSError(const std::string & aMes) +{ + Error(aMes,"Probable error on user's side due to unapropriate usage of the library"); +} + + +/** This function computes derivates by finites difference + It is used in the tests to check correction of formal derivatives. Also used + in didactic parts. +*/ + +template +std::vector NumericalDerivate + ( + TypeFct & aFctr, ///< Function + const std::vector & aVUk, ///< Unknown + const std::vector & aVObs, ///< Observations + int aNumVar, ///< Num of unknown we derivate by + const Type & aEpsilon ///< "Small" number to compute variations + ) + +{ + + std::vector aVPlus = aVUk; + aVPlus.at(aNumVar) += aEpsilon; + std::vector aResPlus = aFctr( aVPlus,aVObs); + + std::vector aVMinus = aVUk; + aVMinus.at(aNumVar) -= aEpsilon; + std::vector aResMinus = aFctr( aVMinus,aVObs); + + std::vector aDerivate; + for (size_t aK=0 ; aK class cFormula ; + +/** Class for managing the "context", i.e. coordinating all the formula + and their derivative corresponding to a single use . +*/ +template class cCoordinatorF; + + + + + // -------- Declaration all binary operators ---------------- + + // For each operator with have the 3 versions "Formula x Formula" , + // "Number x Formula" and "Formula x Number" + + // Operator + +template cFormula + operator +(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator +(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator +(const cFormula & aF1,const TypeElem & aV2); + // Operator * +template cFormula + operator *(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator *(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator *(const cFormula & aF1,const TypeElem & aV2); + // Operator - +template cFormula + operator -(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator -(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator -(const cFormula & aF1,const TypeElem & aV2); + // Operator / +template cFormula + operator /(const cFormula & aF1 ,const cFormula & aF2); +template cFormula + operator /(const TypeElem & aV1,const cFormula & aF2); +template cFormula + operator /(const cFormula & aF1,const TypeElem & aV2); + // pow +template cFormula + pow (const cFormula & aF1 ,const cFormula & aF2); +template cFormula + pow (const TypeElem & aV1,const cFormula & aF2); +template cFormula + pow (const cFormula & aF1,const TypeElem & aV2); + + + // -------- Declare all unary operators ---------------- +template cFormula + square(const cFormula & aF); +template cFormula + exp(const cFormula & aF); +template cFormula + operator - (const cFormula & aF); +template cFormula + log(const cFormula & aF); + + // -------- Declaration of Coordinator class ---------------- + +template class cCoordinatorF : public cMemCheck +{ + public : + + typedef cFormula tFormula; + typedef std::vector tOneRes; + + // --------------------------- Constructors / Destructor ------------------- + /// Constructor with explicit Id for Unknown/Observation. Used if we want to analyze the generated code + inline cCoordinatorF(int SzBuf,const std::vector & aVecUK,const std::vector & aVecObs); + /// Constructor with basic Id (used if we dont generate code, or dont want to analyse it by human) + inline cCoordinatorF(int SzBuf,int aNbUnknown,int aNbObservation); + /// Destructeur will free allocated formulas + ~cCoordinatorF(); + /// Copies are not allowed on this kind of object. + cCoordinatorF(const cCoordinatorF &) = delete; + + // --------------------------- Accessors to Atomic Formulas ------------------- + const std::vector >& VUk() const {return mVFormUnknowns;} ///< Unknowns + const std::vector >& VObs() const {return mVFormObservations;} ///< Observations + + // --------------------------- Manipulation ------------------- + + /// Set the formulas that with be used for computation + void SetCurFormulas(const std::vector &); + + /** SetCurFormulas + all its derivative , order of storage will be + VF0 dVF0/dX0 dVF0/dX1 .... VF1 dVF1/dX0 ... */ + void SetCurFormulasWithDerivative(const std::vector & aVF); + + /// Add a new set of vals (unknown + Obs) inside de evaluation "queue" + void PushNewEvals(const std::vector & aVUK,const std::vector & aVObs); + + bool BufIsFull() const {return mNbInBuf == mSzBuf;} ///< Can we push more value ? + size_t SzBuf() const {return mSzBuf;} ///< Number of value we can add + + /** Make the evaluation of current functions on pushe valuse . Let V be the result + (*V[0]) is the vector of containing current formula for first SetCur + !! => Warn the same memory space is recycled ... + */ + const std::vector & EvalAndClear(); + /// Retur value computed taking into account order of storage + const TypeElem & ValComp(int aNumPush,int aKElem) + { + return mBufRes.at(aNumPush)->at(mSzInterval*aKElem); + } + /// Retur value of derivate computed taking into account order of storage + const TypeElem & DerComp(int aNumPush,int aKElem,int aKVarDer) + { + if (! mWithDer) UserSError("Acces to derivate wich were not computed"); + return mBufRes.at(aNumPush)->at(mSzInterval*aKElem +1 + aKVarDer); + } + + + private : // END-USER + /* ================================================================================= + ABOVE WAS THE REAL PUBLIC PART OF cCoordinatorF FOR USER OF LIBRARY. THE REST + IS PUBLIC FOR IMPLEMENTERS BUT NOT NEEDED BY USER + =====================================================================================*/ + public : + + // Result of several evaluation are stored in a buffer, Eigen vector are used + // as they implement efficiently arithmeticall operation + // typedef Eigen::Array tBuf; + typedef std::vector tBuf; + + + // --------------------------- Acces to function from names, values ------------------- + /// Indicate if the formula corresponding to a given string allreay exist + inline bool ExistFunc(const std::string & aName) const + { + return (mDicoFunc.find(aName) != mDicoFunc.end()); + } + /// Func of given name, Error if don't exist + inline tFormula FuncOfName(const std::string & aName) const ; + /// Add a function (put it in dico), Error if already exist + inline void AddFormula(tFormula aPF) + { + if (ExistFunc(aPF->Name())) InternalError ("Multiple add of identic name :[" + aPF->Name() + "]"); + mDicoFunc[aPF->Name()] = aPF; + mVAllFormula.push_back(aPF); + } + + /// Func of given constant, create if don't exist + inline tFormula CsteOfVal(const TypeElem & aCste) ; + tFormula Cste0() const {return mCste0;} ///< Acces to a current constant + tFormula Cste1() const {return mCste1;} ///< Another Acces to a current constant + tFormula Cste2() const {return mCste2;} ///< Yet another Acces to a current constant + /// Tuning --- Print the stack of function as a tree + inline void ShowStackFunc() const; + + + size_t NbCurFonc() const {return mVAllFormula.size();} + private : + + /// Called by PushNewEvals to Set Unknown/Observations + void SetNewVals(std::vector & aVF,const std::string & aMes,const std::vector & aVVals); + + /// Used to generate automatically Id for Unknown/Observatio, when we dont need to control them explicitely + static std::vector MakeAutomId(const std::string & aPrefix,int aNb); + + size_t mSzBuf; ///< Capacity of bufferirsation + size_t mNbCste; ///< Number Cste + size_t mNbUK; ///< Dim=number of unkown + size_t mNbObs; ///< Number of obserbation variable + std::vector mVFormUnknowns; ///< Vector of All Unknowns + std::vector mVFormObservations; ///< Vector of All Observations + std::map mDicoFunc; ///< Map Name => Func + std::vector mVAllFormula; ///< Vector of All Func, allow to parse them in creation order + std::map mDicoCste; ///< Map Value => Func Constant + tFormula mCste0; ///< Fonc constant null + tFormula mCste1; ///< Fonc constant 1 + tFormula mCste2; ///< Fonc constant 1 + size_t mNbInBuf; ///< Number of Unknown/Obs vect currenlty loaded in buf + bool mWithDer; ///< Done With Derivate + int mSzInterval; ///< Size between two val, depends if computation done with deriv + std::vector mVCurF; ///< Current evaluted formulas + std::vector mVReachedF; ///< Formula "reachable" i.e. necessary to comput mVCurF + std::vector mBufLineRes; ///< Reserve memory for each line + std::vector mBufRes; ///< Reserve memory for result itself + +}; + +/* ************************************************** + * * + * Pre-Declaration of all classes * + * Not required by compilation * + * (Except for cImplemF )but I like to have * + * a quick view of all existing classes * + * * + * **************************************************/ + +/** "Mother" Interface class of all classes implementing the service , + abstract class with pure virtual method +*/ + +template class cImplemF ; + + // --------------- "Atomic" function : Unknown, constant, observation----------------- +template class cAtomicF ; ///< Mother Class of all atomic formulas + /// "Observations" corresponding to user constant (change for each evaluation) +template class cObservationF ; + /// "Constant" function +template class cConstantF ; + /// "Unknown" for representing coordinates function X0,X1,X2 .... +template class cUnknownF; + + // ----------------------------- Unary operator ------------------------------------ +template class cUnaryF ; ///< Mother Class of all unary operator +template class cSquareF ; ///< Class for square operator +template class cExpF ; ///< Class for exponential operator +template class cMin1F ; ///< Class for Unary Minus +template class cLogF ; ///< Class for neperien log + + // -------------------------------- Binary operator ------------------------------------- +template class cBinaryF ; ///< Mother class of binary operators +template class cSumF ; ///< Class for sum of 2 functions +template class cMulF ; ///< Class for multiplication of 2 functions +template class cSubF ; ///< Class for substraction of 2 functions +template class cDivF ; ///< Class for division of 2 functions +template class cPowF ; ///< Class for division of 2 functions + + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * Definition of all classes * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + // ------------------- 2 "Main" Classes ------------------------- + // cFormula / cImplemF + // ---------------------------------------------------------------- + +template class cImplemF : public cMemCheck +{ + public : + // See eigen documentation, this macro is mandatory for alignment reason + EIGEN_MAKE_ALIGNED_OPERATOR_NEW + + typedef TypeElem tElem; + typedef cCoordinatorF tCoordF; + typedef typename tCoordF::tBuf tBuf; + typedef typename tCoordF::tFormula tFormula; + + //----------- For derivation and reduction-------------- + virtual bool IsCste0() const {return false;} ///< To redefine in constant func, Used for simplification in "/ * + -" + virtual bool IsCste1() const {return false;} ///< To redefine in constant func, Used for simplification in "/ *" + virtual tFormula Derivate(int aK) const = 0; ///< Compute the formula of it's derivative to Kth unknown + + // -------------- For Computation ------------------------- + /// Method that wil compute data inside mBuf + virtual void ComputeBuf(int aK0,int aK1) =0; + + /// Return "Sub"-formula referenced + virtual std::vector Ref() const =0; + + // ---------- Accessors --------------- + const std::string & Name() const {return mName;} ///< Standard accessor + tCoordF * CoordF() const {return mCoordF;} ///< Standard accesor + int NumGlob() const {return mNumGlob;} ///< Standard accessor + // ---------- Acces to Buf data --------------- + void SetBuf(size_t anIndex,const TypeElem & aVal) {mBuf.at(anIndex) = aVal;} + const TypeElem & GetBuf(size_t anIndex) {return mBuf.at(anIndex);} + TypeElem * DataBuf() {return mDataBuf;} + // ---------- Reached Flag --------------- + bool Reached() const {return mReached;} ///< Standard accessor + void SetReached(bool IsReached) {mReached = IsReached;} ///< Fix Reached + /// Compute in the reference graphe and put formal explored in VReached + void CalcRecursiveDepth(std::vector & VReached) ; + int Depth() const {return mDepth;} ///< Standard accessor + void SetDepth(bool aDepth) {mDepth = aDepth;} ///< Fix Reached + + + // ---------- Tuning / Debugging / Analysing --------------- + /// Used to print constant from generic formula + virtual const TypeElem * ValCste() const {return nullptr;} + /// Infixed "Pretty" Print . For tuning and checking (i.e correction of reduction, derivative, rewrite ...) + virtual std::string InfixPPrint() const =0; + /// Number of reference that would occur without reduction on identic formula (to test performance in paper) + int RecursiveRec() const; + + // -------------------- Destructor / Constructor -------------------------- + virtual ~cImplemF () {} ///< Add a virtual ~X() when we have virtual methods, who knows ... + protected : + inline cImplemF (tCoordF * aCoordF,const std::string & aName) : + mCoordF (aCoordF), + mBuf (mCoordF->SzBuf(),TypeElem(0.0)), + mDataBuf (mBuf.data()), + mName (aName), + mNumGlob (mCoordF->NbCurFonc()), + mReached (false), + mDepth (-1) + { + } + + tCoordF * mCoordF; ///< Coordinator that manage all the funcion cooperating + tBuf mBuf; ///< Buf to store values + TypeElem * mDataBuf; ///< Raw pointer + const std::string mName; ///< string represention of the formula as for ex : C2, X1, V0 , square F3, F18/F3 ... + int mNumGlob; ///< Global number (!= Num in class) + bool mReached; ///< Flag to know if a formula is usefull for compute current + int mDepth; ///< Used for topological sort + private : + + cImplemF (const cImplemF &) = delete; ///< No Copy +}; + +template class cFormula +{ + public : + typedef cCoordinatorF tCoordF; + typedef cImplemF tImplemF; + typedef typename tCoordF::tFormula tFormula; + + // -------------------- constructor ------------------- + /// Construct from a pointer, standard + cFormula (tImplemF * aRawPtr) : + mPtr (aRawPtr) + { + } + /// Default constructor, required by some code (vector ?) + cFormula (): + cFormula (nullptr) + { + } + // --------------- operator on pointer --------------------- + + // UNUSED 4 NOW tImplemF & operator*() const {return *mPtr;} ///< Standard behaviour of a pointer + tImplemF * operator->() const {return mPtr;} ///< Standard behaviour of a pointer + // DO NOT WORK const std::unique_ptr operator->() const {return std::unique_ptr;} + bool IsNull() const {return mPtr==nullptr;} ///< Safer than giving acces to raw pointer + + // --------------- Naming --------------------- + + /// Generate the unique indentifier of a binary expression + std::string NameFormulaBin(const std::string & aNameOper,const tFormula & aF2) const + { + return "F"+ std::to_string((*this)->NumGlob()) + aNameOper + "F" + std::to_string(aF2->NumGlob()); + } + + /// Generate the unique indentifier of a unary expression + std::string NameFormulaUn(const std::string & aNameOper) const + { + return aNameOper + " F" + std::to_string((*this)->NumGlob()); + } + /// To allow destruction without giving access to raw pointer + void FreeMem() {delete mPtr; mPtr=nullptr;} + + private : + tImplemF* mPtr; ///< Faster than shared and deallocation is easy as object controlled by context +}; + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * ATOMIC FORMULA * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + /* ---------------------------------------------------------- + Class for atomic formula + MOTHER CLASS : cAtomicF + DERIVED : cUnknownF / cObservationF / cConstantF + ----------------------------------------------------------------*/ + +template class cAtomicF : public cImplemF +{ + public : + typedef cImplemF tImplemF; + typedef typename tImplemF::tCoordF tCoordF; + typedef typename tCoordF::tFormula tFormula; + + /// Should work always + std::string InfixPPrint() const override {return tImplemF::Name();} + /// Rule deriv=0 , work by default (constant and observations) + tFormula Derivate(int aK) const override {return tImplemF::mCoordF->Cste0();} + + /// Generally nothing to do in atomic, their buffer has been filled witj adequate values + void ComputeBuf(int aK0,int aK1) override { } + std::vector Ref() const override{return std::vector();} + protected : + inline cAtomicF(tCoordF * aCoordF,const std::string& aName) : + tImplemF (aCoordF,aName) + { } +}; + +template class cUnknownF : public cAtomicF +{ + public : + typedef cAtomicF tAtom; + typedef typename tAtom::tImplemF tImplemF; + typedef typename tImplemF::tCoordF tCoordF; + typedef typename tCoordF::tFormula tFormula; + + std::string InfixPPrint() const override {return tImplemF::Name();} + /// rule : dXi/dXj = delta(i,j) + tFormula Derivate(int aK) const override + { + return (aK==mNumUnk) ? tImplemF::mCoordF->Cste1() : tImplemF::mCoordF->Cste0(); + } + + friend tCoordF; + private : + inline cUnknownF(tCoordF * aCoordF,const std::string& aName,int aNum) : + tAtom (aCoordF,aName), + mNumUnk (aNum) + { } + + int mNumUnk; ///< Number of the Unknown; like : 0 for X0, 1 for X1 ... +}; + +template class cObservationF : public cAtomicF +{ + public : + typedef cAtomicF tAtom; + typedef typename tAtom::tImplemF tImplemF; + typedef typename tImplemF::tCoordF tCoordF; + typedef typename tCoordF::tFormula tFormula; + friend tCoordF; + + private : + inline cObservationF(tCoordF * aCoordF,const std::string & aName,int aNum) : + tAtom (aCoordF,aName), + mNum (aNum) + { } + int mNum; ///< Number of the Observation; like : 0 for V0, 1 for V1 ... +}; + +template class cConstantF : public cAtomicF +{ + public : + typedef cAtomicF tAtom; + typedef typename tAtom::tImplemF tImplemF; + typedef typename tImplemF::tCoordF tCoordF; + typedef typename tCoordF::tFormula tFormula; + typedef typename tCoordF::tBuf tBuf; + friend tCoordF; + + bool IsCste0() const override {return mVal==0.0;} ///< Here we know if we are constant 0 + bool IsCste1() const override {return mVal==1.0;} ///< Here we know if we are constant 1 + const TypeElem * ValCste() const override {return &mVal;} + + protected : + inline cConstantF(tCoordF * aCoordF,const std::string & aName,int aNum,const TypeElem& aVal) : + tAtom (aCoordF,aName), + mNum (aNum), + mVal (aVal) + { + for (auto & aV : tImplemF::mBuf) aV = aVal; // Initialize buf with const val + } + int mNum; + const TypeElem mVal; +}; + + +/* *************************************************** */ +/* *************************************************** */ +/* * * */ +/* * cImplemF / cCoordinatorF * */ +/* * External Definition of methods * */ +/* * * */ +/* *************************************************** */ +/* *************************************************** */ + + /* ---------------------- */ + /* cImplemF */ + /* ---------------------- */ + +template int cImplemF::RecursiveRec() const +{ + int aRes = 1; + for (const auto & aF : Ref()) + { + aRes += aF->RecursiveRec(); + } + return aRes; +} + +template void cImplemF::CalcRecursiveDepth(std::vector & aVReached) +{ + if (mDepth != -1) return; // if we were already here , nothing to do + for (const auto & aF : Ref()) + { + aF->CalcRecursiveDepth(aVReached); // parse sub formula + mDepth = std::max(mDepth,aF->mDepth); // Memo max depth + } + mDepth++; // my depth is 1 + max of depth of my referenced formulas + aVReached.push_back(tFormula(this)); +} + /* ---------------------- */ + /* cCoordinatorF */ + /* ---------------------- */ + +template +std::vector cCoordinatorF::MakeAutomId(const std::string & aPrefix,int aNb) +{ + std::vector aRes; + for (int aK=0 ; aK +cCoordinatorF::cCoordinatorF +( + int aSzBuf, + const std::vector & aVNameUK, + const std::vector & aVNameObs +) : + mSzBuf (aSzBuf), + mNbCste (0), + mNbUK (aVNameUK.size()), + mNbObs (aVNameObs.size()), + mCste0 (CsteOfVal(0.0)), + mCste1 (CsteOfVal(1.0)), + mCste2 (CsteOfVal(2.0)), + mNbInBuf (0), + mBufLineRes (mSzBuf), + mBufRes () + +{ + mBufRes.reserve(mSzBuf); + // Generate all the function corresponding to unknown + for (size_t aNumUK=0 ; aNumUK(this,aVNameUK[aNumUK],aNumUK)); // Create it + mVFormUnknowns.push_back(aFuncUK); // Push it in vector of coordinat func + AddFormula(aFuncUK); // Add to all func + } + + // Generate all the function corresponding to observations + for (size_t aNumObs=0 ; aNumObs(this,aVNameObs[aNumObs],aNumObs)); // Create it + mVFormObservations.push_back(aFuncObs); // Push it in vector of coordinat func + AddFormula(aFuncObs); // Add to all func + } +} + +template +cCoordinatorF::cCoordinatorF(int aSzBuf,int aNbUK,int aNbObs) : + cCoordinatorF(aSzBuf,MakeAutomId("X",aNbUK),MakeAutomId("V",aNbObs)) +{ +} + +template +cCoordinatorF::~cCoordinatorF() +{ + for (auto & aForm : mVAllFormula) + { + aForm.FreeMem(); + } +} + +template +cFormula cCoordinatorF::CsteOfVal(const TypeElem & aCste) +{ + tFormula & aRef = mDicoCste[aCste]; + if (aRef.IsNull()) // If it was not existing, the map contain now the def element + { + aRef=tFormula(new cConstantF(this,"C"+std::to_string(mNbCste),mNbCste,aCste)); + mNbCste++; + AddFormula(aRef); + } + + return aRef; +} + +template +cFormula cCoordinatorF::FuncOfName(const std::string & aName) const +{ + const auto & anIt = mDicoFunc.find(aName); + if (anIt == mDicoFunc.end()) InternalError ("Try to acces non existing name :[" + aName + "]"); + return anIt->second; +} + +template +void cCoordinatorF::SetNewVals + ( + std::vector & aVF, + const std::string & aMes, + const std::vector & aVVals + ) +{ + if (aVF.size() != aVVals.size()) // Check size are coherents + { + UserSError("Bad size in " + aMes); + } + for (size_t aK=0 ; aKSetBuf(mNbInBuf,aVVals[aK]); + } +} + +template +void cCoordinatorF::PushNewEvals + ( + const std::vector & aVUK, + const std::vector & aVObs + ) +{ + + if (mNbInBuf >= mSzBuf) + { + UserSError("Push exceed buffer capacity"); + } + SetNewVals(mVFormUnknowns,"Unknowns",aVUK); + SetNewVals(mVFormObservations,"Observations",aVObs); + mNbInBuf++; +} + + +template +void cCoordinatorF::SetCurFormulasWithDerivative(const std::vector & aVF) +{ + std::vector aVWDer; + for (const auto & aF : aVF) + { + aVWDer.push_back(aF); + for (size_t aUK=0 ; aUKDerivate(aUK)); + } + } + SetCurFormulas(aVWDer); + mWithDer = true; + mSzInterval = 1+mNbUK; +} + +template +void cCoordinatorF::SetCurFormulas(const std::vector & aVF) +{ + mWithDer=false; + mSzInterval = 1; + mVCurF = aVF; + + // Erase previous + for (auto & aF : mVReachedF) + aF->SetDepth(-1); + mVReachedF.clear(); + + // Compute depth for topologicall sort + for (auto & aF : mVCurF) + { + aF->CalcRecursiveDepth(mVReachedF); + } + + // Use depth to have topological sort + std::sort + ( + mVReachedF.begin(), + mVReachedF.end(), + [](const tFormula & aF1,const tFormula &aF2) {return aF1->Depth() < aF2->Depth();} + ); + + + // Make Buf of Res to have right size + for (auto & aLine : mBufLineRes) + { + aLine.resize(mVCurF.size()); + } +} + +template +const std::vector *> & cCoordinatorF::EvalAndClear() +{ + // Make the real hard stuff, compute the data, the depedancy ordering should make it coherent + for (auto & aF : mVReachedF) + { + aF->ComputeBuf(0,mNbInBuf); + } + + mBufRes.clear(); + for (size_t aKLine=0 ; aKLine & aLine = mBufLineRes[aKLine]; + mBufRes.push_back(&aLine); + for (size_t aKFunc=0 ; aKFunc< mVCurF.size() ; aKFunc++) + aLine[aKFunc] = mVCurF[aKFunc]->GetBuf(aKLine); + } + + return mBufRes; +} + +template +void cCoordinatorF::ShowStackFunc() const +{ + for (const auto & aForm : mVAllFormula) + { + if (aForm->Depth()==-1) + std::cout << "---" ; + else + std::cout << "-" << aForm->Depth() << "-"; + + std::cout << " Form[" << aForm->NumGlob() << "] => " << aForm->Name(); + const TypeElem * aPV = aForm->ValCste(); + if (aPV) + std::cout << " ; Val=" << *aPV; + std::cout << "\n"; + } + + std::cout << "REACHED "; + for (const auto & aForm : mVReachedF) + { + std::cout << aForm->NumGlob() << " "; + } + std::cout << "\n"; + + std::cout << "CUR "; + for (const auto & aForm : mVCurF) + { + std::cout << aForm->NumGlob() << " "; + } + std::cout << "\n"; +} + +}; // NS_MMVII_FormalDerivative + +#include "MMVII_FormDer_UnaryOp.h" +#include "MMVII_FormDer_BinaryOp.h" + +/* +https://www.itl.nist.gov/div898/strd/nls/data/ratkowsky3.shtml +http://en.wikipedia.org/wiki/Automatic_differentiation +https://git.irc.umbc.edu/photorig/openMVG/blob/260584fda68dce095e279362efd24a2d7d7cf5d9/src/third_party/ceres-solver/include/ceres/jet.h + +https://mc-stan.org/ +http://www.met.reading.ac.uk/clouds/adept/array_features.html +http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.89.7749&rep=rep1&type=pdf +http://www.autodiff.org/ +*/ + +#endif // _MMVII_FormalDerivative_H_ From 5355123b786d5f349520da7b133f7973830903cf Mon Sep 17 00:00:00 2001 From: deseilligny Date: Thu, 5 Mar 2020 14:37:17 +0100 Subject: [PATCH 36/49] Deriv formal 4 Joe --- MMVII/Doc/Doc2007.tex | 1 + MMVII/Doc/Methods/Vrac.tex | 11 + MMVII/bin/Mk-MMVII.makefile | 2 +- MMVII/include/MMVII_Derivatives.h | 4 +- MMVII/include/MMVII_Error.h | 3 +- MMVII/include/MMVII_FormDer_BinaryOp.h | 7 + MMVII/include/MMVII_FormDer_UnaryOp.h | 91 ++- MMVII/include/MMVII_FormalDerivatives.h | 118 ++- MMVII/src/TestLibsExtern/TestCmpOpVect.cpp | 162 +++++ .../TestLibsExtern/TestDynCompDerivatives.cpp | 672 ++++++++++-------- MMVII/src/Utils/uti_memory.cpp | 6 + 11 files changed, 723 insertions(+), 354 deletions(-) create mode 100755 MMVII/Doc/Methods/Vrac.tex create mode 100644 MMVII/src/TestLibsExtern/TestCmpOpVect.cpp diff --git a/MMVII/Doc/Doc2007.tex b/MMVII/Doc/Doc2007.tex index b228a9b9f1..3a486396ac 100755 --- a/MMVII/Doc/Doc2007.tex +++ b/MMVII/Doc/Doc2007.tex @@ -151,6 +151,7 @@ \part{Generalities} \part{Methodologies} \include{Methods/TiePoints} +\include{Methods/Vrac} diff --git a/MMVII/Doc/Methods/Vrac.tex b/MMVII/Doc/Methods/Vrac.tex new file mode 100755 index 0000000000..83407e4030 --- /dev/null +++ b/MMVII/Doc/Methods/Vrac.tex @@ -0,0 +1,11 @@ + + +\chapter{Several stuff unfinished} + + +%--------------------------------------------- +%--------------------------------------------- +%--------------------------------------------- + +%\section{Co-variance propagation} + diff --git a/MMVII/bin/Mk-MMVII.makefile b/MMVII/bin/Mk-MMVII.makefile index 627b7a5f2d..acebaa94a1 100644 --- a/MMVII/bin/Mk-MMVII.makefile +++ b/MMVII/bin/Mk-MMVII.makefile @@ -116,7 +116,7 @@ HEADER=$(wildcard ${MMV2DirIncl}*.h) #== CFLAGS etc... # CXX=g++ -CFlags="-std=c++14" "-Wall" "-Werror" "-O4" "-march=native" -I${MMV2Dir} -I${MMDir}/include/ -I${MMDir} +CFlags= "-std=c++14" "-Wall" "-Werror" "-O4" "-march=native" -I${MMV2Dir} -I${MMDir}/include/ -I${MMDir} BOOST_LIBS= -lboost_system -lboost_serialization -lboost_regex -lboost_filesystem QTAnnLibs= -lXext /usr/lib/x86_64-linux-gnu/libQt5Core.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Xml.so /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so -lGLU -lGL -ldl -lpthread /usr/lib/x86_64-linux-gnu/libQt5Xml.so /usr/lib/x86_64-linux-gnu/libQt5Concurrent.so /usr/lib/x86_64-linux-gnu/libQt5OpenGL.so /usr/lib/x86_64-linux-gnu/libQt5Widgets.so /usr/lib/x86_64-linux-gnu/libQt5Gui.so /usr/lib/x86_64-linux-gnu/libQt5Core.so ../../lib/libANN.a LibsFlags= ${MMV2ElisePath} -lX11 ${BOOST_LIBS} ${QTAnnLibs} diff --git a/MMVII/include/MMVII_Derivatives.h b/MMVII/include/MMVII_Derivatives.h index 8052285633..4e0c9822b9 100644 --- a/MMVII/include/MMVII_Derivatives.h +++ b/MMVII/include/MMVII_Derivatives.h @@ -388,11 +388,11 @@ template cEpsNum operator/(const cEpsNum& f, const cEpsNum& g) { return cEpsNum(f.mNum / g.mNum, (f.mEps / g.mNum) - g.mEps *(f.mNum/Square(g.mNum))); } -template cEpsNum Square(const cEpsNum& f) { +template cEpsNum square(const cEpsNum& f) { return cEpsNum(Square(f.mNum) , 2* f.mNum* f.mEps ); } -template cEpsNum Cube(const cEpsNum& f) { +template cEpsNum cube(const cEpsNum& f) { return cEpsNum(Cube(f.mNum) , (3*Square(f.mNum)) * f.mEps ); } diff --git a/MMVII/include/MMVII_Error.h b/MMVII/include/MMVII_Error.h index 37523dc6da..cb5e951a6c 100644 --- a/MMVII/include/MMVII_Error.h +++ b/MMVII/include/MMVII_Error.h @@ -100,7 +100,8 @@ void MMVII_UsersErrror(const eTyUEr &,const std::string & aMes); MMVII_INTERNAL_ASSERT_tiny(ValidInvertibleFloatValue(VALUE),"Non invertible value") -template void IgnoreUnused( const T& ) { }; +template void IgnoreUnused( const T& ) { }; /// To avoid some warning on TEMPORARILY unused variable +void DoNothingWithIt(void *); /// Used to avoid compiler optimization, make believe it can be used }; diff --git a/MMVII/include/MMVII_FormDer_BinaryOp.h b/MMVII/include/MMVII_FormDer_BinaryOp.h index 30a40b7b02..926337d960 100644 --- a/MMVII/include/MMVII_FormDer_BinaryOp.h +++ b/MMVII/include/MMVII_FormDer_BinaryOp.h @@ -363,6 +363,13 @@ inline cFormula operator /(const cFormula & aF1,const TypeEl return aF1/aF1->CoordF()->CsteOfVal(aV2) ; } + // powpowpowpowpowpowpow + +template cFormula pow (const TypeElem & aV1,const cFormula & aF2) +{ + return exp(log(aV1)*aF2); +} + }; // NS_MMVII_FormalDerivative diff --git a/MMVII/include/MMVII_FormDer_UnaryOp.h b/MMVII/include/MMVII_FormDer_UnaryOp.h index e8dc70737a..776cfbcb12 100644 --- a/MMVII/include/MMVII_FormDer_UnaryOp.h +++ b/MMVII/include/MMVII_FormDer_UnaryOp.h @@ -33,10 +33,24 @@ template class cUnaryF : public cImplemF typedef typename tImplemF::tBuf tBuf; virtual std::string NameOperator() const = 0; + virtual std::string PostName() const {return "";} std::string InfixPPrint() const override { - return NameOperator() + " "+ mF->InfixPPrint() ; + return NameOperator() + " "+ mF->InfixPPrint() + PostName() ; } + + /// In the cas an additional parameter is used, as "powc F30 3.14" + TypeElem Extrac1Param (const std::string & aString) + { + std::string aBuf1,aBuf2; + TypeElem aVal; + + std::stringstream aStream(aString); + + aStream >> aBuf1 >> aBuf2 >> aVal; + return aVal; + } + protected : std::vector Ref() const override{return std::vector{mF};} inline cUnaryF(tFormula aF,const std::string & aName) : @@ -49,9 +63,7 @@ template class cUnaryF : public cImplemF }; -/* Probably not more efficient than implementing Square as F*F, because derivation would give - F'F + F'F BUT would be reorder as F'F + F'F and unified ... - By the way it was a test, if necessary replace Square by F*F */ +/** Classes for square */ template class cSquareF : public cUnaryF { public : @@ -76,6 +88,30 @@ template class cSquareF : public cUnaryF } }; +template class cCubeF : public cUnaryF +{ + public : + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cCubeF (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) + { } + private : + std::string NameOperator() const override {return "cube";} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return 3.0 * mF->Derivate(aK) * square(mF); + } +}; + template class cExpF : public cUnaryF { @@ -150,6 +186,35 @@ template class cLogF : public cUnaryF }; +template class cPowCste : public cUnaryF +{ + public : + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cPowCste (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName), + mExp (cUnaryF::Extrac1Param (aName)) + { + } + private : + std::string NameOperator() const override {return "powc";} + virtual std::string PostName() const {return " " + std::to_string(mExp);} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return (mExp*mF->Derivate(aK)) * pow(mF,mExp-1.0); + } + + TypeElem mExp; +}; + /* ---------------------------------------*/ /* Global Functio on unary op */ @@ -169,10 +234,10 @@ template class cGenOperatorUnaire typedef typename TypeCompiled::tImplemF tImplemF; typedef typename tImplemF::tFormula tFormula; - static tFormula Generate(tFormula aF,const std::string & aNameOp) + static tFormula Generate(tFormula aF,const std::string & aNameOp,const std::string & Aux="") { tCoordF* aPCont = aF->CoordF(); // Get the context from the formula - std::string aNameForm = aF.NameFormulaUn(aNameOp); // Compute the name formula should have + std::string aNameForm = aF.NameFormulaUn(aNameOp,Aux); // Compute the name formula should have if (aPCont->ExistFunc(aNameForm)) // If it already exist return aPCont->FuncOfName(aNameForm); // Then return formula whih this name @@ -189,6 +254,12 @@ inline cFormula square(const cFormula & aF) return cGenOperatorUnaire >::Generate(aF,"square"); } +template +inline cFormula cube(const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"cube"); +} + template inline cFormula exp(const cFormula & aF) { @@ -205,6 +276,14 @@ inline cFormula log (const cFormula & aF) return cGenOperatorUnaire >::Generate(aF,"log"); } +template +inline cFormula pow (const cFormula & aF,const TypeElem& aVal ) +{ + if (aVal==TypeElem(2)) return square(aF); + if (aVal==TypeElem(3)) return cube(aF); + return cGenOperatorUnaire >::Generate(aF,"powc",std::to_string(aVal)); +} + }; // NS_MMVII_FormalDerivative diff --git a/MMVII/include/MMVII_FormalDerivatives.h b/MMVII/include/MMVII_FormalDerivatives.h index 7606d6408c..751ed4c15c 100644 --- a/MMVII/include/MMVII_FormalDerivatives.h +++ b/MMVII/include/MMVII_FormalDerivatives.h @@ -1,6 +1,17 @@ #ifndef _MMVII_FormalDerivative_H_ #define _MMVII_FormalDerivative_H_ +#define WITH_MMVII false +#define WITH_EIGEN false + + +#if WITH_EIGEN +#include "ExternalInclude/Eigen/Dense" // TODO => replace with standard eigen file +#define EIGEN_ALLIGNMENT_IN_MMVII EIGEN_MAKE_ALIGNED_OPERATOR_NEW +#else +#define EIGEN_ALLIGNMENT_IN_MMVII +#endif + /** \file MMVII_FormalDerivate.h \brief File for generating formal derivate @@ -14,7 +25,7 @@ * definition of "main" classes : cFormula , cCoordinatorF , cImplemF " ; * the 3 class for Atomic formula who will (probably) stay the same : Unkown, Observation, Constants - This file include 2 files corresponding to type of formula : + This file include 2 files corresponding to following type of formula : * classes for "unary" formulas in "MMVII_FormDer_UnaryOp.h" * classes for "binary" formulas in "MMVII_FormDer_BinaryOp.h" @@ -44,14 +55,29 @@ - indicate to the coordinator the formula you want work on, with generally its derivate - evaluate the values of the formula for given unknows and observations - cFormula is no more than an encapsulation of the "concrete" class + cFormula is no more than an encapsulation of a pointer on the "concrete" class cImplemF. + + * cImplemF : is the mother class of all the formula. It's a pure abstract class, it contains + several pure virtual methods. The two main methods are "Derivate" and "ComputeBuf", this is + the two methods the users will have to define when extension to the library with new + operator is required. + + - cFormula Derivate(int aK) return the formula of its derivate by Xk. Heres is + two example extract from the code, one for multiplication, other from unknowns : + + o return mF2*mF1->Derivate(aK) + mF1*mF2->Derivate(aK); // From cMulF : (FG)' = F'G + FG' + o return (aK==mNumUnk) ? tImplemF::mCoordF->Cste1() : tImplemF::mCoordF->Cste0(); // from cUnknownF + + + - void ComputeBuf(int aK0,int aK1) : update the buffer of its data, once it subformula has + been updated, this is method that does the real job. Here an extract from cExpF and cDivF : + + o for (int aK=aK0 ; aK #include #include +#include +#include "memory.h" +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #endif //========================================================== WITH_MMVI @@ -83,6 +125,9 @@ namespace NS_MMVII_FormalDerivative /// This function is required if we want to have same operation on numbers double and formulas double square(const double & aV) {return aV*aV;} +double square(const float & aV) {return aV*aV;} +double cube(const double & aV) {return aV*aV*aV;} +double cube(const float & aV) {return aV*aV*aV;} // static double square(const float & aV) {return aV*aV;} void Error(const std::string & aMes,const std::string & aExplanation) @@ -162,54 +207,44 @@ template class cCoordinatorF; // -------- Declaration all binary operators ---------------- // For each operator with have the 3 versions "Formula x Formula" , - // "Number x Formula" and "Formula x Number" + // "Number x Formula" and "Formula x Number" , the two last are rather + // syntactic suggar (i.e. make usage easier, but do not extend the library power) + // Operator + template cFormula operator +(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator +(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator +(const cFormula & aF1,const TypeElem & aV2); +template cFormula operator +(const TypeElem & aV1,const cFormula & aF2); +template cFormula operator +(const cFormula & aF1,const TypeElem & aV2); // Operator * template cFormula operator *(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator *(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator *(const cFormula & aF1,const TypeElem & aV2); +template cFormula operator *(const TypeElem & aV1,const cFormula & aF2); +template cFormula operator *(const cFormula & aF1,const TypeElem & aV2); // Operator - template cFormula operator -(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator -(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator -(const cFormula & aF1,const TypeElem & aV2); +template cFormula operator -(const TypeElem & aV1,const cFormula & aF2); +template cFormula operator -(const cFormula & aF1,const TypeElem & aV2); // Operator / template cFormula operator /(const cFormula & aF1 ,const cFormula & aF2); -template cFormula - operator /(const TypeElem & aV1,const cFormula & aF2); -template cFormula - operator /(const cFormula & aF1,const TypeElem & aV2); +template cFormula operator /(const TypeElem & aV1,const cFormula & aF2); +template cFormula operator /(const cFormula & aF1,const TypeElem & aV2); // pow template cFormula pow (const cFormula & aF1 ,const cFormula & aF2); -template cFormula - pow (const TypeElem & aV1,const cFormula & aF2); -template cFormula - pow (const cFormula & aF1,const TypeElem & aV2); +template cFormula pow (const TypeElem & aV1,const cFormula & aF2); + /// This one defined in MMVII_FormDer_UnaryOp.h +template cFormula pow (const cFormula & aF1,const TypeElem & aV2); // -------- Declare all unary operators ---------------- -template cFormula - square(const cFormula & aF); -template cFormula - exp(const cFormula & aF); -template cFormula - operator - (const cFormula & aF); -template cFormula - log(const cFormula & aF); +template cFormula square(const cFormula & aF); +template cFormula cube(const cFormula & aF); +template cFormula exp(const cFormula & aF); +template cFormula operator - (const cFormula & aF); +template cFormula log(const cFormula & aF); // -------- Declaration of Coordinator class ---------------- @@ -231,8 +266,8 @@ template class cCoordinatorF : public cMemCheck cCoordinatorF(const cCoordinatorF &) = delete; // --------------------------- Accessors to Atomic Formulas ------------------- - const std::vector >& VUk() const {return mVFormUnknowns;} ///< Unknowns - const std::vector >& VObs() const {return mVFormObservations;} ///< Observations + const std::vector& VUk() const {return mVFormUnknowns;} ///< Unknowns + const std::vector& VObs() const {return mVFormObservations;} ///< Observations // --------------------------- Manipulation ------------------- @@ -303,6 +338,8 @@ template class cCoordinatorF : public cMemCheck tFormula Cste2() const {return mCste2;} ///< Yet another Acces to a current constant /// Tuning --- Print the stack of function as a tree inline void ShowStackFunc() const; + /// Formula used for computation, + const std::vector& VReached() const {return mVReachedF;} size_t NbCurFonc() const {return mVAllFormula.size();} @@ -495,10 +532,12 @@ template class cFormula return "F"+ std::to_string((*this)->NumGlob()) + aNameOper + "F" + std::to_string(aF2->NumGlob()); } - /// Generate the unique indentifier of a unary expression - std::string NameFormulaUn(const std::string & aNameOper) const + /// Generate the unique indentifier of a unary expression, Aux is used for add parameter like pow(F,Cste) + std::string NameFormulaUn(const std::string & aNameOper,const std::string& Aux) const { - return aNameOper + " F" + std::to_string((*this)->NumGlob()); + std::string aRes = aNameOper + " F" + std::to_string((*this)->NumGlob()) ; + if (Aux!="") aRes += " " + Aux; + return aRes; } /// To allow destruction without giving access to raw pointer void FreeMem() {delete mPtr; mPtr=nullptr;} @@ -836,6 +875,7 @@ const std::vector *> & cCoordinatorF::EvalAndCle for (size_t aKFunc=0 ; aKFunc< mVCurF.size() ; aKFunc++) aLine[aKFunc] = mVCurF[aKFunc]->GetBuf(aKLine); } + mNbInBuf = 0; return mBufRes; } diff --git a/MMVII/src/TestLibsExtern/TestCmpOpVect.cpp b/MMVII/src/TestLibsExtern/TestCmpOpVect.cpp new file mode 100644 index 0000000000..3cc73f6af4 --- /dev/null +++ b/MMVII/src/TestLibsExtern/TestCmpOpVect.cpp @@ -0,0 +1,162 @@ +#include "include/MMVII_all.h" +// #include "ExternalInclude/Eigen/Dense" +#include "/usr/local/include/Eigen/Dense" +#include "ceres/jet.h" + +using ceres::Jet; + + + +namespace MMVII +{ + +template class cTestOperationVector +{ + public : + typedef float tTEigen; + typedef Eigen::Array tEigenSubArray; + typedef Eigen::Map tEigenWrap; + + static void DoIt(); +}; + + +template void cTestOperationVector::DoIt() +{ + Eigen::Array aAFix ; // = Eigen::Array::Random(); + + Eigen::Array aADyn(SzTEigen); + Eigen::Array aADyn1(1,1); + Eigen::Array aADyn2(1,SzTEigen); + + + int aNb= 1e7 * (90.0/SzTEigen) ; + double aT0 = cMMVII_Appli::CurrentAppli().SecFromT0(); + + // Eigen vecteur fix + for (int aK=0 ; aK aBloc = aADyn.head(SzTEigen-1); + aBloc(0,0) = aADyn(0,0) + 1; + + for (int aK=0 ; aK aJet; + for (int aK=0 ; aK::DoIt(); + cTestOperationVector::DoIt(); + cTestOperationVector::DoIt(); +} + +};// namespace MMVII + + diff --git a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp index f70c4e7f24..3c802669cd 100644 --- a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp +++ b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp @@ -1,8 +1,43 @@ +#include "include/MMVII_all.h" +#include "include/MMVII_Derivatives.h" #include "include/MMVII_FormalDerivatives.h" + +#include "ceres/jet.h" + +namespace FD = NS_MMVII_FormalDerivative; +using ceres::Jet; +using MMVII::cEpsNum; + + +// ========== Define on Jets two optimization as we did on formal + +template +inline Jet square(const Jet& f) { + return Jet(FD::square(f.a), 2.0*f.a * f.v); +} + +template +inline Jet cube(const Jet& f) { + return Jet(FD::cube(f.a), 3.0*FD::square(f.a) * f.v); +} + +//========================================= + +static auto BeginOfTime = std::chrono::steady_clock::now(); +double TimeElapsFromT0() +{ + auto now = std::chrono::steady_clock::now(); + return std::chrono::duration_cast(now - BeginOfTime).count() / 1e6; +} + + /** \file TestDynCompDerivatives.cpp \brief Illustration and test of formal derivative {I} A detailled example of use, and test of correctness => for the final user + + {II} An example on basic function to get some insight in the way it works + */ @@ -10,7 +45,6 @@ /* The library is in the namespace NS_MMVII_FormalDerivative, we want to use it conveniently without the "using" directive, so create an alias FD */ -namespace FD = NS_MMVII_FormalDerivative; /* {I} ======================== EXAMPLE OF USE : Ratkoswky ========================================== @@ -54,6 +88,8 @@ std::vector RatkoswkyResidual const Type & x = aVObs[1]; // Warn the data I got were in order y,x .. const Type & y = aVObs[0]; + pow(b1,2.7); + // Model : y = b1 / (1+exp(b2-b3*x)) ^ 1/b4 + Error() [Ratko] return { b1 / pow(1.0+exp(b2-b3*x),1.0/b4) - y } ; } @@ -102,7 +138,7 @@ void TestRatkoswky(const tVRatkoswkyData & aVData,const std::vector & aI } // Now run the computation on "pushed" data, we have the derivative const std::vector *> & aVEvals = aCFD.EvalAndClear(); - assert(aVEvals.size()==aVData.size()); + assert(aVEvals.size()==aVData.size()); // Check we get the number of computation we inserted //-[3] ========= Now we can use the derivatives ========================== // directly on aVEvals, or with interface : DerComp(), ValComp() @@ -144,7 +180,7 @@ void TestRatkoswky(const tVRatkoswkyData & aVData,const std::vector & aI /* {II} ======================== ========================================== - This second example, we take a very basic example to analyse + This second example, we take a very basic example to analyse some part of the */ template std::vector FitCube @@ -158,10 +194,18 @@ std::vector FitCube const Type & x = aVObs[0]; const Type & y = aVObs[1]; - - Type F = (a + b *x); + + // Naturally the user would write that + if (false) + { + Type F = (a+b *x); + return {F*F*F - y}; + return {cube(a+b *x)- y}; + } + - return {F*F*F - y}; + // but here we want to test the reduction process + return {(a+b *x)*(x*b+a)*(a+b *x) - y}; } void InspectCube() @@ -169,7 +213,10 @@ void InspectCube() std::cout << "===================== TestRatkoswky ===================\n"; // Create a context where values are stored on double and : - // 4 unknown (b1-b4), 2 observations, a buffer of size 100 + // 2 unknown, 2 observations, a buffer of size 100 + // aCFD(100,2,2) would have the same effect for the computation + // The variant with vector of string, will fix the name of variables, it + // will be usefull when will generate code and will want to analyse it FD::cCoordinatorF aCFD(100,{"a","b"},{"x","y"}); // Inspect vector of unknown and vector of observations @@ -185,369 +232,384 @@ void InspectCube() FD::cFormula aResidu = aVResidu[0]; // Inspect the formula - std::cout << "RESIDU FORMULA=[" << aResidu->InfixPPrint() <<"]\n"; + std::cout << "RESIDU FORMULA, Num=" << aResidu->NumGlob() << " Name=" << aResidu->Name() <<"\n"; + std::cout << " PP=[" << aResidu->InfixPPrint() <<"]\n"; - // Inspect the derivative relatively to b2 - std::cout << "DERIVEATE FORMULA=[" << aResidu->Derivate(1)->InfixPPrint() <<"]\n"; + // Inspect the derivative relatively to b + auto aDerb = aResidu->Derivate(1); + std::cout << "DERIVATE FORMULA , Num=" << aDerb->NumGlob() << " Name=" << aDerb->Name() <<"\n"; + std::cout << " PP=[" << aDerb->InfixPPrint() <<"]\n"; // Set the formula that will be computed aCFD.SetCurFormulasWithDerivative(aVResidu); // Print stack of formula + std::cout << "====== Stack === \n"; aCFD.ShowStackFunc(); getchar(); } -#include "ExternalInclude/Eigen/Dense" // TODO => replace with standard eigen file - -/* -------------------------------------------------- */ +/* {III} ======================== Test perf on colinearit equation ================================= + On this example -/* -template -std::vector ResiduRat43 - ( - const std::vector & aVUk, - const std::vector & aVObs - ) */ -/* *************************************************** */ -/* *************************************************** */ -/* * * */ -/* * TEST * */ -/* * * */ -/* *************************************************** */ -/* *************************************************** */ -using FD::square; +#define NB_UK 19 +#define NB_OBS 11 -std::vector VRand(unsigned aSeed,int aNb) -{ - std::srand(aSeed); - std::vector aVRes; - for (int aK=0 ; aK -std::vector Residu +/* Capital letter for 3D variable/formulas and small for 2D */ +template std::vector FraserCamColinearEq ( - const std::vector & aVUk, - const std::vector & aVObs + const std::vector & aVUk, + const std::vector & aVObs ) { - const Type & X0 = aVUk.at(0); - const Type & X1 = aVUk.at(1); - const Type & X2 = aVUk.at(2); - - const Type & V0 = aVObs.at(0); - const Type & V1 = aVObs.at(1); - - Type aF0 = 2.0 *X0 + X0*X1*X2 + pow(square(V0)+square(X0-X2),(X1*V1)/X2); - Type aF1 = log(square(X0+X1+X2+V0+V1)); - Type aF2 = -aF0 + aF1; - - return {aF0,aF1,aF2}; -} + assert (aVUk.size() ==NB_UK) ;// FD::UserSError("Bad size for unknown"); + assert (aVObs.size()==NB_OBS) ;// FD::UserSError("Bad size for observations"); + + // 0 - Ground Coordinates of projected point + const auto & XGround = aVUk[0]; + const auto & YGround = aVUk[1]; + const auto & ZGround = aVUk[2]; +// std::cout << "LLL " << __LINE__ << " " << XGround.mNum << " " << YGround.mNum << " " << ZGround.mNum << "\n"; + + // 1 - Pose / External parameter + // 1.1 Coordinate of camera center + const auto & C_XCam = aVUk[3]; + const auto & C_YCam = aVUk[4]; + const auto & C_ZCam = aVUk[5]; + + // 1.2 Coordinate of Omega vector coding the unknown "tiny" rotation + const auto & Wx = aVUk[6]; + const auto & Wy = aVUk[7]; + const auto & Wz = aVUk[8]; + + // 2 - Intrinsic parameters + // 2.1 Principal point and Focal + const auto & xPP = aVUk[ 9]; + const auto & yPP = aVUk[10]; + const auto & zPP = aVUk[11]; // also named as focal + + // Also in this model we confond Principal point and distorsion center, name + // explicitely the dist center case we change our mind + const auto & xCD = xPP; + const auto & yCD = yPP; + + // 2.2 Radial distortions coefficients + const auto & k2D = aVUk[12]; + const auto & k4D = aVUk[13]; + const auto & k6D = aVUk[14]; + + // 2.3 Decentric distorstion + const auto & p1 = aVUk[15]; + const auto & p2 = aVUk[16]; + + // 2.3 Affine distorsion + const auto & b1 = aVUk[17]; + const auto & b2 = aVUk[18]; + + // Vector P->Cam + auto XPC = XGround-C_XCam; + auto YPC = YGround-C_YCam; + auto ZPC = ZGround-C_ZCam; + + + // Coordinate of points in camera coordinate system, do not integrate "tiny" rotation + + auto XCam0 = aVObs[0] * XPC + aVObs[1]* YPC + aVObs[2]*ZPC; + auto YCam0 = aVObs[3] * XPC + aVObs[4]* YPC + aVObs[5]*ZPC; + auto ZCam0 = aVObs[6] * XPC + aVObs[7]* YPC + aVObs[8]*ZPC; + +// std::cout << "LLL " << __LINE__ << " " << aVObs[0] << " " << aVObs[1] << " " << aVObs[2] << "\n"; + + // Now "tiny" rotation + // Wx X Wy * Z - Wz * Y + // Wy ^ Y = Wz * X - Wx * Z + // Wz Z Wx * Y - Wy * X + + // P = P0 + W ^ P0 + + auto XCam = XCam0 + Wy * ZCam0 - Wz * YCam0; + auto YCam = YCam0 + Wz * XCam0 - Wx * ZCam0; + auto ZCam = ZCam0 + Wx * YCam0 - Wy * XCam0; + + // Projection : (xPi,yPi,1) is the bundle direction in camera coordinates + + auto xPi = XCam/ZCam; + auto yPi = YCam/ZCam; +// std::cout << "LLL " << __LINE__ << " " << XCam.mNum << " " << YCam.mNum << " " << ZCam.mNum << "\n"; +// std::cout << "LLL " << __LINE__ << " " << xPi.mNum << " " << yPi.mNum << "\n"; + + // Coordinate relative to distorsion center + auto xC = xPi-xCD; + auto yC = yPi-yCD; + auto x2C = square(xC); // Use the indermediar value to (probably) optimize Jet + auto y2C = square(yC); + auto xyC = xC * yC; + auto Rho2C = x2C + y2C; + + // Compute the distorsion + auto rDist = k2D*Rho2C + k4D * square(Rho2C) + k6D*cube(Rho2C); + auto affDist = b1 * xC + b2 * yC; + auto decX = p1*(3.0*x2C + y2C) + p2*(2.0*xyC); + auto decY = p2*(3.0*y2C + x2C) + p1*(2.0*xyC); + + auto xDist = xPi + xC * rDist + decX + affDist; + auto yDist = yPi + yC * rDist + decY ; -void TestDyn() -{ - int aNbUk = 3; - int aNbObs = 2; + // Use principal point and focal + auto xIm = xPP + zPP * xDist; + auto yIm = yPP + zPP * yDist; - FD::cCoordinatorF aCFD(100,aNbUk,aNbObs); - aCFD.SetCurFormulasWithDerivative(Residu(aCFD.VUk(),aCFD.VObs())); +// std::cout << "LLL " << __LINE__ << " " << xIm.mNum << " " << yIm.mNum << "\n"; - int aNbT = 2; - unsigned aSeedUk=333, aSeedObs=222; - for (int aKTest=0 ; aKTest aVUk = VRand(aKTest+aSeedUk ,aNbUk); - std::vector aVObs = VRand(aKTest+aSeedObs,aNbObs); - aCFD.PushNewEvals(aVUk,aVObs); - } - aCFD.EvalAndClear(); + auto x_Residual = xIm - aVObs[ 9]; + auto y_Residual = yIm - aVObs[10]; - for (int aKTest=0 ; aKTest & aLineDyn = *(aVDyn[aKTest]); - std::vector aVUk = VRand(aKTest+aSeedUk ,aNbUk); - std::vector aVObs = VRand(aKTest+aSeedObs,aNbObs); - std::vector aVRes = Residu(aVUk,aVObs); - int aNbRes = aVRes.size(); +// getchar(); - for (int aKx=0 ; aKx aVUkP = aVUk; - std::vector aVUkM = aVUk; - aVUkP[aKx] += aEps; - aVUkM[aKx] -= aEps; - - std::vector aVResP = Residu(aVUkP,aVObs); - std::vector aVResM = Residu(aVUkM,aVObs); - for (int aKRes=0 ; aKRes tFormulaTest; + private : + + static const int TheNbUk = 19; + static const int TheNbObs = 11; + typedef Jet tJets; + typedef cEpsNum tEps; -// #include "include/MMVII_all.h" -// #include "include/MMVII_Derivatives.h" + static const std::vector TheVNamesUnknowns; + static const std::vector TheVNamesObs; + /// Return unknowns vect after fixing XYZ (ground point) + const std::vector & VUk(double X,double Y,double Z); + /// Return observation vect t after fixing I,J (pixel projection) + const std::vector & VObs(double I,double J); + + FD::cCoordinatorF mCFD; /// Coordinator for formal derivative + std::vector mVUk; /// Buffer for computing the unknown + std::vector mVObs; /// Buffer for computing the unknown +}; +const std::vector & cTestFraserCamColinearEq::VUk(double X,double Y,double Z) +{ + mVUk[0] = X; + mVUk[1] = Y; + mVUk[2] = Z; + return mVUk; +} -#define SzTEigen 90 -typedef float tTEigen; -typedef Eigen::Array tEigenSubArray; -typedef Eigen::Map tEigenWrap; -void BenchFormalDer() +const std::vector & cTestFraserCamColinearEq::VObs(double I,double J) { - // Run TestRatkoswky with static obsevation an inital guess - TestRatkoswky(TheVRatkoswkyData,{100,10,1,1}); - InspectCube() ; - - // TestDyn(); - if (1) - { - Eigen::Array aAFix = Eigen::Array::Random(); - // Eigen::Array aADyn(1,SzTEigen); - // Eigen::Array aADyn(SzTEigen); - Eigen::Array aADyn(SzTEigen); - Eigen::Array aADyn1(1,1); - Eigen::Array aADyn2(1,SzTEigen); + mVObs[ 9] = I; + mVObs[10] = J; + + return mVObs; +} - for (int aX=0 ; aX + cTestFraserCamColinearEq::TheVNamesUnknowns + { + "XGround","YGround","ZGround", // Unknown 3D Point + "XCam","YCam","ZCam", "Wx","Wy","Wz", // External Parameters + "ppX","ppY","ppZ", // Internal : principal point + focal + "k2","k4","k6", "p1","p2","b1","b2" // Distorsion (radiale/ Decentric/Affine) + }; - for (int aK=0 ; aK + cTestFraserCamColinearEq::TheVNamesObs + { + "oR00","oR01","oR02","oR10","oR11","oR12","oR20","oR21","oR22", + "oXIm","oYIm" + }; - if (0) - { - for (int aK=0 ; aK aBloc - // = aADyn.topLeftCorner(1,SzTEigen); - // = aADyn.block(0,0,1,SzTEigen); - = aADyn.head(SzTEigen-1); - aBloc = aBloc + aBloc -10; - aBloc = (aBloc + 10)/2; - if (aK==0) - { - std::cout << "AAAAADr " << &(aBloc(0,0)) - &(aADyn(0,0)) << "\n"; - std::cout << "AAAAADr " << aBloc(0,0) << " " << aADyn(0,0) << "\n"; - } - } - double aT4 = cMMVII_Appli::CurrentAppli().SecFromT0(); - for (int aK=0 ; aK aCFD(100,aNbUk,aNbObs); + + // mCFD.ShowStackFunc(); - std::vector aVUk(aNbUk,0.0); - std::vector aVObs(aNbObs,0.0); - aCFD.PushNewEvals(aVUk,aVObs); - aCFD.EvalAndClear(); + int aNbTestTotal = 1e5; ///< Approximative number of Test + int aNbTestWithBuf = aNbTestTotal/aSzBuf; ///< Number of time we will fill the buffer + aNbTestTotal = aNbTestWithBuf * aSzBuf; ///< Number of test with one equation - tFormulaTest X0 = aCFD.VUk().at(0); - if (0) - { - FD::cCoordinatorF aCFD2(100,3,5); - tFormulaTest B0 = aCFD2.VUk().at(0); - X0 + B0; - } - tFormulaTest X1 = aCFD.VUk().at(1); - tFormulaTest X2 = aCFD.VUk().at(2); + // Here we initiate with "peferct" projection, to check something + const std::vector & aVUk = VUk(1.0,2.0,10.0); + const std::vector & aVObs = VObs(0.101,0.2); + + // Make the computation with jets + double TimeJets = TimeElapsFromT0(); + std::vector aJetRes; + { + std::vector aVJetUk; + for (int aK=0 ; aK aEpsRes; + { + std::vector aVEpsUk; + for (int aK=0 ; aKDerivate(0); - - std::cout << "F=" << aF->InfixPPrint() << "\n"; - std::cout << "Fd=" << aFd0->InfixPPrint() << "\n"; - - // aF->ComputeBuf(); - std::vector aVF{aF0,aF0}; - aCFD.SetCurFormulas(aVF); - aCFD.SetCurFormulasWithDerivative(aVF); + TimeBuf = TimeElapsFromT0() - TimeBuf; + } + + for (int aKV=0 ; aKVName() << " " << aSom1->Name() << "\n"; - std::cout << "TEST ADD CST " << aSom3->Name() << " " << aSom4->Name() << "\n"; - - aO0+aO1; - aO1+aO2; - aO0+(aO1+aO2); - { - tFormulaTest aS=(aO0+aO1)*(aO2+2.1); - std::cout << "PP=" << aS->InfixPPrint() << "\n"; - } + { + using MMVII::cEpsNum; + std::vector > aVUk; + for (int aK=0 ; aK(1.0,aK)); + + std::vector aVObs; + for (int aK=0 ; aK > aVUk; + for (int aK=0 ; aK(1.0,aK)); + + std::vector aVObs; + for (int aK=0 ; aKIsCste0(); - + getchar(); +} - // std::shared_ptr > aF1 = - - } - // new cCoordinatorF (3,5); - - - int i=10; - std::string aStr = "i="+ std::to_string(i); - std::cout << "BenchFormalDerBenchFormalDerBenchFormalDer " << aStr << "\n"; +/* -------------------------------------------------- */ - Eigen::MatrixXf m(10,20); - Eigen::MatrixXf aM2 = m.topLeftCorner(8,15); +namespace MMVII +{ + void BenchCmpOpVect(); +}; +void BenchFormalDer() +{ + // MMVII::BenchCmpOpVect(); + TestFraserCamColinearEq(); + // Run TestRatkoswky with static obsevation an inital guess + TestRatkoswky(TheVRatkoswkyData,{100,10,1,1}); + InspectCube() ; + // cTestOperationVector::DoIt(); + // cTestOperationVector::DoIt(); + // cTestOperationVector::DoIt(); + getchar(); +} - Eigen::Array a; - std::cout << "MMMM R:" << m.rows() << " C:" << m.cols() << "\n"; - std::cout << "MMMM R:" << aM2.rows() << " C:" << aM2.cols() << "\n"; - std::cout << "MMMM A:" << a.rows() << " C:" << a.cols() << "\n"; +/* +--- Form[0] => C0 ; Val=0 +--- Form[1] => C1 ; Val=1 +--- Form[2] => C2 ; Val=2 +-0- Form[3] => a +-0- Form[4] => b +-0- Form[5] => x +-0- Form[6] => y +-1- Form[7] => F4*F5 // bx +-2- Form[8] => F7+F3 // a+bx +-3- Form[9] => F8*F8 // (a+bx) ^2 +-4- Form[10] => F8*F9 // (a+bx) ^ 3 +-5- Form[11] => F10-F6 // (a+bx)^3-y +-3- Form[12] => F8*F5 // x(a+bx) +-4- Form[13] => F12+F12 // 2x(a+bx) +-5- Form[14] => F13*F8 // 2x(a+bx)^2 +-4- Form[15] => F9*F5 // x (a+bx)^2 +-6- Form[16] => F14+F15 // 3 x(a+bx)^2 +-3- Form[17] => F8+F8 // 2 (a+bx) +-4- Form[18] => F8*F17 // 2 (a+bx) ^2 +-5- Form[19] => F18+F9 // 3 (a+bx) ^2 +REACHED 5 3 6 4 7 8 9 17 12 10 18 15 13 11 14 19 16 // Reached formula in their computation order +CUR 11 19 16 // Computed formula +*/ - getchar(); -} diff --git a/MMVII/src/Utils/uti_memory.cpp b/MMVII/src/Utils/uti_memory.cpp index ae8b4a49d7..0f2a4a3d32 100644 --- a/MMVII/src/Utils/uti_memory.cpp +++ b/MMVII/src/Utils/uti_memory.cpp @@ -9,6 +9,12 @@ void mem_raz(void * adr,int64_t nb) memset(adr,0,nb); } +void DoNothingWithIt(void *) +{ + // As expected ;-) +} + + //================ cMemState ======= cMemState::cMemState() : From a63cf496daa5b4d7e054530dec31ba6a7024fe3e Mon Sep 17 00:00:00 2001 From: Votre Nom Date: Thu, 5 Mar 2020 19:05:52 +0100 Subject: [PATCH 37/49] Add premier push Yann Meneroux --- src/CBinaires/mm3d.cpp | 7 +- src/CMakeLists.txt | 3 + src/Yann/EstimHomogr.cpp | 1011 ++++++++++++++++++++++++++++++++++++++ src/Yann/Sources.cmake | 5 + 4 files changed, 1025 insertions(+), 1 deletion(-) create mode 100644 src/Yann/EstimHomogr.cpp create mode 100644 src/Yann/Sources.cmake diff --git a/src/CBinaires/mm3d.cpp b/src/CBinaires/mm3d.cpp index db5aac9f82..c0b02a68be 100644 --- a/src/CBinaires/mm3d.cpp +++ b/src/CBinaires/mm3d.cpp @@ -277,13 +277,18 @@ int Line2Line_main(int argc,char ** argv); int CoronaRessample_main(int argc,char ** argv); int DivFilters_main(int argc,char ** argv); int AnalysePxFrac_Main(int argc,char ** argv); - +int CPP_YannEstimHomog(int argc,char ** argv); +int CPP_YannApplyHomog(int argc,char ** argv); +int CPP_YannInvHomolHomog(int argc,char ** argv); const std::vector & getAvailableCommands() { static std::vector aRes; if (aRes.empty()) { + aRes.push_back(cMMCom("EstimHomog",CPP_YannEstimHomog, "Homographie estimation from GCPs and image measurements ")); + aRes.push_back(cMMCom("ApplyHomog",CPP_YannApplyHomog, "Homographie application on images ")); + aRes.push_back(cMMCom("InvHomolHomog",CPP_YannInvHomolHomog, "Homographie application on images ")); aRes.push_back(cMMCom("PPMD_MatEss2Orient", PPMD_MatEss2Orient, "transform essential matrix as list of orient ")); aRes.push_back(cMMCom("Help", CPP_MMHelp, "Help on existing MicMac commands ")); aRes.push_back(cMMCom("BAR", BasculeRobuste_main, "Bascule robutse ")); diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index 019c6d59a8..1a6a732a50 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -46,6 +46,8 @@ set(UTI_PHGRM_DIR "uti_phgrm") set(UTI_ETAPOLY_DIR "EtalonnagePolygone") set(SATELIB_DIR "SateLib") +set(YANN_DIR "Yann") + include(${AMD_DIR}/Sources.cmake) include(${XERES_DIR}/Sources.cmake) include(${HASSA_DIR}/Sources.cmake) @@ -73,6 +75,7 @@ include(${OPTIM_DIR}/Sources.cmake) include(${UTI_FILES_DIR}/Sources.cmake) include(${SAMPLESLIBELISE_DIR}/Sources.cmake) include(${UTI_IMAGE_DIR}/Sources.cmake) +include(${YANN_DIR}/Sources.cmake) include(${UTI_PHGRM_DIR}/Sources.cmake) include(${SATELIB_DIR}/Sources.cmake) include(${ORIPHO_DIR}/Sources.cmake) diff --git a/src/Yann/EstimHomogr.cpp b/src/Yann/EstimHomogr.cpp new file mode 100644 index 0000000000..f7f2ec69a8 --- /dev/null +++ b/src/Yann/EstimHomogr.cpp @@ -0,0 +1,1011 @@ + + + +/*Header-MicMac-eLiSe-25/06/2007 + + MicMac : Multi Image Correspondances par Methodes Automatiques de Correlation + eLiSe : ELements of an Image Software Environnement + + www.micmac.ign.fr + + + Copyright : Institut Geographique National + Author : Marc Pierrot Deseilligny + Contributors : Gregoire Maillet, Didier Boldo. + +[1] M. Pierrot-Deseilligny, N. Paparoditis. + "A multiresolution and optimization-based image matching approach: + An application to surface reconstruction from SPOT5-HRS stereo imagery." + In IAPRS vol XXXVI-1/W41 in ISPRS Workshop On Topographic Mapping From Space + (With Special Emphasis on Small Satellites), Ankara, Turquie, 02-2006. + +[2] M. Pierrot-Deseilligny, "MicMac, un lociel de mise en correspondance + d'images, adapte au contexte geograhique" to appears in + Bulletin d'information de l'Institut Geographique National, 2007. + +Francais : + + MicMac est un logiciel de mise en correspondance d'image adapte + au contexte de recherche en information geographique. Il s'appuie sur + la bibliotheque de manipulation d'image eLiSe. Il est distibue sous la + licences Cecill-B. Voir en bas de fichier et http://www.cecill.info. + + +English : + + MicMac is an open source software specialized in image matching + for research in geographic information. MicMac is built on the + eLiSe image library. MicMac is governed by the "Cecill-B licence". + See below and http://www.cecill.info. + +Header-MicMac-eLiSe-25/06/2007*/ + + +#include "StdAfx.h" +#include "hassan/reechantillonnage.h" + +// -------------------------------------------------------------------------------------- +// Classes permettant d'estimer, d'appliquer et d'inverser les points de liaison d'un +// homographie (calculée à partir d'un jeu de points terrain <-> image). +// -------------------------------------------------------------------------------------- +class cAppli_YannEstimHomog{ + + public : + cAppli_YannEstimHomog(int argc, char ** argv); + + std::string mName3D; // Fichier des mesures 3D + std::string mName2D; // fichier des mesures 2D + std::string mNameImRef; // Image référence (optionnelle) + std::string mDirOri; // Direction d'orientation + std::string mResolution; // Resolution images de sortie + std::string mMargeRel; // Marge relative des bords + std::string aNameCam; // Chemin calibration interne + bool mCamRot; // Camera frame rotation + cElemAppliSetFile mEASF; // Pour gerer un ensemble d'images + cInterfChantierNameManipulateur * mICNM; // Name manipulateur + std::string mDir; // Directory of data + cDicoAppuisFlottant mDAF3D; // All 3D + cSetOfMesureAppuisFlottants mDAF2D; // All 2D +}; +// -------------------------------------------------------------------------------------- +class cAppli_YannApplyHomog{ + + public : + cAppli_YannApplyHomog(int argc, char ** argv); + + std::string mNameIm; // Images à convertir + std::string mNameHomog; // Fichier d'homographie + std::string mDir; // Répertoire d'images + std::string mDirOut; // Répertoire de sortie + cElemAppliSetFile mEASF; // Pour gerer un ensemble d'images + cInterfChantierNameManipulateur * mICNM; // Name manipulateur +}; +// -------------------------------------------------------------------------------------- +class cAppli_YannInvHomolHomog{ + + public : + cAppli_YannInvHomolHomog(int argc, char ** argv); + + std::string ImPattern; // Images redressées + std::string ImPatternInit; // Images initiales + std::string mFolderIn; // Dossier input + std::string mFolderOut; // Dossier output + std::string mHomogFile; // Fichier d'homographie + std::string mExt; // Extension d'image cible + std::string exportTxtIn; // Entrée en binaire ou txt + std::string exportTxtOut; // Sortie en binaire ou txt + std::string mDir; // Directory of data + std::string mDirOri; // Répertoire d'orientation + std::string mRawFolder; // Dossier des images bruts + cElemAppliSetFile mEASF; // Pour gerer un ensemble d'images + cInterfChantierNameManipulateur * mICNM; // Name manipulateur + +}; + + +// -------------------------------------------------------------------------------------- +// Fonction de lecture du fichier d'homographie +// -------------------------------------------------------------------------------------- +// Inputs : +// - nom du fichier à lire +// - matrice des paramètres d'homographie +// - emprise xmin, ymin, xmax, ymax +// - nombre de pixels en x de l'image +// -------------------------------------------------------------------------------------- +void readHomogFile(std::string mHomogFile, ElMatrix &H, double &xmin, double &ymin, double &xmax, + double &ymax, int &Nx_org, int &Ny_org, int &Nx, int &Ny, std::string &dirOri){ + + std::string line; + std::ifstream infile(mHomogFile); + + // Test existence du fichier + std::string message = "ERROR: can't find homography file [" + std::string(mHomogFile) + "]"; + ELISE_ASSERT(infile.good(), message.c_str()); + + std::getline(infile, line); + + for (int i=0; i<3; i++){ + + std::getline(infile, line); + + for (int j=0; j<3; j++){ + std::getline(infile, line); + line = line.substr(10,30); + line = line.substr(0, line.size()-5); + H(0,3*i+j) = std::stof(line); + } + + std::getline(infile, line); + } + + std::getline(infile, line); + std::getline(infile, line); + + std::getline(infile, line); + line = line.substr(6,line.size()-10); + xmin = std::stof(line); + + std::getline(infile, line); + line = line.substr(6,line.size()-10); + ymin = std::stof(line); + + std::getline(infile, line); + std::getline(infile, line); + + std::getline(infile, line); + line = line.substr(6,line.size()-10); + xmax = std::stof(line); + + std::getline(infile, line); + line = line.substr(6,line.size()-10); + ymax = std::stof(line); + + std::getline(infile, line); + std::getline(infile, line); + + std::getline(infile, line); + Nx_org = std::stof(line.substr(6,line.size()-10)); + std::getline(infile, line); + Ny_org = std::stof(line.substr(6,line.size()-10)); + + std::getline(infile, line); + std::getline(infile, line); + + std::getline(infile, line); + Nx = std::stof(line.substr(6,line.size()-10)); + std::getline(infile, line); + Ny = std::stof(line.substr(6,line.size()-10)); + + std::getline(infile, line); + std::getline(infile, line); + dirOri = line.substr(7,line.size()-15); + + infile.close(); + +} + +// -------------------------------------------------------------------------------------- +// Fonction d'inversion de l'homographie +// -------------------------------------------------------------------------------------- +// Inputs : +// - pattern des images homographiées +// - pattern des images initiales +// - fichier des paramètres d'homographie +// - dossier d'orientation des images initiales +// - dossier des points homologues transformés (defaut : nom_input + "InvHomog") +// - arguments de types de points (binaire ou txt) et d'images produites +// -------------------------------------------------------------------------------------- +// Outputs : +// - points homologues dans l'espace image de depart +// -------------------------------------------------------------------------------------- +cAppli_YannInvHomolHomog::cAppli_YannInvHomolHomog(int argc, char ** argv){ + + ElInitArgMain(argc,argv, + LArgMain() << EAMC(ImPattern,"Rectified images pattern") + << EAMC(mRawFolder,"Raw images folder") + << EAMC(mHomogFile,"Homography parameters file"), + LArgMain() << EAM(mFolderOut,"Out", "NONE", "Homol output folder") + << EAM(exportTxtIn, "ExpTxtIn", "0", "Input in txt") + << EAM(exportTxtOut, "ExpTxtOut", "0", "Output in txt") + << EAM(mExt, "Ext", "NONE", "Target image extension")); + + + std::string sep = "-----------------------------------------------------------------------"; + + std::cout << "-----------------------------------------------------------------------" << std::endl; + std::cout << " HOMOGRAPHIE INVERSE TRANSFORMATION " << std::endl; + std::cout << "-----------------------------------------------------------------------" << std::endl; + + + // --------------------------------------------------------------- + // Lecture des paramètres d'homographie + // --------------------------------------------------------------- + ElMatrix H(1,9,0.0); + + int Nx; int Ny; + int Nx_org; int Ny_org; + double xmin; double ymin; + double xmax; double ymax; + std::string aNameCam; + + readHomogFile(mHomogFile, H, xmin, ymin, xmax, ymax, Nx_org, Ny_org, Nx, Ny, aNameCam); + + double resolution = (xmax-xmin)/(Nx-1); + + // --------------------------------------------------------------- + // Correction éventuelle de la distorsion + // --------------------------------------------------------------- + + CamStenope * aCam = 0; + + if (aNameCam.size() > 0){ + cInterfChantierNameManipulateur * anICNM = cInterfChantierNameManipulateur::BasicAlloc("./"); + aCam = CamOrientGenFromFile(mRawFolder+"/"+aNameCam,anICNM); + } + + // --------------------------------------------------------------- + // Gestion du répertoire de sortie + // --------------------------------------------------------------- + std::string output_folder = "InvHomog"; + if (EAMIsInit(&mFolderOut)){ + output_folder = mFolderOut; + } + + + // --------------------------------------------------------------- + // Impression console pour confirmation des paramètres + // --------------------------------------------------------------- + printf ("H = %10.3f %10.3f %10.3f BBOX = %7.2f %7.2f \n", H(0,0), H(0,1), H(0,2), xmin, xmax); + printf (" %10.3f %10.3f %10.3f %7.2f %7.2f \n", H(0,3), H(0,4), H(0,5), ymin, ymax); + printf (" %10.3f %10.3f %10.3f \n", H(0,6), H(0,7), 1.0); + printf ("GENERATED IMAGE SIZE: [%i x %i] RAW IMAGE SIZE: [%i x %i] \n", Nx, Ny, Nx_org, Ny_org); + + std::cout << sep << std::endl; + + cInterfChantierNameManipulateur * anICNM = cInterfChantierNameManipulateur::BasicAlloc("./"); + + bool ExpTxtIn = false; + bool ExpTxtOut = false; + + if (EAMIsInit(&exportTxtIn)){ + ExpTxtIn = ((exportTxtIn == "1") || (exportTxtIn == "true") || (exportTxtIn == "T")); + } + if (EAMIsInit(&exportTxtOut)){ + ExpTxtOut = ((exportTxtOut == "1") || (exportTxtOut == "true") || (exportTxtOut == "T")); + } + + std::string aPostIn= ""; + + std::string anExtIn = ExpTxtIn ? "txt" : "dat"; + std::string anExtOut = ExpTxtOut ? "txt" : "dat"; + + std::string aKHIn = std::string("NKS-Assoc-CplIm2Hom@") + + std::string(aPostIn) + + std::string("@") + + std::string(anExtIn); + std::string aKHOut = std::string("NKS-Assoc-CplIm2Hom@") + + std::string(output_folder) + + std::string("@") + + std::string(anExtOut); + + double x1, y1, x1h, y1h, d1; + double x2, y2, x2h, y2h, d2; + + int count = 0; + int count_warning_domain_error = 0; + + const std::vector * aVN = anICNM->Get(ImPattern); + for (int aKN1=0; aKN1size()); aKN1++){ + + std::string aNameIm1 = (*aVN)[aKN1]; + std::cout << aNameIm1 << ":" << std::endl; + + for (int aKN2=0; aKN2size()); aKN2++){ + + std::string aNameIm2 = (*aVN)[aKN2]; + + // Récupération des fichiers homologues + std::string aNameIn = "./" + anICNM->Assoc1To2(aKHIn,aNameIm1,aNameIm2,true); + std::string aNameOut = "./" + anICNM->Assoc1To2(aKHOut,aNameIm1,aNameIm2,true); + + if (EAMIsInit(&mExt)){ + aNameOut = "./" + anICNM->Assoc1To2(aKHOut,StdPrefix(aNameIm1)+"."+mExt,StdPrefix(aNameIm2)+"."+mExt,true); + } + + bool ExistFileIn = ELISE_fp::exist_file(aNameIn); + + if (ExistFileIn){ + + ElPackHomologue aPackIn = ElPackHomologue::FromFile(aNameIn); + ElPackHomologue aPackOut; + + for (ElPackHomologue::const_iterator itP=aPackIn.begin(); itP!=aPackIn.end() ; itP++){ + + Pt2dr aP1 = itP->P1(); + Pt2dr aP2 = itP->P2(); + + x1 = xmin + aP1.x*resolution; y1 = ymax - aP1.y*resolution; + x2 = xmin + aP2.x*resolution; y2 = ymax - aP2.y*resolution; + + d1 = H(0,6)*x1 + H(0,7)*y1 + 1.0; + x1h = (H(0,0)*x1 + H(0,1)*y1 + H(0,2))/d1; + y1h = (H(0,3)*x1 + H(0,4)*y1 + H(0,5))/d1; + + d2 = H(0,6)*x2 + H(0,7)*y2 + 1.0; + x2h = (H(0,0)*x2 + H(0,1)*y2 + H(0,2))/d2; + y2h = (H(0,3)*x2 + H(0,4)*y2 + H(0,5))/d2; + + if ((x1h < 0) || (y1h < 0) || (x2h < 0) || (y1h < 0)){ + count_warning_domain_error ++; + continue; + } + + if ((x1h > Nx_org) || (y1h > Ny_org) || (x2h > Nx_org) || (y1h > Ny_org)){ + count_warning_domain_error ++; + continue; + } + + Pt2dr pt1 = Pt2dr(x1h,y1h); + Pt2dr pt2 = Pt2dr(x2h,y2h); + + // Distorsion + if (aNameCam.size() > 0){ + pt1 = aCam->DistDirecte(pt1); + pt2 = aCam->DistDirecte(pt2); + } + + ElCplePtsHomologues aCple(pt1, pt2, itP->Pds()); + aPackOut.Cple_Add(aCple); + + } + + count += aPackOut.size(); + aPackOut.StdPutInFile(aNameOut); + std::cout << " " << aNameIm2 << " (" << aPackOut.size() << " pts)" << std::endl; + + } + + } + + } + + std::cout << sep << std::endl; + std::cout << count << " tie points transformed into " << "[Homol" << output_folder << "]" << std::endl; + if (count_warning_domain_error > 0){ + int count_rel = (100*count_warning_domain_error)/(count + count_warning_domain_error); + std::cout << "Warning: " << count_warning_domain_error; + std::cout << " (" << count_rel <<" %) points out of image frame removed" << std::endl; + } + std::cout << sep << std::endl; + +} + + +// -------------------------------------------------------------------------------------- +// Fonction d'application de l'homographie +// -------------------------------------------------------------------------------------- +// Inputs : +// - string: Pattern d'images sur lesquelles appliquer la transformation +// - string: Fichier des paramètres d'homographie +// - string: Répertoire de sortie (optionnel) pour la création des images +// -------------------------------------------------------------------------------------- +// Outputs : +// - Les images transformées par l'homographie +// -------------------------------------------------------------------------------------- +cAppli_YannApplyHomog::cAppli_YannApplyHomog(int argc, char ** argv){ + + ElInitArgMain(argc,argv, + LArgMain() << EAMC(mNameIm,"Images pattern") + << EAMC(mNameHomog,"Homography parameters file"), + LArgMain() << EAM(mDirOut,"Out", "./", "Output folder")); + + + std::string sep = "-----------------------------------------------------------------------"; + + std::cout << "-----------------------------------------------------------------------" << std::endl; + std::cout << " HOMOGRAPHIE TRANSFORMATION " << std::endl; + std::cout << "-----------------------------------------------------------------------" << std::endl; + + // --------------------------------------------------------------- + // Lecture des images + // --------------------------------------------------------------- + if (EAMIsInit(&mNameIm)){ + mEASF.Init(mNameIm); + mICNM = mEASF.mICNM; + mDir = mEASF.mDir; + } + + unsigned N = mEASF.SetIm()->size(); + + // --------------------------------------------------------------- + // Gestion du répertoire de sortie + // --------------------------------------------------------------- + std::string output_folder = "./"; + if (EAMIsInit(&mDirOut)){ + output_folder = mDirOut; + ELISE_fp::MkDir(output_folder); + } + + // --------------------------------------------------------------- + // Lecture des paramètres d'homographie + // --------------------------------------------------------------- + ElMatrix H(1,9,0.0); + + int Nx; int Ny; + int Nx_org; int Ny_org; + double xmin; double ymin; + double xmax; double ymax; + std::string aNameCam; + + readHomogFile(mNameHomog, H, xmin, ymin, xmax, ymax, Nx_org, Ny_org, Nx, Ny, aNameCam); + + // --------------------------------------------------------------- + // Impression console pour confirmation des paramètres + // --------------------------------------------------------------- + printf ("H = %10.3f %10.3f %10.3f BBOX = %7.2f %7.2f \n", H(0,0), H(0,1), H(0,2), xmin, xmax); + printf (" %10.3f %10.3f %10.3f %7.2f %7.2f \n", H(0,3), H(0,4), H(0,5), ymin, ymax); + printf (" %10.3f %10.3f %10.3f \n", H(0,6), H(0,7), 1.0); + printf ("GENERATED IMAGE SIZE: [%i x %i] RAW IMAGE SIZE: [%i x %i] \n", Nx, Ny, Nx_org, Ny_org); + std::cout << sep << std::endl; + + // --------------------------------------------------------------- + // Liste des images a transformer + // --------------------------------------------------------------- + std::string aNameIn; + std::string aNameOut; + std::string aNameFileOut; + std::cout << "Transformation of images (" << N << ")" << std::endl; + std::cout << sep << std::endl; + + CamStenope * aCam = 0; + + // Correction éventuelle de la distorsion + if (aNameCam.size() > 0){ + cInterfChantierNameManipulateur * anICNM = cInterfChantierNameManipulateur::BasicAlloc("./"); + aCam = CamOrientGenFromFile(aNameCam,anICNM); + } + + ElMatrix PATTERN_X(Nx,Ny,0.0); + ElMatrix PATTERN_Y(Nx,Ny,0.0); + + double D; + double X; + double Y; + + for (int iy=0; iy 0){ + Pt2dr aCenterOut = aCam->DistDirecte(Pt2dr(PATTERN_X(ix,iy), PATTERN_Y(ix,iy))); + PATTERN_X(ix,iy) = aCenterOut.x; + PATTERN_Y(ix,iy) = aCenterOut.y; + } + } + } + + for (unsigned i=0; isize() == 1), "ImRef must refer to exactly 1 image"); + + } + + // --------------------------------------------------------------- + // Cohérence dossier d'orientation + // --------------------------------------------------------------- + if (EAMIsInit(&mCamRot)){ + ELISE_ASSERT(EAMIsInit(&mDirOri), "No orientation folder for camera frame rotation") + } + + + // --------------------------------------------------------------- + // Gestion de la marge + // --------------------------------------------------------------- + double marge = 0.3; + if (EAMIsInit(&mMargeRel)){ + marge = std::stof(mMargeRel); + } + + // --------------------------------------------------------------- + // Gestion de la résolution de sortie + // --------------------------------------------------------------- + int resolution = 2000; + if (EAMIsInit(&mResolution)){ + resolution = std::stoi(mResolution); + } + + + // --------------------------------------------------------------- + // Récupération des points dans le repère image (2D) + // --------------------------------------------------------------- + mDAF2D = StdGetFromPCP(mName2D, SetOfMesureAppuisFlottants); + std::cout << "Number of images in measurement file [" << mName2D; + std::cout << "]: " << mDAF2D.MesureAppuiFlottant1Im().size() << std::endl; + + + // Conversion liste -> vecteur + std::vector MESURE_IMAGES; + for (std::list::const_iterator itM= mDAF2D.MesureAppuiFlottant1Im().begin(); + itM != mDAF2D.MesureAppuiFlottant1Im().end(); + itM++){ + MESURE_IMAGES.push_back(*itM); + } + + + // --------------------------------------------------------------- + // Recherche de l'image ayant le plus de points + // --------------------------------------------------------------- + + unsigned max = 0; + unsigned val = 0; + unsigned argmax = 0; + int selected = -1; + + + for (unsigned i=0; i max){ + max = val; + argmax = i; + } + + if (EAMIsInit(&mNameImRef)){ + if (MESURE_IMAGES[i].NameIm() == mNameImRef){ + selected = i; + } + } + + if (MESURE_IMAGES[i].OneMesureAF1I().size() >= 4){ + std::cout << MESURE_IMAGES[i].NameIm() << ": "; + std::cout << MESURE_IMAGES[i].OneMesureAF1I().size(); + std::cout << " pts" << std::endl; + } + + } + + if (EAMIsInit(&mNameImRef)){ + ELISE_ASSERT(selected != -1, "ImRef is not referenced in measurement file"); + } + + + if (!EAMIsInit(&mNameImRef)){ + mNameImRef = MESURE_IMAGES[argmax].NameIm(); + selected = argmax; + } + + std::cout << "SELECTED IMAGE: " << mNameImRef << " "; + std::cout << "(" << MESURE_IMAGES[selected].OneMesureAF1I().size(); + std::cout << " pts)"<< std::endl; + + // Lecture taille de l'image + Tiff_Im aTF = Tiff_Im::StdConvGen(mNameImRef,3,false); + Pt2di im_size_origin = aTF.sz(); + int Nx_org = im_size_origin.x; + int Ny_org = im_size_origin.y; + + // Test nombre de points suffisant + const int N = MESURE_IMAGES[selected].OneMesureAF1I().size(); + std::string tmp = "ERROR: not enough points in image measurement file (" + std::to_string(N) + ")"; + + ELISE_ASSERT(N >= 4, tmp.c_str()); + + + // Récupération des points 2D + std::vector X2D; + std::vector Y2D; + std::vector NAME2D; + for (std::list::iterator i=MESURE_IMAGES[selected].OneMesureAF1I().begin(); + i != MESURE_IMAGES[selected].OneMesureAF1I().end(); i++){ + X2D.push_back(i->PtIm().x); + Y2D.push_back(i->PtIm().y); + NAME2D.push_back(i->NamePt()); + } + + std::cout << sep << std::endl; + + // --------------------------------------------------------------- + // Récupération des points dans le repère terrain (3D) + // --------------------------------------------------------------- + mDAF3D = StdGetFromPCP(mName3D, DicoAppuisFlottant); + std::cout << "Number of 3D ground points in [" << mName3D; + std::cout << "]: " << mDAF3D.OneAppuisDAF().size() << std::endl; + + // Récupération des points 3D + std::vector X3D; + std::vector Y3D; + std::vector Z3D; + std::vector NAME3D; + for (std::list::const_iterator itT= mDAF3D.OneAppuisDAF().begin(); + itT != mDAF3D.OneAppuisDAF().end(); + itT++){ + X3D.push_back(itT->Pt().x); + Y3D.push_back(itT->Pt().y); + Z3D.push_back(itT->Pt().z); + NAME3D.push_back(itT->NamePt()); + } + + + // --------------------------------------------------------------- + // Appariemment des points IMAGE <-> TERRAIN + // --------------------------------------------------------------- + std::vector P2D[2]; + std::vector P3D[3]; + + for (unsigned i=0; iDistInverse(Pt2dr(P2D[0][i], P2D[1][i])); + P2D[0][i] = aCenterOut.x; + P2D[1][i] = aCenterOut.y; + } + + + // Rotation + coplanarisation + ElMatrix ROT(3,3,0.0); + if ((!EAMIsInit(&mCamRot)) || (mCamRot)){ + cOrientationConique aOriConique=StdGetFromPCP(aNameCam,OrientationConique); + + ROT = MatFromCol( + aOriConique.Externe().ParamRotation().CodageMatr().Val().L1(), + aOriConique.Externe().ParamRotation().CodageMatr().Val().L2(), + aOriConique.Externe().ParamRotation().CodageMatr().Val().L3() + ).transpose(); + + // Rotation des points du repère terrain + for (unsigned i=0; i P(1,3,0.0); + ElMatrix P_ROT(1,3,0.0); + P(0,0) = P3D[0][i]; P(0,1) = P3D[1][i];P(0,2) = P3D[2][i]; + P_ROT = ROT*P; + P3D[0][i] = P_ROT(0,0); P3D[1][i] = P_ROT(0,1); P3D[2][i] = P_ROT(0,2); + } + + // --------------------------------------------------------------- + // "Co-planarisation" des points par moindres carrés + // --------------------------------------------------------------- + + ElMatrix Aplan(3,N,0.0); + ElMatrix Bplan(1,N,1.0); + for (int i=0; i Xplan = gaussj(Aplan.transpose()*Aplan)*(Aplan.transpose()*Bplan); + + // Calcul de la matrice de rotation + ElMatrix normale = Xplan*(-1.0/sqrt(Xplan.L2())); + Pt3dr rot_axis(-normale(0,2), 0.0, normale(0,0)); + ElMatrix VR = MatProVect(rot_axis).transpose(); + ElMatrix Id(3,3,0); Id(0,0) = Id(1,1) = Id(2,2) = 1; + ElMatrix R = Id + VR + VR*VR*(1.0/(1.0+normale(0,1))); + + // Rotation + for (unsigned i=0; i ERR_PLAN = Aplan*Xplan - Bplan; + printf ("Point planarization: RMSE = %4.2f GROUND UNITS\n", sqrt(ERR_PLAN.L2()/N)); + std::cout << sep << std::endl; + + } + + } + + + // --------------------------------------------------------------- + // Emprise de la zone + // --------------------------------------------------------------- + auto xmin = min_element(std::begin(P3D[0]), std::end(P3D[0])); + auto xmax = max_element(std::begin(P3D[0]), std::end(P3D[0])); + auto ymin = min_element(std::begin(P3D[2]), std::end(P3D[2])); + auto ymax = max_element(std::begin(P3D[2]), std::end(P3D[2])); + + std::cout << "Bounding box:" << std::endl; + printf ("xmin: %6.2f xmax: %6.2f\n", *xmin, *xmax); + printf ("ymin: %6.2f ymax: %6.2f\n", *ymin, *ymax); + + std::cout << sep << std::endl; + + // --------------------------------------------------------------- + // Calcul de l'homographie + // --------------------------------------------------------------- + + L2SysSurResol system(8); // Solveur moindres carrés + + for (int i=0; i H(1,8,0.0); + for (int i=0; i<8; i++){ + H(0,i) = HTAB[i]; + } + + // Résidu + double residu = sqrt(system.ResiduAfterSol()/(2.0*N)); + + // Sortie console + printf ("H = %10.3f %10.3f %10.3f\n", H(0,0), H(0,1), H(0,2)); + printf (" %10.3f %10.3f %10.3f\n", H(0,3), H(0,4), H(0,5)); + printf (" %10.3f %10.3f %10.3f", H(0,6), H(0,7), 1.0); + printf (" RMSE = %4.2f PX\n", residu); + + std::cout << sep << std::endl; + + // --------------------------------------------------------------- + // Sauvegarde de l'homographie + // --------------------------------------------------------------- + + cElComposHomographie aHX(H(0,0),H(0,1),H(0,2)); + cElComposHomographie aHY(H(0,3),H(0,4),H(0,5)); + cElComposHomographie aHZ(H(0,6),H(0,7), 1); + + cElHomographie homography = cElHomographie(aHX,aHY,aHZ); + + cElXMLFileIn aFileXML("homog.xml"); + aFileXML.PutElHomographie(homography,"Homographie"); + + + + // --------------------------------------------------------------- + // Prise en compte de la marge + // --------------------------------------------------------------- + double margex = abs(*xmax-*xmin)*marge; + double margey = abs(*ymax-*ymin)*marge; + *xmin = *xmin - margex; *xmax = *xmax + margex; + *ymin = *ymin - margey; *ymax = *ymax + margey; + + Pt2dr pt_min (*xmin, *ymin); + Pt2dr pt_max (*xmax, *ymax); + aFileXML.PutPt2dr(pt_min,"MinCoords"); + aFileXML.PutPt2dr(pt_max,"MaxCoords"); + + int Nx = resolution; + int Ny = (*ymax-*ymin)/(*xmax-*xmin)*Nx; + aFileXML.PutPt2dr(Pt2dr(Nx_org, Ny_org), "Input_resolution"); + aFileXML.PutPt2dr(Pt2dr(Nx, Ny), "Output_resolution"); + aFileXML.PutString(aNameCam, "Calib"); + + std::cout << "Homography parameters written in [homog.xml] file" << std::endl; + std::cout << sep << std::endl; + +} + + + +// ---------------------------------------------------------------------------- +// A chaque commande MicMac correspond une fonction ayant la signature du main +// Le lien se fait dans src/CBinaires/mm3d.cpp +// ---------------------------------------------------------------------------- + +// (1) Estimation de l'homographie +int CPP_YannEstimHomog(int argc,char ** argv){ + cAppli_YannEstimHomog(argc,argv); + return EXIT_SUCCESS; +} + +// (2) Application de l'homographie +int CPP_YannApplyHomog(int argc,char ** argv){ + cAppli_YannApplyHomog(argc,argv); + return EXIT_SUCCESS; +} + +// (3) Inversion des TP par l'homographie +int CPP_YannInvHomolHomog(int argc,char ** argv){ + cAppli_YannInvHomolHomog(argc,argv); + return EXIT_SUCCESS; +} + +/*Footer-MicMac-eLiSe-25/06/2007 + +Ce logiciel est un programme informatique servant a la mise en +correspondances d'images pour la reconstruction du relief. + +Ce logiciel est régi par la licence CeCILL-B soumise au droit français et +respectant les principes de diffusion des logiciels libres. Vous pouvez +utiliser, modifier et/ou redistribuer ce programme sous les conditions +de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA +sur le site "http://www.cecill.info". + +En contrepartie de l'accessibilité au code source et des droits de copie, +de modification et de redistribution accordés par cette licence, il n'est +offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, +seule une responsabilité restreinte pèse sur l'auteur du programme, le +titulaire des droits patrimoniaux et les concédants successifs. + +A cet égard l'attention de l'utilisateur est attirée sur les risques +associés au chargement, à l'utilisation, à la modification et/ou au +développement et à la reproduction du logiciel par l'utilisateur étant +donné sa spécificité de logiciel libre, qui peut le rendre complexe à +manipuler et qui le réserve donc à des développeurs et des professionnels +avertis possédant des connaissances informatiques approfondies. Les +utilisateurs sont donc invités à charger et tester l'adéquation du +logiciel à leurs besoins dans des conditions permettant d'assurer la +sécurité de leurs systèmes et ou de leurs données et, plus généralement, +à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. + +Le fait que vous puissiez accéder à cet en-tête signifie que vous avez +pris connaissance de la licence CeCILL-B, et que vous en avez accepté les +termes. +Footer-MicMac-eLiSe-25/06/2007*/ diff --git a/src/Yann/Sources.cmake b/src/Yann/Sources.cmake new file mode 100644 index 0000000000..4260b74408 --- /dev/null +++ b/src/Yann/Sources.cmake @@ -0,0 +1,5 @@ +list(APPEND Yann_Src_Files + ${YANN_DIR}/EstimHomogr.cpp + ) + +list(APPEND Elise_Src_Files ${Yann_Src_Files}) From 35353685bf2a48cc71e14b66d86b2d68ad884b7c Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Thu, 5 Mar 2020 20:22:57 +0100 Subject: [PATCH 38/49] Add Homol2OpenMVG, fix ellipse Pds --- src/CBinaires/mm3d.cpp | 2 + src/uti_phgrm/CPP_MM2OpenMVG.cpp | 262 ++++++++++++++++++++++++++ src/uti_phgrm/NewOri/GpsLoc.cpp | 5 +- src/uti_phgrm/NewOri/cNewO_Ellips.cpp | 36 ++-- src/uti_phgrm/Sources.cmake | 1 + 5 files changed, 287 insertions(+), 19 deletions(-) create mode 100644 src/uti_phgrm/CPP_MM2OpenMVG.cpp diff --git a/src/CBinaires/mm3d.cpp b/src/CBinaires/mm3d.cpp index 0b2ecb5294..e8c29ca857 100644 --- a/src/CBinaires/mm3d.cpp +++ b/src/CBinaires/mm3d.cpp @@ -680,6 +680,7 @@ extern int CPP_NewOriReadFromSfmInit(int argc, char ** argv); extern int CPP_Bundler2MM_main(int argc, char ** argv); extern int CPP_MM2Bundler_main(int argc, char ** argv); extern int CPP_Strecha2MM(int argc, char ** argv); +extern int CPP_MM2OpenMVG_main(int argc, char ** argv); extern int ImPts2Dir_main(int argc, char ** argv); extern int FictiveObstest_main(int argc, char ** argv); extern int TestPush(int argc, char ** argv); @@ -987,6 +988,7 @@ const std::vector & TestLibAvailableCommands() aRes.push_back(cMMCom("Bundler2MM", CPP_Bundler2MM_main, "Convert the Bundler solution to MicMac")); aRes.push_back(cMMCom("MM2Bundler", CPP_MM2Bundler_main, "Convert the MicMac solution to Bundler")); aRes.push_back(cMMCom("Str2MM", CPP_Strecha2MM, "Convert the Strecha solution to MicMac")); + aRes.push_back(cMMCom("MM2OMVG", CPP_MM2OpenMVG_main, "Convert Homol (PMul) to OpenMVG features / matches")); aRes.push_back(cMMCom("Im2Dir", ImPts2Dir_main, "Extract directions from images")); aRes.push_back(cMMCom("FictObs", FictiveObstest_main, "someee stuff")); aRes.push_back(cMMCom("CamTOFExp", TestCamTOF_main, "Export TOF camera pcd file to MicMac formats (e.g. tif, xml, ply)")); diff --git a/src/uti_phgrm/CPP_MM2OpenMVG.cpp b/src/uti_phgrm/CPP_MM2OpenMVG.cpp new file mode 100644 index 0000000000..9ae7febca0 --- /dev/null +++ b/src/uti_phgrm/CPP_MM2OpenMVG.cpp @@ -0,0 +1,262 @@ +/*Header-MicMac-eLiSe-25/06/2007 + + MicMac : Multi Image Correspondances par Methodes Automatiques de Correlation + eLiSe : ELements of an Image Software Environnement + + www.micmac.ign.fr + + + Copyright : Institut Geographique National + Author : Marc Pierrot Deseilligny + Contributors : Gregoire Maillet, Didier Boldo. + +[1] M. Pierrot-Deseilligny, N. Paparoditis. + "A multiresolution and optimization-based image matching approach: + An application to surface reconstruction from SPOT5-HRS stereo imagery." + In IAPRS vol XXXVI-1/W41 in ISPRS Workshop On Topographic Mapping From Space + (With Special Emphasis on Small Satellites), Ankara, Turquie, 02-2006. + +[2] M. Pierrot-Deseilligny, "MicMac, un lociel de mise en correspondance + d'images, adapte au contexte geograhique" to appears in + Bulletin d'information de l'Institut Geographique National, 2007. + +Francais : + + MicMac est un logiciel de mise en correspondance d'image adapte + au contexte de recherche en information geographique. Il s'appuie sur + la bibliotheque de manipulation d'image eLiSe. Il est distibue sous la + licences Cecill-B. Voir en bas de fichier et http://www.cecill.info. + + +English : + + MicMac is an open source software specialized in image matching + for research in geographic information. MicMac is built on the + eLiSe image library. MicMac is governed by the "Cecill-B licence". + See below and http://www.cecill.info. + +Header-MicMac-eLiSe-25/06/2007*/ + +#include "TiepTri/MultTieP.h" + +typedef std::vector FeatureKeypoints; +typedef std::vector> FeatureMatches; +class cAppliOMVG +{ + public: + cAppliOMVG(int argc, char** argv); + + void Save(); + + private: + cInterfChantierNameManipulateur * mICNM; + + std::string mPattern; + std::string mSH; + std::string mHomExp; + + + + template + void FileReadOK(FILE *fptr, const char *format, T *value); + + + +}; + +void cAppliOMVG::Save() +{ + cSetTiePMul * aSPM = new cSetTiePMul(0); + + cElemAppliSetFile anEASF(mPattern); + aSPM->SetFilter(*(anEASF.SetIm())); + + + const std::vector * aVFileH = cSetTiePMul::StdSetName(mICNM,mSH,(mHomExp=="dat" ) ? 1 : 0 ); + + //read the PMul files + for (auto F : *aVFileH) + { + std::cout << F << "\n"; + aSPM->AddFile(F); + } + std::vector aVSPM = aSPM->VPMul(); + + //structure that will save features + std::map aMap_Features; + + //structure that will save matches ({I,J},{FeatureId_I,FeatureId_J}) + std::map,FeatureMatches* > aMap_Matches; + + //ierate and save + for (auto aConfig : aVSPM) + { + + //vector of images in this config (track length) + std::vector aVIm = aConfig->VIdIm(); + + + //nb of Pts in this config + int NbPts = aConfig->NbPts(); + + for (int aPt=0; aPtNameFromId(ImId); + + if (aMap_Features.find(aImName) == aMap_Features.end()) + aMap_Features[aImName] = new FeatureKeypoints; + + FeatureKeypoints* aFeatures = aMap_Features[aImName]; + + Pt2dr aPtCoord = aConfig->GetPtByImgId(aPt,ImId); + + aFeatures->push_back(aPtCoord); + std::cout << "ImId " << ImId << "\n"; + + } + + //add matches + int NbMul = int(aVIm.size()); + for (int I=0; INameFromId(aVIm[I]); + int FeatureId_I = aMap_Features[aIName]->size()-1; + + for (int J=(I+1); JNameFromId(aVIm[J]); + int FeatureId_J = aMap_Features[aJName]->size()-1; + + + if (0) + std::cout << aIName << "-" << aJName << " I,J " << aVIm[I] << " " << aVIm[J] + << ", F" << FeatureId_I << " " << FeatureId_J << "\n"; + + if (aMap_Matches.find({aVIm[I],aVIm[J]}) == aMap_Matches.end()) + aMap_Matches[{aVIm[I],aVIm[J]}] = new FeatureMatches; + + FeatureMatches* aMatches = aMap_Matches[{aVIm[I],aVIm[J]}]; + aMatches->push_back(std::make_pair(FeatureId_I,FeatureId_J)); + + } + + } + + std::cout << "=====Pt " << "\n"; + } + + } + + //save to files + for (auto aImage : aMap_Features) + { + + std::string FeatureName = StdPrefix(aImage.first.c_str()) + ".feat"; + std::ofstream file(FeatureName.c_str()); + for(auto aFeature : (*aImage.second)) + { + file << aFeature.x << " " << aFeature.y << " 0 4\n"; + } + file.close(); + + } + + std::ofstream match_file("match.f.txt"); + for (auto aMatch : aMap_Matches) + { + std::cout << aSPM->NameFromId(aMatch.first.first) << " " << aMatch.first.first << "\n"; + + int NbMul = aMatch.second->size(); + match_file << aSPM->NameFromId(aMatch.first.first) << " " << aSPM->NameFromId(aMatch.first.second) << "\n" + << NbMul << "\n"; + + for (int aP=0; aPat(aP).first << " " << aMatch.second->at(aP).second << "\n"; + } + + } + match_file.close(); + +} + +cAppliOMVG::cAppliOMVG(int argc, char** argv) : + mSH(""), + mHomExp("dat") +{ + + bool aExpTxt=false; + + + ElInitArgMain + ( + argc,argv, + LArgMain() << EAMC(mPattern,"Pattern of images"), + LArgMain() << EAM(mSH,"SH",true,"Homol Postfix") + << EAM(aExpTxt,"ExpTxt","Input PMul in txt format") + ); + + + aExpTxt ? mHomExp="txt" : mHomExp="dat"; + + #if (ELISE_windows) + replace( mPattern.begin(), mPattern.end(), '\\', '/' ); + #endif + + mICNM = cInterfChantierNameManipulateur::BasicAlloc(DirOfFile(mPattern)); + + +} + + + +int CPP_MM2OpenMVG_main(int argc, char** argv) +{ + cAppliOMVG anApp(argc,argv); + anApp.Save(); + + return EXIT_SUCCESS; +} + + + +/*Footer-MicMac-eLiSe-25/06/2007 + +Ce logiciel est un programme informatique servant à la mise en +correspondances d'images pour la reconstruction du relief. + +Ce logiciel est régi par la licence CeCILL-B soumise au droit français et +respectant les principes de diffusion des logiciels libres. Vous pouvez +utiliser, modifier et/ou redistribuer ce programme sous les conditions +de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA +sur le site "http://www.cecill.info". + +En contrepartie de l'accessibilité au code source et des droits de copie, +de modification et de redistribution accordés par cette licence, il n'est +offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, +seule une responsabilité restreinte pèse sur l'auteur du programme, le +titulaire des droits patrimoniaux et les concédants successifs. + +A cet égard l'attention de l'utilisateur est attirée sur les risques +associés au chargement, à l'utilisation, à la modification et/ou au +développement et à la reproduction du logiciel par l'utilisateur étant +donné sa spécificité de logiciel libre, qui peut le rendre complexe à +manipuler et qui le réserve donc à des développeurs et des professionnels +avertis possédant des connaissances informatiques approfondies. Les +utilisateurs sont donc invités à charger et tester l'adéquation du +logiciel à leurs besoins dans des conditions permettant d'assurer la +sécurité de leurs systèmes et ou de leurs données et, plus généralement, +à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. + +Le fait que vous puissiez accéder à cet en-tête signifie que vous avez +pris connaissance de la licence CeCILL-B, et que vous en avez accepté les +termes. +Footer-MicMac-eLiSe-25/06/2007*/ diff --git a/src/uti_phgrm/NewOri/GpsLoc.cpp b/src/uti_phgrm/NewOri/GpsLoc.cpp index 2f3026a1e1..4ff7a53986 100644 --- a/src/uti_phgrm/NewOri/GpsLoc.cpp +++ b/src/uti_phgrm/NewOri/GpsLoc.cpp @@ -188,7 +188,7 @@ void cGpsLoc_Som::CalcMedErr() mErrMed = new double; (*mErrMed) = KthValProp(anErr,0.75); - std::cout << mName << " Median Err " << (*mErrMed) << "\n"; + std::cout << mName << " Quantile 75% Err " << (*mErrMed) << "\n"; } void cGpsLoc_Som::RemoveOutliers() @@ -227,6 +227,9 @@ void cGpsLoc_Som::Save(cNewO_NameManager * aNM) cOrientationConique anOC = aCS->StdExportCalibGlob(); + //set the uncertainty + anOC.Externe().IncCentre() = Pt3dr(ErrMed(),ErrMed(),ErrMed()); + std::string aNameOri = aNM->ICNM()->Assoc1To1("NKS-Assoc-Im2Orient@-"+aNM->OriOut()+"-GpsLoc",mName,true); MakeFileXML(anOC,aNameOri); diff --git a/src/uti_phgrm/NewOri/cNewO_Ellips.cpp b/src/uti_phgrm/NewOri/cNewO_Ellips.cpp index bb7edf130f..a450aa3ba7 100644 --- a/src/uti_phgrm/NewOri/cNewO_Ellips.cpp +++ b/src/uti_phgrm/NewOri/cNewO_Ellips.cpp @@ -556,12 +556,12 @@ void AddEllips(cXml_Elips3D & anEl,const Pt3dr & aP,double aPds) { ELISE_ASSERT(!anEl.Norm(),"AddEllips"); anEl.CDG() = anEl.CDG() + aP * aPds; - anEl.Sxx() += aPds * aP.x * aP.x; - anEl.Syy() += aPds * aP.y * aP.y; - anEl.Szz() += aPds * aP.z * aP.z; - anEl.Sxy() += aPds * aP.x * aP.y; - anEl.Sxz() += aPds * aP.x * aP.z; - anEl.Syz() += aPds * aP.y * aP.z; + anEl.Sxx() += aPds * aPds * aP.x * aP.x; + anEl.Syy() += aPds * aPds * aP.y * aP.y; + anEl.Szz() += aPds * aPds * aP.z * aP.z; + anEl.Sxy() += aPds * aPds * aP.x * aP.y; + anEl.Sxz() += aPds * aPds * aP.x * aP.z; + anEl.Syz() += aPds * aPds * aP.y * aP.z; anEl.Pds() += aPds; } @@ -569,9 +569,9 @@ void AddEllips(cXml_Elips2D & anEl,const Pt2dr & aP,double aPds) { ELISE_ASSERT(!anEl.Norm(),"AddEllips"); anEl.CDG() = anEl.CDG() + aP * aPds; - anEl.Sxx() += aPds * aP.x * aP.x; - anEl.Syy() += aPds * aP.y * aP.y; - anEl.Sxy() += aPds * aP.x * aP.y; + anEl.Sxx() += aPds * aPds * aP.x * aP.x; + anEl.Syy() += aPds * aPds * aP.y * aP.y; + anEl.Sxy() += aPds * aPds * aP.x * aP.y; anEl.Pds() += aPds; } @@ -583,12 +583,12 @@ void NormEllips(cXml_Elips3D & anEl) anEl.CDG() = anEl.CDG() / aPds; Pt3dr aCdg = anEl.CDG(); - anEl.Sxx() = anEl.Sxx() / aPds - aCdg.x * aCdg.x; - anEl.Syy() = anEl.Syy() / aPds - aCdg.y * aCdg.y; - anEl.Szz() = anEl.Szz() / aPds - aCdg.z * aCdg.z; - anEl.Sxy() = anEl.Sxy() / aPds - aCdg.x * aCdg.y; - anEl.Sxz() = anEl.Sxz() / aPds - aCdg.x * aCdg.z; - anEl.Syz() = anEl.Syz() / aPds - aCdg.y * aCdg.z; + anEl.Sxx() = anEl.Sxx() / (aPds * aPds) - aCdg.x * aCdg.x; + anEl.Syy() = anEl.Syy() / (aPds * aPds) - aCdg.y * aCdg.y; + anEl.Szz() = anEl.Szz() / (aPds * aPds) - aCdg.z * aCdg.z; + anEl.Sxy() = anEl.Sxy() / (aPds * aPds) - aCdg.x * aCdg.y; + anEl.Sxz() = anEl.Sxz() / (aPds * aPds) - aCdg.x * aCdg.z; + anEl.Syz() = anEl.Syz() / (aPds * aPds) - aCdg.y * aCdg.z; } void NormEllips(cXml_Elips2D & anEl) { @@ -598,9 +598,9 @@ void NormEllips(cXml_Elips2D & anEl) anEl.CDG() = anEl.CDG() / aPds; Pt2dr aCdg = anEl.CDG(); - anEl.Sxx() = anEl.Sxx() / aPds - aCdg.x * aCdg.x; - anEl.Syy() = anEl.Syy() / aPds - aCdg.y * aCdg.y; - anEl.Sxy() = anEl.Sxy() / aPds - aCdg.x * aCdg.y; + anEl.Sxx() = anEl.Sxx() / (aPds * aPds) - aCdg.x * aCdg.x; + anEl.Syy() = anEl.Syy() / (aPds * aPds) - aCdg.y * aCdg.y; + anEl.Sxy() = anEl.Sxy() / (aPds * aPds) - aCdg.x * aCdg.y; } diff --git a/src/uti_phgrm/Sources.cmake b/src/uti_phgrm/Sources.cmake index a798f42901..c25472e078 100644 --- a/src/uti_phgrm/Sources.cmake +++ b/src/uti_phgrm/Sources.cmake @@ -171,6 +171,7 @@ set( Applis_phgrm_Src_Files ${UTI_PHGRM_DIR}/CPP_C3DC.cpp ${UTI_PHGRM_DIR}/CPP_GIMMI.cpp ${UTI_PHGRM_DIR}/CPP_Bundler2MM.cpp + ${UTI_PHGRM_DIR}/CPP_MM2OpenMVG.cpp ) From 7157c3ad6990ffc1474d1763cdce0a423374b2ac Mon Sep 17 00:00:00 2001 From: Yann Meneroux Date: Tue, 10 Mar 2020 16:49:11 +0100 Subject: [PATCH 39/49] Corrige regression dans cAppli_Block --- src/uti_phgrm/BlockCam.h | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/uti_phgrm/BlockCam.h b/src/uti_phgrm/BlockCam.h index 9a66d1cff2..92a9b72f99 100644 --- a/src/uti_phgrm/BlockCam.h +++ b/src/uti_phgrm/BlockCam.h @@ -8,7 +8,8 @@ class cAppli_Block { public : - CamStenope * CamSOfName(const std::string & aName) {return mICNM->StdCamStenOfNames(aName,mOriIn);} + // CamStenope * CamSOfName(const std::string & aName) {return mICNM->StdCamStenOfNames(aName,mOriIn);} + CamStenope * CamSOfName(const std::string & aName) {return mICNM->StdCamStenOfNamesSVP(aName,mOriIn);} // Corrige une possible regression qui generait une erreur si non existe typedef std::pair t2Str; t2Str TimGrp(const std::string & aName) { From 26815ccef95cdf201a48be36ce0a608c003584b0 Mon Sep 17 00:00:00 2001 From: Christophe Meynard Date: Tue, 10 Mar 2020 16:37:16 +0100 Subject: [PATCH 40/49] MMVII: App. specs automatically added to list of active apps. Editing cSpecMVII_Appli.cpp to add apps is not needed anymore. --- MMVII/include/cMMVII_Appli.h | 5 ++-- MMVII/src/Appli/cSpecMMVII_Appli.cpp | 44 ++++++++++------------------ 2 files changed, 19 insertions(+), 30 deletions(-) diff --git a/MMVII/include/cMMVII_Appli.h b/MMVII/include/cMMVII_Appli.h index f416da4b6f..5888a79656 100644 --- a/MMVII/include/cMMVII_Appli.h +++ b/MMVII/include/cMMVII_Appli.h @@ -92,8 +92,9 @@ class cSpecMMVII_Appli // bool HasDataTypeIn(const eApDT & aType) const; // bool HasDataTypeOut(const eApDT & aType) const; private : - static std::vector TheVecAll; - static std::vector & InternVecAll(); ///< vectors of all specifs + static std::vector *msTheVecAll; + static std::vector &TheVecAll(void); + static bool isVecAllSorted; // Data std::string mName; ///< User name tMMVII_AppliAllocator mAlloc; ///< Allocator diff --git a/MMVII/src/Appli/cSpecMMVII_Appli.cpp b/MMVII/src/Appli/cSpecMMVII_Appli.cpp index d4909a1449..30f2ce491d 100644 --- a/MMVII/src/Appli/cSpecMMVII_Appli.cpp +++ b/MMVII/src/Appli/cSpecMMVII_Appli.cpp @@ -25,6 +25,7 @@ cSpecMMVII_Appli::cSpecMMVII_Appli mVOutputs (aOutputs), mNameFile (aNameFile) { + TheVecAll().push_back(this); } int cSpecMMVII_Appli::AllocExecuteDestruct(const std::vector & aVArgs) const @@ -111,43 +112,30 @@ void cSpecMMVII_Appli::Check() } -std::vector cSpecMMVII_Appli::TheVecAll; +std::vector *cSpecMMVII_Appli::msTheVecAll = nullptr; +bool cSpecMMVII_Appli::isVecAllSorted = false; -bool CmpCmd(cSpecMMVII_Appli * aCM1,cSpecMMVII_Appli * aCM2) +std::vector &cSpecMMVII_Appli::TheVecAll(void) { - return aCM1->Name() < aCM2->Name(); + if (msTheVecAll == nullptr) + msTheVecAll = new std::vector; + return *msTheVecAll; } -std::vector & cSpecMMVII_Appli::InternVecAll() + +bool CmpCmd(cSpecMMVII_Appli * aCM1,cSpecMMVII_Appli * aCM2) { - - if (TheVecAll.size() == 0) - { - TheVecAll.push_back(&TheSpecBench); - TheVecAll.push_back(&TheSpecTestCpp11); - TheVecAll.push_back(&TheSpec_TestBoostSerial); - TheVecAll.push_back(&TheSpecMPDTest); - TheVecAll.push_back(&TheSpecEditSet); - TheVecAll.push_back(&TheSpecEditRel); - TheVecAll.push_back(&TheSpecWalkman); - TheVecAll.push_back(&TheSpecDaisy); - TheVecAll.push_back(&TheSpec_TestEigen); - TheVecAll.push_back(&TheSpec_ComputeParamIndexBinaire); - TheVecAll.push_back(&TheSpecTestRecall); - TheVecAll.push_back(&TheSpecScaleImage); - TheVecAll.push_back(&TheSpecCalcDiscIm); - TheVecAll.push_back(&TheSpecCalcDescPCar); - TheVecAll.push_back(&TheSpecMatchTieP); - - std::sort(TheVecAll.begin(),TheVecAll.end(),CmpCmd); - } - - return TheVecAll; + return aCM1->Name() < aCM2->Name(); } + const std::vector & cSpecMMVII_Appli::VecAll() { - return InternVecAll(); + if (! isVecAllSorted) { + std::sort(TheVecAll().begin(),TheVecAll().end(),CmpCmd); + isVecAllSorted = true; + } + return TheVecAll(); } From 4bbfb6561e315874162b59bbfbc27034848f81da Mon Sep 17 00:00:00 2001 From: deseilligny Date: Thu, 12 Mar 2020 17:35:07 +0100 Subject: [PATCH 41/49] Modif Liquor Tapas --- MMVII/include/MMVII_FormalDerivatives.h | 2 +- .../TestLibsExtern/TestDynCompDerivatives.cpp | 37 +++++++++++++++---- src/optim/opt_mat_creuse.cpp | 4 +- src/uti_phgrm/Apero/Apero.h | 4 ++ src/uti_phgrm/Apero/GraphePose.cpp | 29 ++++++++++++++- src/uti_phgrm/Apero/cImplemBlockCam.cpp | 23 +++++++++--- src/uti_phgrm/Apero/cPose.cpp | 12 ++++++ src/uti_phgrm/CPP_Liquor.cpp | 26 +++++++++++-- src/uti_phgrm/CPP_NewTapas.cpp | 3 +- 9 files changed, 119 insertions(+), 21 deletions(-) diff --git a/MMVII/include/MMVII_FormalDerivatives.h b/MMVII/include/MMVII_FormalDerivatives.h index 751ed4c15c..575de3fe05 100644 --- a/MMVII/include/MMVII_FormalDerivatives.h +++ b/MMVII/include/MMVII_FormalDerivatives.h @@ -462,7 +462,7 @@ template class cImplemF : public cMemCheck /// Compute in the reference graphe and put formal explored in VReached void CalcRecursiveDepth(std::vector & VReached) ; int Depth() const {return mDepth;} ///< Standard accessor - void SetDepth(bool aDepth) {mDepth = aDepth;} ///< Fix Reached + void SetDepth(int aDepth) {mDepth = aDepth;} ///< Fix Reached // ---------- Tuning / Debugging / Analysing --------------- diff --git a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp index 3c802669cd..22f5f60cad 100644 --- a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp +++ b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp @@ -38,6 +38,8 @@ double TimeElapsFromT0() {II} An example on basic function to get some insight in the way it works + {III} A realistic example to make performance test on different methods + */ @@ -380,7 +382,7 @@ template std::vector FraserCamColinearEq class cTestFraserCamColinearEq { public : - cTestFraserCamColinearEq(int aSzBuf); + cTestFraserCamColinearEq(int aSzBuf,bool Show); private : @@ -442,7 +444,7 @@ const std::vector -cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf) : +cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf,bool Show) : // mCFD (aSzBuf,19,11) would have the same effect, but future generated code will be less readable mCFD (aSzBuf,TheVNamesUnknowns,TheVNamesObs), mVUk (TheNbUk,0.0), @@ -456,7 +458,20 @@ cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf) : double aT0 = TimeElapsFromT0(); auto aVFormula = FraserCamColinearEq(mCFD.VUk(),mCFD.VObs()); + if (Show) + { + mCFD.SetCurFormulas({aVFormula[0]}); + int aNbRx = mCFD.VReached().size() ; + mCFD.SetCurFormulas(aVFormula); + int aNbRxy = mCFD.VReached().size() ; + + std::cout << "NbReached x:" << aNbRx << " xy:" << aNbRxy << "\n"; + + mCFD.SetCurFormulas({aVFormula[0]}); + mCFD.ShowStackFunc(); + } mCFD.SetCurFormulasWithDerivative(aVFormula); + double aT1 = TimeElapsFromT0(); std::cout << "TestFraser NbEq=" << mCFD.VReached().size() << " TimeInit=" << (aT1-aT0) << "\n"; @@ -514,10 +529,18 @@ cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf) : TimeBuf = TimeElapsFromT0() - TimeBuf; } - for (int aKV=0 ; aKV can be 0 void SetPreCB1Pose(cPreCB1Pose *); void UseRappelOnPose() const override; + int DifBlocInf1(const cPoseCam &) const; // Return "Many" if not initialized + void SetNumTimeBloc(int aNum); + private : void AssertHasObsCentre() const; @@ -729,6 +732,7 @@ class cPoseCam : public cGenPoseCam cEqOffsetGPS * mEqOffsetGPS; cStructRigidInit * mSRI; cPreCompBloc * mBlocCam; + int mNumTimeBloc; cPreCB1Pose * mPoseInBlocCam; bool mUseRappelPose; // Do we use a "rappel" to a given value ElRotation3D mRotURP; // Rotation use Rappel Pose diff --git a/src/uti_phgrm/Apero/GraphePose.cpp b/src/uti_phgrm/Apero/GraphePose.cpp index 1a5a1d1067..c5b12a35a6 100644 --- a/src/uti_phgrm/Apero/GraphePose.cpp +++ b/src/uti_phgrm/Apero/GraphePose.cpp @@ -76,6 +76,9 @@ void cAppliApero::ConstructMST const cPoseCameraInc & aPCI ) { +bool MST_DEBUG = false && MPD_MM(); + + if (mNbRotPreInit==0) { @@ -91,7 +94,7 @@ void cAppliApero::ConstructMST const cMEP_SPEC_MST & aMST = aPCI.MEP_SPEC_MST().Val(); - bool Show = aMST.Show().Val(); + bool Show = aMST.Show().Val() ; int aNbPtsMin = aMST.MinNbPtsInit().Val(); double anExpDist = aMST.ExpDist().Val(); double anExpNb = aMST.ExpNb().Val(); @@ -99,6 +102,11 @@ void cAppliApero::ConstructMST { std::cout << "MST " << aLNew.size() << "\n"; } + if (MST_DEBUG) + { + for (const auto & aN : aLNew ) + std::cout << " --- NNeew " << aN<< "\n"; + } bool OnInit = aMST.MontageOnInit().Val(); @@ -113,6 +121,10 @@ void cAppliApero::ConstructMST { if (mVecPose[aK]->PreInit()) { +if (MST_DEBUG) +{ + std::cout << "IIIIIII " << mVecPose[aK]->Name() << "\n"; +} ELISE_ASSERT ( !BoolFind(aLNew,mVecPose[aK]->Name()), @@ -140,14 +152,16 @@ void cAppliApero::ConstructMST UseBloc = true; PreInitBloc(aMST.MSTBlockRigid().Val()); } +if (MST_DEBUG) { std::cout << "MM " << MPD_MM() << " BLoc=" << UseBloc << "\n"; - //getchar(); + getchar(); } // A chaque iteration on va affecter un sommet for (int aTimes=0 ; aTimes aVBestC; @@ -169,6 +183,11 @@ void cAppliApero::ConstructMST bool GotPMul; double aPds = anOLM->StdQualityZone(ZuUseInInit(),OnInit,aNbPtsMin,anExpDist,anExpNb,GotPMul); +if (MST_DEBUG&& (aTimes==0)) +{ + std::cout << "MSTPDs " << aPds << " " << aPcK->Name() << " " << anOLM->NbRotPreInit() << "\n"; +} + if (aPds> 0) { if (aPds>aPdsMax) @@ -181,6 +200,11 @@ void cAppliApero::ConstructMST } } } +if (MST_DEBUG && aBestCam) +{ + std::cout << "aBestCamwwww " << aBestCam->Name() << " Time " << aTimes << "\n"; + if (aTimes==0) getchar(); +} // On calcule les pere-mere if (aBestCam != 0) @@ -313,6 +337,7 @@ void cAppliApero::ConstructMST } +if (MST_DEBUG) { std::cout << "ENDDDDDDDD MST \n"; getchar(); } // aSInit.pushlast(anAppli.PoseFromName(*itI)->Som()); } diff --git a/src/uti_phgrm/Apero/cImplemBlockCam.cpp b/src/uti_phgrm/Apero/cImplemBlockCam.cpp index 438fb43396..7662bbb53a 100644 --- a/src/uti_phgrm/Apero/cImplemBlockCam.cpp +++ b/src/uti_phgrm/Apero/cImplemBlockCam.cpp @@ -502,12 +502,14 @@ class cIBC_ImsOneTime cIBC_ImsOneTime(int aNbCam,const std::string& aNameTime) ; void AddPose(cPoseCam *, int aNum); cPoseCam * Pose(int aKP); + void SetNum(int aNum); const std::string & NameTime() const {return mNameTime;} private : - std::vector mCams; + std::vector mVCams; std::string mNameTime; + int mNums; }; @@ -614,27 +616,36 @@ static cCmp_IOT_Ptr TheIOTCmp; cIBC_ImsOneTime::cIBC_ImsOneTime(int aNb,const std::string & aNameTime) : - mCams (aNb), + mVCams (aNb), mNameTime (aNameTime) { } +void cIBC_ImsOneTime::SetNum(int aNum) +{ + for (auto & aPCam : mVCams) + { + if (aPCam) + aPCam->SetNumTimeBloc(aNum); + } +} + void cIBC_ImsOneTime::AddPose(cPoseCam * aPC, int aNum) { - cPoseCam * aPC0 = mCams.at(aNum); + cPoseCam * aPC0 = mVCams.at(aNum); if (aPC0 != 0) { std::cout << "For cameras " << aPC->Name() << " and " << aPC0->Name() << "\n"; ELISE_ASSERT(false,"Conflicting name from KeyIm2TimeCam "); } - mCams[aNum] = aPC; + mVCams[aNum] = aPC; } cPoseCam * cIBC_ImsOneTime::Pose(int aKP) { - return mCams.at(aKP); + return mVCams.at(aKP); } // ================================= // cIBC_OneCam @@ -845,6 +856,8 @@ cImplemBlockCam::cImplemBlockCam } mNbTime = (int)mNum2ITime.size(); std::sort(mNum2ITime.begin(),mNum2ITime.end(),TheIOTCmp); // sort by time stamp + for (int aK=0 ; aKSetNum(aK); // ## diff --git a/src/uti_phgrm/Apero/cPose.cpp b/src/uti_phgrm/Apero/cPose.cpp index da5d2f0cd6..132035dd24 100644 --- a/src/uti_phgrm/Apero/cPose.cpp +++ b/src/uti_phgrm/Apero/cPose.cpp @@ -998,6 +998,7 @@ cPoseCam::cPoseCam mEqOffsetGPS (0), mSRI (nullptr), mBlocCam (nullptr), + mNumTimeBloc (-1), mPoseInBlocCam (nullptr), mUseRappelPose (false), mRotURP (ElRotation3D::Id) @@ -1100,6 +1101,17 @@ bool cPoseCam::FidExist() const } +void cPoseCam::SetNumTimeBloc(int aNum) +{ + mNumTimeBloc = aNum; +} + +int cPoseCam::DifBlocInf1(const cPoseCam & aPC) const +{ + if ((mNumTimeBloc==-1) || (aPC.mNumTimeBloc==-1)) return 1000; + return ElAbs(mNumTimeBloc-aPC.mNumTimeBloc); +} + bool cPoseCam::IsInZoneU(const Pt2dr & aP) const diff --git a/src/uti_phgrm/CPP_Liquor.cpp b/src/uti_phgrm/CPP_Liquor.cpp index 47d6d124fa..b7daeda1b9 100644 --- a/src/uti_phgrm/CPP_Liquor.cpp +++ b/src/uti_phgrm/CPP_Liquor.cpp @@ -146,8 +146,11 @@ class cAppliLiquor : public cAppli_Tapas_Campari double mOverlapProp; // entre les 2, il peut sembler logique d'avoir une raccord prop int mExe; std::string mSH; - bool mExpTxt; + std::string mSHTapas; + bool mExpTxt; std::string mParamCommon; + std::string mParamTapas; + std::string mParamCampari; std::string mKeyName; }; @@ -218,6 +221,7 @@ cAppliLiquor::cAppliLiquor(int argc,char ** argv) : << EAM(mIntervOverlap,"IOL",true,"Interval Overlap Def(3,40) image / (4,8) Blocs") << EAM(mExe,"Exe",true,"Execute commands 2 always, 1 if dont exist, 0 never") << EAM(mSH,"SH",true,"Set of Homogue") + << EAM(mSHTapas,"SHTapas",true,"Set of Homologue special for Tapas") << EAM(mExpTxt,"ExpTxt",true,"Homol in txt, Def=false") << EAM(mKeyName,"KeyName",true,"Key Name for print") << ArgATP() @@ -250,9 +254,23 @@ cAppliLiquor::cAppliLiquor(int argc,char ** argv) : } mParamCommon = StrParamBloc(); - mParamCommon += BlQUOTE(StrInitOfEAM(&mSH)); + if (EAMIsInit(&mSHTapas)) + { + if (mSHTapas!="") + { + mParamTapas += BlQUOTE(" SH="+mSHTapas); + } + } + else + { + mParamTapas += BlQUOTE(StrInitOfEAM(&mSH)); + } + mParamCampari += BlQUOTE(StrInitOfEAM(&mSH)); + + + mParamCommon += std::string(" SauvAutom=NONE "); - mParamCommon += std::string(" ExpTxt=") + ToString(mExpTxt); + mParamCommon += std::string(" ExpTxt=") + ToString(mExpTxt); /* { for (const auto & aS : *mVNames) @@ -331,6 +349,7 @@ void cAppliLiquor::DoComRec(int aLevel) + anIL.NameOri() + " " // + StrImMinMax(anIL) + mParamCommon + + mParamCampari + " SigmaTieP=2.0 "; } @@ -451,6 +470,7 @@ std::string cAppliLiquor::ComTerm(const cIntervLiquor& anIL) const + std::string(" RefineAll=false ") // => dan ParamCommon + std::string(" SauvAutom=NONE ") + mParamCommon + + mParamTapas ; return aCom; diff --git a/src/uti_phgrm/CPP_NewTapas.cpp b/src/uti_phgrm/CPP_NewTapas.cpp index d0418ff900..2cb341908f 100644 --- a/src/uti_phgrm/CPP_NewTapas.cpp +++ b/src/uti_phgrm/CPP_NewTapas.cpp @@ -736,13 +736,14 @@ int Tapas_main_new(int argc,char ** argv) const std::vector & aVTime = anATP.BlocTimeStamps(); std::map & aCptTime = anATP.BlocCptTime(); + // Recupere l'image la plus proche du milieu et dont le bloc est plein int aDistMax = -1; int aKMax = -1; for (int aK=0 ; aKaDistMax) { aDistMax = aDist; From 9415a6a5e842696b434e95623024bbf6c88597e8 Mon Sep 17 00:00:00 2001 From: Christophe Meynard Date: Sat, 14 Mar 2020 11:20:05 +0100 Subject: [PATCH 42/49] Revert "MMVII: App. specs automatically added to list of active apps." This reverts commit 26815ccef95cdf201a48be36ce0a608c003584b0. Stupid me. Was really depending on the objects linking order. --- MMVII/include/cMMVII_Appli.h | 5 ++-- MMVII/src/Appli/cSpecMMVII_Appli.cpp | 44 ++++++++++++++++++---------- 2 files changed, 30 insertions(+), 19 deletions(-) diff --git a/MMVII/include/cMMVII_Appli.h b/MMVII/include/cMMVII_Appli.h index 5888a79656..f416da4b6f 100644 --- a/MMVII/include/cMMVII_Appli.h +++ b/MMVII/include/cMMVII_Appli.h @@ -92,9 +92,8 @@ class cSpecMMVII_Appli // bool HasDataTypeIn(const eApDT & aType) const; // bool HasDataTypeOut(const eApDT & aType) const; private : - static std::vector *msTheVecAll; - static std::vector &TheVecAll(void); - static bool isVecAllSorted; + static std::vector TheVecAll; + static std::vector & InternVecAll(); ///< vectors of all specifs // Data std::string mName; ///< User name tMMVII_AppliAllocator mAlloc; ///< Allocator diff --git a/MMVII/src/Appli/cSpecMMVII_Appli.cpp b/MMVII/src/Appli/cSpecMMVII_Appli.cpp index 30f2ce491d..d4909a1449 100644 --- a/MMVII/src/Appli/cSpecMMVII_Appli.cpp +++ b/MMVII/src/Appli/cSpecMMVII_Appli.cpp @@ -25,7 +25,6 @@ cSpecMMVII_Appli::cSpecMMVII_Appli mVOutputs (aOutputs), mNameFile (aNameFile) { - TheVecAll().push_back(this); } int cSpecMMVII_Appli::AllocExecuteDestruct(const std::vector & aVArgs) const @@ -112,30 +111,43 @@ void cSpecMMVII_Appli::Check() } -std::vector *cSpecMMVII_Appli::msTheVecAll = nullptr; -bool cSpecMMVII_Appli::isVecAllSorted = false; - -std::vector &cSpecMMVII_Appli::TheVecAll(void) -{ - if (msTheVecAll == nullptr) - msTheVecAll = new std::vector; - return *msTheVecAll; -} - +std::vector cSpecMMVII_Appli::TheVecAll; bool CmpCmd(cSpecMMVII_Appli * aCM1,cSpecMMVII_Appli * aCM2) { return aCM1->Name() < aCM2->Name(); } +std::vector & cSpecMMVII_Appli::InternVecAll() +{ + + if (TheVecAll.size() == 0) + { + TheVecAll.push_back(&TheSpecBench); + TheVecAll.push_back(&TheSpecTestCpp11); + TheVecAll.push_back(&TheSpec_TestBoostSerial); + TheVecAll.push_back(&TheSpecMPDTest); + TheVecAll.push_back(&TheSpecEditSet); + TheVecAll.push_back(&TheSpecEditRel); + TheVecAll.push_back(&TheSpecWalkman); + TheVecAll.push_back(&TheSpecDaisy); + TheVecAll.push_back(&TheSpec_TestEigen); + TheVecAll.push_back(&TheSpec_ComputeParamIndexBinaire); + TheVecAll.push_back(&TheSpecTestRecall); + TheVecAll.push_back(&TheSpecScaleImage); + TheVecAll.push_back(&TheSpecCalcDiscIm); + TheVecAll.push_back(&TheSpecCalcDescPCar); + TheVecAll.push_back(&TheSpecMatchTieP); + + std::sort(TheVecAll.begin(),TheVecAll.end(),CmpCmd); + } + + return TheVecAll; +} const std::vector & cSpecMMVII_Appli::VecAll() { - if (! isVecAllSorted) { - std::sort(TheVecAll().begin(),TheVecAll().end(),CmpCmd); - isVecAllSorted = true; - } - return TheVecAll(); + return InternVecAll(); } From 50f0983dc353da59bc476f8b0087eb1755c7977e Mon Sep 17 00:00:00 2001 From: jfv Date: Thu, 19 Mar 2020 11:04:54 +0100 Subject: [PATCH 43/49] Automatic FPS detection with ffmpeg --- src/uti_image/CPP_DevVideo.cpp | 50 +++++++++++++++++++++++++++++++--- 1 file changed, 46 insertions(+), 4 deletions(-) diff --git a/src/uti_image/CPP_DevVideo.cpp b/src/uti_image/CPP_DevVideo.cpp index 832b1140de..6a370d6d5a 100644 --- a/src/uti_image/CPP_DevVideo.cpp +++ b/src/uti_image/CPP_DevVideo.cpp @@ -536,6 +536,39 @@ const cSolChemOptImV & cOneImageVideo::SolOfLength(int aNbL) #define TEST true +// To get output of ffmpeg's FPS request + +std::string getCmdOutput(const char* cmd) { + char buffer[128]; + std::string result = ""; + #if (ELISE_windows) + FILE* pipe = _popen(cmd, "r"); + if (!pipe) throw std::runtime_error("_popen() failed!"); + try { + while (fgets(buffer, sizeof buffer, pipe) != NULL) { + result += buffer; + } + } catch (...) { + _pclose(pipe); + throw; + } + _pclose(pipe); + #else + FILE* pipe = popen(cmd, "r"); + if (!pipe) throw std::runtime_error("popen() failed!"); + try { + while (fgets(buffer, sizeof buffer, pipe) != NULL) { + result += buffer; + } + } catch (...) { + pclose(pipe); + throw; + } + pclose(pipe); + #endif + return result; +} + cAppliDevideo::cAppliDevideo(int argc,char ** argv) : mCam ("NONE"), mPostfix ("png"), @@ -558,7 +591,7 @@ cAppliDevideo::cAppliDevideo(int argc,char ** argv) : LArgMain() << EAM(mTargetRate,"Rate",true,"Rate final Def=4") << EAM(mParamSzSift,"ParamSzSift",true,"Parameter used for sift development, def=-1 (Highest)") << EAM(mPatNumber,"PatNumber",true,"Pat number (reduce number for test)") - << EAM(mDoVideo2Im,"DoV2I",true,"Do the development of video 2 images, def true iff no image to corresp pattern") + << EAM(mDoVideo2Im,"DoV2I",true,"Do the development of video 2 images, def true if no image to corresp pattern") << EAM(mNbDigit,"NDig",true,"Nb digit for numbering out images (Def=5)") << EAM(mFoc,"Foc",true,"Set focale in xif, def=F35") << EAM(mCam,"Cam",true,"Set Cam in xif") @@ -567,7 +600,7 @@ cAppliDevideo::cAppliDevideo(int argc,char ** argv) : << EAM(mTuning,"Tuning",true,"as it says ... ") << EAM(mSzDecoup,"TheSzDecoup",true,"Sz of a priori split, \"expert\" level , Def=300 ") << EAM(mOverLap,"OverLap",true,"Target overlap between images ") - << EAM(mRateVideoInit,"RateVideo",true,"Rate image per seconde (FPS), Def=24 ") + << EAM(mRateVideoInit,"RateVideo",true,"Rate image per seconde (FPS), Def=fps value from ffmpeg ") ); // avconv -i adjudant.MOV Im_0247_%5d_Ok.png @@ -608,20 +641,29 @@ cAppliDevideo::cAppliDevideo(int argc,char ** argv) : // Extraction des images fixes + remplit les xif if (mDoVideo2Im) { - std::string aComDev = "avconv -i " + std::string aComDev = "ffmpeg -i " + mFullNameVideo + " " + mEASF.mDir + mPrefix + "%" + ToString(mNbDigit) + "d_Ok." + mPostfix; System(aComDev); // std::cout << aComDev<< "\n"; + std::string aComFPS = "ffmpeg -i " + + mFullNameVideo + " 2>&1 | sed -n \"s/.*, \\(.*\\) fp.*/\\1/p\""; + + std::string aFps = getCmdOutput(aComFPS.c_str()); + std::stringstream ss; + ss << aFps; + ss >> mRateVideoInit; + std::cout << "FPS video : " << mRateVideoInit << "\n"; + if (mF35>0) { std::string aComXif = MM3dBinFile("SetExif ") + QUOTE(mMMPatImDev) + " F=" + ToString(mFoc) + " F35=" + ToString(mF35) - + " Cam=" + mCam + + " Cam='" + mCam + "'" ; System(aComXif); From 0d43ee871edfcb42d94e7075af9ae8221920767f Mon Sep 17 00:00:00 2001 From: deseilligny Date: Tue, 31 Mar 2020 09:11:53 +0200 Subject: [PATCH 44/49] Parametre et reglages CreateEpip --- MMVII/include/MMVII_FormalDerivatives.h | 14 ++- .../TestLibsExtern/TestDynCompDerivatives.cpp | 37 ++++-- include/general/photogram.h | 9 +- src/photogram/phgr_epipole.cpp | 60 +++++++--- src/tiff/tiff_header.cpp | 2 +- src/uti_image/CPP_Drunk.cpp | 10 +- src/uti_image/CPP_ScaleIm.cpp | 14 ++- src/uti_phgrm/CPP_CmpCalib.cpp | 8 +- src/uti_phgrm/CPP_CreateEpip.cpp | 112 +++++++++++++----- 9 files changed, 191 insertions(+), 75 deletions(-) diff --git a/MMVII/include/MMVII_FormalDerivatives.h b/MMVII/include/MMVII_FormalDerivatives.h index 575de3fe05..297a4adc48 100644 --- a/MMVII/include/MMVII_FormalDerivatives.h +++ b/MMVII/include/MMVII_FormalDerivatives.h @@ -11,6 +11,8 @@ #else #define EIGEN_ALLIGNMENT_IN_MMVII #endif +/* +*/ /** \file MMVII_FormalDerivate.h \brief File for generating formal derivate @@ -123,7 +125,7 @@ namespace NS_MMVII_FormalDerivative */ -/// This function is required if we want to have same operation on numbers double and formulas +/// These functions are required if we want to have same operation on numbers double and formulas double square(const double & aV) {return aV*aV;} double square(const float & aV) {return aV*aV;} double cube(const double & aV) {return aV*aV*aV;} @@ -147,6 +149,11 @@ void UserSError(const std::string & aMes) Error(aMes,"Probable error on user's side due to unapropriate usage of the library"); } +void AssertAlmostEqual(const double & aV1,const double & aV2,const double & aEps) +{ + if ( (std::abs(aV1-aV2)> aEps*(std::abs(aV1)+std::abs(aV2))) ) + InternalError("Test equality failed"); +} /** This function computes derivates by finites difference It is used in the tests to check correction of formal derivatives. Also used @@ -301,6 +308,8 @@ template class cCoordinatorF : public cMemCheck return mBufRes.at(aNumPush)->at(mSzInterval*aKElem +1 + aKVarDer); } + /** Generate code, class cName , file cName.h, cName.cpp */ + void GenerateCode(const std::string & Name); private : // END-USER /* ================================================================================= @@ -429,7 +438,8 @@ template class cImplemF : public cMemCheck { public : // See eigen documentation, this macro is mandatory for alignment reason - EIGEN_MAKE_ALIGNED_OPERATOR_NEW + // EIGEN_MAKE_ALIGNED_OPERATOR_NEW + EIGEN_ALLIGNMENT_IN_MMVII typedef TypeElem tElem; typedef cCoordinatorF tCoordF; diff --git a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp index 22f5f60cad..89ca7a8bee 100644 --- a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp +++ b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp @@ -1,12 +1,12 @@ -#include "include/MMVII_all.h" -#include "include/MMVII_Derivatives.h" +// #include "include/MMVII_all.h" #include "include/MMVII_FormalDerivatives.h" +//#include "include/MMVII_Derivatives.h" #include "ceres/jet.h" namespace FD = NS_MMVII_FormalDerivative; using ceres::Jet; -using MMVII::cEpsNum; +// using MMVII::cEpsNum; // ========== Define on Jets two optimization as we did on formal @@ -389,7 +389,7 @@ class cTestFraserCamColinearEq static const int TheNbUk = 19; static const int TheNbObs = 11; typedef Jet tJets; - typedef cEpsNum tEps; + // typedef cEpsNum tEps; static const std::vector TheVNamesUnknowns; static const std::vector TheVNamesObs; @@ -502,6 +502,7 @@ cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf,bool Show) : TimeJets = TimeElapsFromT0() - TimeJets; } +/* double TimeEps = TimeElapsFromT0(); std::vector aEpsRes; { @@ -514,6 +515,7 @@ cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf,bool Show) : } TimeEps = TimeElapsFromT0() - TimeEps; } +*/ // Make the computation with formal deriv buffered double TimeBuf = TimeElapsFromT0(); @@ -529,23 +531,32 @@ cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf,bool Show) : TimeBuf = TimeElapsFromT0() - TimeBuf; } - for (int aKVal=0 ; aKValGSSR_AddNewEquation(itC->Pds()*aPdsResidu,aDVP,aP1.y); aSys.PushEquation(aVecPds,aP1.y,itC->Pds()*aPdsResidu); } @@ -646,22 +663,24 @@ CpleEpipolaireCoord * CpleEpipolaireCoord::PolynomialFromHomologue aNbInc=0; { - for (INT k=0; kStdCamStenOfNamesSVP (aNameIm,aOri) ; + bool WithExtern = (aCam != nullptr); + if (!WithExtern) + { + std::string aNameCal = anICNM->StdNameCalib(aOri,aNameIm); + aCam = Std_Cal_From_File(aNameCal); + // aCalibFileExtern= true; + } //Reading the image and creating the objects to be manipulated Tiff_Im aTF= Tiff_Im::StdConvGen(aNameDir + aNameIm,3,false); diff --git a/src/uti_image/CPP_ScaleIm.cpp b/src/uti_image/CPP_ScaleIm.cpp index f35d2f9d39..2bcf7900f3 100644 --- a/src/uti_image/CPP_ScaleIm.cpp +++ b/src/uti_image/CPP_ScaleIm.cpp @@ -67,7 +67,8 @@ int ScaleIm_main(int argc,char ** argv) bool aForceGray = false; bool aForce8B = false; - bool aModeMasq=false; + bool aModeMasq = false; + bool Arg2IsWidth = false; ElInitArgMain @@ -90,6 +91,7 @@ int ScaleIm_main(int argc,char ** argv) << EAM(aForce8B,"F8B",true,"Force 8 bits (Def=false)") << EAM(aModeMasq,"ModMasq",true,"Mode Masq => binarize at 0.9999 threshlod ") << EAM(aNameDepl,"NameDepl",true,"Image of displacement ") + << EAM(Arg2IsWidth ,"Arg2IsW",true,"If 2nd Arg is Witdh") ); if (!MMVisualMode) { @@ -100,13 +102,15 @@ int ScaleIm_main(int argc,char ** argv) if (aDilXY.x<0) aDilXY = Pt2dr(aDilate,aDilate); - if (aScY==0) - aScY= aScX; - std::string aNameTif = NameFileStd(aNameIn,aForceGray ? 1 :-1,!aForce8B ,true,true); - Tiff_Im tiff = Tiff_Im::StdConvGen(aNameIn.c_str(),aForceGray ? 1 :-1,!aForce8B ,true); + if (Arg2IsWidth) + { + aScX = tiff.sz().x / double(aScX); + } + if (aScY==0) + aScY= aScX; aP0.SetSup(Pt2dr(0,0)); Pt2di aSzG = tiff.sz(); diff --git a/src/uti_phgrm/CPP_CmpCalib.cpp b/src/uti_phgrm/CPP_CmpCalib.cpp index 2a4fffeae9..1839f80af4 100644 --- a/src/uti_phgrm/CPP_CmpCalib.cpp +++ b/src/uti_phgrm/CPP_CmpCalib.cpp @@ -567,10 +567,11 @@ cLibertOfCalib GetDefDegreeOfCalib(const cCalibDistortion & aCalib ) void GenerateMesure2D3D(cBasicGeomCap3D * aCamIn,int aNbXY,int aNbProf,const std::string & aNameIm,cDicoAppuisFlottant & aDAF,cMesureAppuiFlottant1Im & aMAF) { +// std::cout << "CONVCALL " << __LINE__ << "\n"; double aProfGlob = 1.0; CamStenope * aCS = aCamIn->DownCastCS() ; - if (aCS) + if (aCS && aCS->ProfIsDef()) { aProfGlob = aCS->GetProfondeur(); } @@ -749,6 +750,7 @@ int ConvertCalib_main(int argc, char** argv) << EAM(DecFree,"DecFree",true,"Decentrik free (def=true when appliable)") ); + if (MMVisualMode) return EXIT_SUCCESS; std::string aNameImage = aCalibOut; @@ -759,7 +761,9 @@ int ConvertCalib_main(int argc, char** argv) cDicoAppuisFlottant aDAF; cMesureAppuiFlottant1Im aMAF; +std::cout << "CONVCALL " << __LINE__ << "\n"; GenerateMesure2D3D(aCamIn,aNbXY,aNbProf,aNameImage,aDAF,aMAF); +std::cout << "CONVCALL " << __LINE__ << "\n"; cCalibrationInternConique aCICOut = StdGetFromPCP(aCalibOut,CalibrationInternConique); cLibertOfCalib aLOC = GetDefDegreeOfCalib(aCICOut.CalibDistortion().back()); if (!EAMIsInit(&aDRMax) ) aDRMax = aLOC.mDegRad; @@ -789,8 +793,8 @@ int ConvertCalib_main(int argc, char** argv) ; - System(aCom); std::cout << "COM= " << aCom << "\n"; + System(aCom); // "/opt/micmac/culture3d/bin/mm3d" diff --git a/src/uti_phgrm/CPP_CreateEpip.cpp b/src/uti_phgrm/CPP_CreateEpip.cpp index 586dff80b3..a2e74d4c34 100644 --- a/src/uti_phgrm/CPP_CreateEpip.cpp +++ b/src/uti_phgrm/CPP_CreateEpip.cpp @@ -87,6 +87,8 @@ class cApply_CreateEpip_main std::string mName2; bool mWithOri; int mNbBloc; + int mDegSupInv; + double mEpsCheckInv; Pt2dr mDir1; Pt2dr mDir2; @@ -97,7 +99,14 @@ class cApply_CreateEpip_main void Ressample(cBasicGeomCap3D * aG1,EpipolaireCoordinate & E1,double aStep); }; -Pt2dr cApply_CreateEpip_main::DirEpipIm2(cBasicGeomCap3D * aG1,cBasicGeomCap3D * aG2,ElPackHomologue & aPack,bool AddToP1) +// Compute direction of epip in G2 and fill Pack, AddToP1 indicate which way it must be added +Pt2dr cApply_CreateEpip_main::DirEpipIm2 + ( + cBasicGeomCap3D * aG1, + cBasicGeomCap3D * aG2, + ElPackHomologue & aPack, + bool AddToP1 + ) { Pt2dr aSz = Pt2dr(aG1->SzBasicCapt3D()); @@ -105,6 +114,8 @@ Pt2dr cApply_CreateEpip_main::DirEpipIm2(cBasicGeomCap3D * aG1,cBasicGeomCap3D Pt2dr aSomTens2(0,0); // On le met tres petit, ce qui a priori n'est pas genant et evite // d'avoir des point hors zone + // GetVeryRoughInterProf est une proportion + double aIProf = aG1->GetVeryRoughInterProf() / 100.0; /* @@ -116,6 +127,7 @@ if (MPD_MM()) */ + // aEps avoid points to be too close to limits double aEps = 5e-4; double aLenghtSquare = ElMin(mLengthMin,sqrt((aSz.x*aSz.y) / (mNbXY*mNbXY))); @@ -125,20 +137,24 @@ if (MPD_MM()) int aNbY = ElMax(1+3*mDegre,round_up(aSz.y /aLenghtSquare)); - std::cout << "NBBBB " << aNbX << " " << aNbY << "\n"; + std::cout << "NBBBB x:" << aNbX << " y:" << aNbY << " z: " << mNbZ << "\n"; for (int aKX=0 ; aKX<= aNbX ; aKX++) { + // Barrycentrik weighting, double aPdsX = ElMax(aEps,ElMin(1-aEps,aKX /double(aNbX))); for (int aKY=0 ; aKY<= aNbY ; aKY++) { + // Barrycentrik weighting, double aPdsY = ElMax(aEps,ElMin(1-aEps,aKY/double(aNbY))); + // Point in image 1 on regular gris Pt2dr aPIm1 = aSz.mcbyc(Pt2dr(aPdsX,aPdsY)); if (aG1->CaptHasData(aPIm1)) { Pt3dr aPT1; Pt3dr aC1; + // Compute bundle with origin on pseudo center aG1->GetCenterAndPTerOnBundle(aC1,aPT1,aPIm1); // std::cout << "IPROF " << aIProf * euclid(aPT1-aC1) << " " << aPT1 << "\n"; @@ -146,16 +162,19 @@ if (MPD_MM()) std::vector aVPIm2; for (int aKZ = -mNbZ ; aKZ <= mNbZ ; aKZ++) { + // Compute P Ground on bundle Pt3dr aPT2 = aC1 + (aPT1-aC1) * (1+(aIProf*aKZ) / mNbZ); if (aG1->PIsVisibleInImage(aPT2) && aG2->PIsVisibleInImage(aPT2)) { + // Add projection aVPIm2.push_back(aG2->Ter2Capteur(aPT2)); ElCplePtsHomologues aCple(aPIm1,aVPIm2.back(),1.0); - if (! AddToP1) + if (! AddToP1) // If Im1/Im2 were swapped aCple.SelfSwap(); aPack.Cple_Add(aCple); } } + // If more than one point is Ok if (aVPIm2.size() >=2) { Pt2dr aDir2 = vunit(aVPIm2.back()-aVPIm2[0]); @@ -165,7 +184,7 @@ if (MPD_MM()) } } Pt2dr aRT = Pt2dr::polar(aSomTens2,0.0); - return Pt2dr::FromPolar(1.0,aRT.y/2.0); + return Pt2dr::FromPolar(1.0,aRT.y/2.0); // Divide angle as it was multiplied } class cTmpReechEpip @@ -183,7 +202,8 @@ class cTmpReechEpip const std::string & aPostMasq, int aNumKer, bool aDebug, - int aNbBloc + int aNbBloc, + double aEpsChekInv = 1e-2 // Check accuracy of inverse ); private : Box2dr mBoxImIn; @@ -241,7 +261,8 @@ cTmpReechEpip::cTmpReechEpip const std::string & aPostMasq, int aNumKer , bool Debug, - int aNbBloc + int aNbBloc, + double aEpsCheckInv ) : mBoxImIn(aBoxImIn), mEpi (anEpi), @@ -256,7 +277,11 @@ cTmpReechEpip::cTmpReechEpip mRedImY (mSzRed.x,mSzRed.y), mRedTImY (mRedImY) { - + std::cout << "=== RESAMPLE EPIP " << aNameOri + << " Ker=" << aNumKer + << " Step=" << mStep + << " SzRed=" << mSzRed + << "======\n"; cInterpolateurIm2D * aPtrSCI = 0; @@ -295,7 +320,7 @@ cTmpReechEpip::cTmpReechEpip if ((aPIm.x>mBoxImIn._p0.x) && (aPIm.y>mBoxImIn._p0.y) && (aPIm.xDirect(aPIm); - if (euclid(aPEpi-aPEpi2) < 1e-2) + if (euclid(aPEpi-aPEpi2) < aEpsCheckInv) { Ok= true; mRedTMasq.oset(aPInd,Ok); @@ -328,6 +353,10 @@ cTmpReechEpip::cTmpReechEpip if (ExportMasq) { std::string aNameMasq = StdPrefix(aNameOut)+ aPostMasq +".tif"; + if (Debug) + { + Tiff_Im::Create8BFromFonc("Reduc-"+aNameMasq,mRedIMasq.sz(),mRedIMasq.in()*255); + } aTifMasq = Debug ? Tiff_Im(aNameMasq.c_str()) : Tiff_Im @@ -480,11 +509,11 @@ void cApply_CreateEpip_main::DoEpipGen() mNbXY = 100; ElPackHomologue aPack; - + // Compute the direction and the set of homologous points if (mWithOri) { - mDir2 = DirEpipIm2(mGenI1,mGenI2,aPack,true); - mDir1 = DirEpipIm2(mGenI2,mGenI1,aPack,false); + mDir2 = DirEpipIm2(mGenI1,mGenI2,aPack,true); // Dont Swap + mDir1 = DirEpipIm2(mGenI2,mGenI1,aPack,false); // Swap Pt } else { @@ -496,8 +525,8 @@ void cApply_CreateEpip_main::DoEpipGen() aPack = mICNM->StdPackHomol("",mName1,mName2); } - std::cout << "Compute Epip\n"; - CpleEpipolaireCoord * aCple = CpleEpipolaireCoord::PolynomialFromHomologue(false,aPack,mDegre,mDir1,mDir2); + std::cout << "Compute Epip ; D1=" << mDir1 << " ,D2=" << mDir2 << "\n"; + CpleEpipolaireCoord * aCple = CpleEpipolaireCoord::PolynomialFromHomologue(false,aPack,mDegre,mDir1,mDir2,mDegSupInv); EpipolaireCoordinate & e1 = aCple->EPI1(); EpipolaireCoordinate & e2 = aCple->EPI2(); @@ -505,6 +534,7 @@ void cApply_CreateEpip_main::DoEpipGen() Pt2dr aInf1(1e20,1e20),aSup1(-1e20,-1e20); Pt2dr aInf2(1e20,1e20),aSup2(-1e20,-1e20); + double aBias = 0.0; double aErrMax = 0.0; double aErrMoy = 0.0; int mNbP = 0; @@ -521,21 +551,27 @@ void cApply_CreateEpip_main::DoEpipGen() double aErrMaxDir1 = 0.0; double aErrMaxInv1 = 0.0; + // Compute accuracy, bounding box for (ElPackHomologue::const_iterator itC=aPack.begin() ; itC!= aPack.end() ; itC++) { + // Images of P1 and P2 by epipolar transforms Pt2dr aP1 = e1.Direct(itC->P1()); Pt2dr aP2 = e2.Direct(itC->P2()); + // Update bounding boxes aInf1 = Inf(aInf1,aP1); aSup1 = Sup(aSup1,aP1); aInf2 = Inf(aInf2,aP2); aSup2 = Sup(aSup2,aP2); + // Average off of X aX2mX1 += aP2.x - aP1.x; - double anErr = ElAbs(aP1.y-aP2.y); + double aDifY = aP1.y-aP2.y; // Should be 0 + double anErr = ElAbs(aDifY); mNbP++; aErrMax = ElMax(anErr,aErrMax); aErrMoy += anErr; + aBias += aDifY; if (aCple3) { @@ -567,15 +603,26 @@ void cApply_CreateEpip_main::DoEpipGen() std::cout << aInf1 << " " << aSup1 << "\n"; std::cout << aInf2 << " " << aSup2 << "\n"; std::cout << "DIR " << mDir1 << " " << mDir2 << " X2-X1 " << aX2mX1<< "\n"; - std::cout << "Epip Rect Accuracy, Moy " << aErrMoy/mNbP << " Max " << aErrMax << "\n"; - bool aConsChan = true; - Pt2di aSzI1 = mWithOri ? mGenI1->SzBasicCapt3D() : Tiff_Im::StdConvGen(mName1.c_str(),aConsChan ? -1 :1 ,true).sz() ; - Pt2di aSzI2 = mWithOri ? mGenI2->SzBasicCapt3D() : Tiff_Im::StdConvGen(mName2.c_str(),aConsChan ? -1 :1 ,true).sz() ; + std::cout << "Epip Rect Accuracy:" + << " Bias " << aBias/mNbP + << " ,Moy " << aErrMoy/mNbP + << " ,Max " << aErrMax + << "\n"; + + std::cout << "Epip NbPts= " << mNbP << " Redund=" << mNbP/double(ElSquare(mDegre)) << "\n"; - cTmpReechEpip aReech1(aConsChan,mName1,Box2dr(Pt2dr(0,0),Pt2dr(aSzI1)),&e1,Box2dr(aInf1,aSup1),mStepReech,"ImEpi1"+mPostIm+".tif",mPostMasq,mNumKer,mDebug,mNbBloc); + bool aConsChan = true; + Pt2di aSzI1 = mWithOri ? + mGenI1->SzBasicCapt3D() : + Tiff_Im::StdConvGen(mName1.c_str(),aConsChan ? -1 :1 ,true).sz() ; + Pt2di aSzI2 = mWithOri ? + mGenI2->SzBasicCapt3D() : + Tiff_Im::StdConvGen(mName2.c_str(),aConsChan ? -1 :1 ,true).sz() ; + + cTmpReechEpip aReech1(aConsChan,mName1,Box2dr(Pt2dr(0,0),Pt2dr(aSzI1)),&e1,Box2dr(aInf1,aSup1),mStepReech,"ImEpi1"+mPostIm+".tif",mPostMasq,mNumKer,mDebug,mNbBloc,mEpsCheckInv); std::cout << "DONE IM1 \n"; - cTmpReechEpip aReech2(aConsChan,mName2,Box2dr(Pt2dr(0,0),Pt2dr(aSzI2)),&e2,Box2dr(aInf2,aSup2),mStepReech,"ImEpi2"+mPostIm+".tif",mPostMasq,mNumKer,mDebug,mNbBloc); + cTmpReechEpip aReech2(aConsChan,mName2,Box2dr(Pt2dr(0,0),Pt2dr(aSzI2)),&e2,Box2dr(aInf2,aSup2),mStepReech,"ImEpi2"+mPostIm+".tif",mPostMasq,mNumKer,mDebug,mNbBloc,mEpsCheckInv); std::cout << "DONE IM2 \n"; std::cout << "DONNE REECH TMP \n"; @@ -589,15 +636,17 @@ void cApply_CreateEpip_main::DoEpipGen() cApply_CreateEpip_main::cApply_CreateEpip_main(int argc,char ** argv) : - mDegre (-1), - mForceGen (false), - mNumKer (5), - mDebug (false), - mPostMasq (""), - mGenI1 (0), - mGenI2 (0), - mWithOri (true), - mNbBloc (2000) + mDegre (-1), + mForceGen (false), + mNumKer (5), + mDebug (false), + mPostMasq (""), + mGenI1 (0), + mGenI2 (0), + mWithOri (true), + mNbBloc (2000), + mDegSupInv (4), + mEpsCheckInv (1e-1) { Tiff_Im::SetDefTileFile(50000); std::string aDir= ELISE_Current_DIR; @@ -634,6 +683,9 @@ cApply_CreateEpip_main::cApply_CreateEpip_main(int argc,char ** argv) : << EAM(mDir1,"Dir1",false,"Direction of Epip one (when Ori=NONE)") << EAM(mDir2,"Dir2",false,"Direction of Epip one (when Ori=NONE)") << EAM(mNbBloc,"NbBloc",false,"Sz of Bloc (mostly tuning)") + << EAM(mDebug,"Debug",false,"Debuging") + << EAM(mDegSupInv,"SDI",false,"Supplementary degree for inverse") + << EAM(mEpsCheckInv,"ECI",false,"Espsilpn for check inverse accuracy") ); @@ -675,10 +727,12 @@ if (!MMVisualMode) if ((!mWithOri) || (mGenI1->DownCastCS()==0) || (mGenI2->DownCastCS()==0) || mForceGen) { + if (! EAMIsInit(&mDegre)) { mDegre = mWithOri ? 9 : 2; } + std::cout << "DDDDDD " << mDegre << " " << mWithOri << "\n"; DoEpipGen(); return; } From a9d4aa25467b48f231e9004854f259df264036fd Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Fri, 3 Apr 2020 11:42:21 +0200 Subject: [PATCH 45/49] Add global initialisation by randomization NO_SolInit_RndDFS --- CMakeLists.txt | 12 + README.md | 11 + src/CBinaires/CMakeLists.txt | 4 + src/CBinaires/mm3d.cpp | 4 + src/uti_phgrm/NewOri/SolInitNewOri.h | 2 +- src/uti_phgrm/NewOri/Sources.cmake | 11 + src/uti_phgrm/NewOri/cNewO_BuildOptions.h.in | 1 + .../NewOri/cNewO_SolGlobInit_RandomDFS.cpp | 1138 +++++++++++++++++ .../NewOri/cNewO_SolGlobInit_RandomDFS.h | 421 ++++++ 9 files changed, 1603 insertions(+), 1 deletion(-) create mode 100644 src/uti_phgrm/NewOri/cNewO_BuildOptions.h.in create mode 100644 src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.cpp create mode 100644 src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.h diff --git a/CMakeLists.txt b/CMakeLists.txt index 9b9bebcb7f..b3132a0210 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -123,6 +123,9 @@ option(BUILD_BENCH "compile low-level test bench" OFF) # Interfaces de saisie des param�tres option(WITH_QT5 "compile Qt interfaces" OFF) +# Graphiz library +option(WITH_GRAPHVIZ "Use graphviz" OFF) + # Compilateur C++11 option(WITH_CPP11 "Compilateur C++11" ON) @@ -669,6 +672,15 @@ configure_file( set_source_files_properties("src/tiff/el_dcraw.c" elise PROPERTIES COMPILE_FLAGS "-O2 -Wall" COMPILE_DEFINITIONS "") +if(${WITH_GRAPHVIZ}) + INCLUDE(FindPkgConfig) + PKG_SEARCH_MODULE(gvc REQUIRED libgvc libcgraph libcdt) + LINK_DIRECTORIES(${gvc_LIBRARY_DIRS}) + INCLUDE_DIRECTORIES(${gvc_INCLUDE_DIRS}) + + message(STATUS "-----> using graphviz library") +endif() + #~ message("QT_QMAKE_EXECUTABLE = ${QT_QMAKE_EXECUTABLE}") #~ message("QT_MOC_EXECUTABLE = ${QT_MOC_EXECUTABLE}") #~ print_list(QT_LIBRARIES) diff --git a/README.md b/README.md index c6b706df5b..3bae6e77c8 100644 --- a/README.md +++ b/README.md @@ -64,6 +64,17 @@ Instead of makefiles, *Cmake* generates a Visual C++ solution, named `micmac.sln Be sure to be in *Release* configuration, for Micmac is much faster built this way than in *Debug* mode. Again, do not compile the entire solution but just the `INSTALL` project, otherwise compiled binaries won't be copied in the `bin` directory and this will prevent Micmac from working. +## Docker image +A precompiled docker image is available and ready to use: + +`docker pull rupnike/micmac` + +or build your own image from scratch using the existing Dockerfile: + +`docker image build -t micmac:1.0 -f Dockerfile` + +[![Docker Status](https://dockeri.co/image/rupnike/micmac)](https://hub.docker.com/r/rupnike/micmac/) + # Installation test The website [logiciels.ign.fr](http://logiciels.ign.fr/?Telechargement,20) also provides a test dataset called `Boudha_dataset.zip`. diff --git a/src/CBinaires/CMakeLists.txt b/src/CBinaires/CMakeLists.txt index 66521662af..fb040a0ed6 100644 --- a/src/CBinaires/CMakeLists.txt +++ b/src/CBinaires/CMakeLists.txt @@ -50,6 +50,10 @@ if(Boost_FOUND) target_link_libraries(mm3d ${Boost_LIBRARIES} ${Boost_THREADAPI}) endif() +if(WITH_GRAPHVIZ) + target_link_libraries(mm3d "${gvc_LIBRARIES}" -lcgraph) +endif() + install(TARGETS mm3d RUNTIME DESTINATION ${Install_Dir}) include(InstallRequiredSystemLibraries) diff --git a/src/CBinaires/mm3d.cpp b/src/CBinaires/mm3d.cpp index 2b039dbd59..afc64b05d8 100644 --- a/src/CBinaires/mm3d.cpp +++ b/src/CBinaires/mm3d.cpp @@ -793,6 +793,8 @@ int CPP_GenAllImP3(int argc, char ** argv); int CPP_OptimTriplet_main(int argc, char ** argv); int CPP_AllOptimTriplet_main(int argc, char ** argv); int CPP_NewSolGolInit_main(int argc, char ** argv); +int CPP_SolGlobInit_RandomDFS_main(int argc, char ** argv); +int CPP_GenOptTriplets(int argc, char ** argv); int CPP_NewOriImage2G2O_main(int argc, char ** argv); int CPP_FictiveObsFin_main(int argc, char ** argv); int CPP_XmlOriRel2OriAbs_main(int argc, char ** argv); @@ -1148,6 +1150,8 @@ const std::vector & TestLibAvailableCommands() aRes.push_back(cMMCom("NO_OneImOptTrip",CPP_OptimTriplet_main,"New Orientation : otimize triplet")); aRes.push_back(cMMCom("NO_AllImOptTrip",CPP_AllOptimTriplet_main,"New Orientation : otimize triplet")); aRes.push_back(cMMCom("NO_SolInit3",CPP_NewSolGolInit_main,"New Orientation : sol init from triplet")); + aRes.push_back(cMMCom("NO_SolInit_RndDFS",CPP_SolGlobInit_RandomDFS_main,"New Orientation : sol init by random DFS")); + aRes.push_back(cMMCom("NO_GenPerfTripl",CPP_GenOptTriplets,"New Orientation : generate perfect triplets from InOri")); aRes.push_back(cMMCom("NO_ExportG2O",CPP_NewOriImage2G2O_main,"New Orientation : export triplets to g2o")); aRes.push_back(cMMCom("NO_GenTriOfCple",CPP_NewGenTriOfCple,"New Orientation : select triple of one edge")); diff --git a/src/uti_phgrm/NewOri/SolInitNewOri.h b/src/uti_phgrm/NewOri/SolInitNewOri.h index eaad0efc1a..a54ad7cf61 100644 --- a/src/uti_phgrm/NewOri/SolInitNewOri.h +++ b/src/uti_phgrm/NewOri/SolInitNewOri.h @@ -55,7 +55,7 @@ Header-MicMac-eLiSe-25/06/2007*/ * for a nodes to the triplet and edge it share * ... - A triplet cNOSolIn_Triplet represent a set of 3 summits. It contains the 3 submit and edges + A triplet cNOSolIn_Triplet represent a set of 3 summits. It contains the 3 summit and edges addjacent to it tSomNSI * mSoms[3]; tArcNSI * mArcs[3]; diff --git a/src/uti_phgrm/NewOri/Sources.cmake b/src/uti_phgrm/NewOri/Sources.cmake index a5d4ee141a..00a7ef715c 100644 --- a/src/uti_phgrm/NewOri/Sources.cmake +++ b/src/uti_phgrm/NewOri/Sources.cmake @@ -14,6 +14,7 @@ set(uti_phgrm_NewOri_Src_Files ${UTI_PHGRM_NEW_ORI}/cNewO_OptimTriplet.cpp ${UTI_PHGRM_NEW_ORI}/cNewO_SolGlobInit.cpp ${UTI_PHGRM_NEW_ORI}/cNewO_SolGlobInit_Build.cpp + ${UTI_PHGRM_NEW_ORI}/cNewO_SolGlobInit_RandomDFS.cpp ${UTI_PHGRM_NEW_ORI}/cNewO_SolGlob_PondApriori.cpp ${UTI_PHGRM_NEW_ORI}/cNewO_DynFusPtsMul.cpp ${UTI_PHGRM_NEW_ORI}/cNewO_Ellips.cpp @@ -28,4 +29,14 @@ list( APPEND uti_phgrm_Src_Files ${uti_phgrm_NewOri_Src_Files} ) +set(GRAPHVIZ_ENABLED 0) +if(${WITH_GRAPHVIZ}) + set(GRAPHVIZ_ENABLED 1) +endif() + + +configure_file( + ${UTI_PHGRM_NEW_ORI}/cNewO_BuildOptions.h.in + ${PROJECT_SOURCE_DIR}/include/graphes/cNewO_BuildOptions.h +) diff --git a/src/uti_phgrm/NewOri/cNewO_BuildOptions.h.in b/src/uti_phgrm/NewOri/cNewO_BuildOptions.h.in new file mode 100644 index 0000000000..097d5ce950 --- /dev/null +++ b/src/uti_phgrm/NewOri/cNewO_BuildOptions.h.in @@ -0,0 +1 @@ +#cmakedefine GRAPHVIZ_ENABLED diff --git a/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.cpp b/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.cpp new file mode 100644 index 0000000000..cf2d86fea5 --- /dev/null +++ b/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.cpp @@ -0,0 +1,1138 @@ +/*Header-MicMac-eLiSe-25/06/2007 + + MicMac : Multi Image Correspondances par Methodes Automatiques de Correlation + eLiSe : ELements of an Image Software Environnement + + www.micmac.ign.fr + + + Copyright : Institut Geographique National + Author : Marc Pierrot Deseilligny + Contributors : Gregoire Maillet, Didier Boldo. + +[1] M. Pierrot-Deseilligny, N. Paparoditis. + "A multiresolution and optimization-based image matching approach: + An application to surface reconstruction from SPOT5-HRS stereo imagery." + In IAPRS vol XXXVI-1/W41 in ISPRS Workshop On Topographic Mapping From Space + (With Special Emphasis on Small Satellites), Ankara, Turquie, 02-2006. + +[2] M. Pierrot-Deseilligny, "MicMac, un lociel de mise en correspondance + d'images, adapte au contexte geograhique" to appears in + Bulletin d'information de l'Institut Geographique National, 2007. + +Francais : + + MicMac est un logiciel de mise en correspondance d'image adapte + au contexte de recherche en information geographique. Il s'appuie sur + la bibliotheque de manipulation d'image eLiSe. Il est distibue sous la + licences Cecill-B. Voir en bas de fichier et http://www.cecill.info. + + +English : + + MicMac is an open source software specialized in image matching + for research in geographic information. MicMac is built on the + eLiSe image library. MicMac is governed by the "Cecill-B licence". + See below and http://www.cecill.info. + +Header-MicMac-eLiSe-25/06/2007*/ + +#include "cNewO_SolGlobInit_RandomDFS.h" + + +using namespace SolGlobInit_DFS ; + + +/* + * procedure DFS(G, v) is + label v as discovered + for all directed edges from v to w that are in G.adjacentEdges(v) do + if vertex w is not labeled as discovered then + recursively call DFS(G, w) + * */ + +/* + * The DFS is a standard algorithm for system- +atically creating a tree given a starting vertex of a graph. In our modification, in each +instance we start at a random vertex and at every parent vertex, we randomly pick the +next adjacent vertex to be visited in the search process. + * + * */ + +extern double DistBase(Pt3dr aB1,Pt3dr aB2); +extern double DistanceRot(const ElRotation3D & aR1,const ElRotation3D & aR2,double aBSurH); + +//===================================================================================== +#ifdef GRAPHVIZ_ENABLED + + +GVC_t *cSolGlobInit_RandomDFS::GRAPHVIZ_GVCInit(const std::string& aGName) +{ + std::string Prefix = "-o"; + + int SzPref = int(Prefix.size()); + int aSzIn = int(aGName.size()); + int aSzOut = aSzIn + SzPref; + char * aGNChar = new char[aSzOut]; + + //copy the prefix of the name + for (int i=0; i cSolGlobInit_RandomDFS::GRAPHVIZ_GraphInit(const std::string& aGName) +{ + + GVC_t *gvc = GRAPHVIZ_GVCInit(aGName); + + char * aNG = new char[2]; + aNG[0] = 'g'; + + graph_t *g = agopen(aNG, Agdirected, 0); + + return std::pair(g,gvc); +} + +graph_t *cSolGlobInit_RandomDFS::GRAPHIZ_GraphRead(std::string& aFName) +{ + graph_t *g; + + FILE *fp; + + fp = fopen(aFName.c_str(), "r"); + if (fp) + { + g = agread(fp,NULL); + } + else + { + ELISE_ASSERT(false,"Could not open the graph file"); + return NULL; + } + + fclose(fp); + + return g; +} + +/* */ +void cSolGlobInit_RandomDFS::GRAPHIZ_GraphSerialize(std::string& aFName,graph_t *g) +{ + FILE *fp; + + fp = fopen(aFName.c_str(), "w"); + agwrite(g,fp); + fclose(fp); +} + + +void cSolGlobInit_RandomDFS::GRAPHIZ_GraphKill(graph_t *g,GVC_t *gvc,std::string aWriteName) +{ + gvLayoutJobs(gvc, g); + + gvRenderJobs(gvc, g); + + gvFreeLayout(gvc, g); + + //serialization of the graph + if (aWriteName != "") + { + GRAPHIZ_GraphSerialize(aWriteName,g); + } + + agclose(g); + + gvFreeContext(gvc); + +} + +void cSolGlobInit_RandomDFS::GRAPHIZ_NodeInit(graph_t *g, + const std::string& aName1, + const std::string& aName2, + const std::string& aName3) +{ + node_t *ns, *ms; + char *aNSNName = (char *)aName1.c_str(); + ns = agnode(g,aNSNName,1); + + + char *aMSNName = (char *)aName2.c_str(); + ms = agnode(g,aMSNName,1); + + //add the new node + node_t *os; + char * aOSNName = (char *)aName3.c_str(); + + os = agnode(g,aOSNName,1); + + //add new edges + //edge_t *e1,*e2,*e3; + agedge(g, ns, ms, 0, 1); + agedge(g, ns, os, 0, 1); + agedge(g, ms, os, 0, 1); + + char * aAttrShape= (char *)"shape"; + char * aShape= (char *)"circle"; + Agsym_t *symShape; + symShape = agattr(g,AGNODE,aAttrShape,aShape); + + if (symShape) + printf("The default shape is %s.\n",symShape->defval); + + /* changing colors removed from here; there are specific funcs to do that + * char * aC = (char *)"color"; + char * aCR = (char *)"blue"; + char aCEmpty = ' '; + + agsafeset(ns,aC,aCR,&aCEmpty); + agsafeset(ms,aC,aCR,&aCEmpty); + agsafeset(os,aC,aCR,&aCEmpty); + + agsafeset(e1,aC,aCR,&aCEmpty); + agsafeset(e2,aC,aCR,&aCEmpty); + agsafeset(e3,aC,aCR,&aCEmpty);*/ + +} + +void cSolGlobInit_RandomDFS::GRAPHVIZ_NodeAdd(graph_t* g, + const std::string& aName1, + const std::string& aName2, + const std::string& aName3) +{ + node_t *n, *m; + char *aNNName = (char *)aName1.c_str(); + n = agnode(g,aNNName,0); + + char *aMNName = (char *)aName2.c_str(); + m = agnode(g,aMNName,0); + + //add the new node + node_t *o; + char * aONName = (char *)aName3.c_str(); + + o = agnode(g,aONName,1); + + //add new edges + agedge(g, n, o, 0, 1); + agedge(g, m, o, 0, 1); + +} + +void cSolGlobInit_RandomDFS::GRAPHVIZ_EdgeChgColor(graph_t* g, + const std::string& aName1, + const std::string& aName2, + std::string aColor) +{ + char * aN1Name = (char *)aName1.c_str(); + char * aN2Name = (char *)aName2.c_str(); + + node_t *n = agnode(g,aN1Name,0); + node_t *m = agnode(g,aN2Name,0); + + edge_t *e1; + e1 = agedge(g, n, m, 0, 1); + + // Change color + char * aC = (char *)"color"; + char * aCR = (char *)aColor.c_str(); + char aCEmpty = ' '; + + + agsafeset(e1,aC,aCR,&aCEmpty); + +} + +/* Find node and change its color */ +void cSolGlobInit_RandomDFS::GRAPHVIZ_NodeChgColor(graph_t* g,const std::string& aName) +{ + + char * aNName = (char *)aName.c_str(); + + + char * aC = (char *)"color"; + char * aCR = (char *)"blue"; + char aCEmpty = ' '; + + node_t *n_ = agnode(g,aNName,0);//0 to indicate that it exists + agsafeset(n_,aC,aCR,&aCEmpty); + +} + +void cSolGlobInit_RandomDFS::WriteGraphToFile() +{ + // Clear the sommets + mVS.clear(); + + int aNumCC = 0; + + + cNOSolIn_Triplet * aTri0 = mV3[0]; + /*std::cout << "First triplet " << aTri0->KSom(0)->attr().Im()->Name() << " " + << aTri0->KSom(1)->attr().Im()->Name() << " " + << aTri0->KSom(2)->attr().Im()->Name() << "\n";*/ + + //initialise the graph + std::pair aGGVC = GRAPHVIZ_GraphInit(mGraphName); + graph_t *g = aGGVC.first; + GVC_t *gvc = aGGVC.second; + + //initialise the starting node + GRAPHIZ_NodeInit(g, + aTri0->KSom(0)->attr().Im()->Name(), + aTri0->KSom(1)->attr().Im()->Name(), + aTri0->KSom(2)->attr().Im()->Name()); + + // Create a new component + cNO_CC_TripSom * aNewCC3S = new cNO_CC_TripSom; + aNewCC3S->mNumCC = aNumCC; + mVCC.push_back(aNewCC3S); + std::vector * aCC3 = &(aNewCC3S->mTri); + + + // Add first triplet + aCC3->push_back(aTri0); + aTri0->Flag().set_kth_true(mFlag3CC);//explored + aTri0->NumCC() = aNumCC; + int aKCur = 0; + + + // Visit all sommets (not all triplets) + while (aKCur!=int(aCC3->size())) + { + cNOSolIn_Triplet * aTri1 = (*aCC3)[aKCur]; + + // For each edge of the current triplet + for (int aKA=0 ; aKA<3 ; aKA++) + { + + + // Get triplet adjacent to this edge and parse them + std::vector & aLnk = aTri1->KArc(aKA)->attr().ASym()->Lnk3(); + + for (int aKL=0 ; aKLNumCC() = aNumCC; + mVS[aLnk[aKL].S3()->attr().Im()->Name()] = aLnk[aKL].S3(); + + std::cout << aCC3->size() << "=[" << aLnk[aKL].S1()->attr().Im()->Name() ; + std::cout << "," << aLnk[aKL].S2()->attr().Im()->Name() ; + std::cout << "," << aLnk[aKL].S3()->attr().Im()->Name() << "=====\n"; + + + GRAPHVIZ_NodeAdd(g, + aLnk[aKL].S1()->attr().Im()->Name(), + aLnk[aKL].S2()->attr().Im()->Name(), + aLnk[aKL].S3()->attr().Im()->Name()); + } + } + } + aKCur++; + + } + + GRAPHIZ_GraphKill(g,gvc,mGraphName); + + // Unflag all triplets do pursue with DFS + for (int aK3=0 ; aK3Flag().set_kth_false(mFlag3CC); + mV3[aK3]->NumCC() = -1; + } + +} + +#endif + + + +cNOSolIn_Triplet::cNOSolIn_Triplet(cSolGlobInit_RandomDFS *anAppli,tSomNSI * aS1,tSomNSI * aS2,tSomNSI *aS3,const cXml_Ori3ImInit &aTrip) : + mAppli (anAppli), + mNb3 (aTrip.NbTriplet()), + mNumCC (-1), + mR2on1 (Xml2El(aTrip.Ori2On1())), + mR3on1 (Xml2El(aTrip.Ori3On1())), + mBOnH (aTrip.BSurH()) +{ + mSoms[0] = aS1; + mSoms[1] = aS2; + mSoms[2] = aS3; +} + + +double cNOSolIn_Triplet::CoherTest() const +{ + std::vector aVRLoc; + std::vector aVRAbs; + for (int aK=0 ; aK<3 ; aK++) + { + aVRLoc.push_back(RotOfK(aK)); + aVRAbs.push_back(mSoms[aK]->attr().TestRot()); + } + + // + cSolBasculeRig aSolRig = cSolBasculeRig::SolM2ToM1(aVRAbs,aVRLoc); + double aRes=0; + + for (int aK=0 ; aK<3 ; aK++) + { + const ElRotation3D & aRAbs = aVRAbs[aK]; + const ElRotation3D & aRLoc = aVRLoc[aK]; + ElRotation3D aRA2 = aSolRig.TransformOriC2M(aRLoc); + + double aD = DistanceRot(aRAbs,aRA2,mBOnH); + aRes += aD; + } + aRes = aRes / 3.0; + + + return aRes; +} + +tSomNSI * cLinkTripl::S1() const {return m3->KSom(mK1);} +tSomNSI * cLinkTripl::S2() const {return m3->KSom(mK2);} +tSomNSI * cLinkTripl::S3() const {return m3->KSom(mK3);} + + +cNOSolIn_AttrSom::cNOSolIn_AttrSom(const std::string & aName,cSolGlobInit_RandomDFS & anAppli) : + mName(aName), + mAppli(&anAppli), + mIm (new cNewO_OneIm(mAppli->NM(),mName)), + mCurRot (ElRotation3D::Id), + mTestRot (ElRotation3D::Id) + +{} + +void cNOSolIn_AttrSom::AddTriplet(cNOSolIn_Triplet * aTrip,int aK1,int aK2,int aK3) +{ + mLnk3.push_back(cLinkTripl(aTrip,aK1,aK2,aK3)); +} + + +cNOSolIn_AttrArc::cNOSolIn_AttrArc(cNOSolIn_AttrASym * anASym,bool OrASym) : + mASym (anASym), + mOrASym (OrASym) +{ +} + +static cNO_CmpTriByCost TheCmp3; + +cNOSolIn_AttrASym::cNOSolIn_AttrASym() : + mHeapTri(TheCmp3) +{ +} + +cLinkTripl * cNOSolIn_AttrASym::GetBestTri() +{ + cLinkTripl * aLnk; + if (mHeapTri.pop(aLnk)) + return aLnk; + + return 0; + + +} + +void cNOSolIn_AttrASym::AddTriplet(cNOSolIn_Triplet * aTrip,int aK1,int aK2,int aK3) +{ + mLnk3.push_back(cLinkTripl(aTrip,aK1,aK2,aK3)); + mLnk3Ptr.push_back(new cLinkTripl(aTrip,aK1,aK2,aK3)); +} + + +void cNOSolIn_Triplet::SetArc(int aK,tArcNSI * anArc) +{ + mArcs[aK] = anArc; +} + + +void cSolGlobInit_RandomDFS::CreateArc(tSomNSI *aS1,tSomNSI *aS2,cNOSolIn_Triplet *aTripl,int aK1,int aK2,int aK3) +{ + tArcNSI * anArc = mGr.arc_s1s2(*aS1,*aS2); + if (anArc==0) + { + cNOSolIn_AttrASym * anAttrSym = new cNOSolIn_AttrASym; + cNOSolIn_AttrArc anAttr12(anAttrSym,aS1aS2); + anArc = &(mGr.add_arc(*aS1,*aS2,anAttr12,anAttr21)); + mNbArc ++; + } + anArc->attr().ASym()->AddTriplet(aTripl,aK1,aK2,aK3); + aTripl->SetArc(aK3,anArc); +} + +cNOSolIn_Triplet* cSolGlobInit_RandomDFS::GetBestTri() +{ + cNOSolIn_Triplet * aLnk; + if (mHeapTriAll.pop(aLnk)) + return aLnk; + + return 0; + + +} + +static cNO_CmpTriSolByCost TheCmp3Sol; + +cSolGlobInit_RandomDFS::cSolGlobInit_RandomDFS(int argc,char ** argv) : + mNbSom(0), + mNbTrip(0), + mFlag3CC(mAllocFlag3.flag_alloc()), + mDebug(false), + mNbSamples(1000), + mIterCur(0), + mGraphName(""), + mHeapTriAll(TheCmp3Sol) + +{ + bool aModeBin = true; + + ElInitArgMain + ( + argc,argv, + LArgMain() << EAMC(mFullPat,"Pattern"), + LArgMain() << EAM(mDebug,"Debug",true,"Print some stuff, Def=false") + << EAM(mNbSamples,"Nb",true,"Number of samples, Def=1000") + << EAM(aModeBin,"Bin",true,"Binaries file, def = true",eSAM_IsBool) + << ArgCMA() +#ifdef GRAPHVIZ_ENABLED + << EAM(mGraphName,"Graph",true,"GraphViz filename") +#endif + ); + + + mEASF.Init(mFullPat); + mNM = new cNewO_NameManager(mExtName,mPrefHom,mQuick,mEASF.mDir,mNameOriCalib,"dat"); + const cInterfChantierNameManipulateur::tSet * aVIm = mEASF.SetIm(); + + + for (int aKIm=0 ; aKIm size()) ; aKIm++) + { + const std::string & aName = (*aVIm)[aKIm]; + tSomNSI & aSom = mGr.new_som(cNOSolIn_AttrSom(aName,*this)); + mMapS[aName] = &aSom; + + std::cout << mNbSom << "=" << aName << "\n"; + mNbSom++; + + } + + cXml_TopoTriplet aXml3 = StdGetFromSI(mNM->NameTopoTriplet(true),Xml_TopoTriplet); + + for + ( + std::list::const_iterator it3=aXml3.Triplets().begin() ; + it3 !=aXml3.Triplets().end() ; + it3++ + ) + { + tSomNSI * aS1 = mMapS[it3->Name1()]; + tSomNSI * aS2 = mMapS[it3->Name2()]; + tSomNSI * aS3 = mMapS[it3->Name3()]; + + ELISE_ASSERT(it3->Name1()Name2(),"Incogeherence cAppli_NewSolGolInit\n"); + ELISE_ASSERT(it3->Name2()Name3(),"Incogeherence cAppli_NewSolGolInit\n"); + + + + + if (aS1 && aS2 && aS3) + { + if (mDebug){ + std::cout << "Tri=[" << it3->Name1() << "," << it3->Name2() << "," << it3->Name3() << "\n"; + } + + mNbTrip++; + + std::string aN3 = mNM->NameOriOptimTriplet + //std::string aN3 = mNM->NameOriInitTriplet + ( + // mQuick, + aModeBin, // ModeBin + aS1->attr().Im(), + aS2->attr().Im(), + aS3->attr().Im() + ); + + + cXml_Ori3ImInit aXml3Ori = StdGetFromSI(aN3,Xml_Ori3ImInit); + + + cNOSolIn_Triplet * aTriplet = new cNOSolIn_Triplet(this,aS1,aS2,aS3,aXml3Ori); + mV3.push_back(aTriplet); + + if (mDebug) + std::cout << "% " << aN3 << " " << mV3.size() << " " << mNbTrip << "\n"; + + /// ADD-SOM-TRIPLET + aS1->attr().AddTriplet(aTriplet,1,2,0); + aS2->attr().AddTriplet(aTriplet,0,2,1); + aS3->attr().AddTriplet(aTriplet,0,1,2); + + /// ADD-EDGE-TRIPLET + CreateArc(aS1,aS2,aTriplet,0,1,2); + CreateArc(aS2,aS3,aTriplet,1,2,0); + CreateArc(aS3,aS1,aTriplet,2,0,1); + + //aTriplet->CheckArcsSom(); + + } + } + std::cout << "LOADED GRAPH " << mChrono.uval() << "\n"; + +#ifdef GRAPHVIZ_ENABLED + + WriteGraphToFile(); + std::cout << "SAVED GRAPHHIZ " << mChrono.uval() << "\n"; + +#endif +} + +void cSolGlobInit_RandomDFS::DoOneRandomDFS(bool UseCoherence) +{ + + NRrandom3InitOfTime(); + + // Clear the sommets + mVS.clear(); + mVCC.clear(); + + + int aNumCC = 0; + + //select random seed triplet + int aSeed = NRrandom3(mNbTrip-1); + + cNOSolIn_Triplet * aTri0 = mV3[aSeed]; + std::cout << "Seed triplet " << aTri0->KSom(0)->attr().Im()->Name() << " " + << aTri0->KSom(1)->attr().Im()->Name() << " " + << aTri0->KSom(2)->attr().Im()->Name() << "\n"; + + if (UseCoherence) + { + aTri0 = GetBestTri(); + std::cout << "Best triplet " << aTri0->KSom(0)->attr().Im()->Name() << " " + << aTri0->KSom(1)->attr().Im()->Name() << " " + << aTri0->KSom(2)->attr().Im()->Name() << " " + << aTri0->CostArc() << "\n"; + } + + mVS[aTri0->KSom(0)->attr().Im()->Name()] = aTri0->KSom(0); + mVS[aTri0->KSom(1)->attr().Im()->Name()] = aTri0->KSom(1); + mVS[aTri0->KSom(2)->attr().Im()->Name()] = aTri0->KSom(2); + + // Set the current R,t of the seed + aTri0->KSom(0)->attr().CurRot() = aTri0->RotOfSom(aTri0->KSom(0)); + aTri0->KSom(1)->attr().CurRot() = aTri0->RotOfSom(aTri0->KSom(1)); + aTri0->KSom(2)->attr().CurRot() = aTri0->RotOfSom(aTri0->KSom(2)); + + + +#ifdef GRAPHVIZ_ENABLED + + + // Read the graph from a file (contains all triplets possible) + const std::string aGCurName = "Gr_"+ (UseCoherence ? "BestInit" : ToString(mIterCur)); + + graph_t *g = GRAPHIZ_GraphRead(mGraphName); + GVC_t *gvc = GRAPHVIZ_GVCInit(aGCurName); + + + // Mark the seed triplet in red + GRAPHVIZ_NodeChgColor(g,aTri0->KSom(0)->attr().Im()->Name()); + GRAPHVIZ_NodeChgColor(g,aTri0->KSom(1)->attr().Im()->Name()); + GRAPHVIZ_NodeChgColor(g,aTri0->KSom(2)->attr().Im()->Name()); + + GRAPHVIZ_EdgeChgColor(g, + aTri0->KSom(0)->attr().Im()->Name(), + aTri0->KSom(1)->attr().Im()->Name(), + "blue"); + GRAPHVIZ_EdgeChgColor(g, + aTri0->KSom(0)->attr().Im()->Name(), + aTri0->KSom(2)->attr().Im()->Name(), + "blue"); + GRAPHVIZ_EdgeChgColor(g, + aTri0->KSom(1)->attr().Im()->Name(), + aTri0->KSom(2)->attr().Im()->Name(), + "blue"); +#endif + + + // Create a new component + cNO_CC_TripSom * aNewCC3S = new cNO_CC_TripSom; + aNewCC3S->mNumCC = aNumCC; + mVCC.push_back(aNewCC3S); + std::vector * aCC3 = &(aNewCC3S->mTri); // Quick acces to vec of tri in the CC + std::vector * aCCS = &(aNewCC3S->mSoms); // Quick access to som + + + + + // Calcul des triplets + aCC3->push_back(aTri0); // Add triplet T0 + + aTri0->Flag().set_kth_true(mFlag3CC);// Mark it as explored + aTri0->NumCC() = aNumCC; // Put right num to T0 + int aKCur = 0; + + + + + // Visit all sommets (not all triplets) + while (int(mVS.size())!=mNbSom) + { + if (mDebug) + std::cout << int(mVS.size()) << "/" << mNbSom << "\n" ; + + // Randomly select a triplet (out of visited ones) + int t_r = NRrandom3(int(aCC3->size())); + /*if (mDebug) + std::cout << ", trip_r=" << t_r << "/" << int(aCC3->size()) ;*/ + + + cNOSolIn_Triplet * aTri1 = (*aCC3)[t_r]; + + + // Randomly select an edge e_r + int e_r = NRrandom3(3); + + /*if (mDebug) + std::cout << ", edge_r=" << e_r << "/3" ;*/ + + //Triplets adjacent to edge e_r + std::vector & aLnk = aTri1->KArc(e_r)->attr().ASym()->Lnk3(); + + + // Pick an edge adjacent to e_r (best or random) + int e_a = NRrandom3(int(aLnk.size())); + + cLinkTripl TriAdjCur = aLnk[e_a]; + if (UseCoherence) + { + cLinkTripl * TriAdjCurPtr; + // If no best exists, it will take a random edge + if ((TriAdjCurPtr = aTri1->KArc(e_r)->attr().ASym()->GetBestTri())) + TriAdjCur = *TriAdjCurPtr; + } + /*cLinkTripl TriAdjCur = (UseCoherence ? *(aTri1->KArc(e_r)->attr().ASym()->GetBestTri()) + : aLnk[e_a]);*/ + + /*if (mDebug) + std::cout << ", edge_a=" << e_a << "/" << int(aLnk.size()) << "\n"; + }*/ + + + + // If not marked, mark it and push it in aCC3, return it was added + if (! DicBoolFind(mVS,TriAdjCur.S3()->attr().Im()->Name())) + { + TriAdjCur.m3->NumCC() = aNumCC; + mVS[TriAdjCur.S3()->attr().Im()->Name()] = TriAdjCur.S3(); + + // Get sommets + tSomNSI * aS1 = TriAdjCur.S1(); + tSomNSI * aS2 = TriAdjCur.S2(); + tSomNSI * aS3 = TriAdjCur.S3(); + + // Get current R,t of the mother pair + ElRotation3D aC1ToM = aS1->attr().CurRot(); + ElRotation3D aC2ToM = aS2->attr().CurRot(); + + // Get rij,tij of the triplet sommets + const ElRotation3D aC1ToL = TriAdjCur.m3->RotOfSom(aS1); + const ElRotation3D aC2ToL = TriAdjCur.m3->RotOfSom(aS2); + const ElRotation3D aC3ToL = TriAdjCur.m3->RotOfSom(aS3); + + // Propagate R,t according to: + // aC1ToM.tr() = T0 + aRL2M * aC1ToL.tr() * Lambda + // + // 1-R + ElMatrix aRL2Mprim = aC1ToM.Mat() * aC1ToL.Mat().transpose(); + ElMatrix aRL2Mbis = aC2ToM.Mat() * aC2ToL.Mat().transpose(); + ElMatrix aRL2M = NearestRotation((aRL2Mprim+aRL2Mbis)*0.5); + + + + // 2-Lambda + double d12L = euclid(aC2ToL.tr() - aC1ToL.tr()); + double d12M = euclid(aC2ToM.tr() - aC1ToM.tr()); + double Lambda = d12M / ElMax(d12L,1e-20); + + + // 3-t + Pt3dr aC1ToLRot = aRL2M * aC1ToL.tr(); + Pt3dr aC2ToLRot = aRL2M * aC2ToL.tr(); + + Pt3dr T0prim = aC1ToM.tr() - aC1ToLRot * Lambda; + Pt3dr T0bis = aC2ToM.tr() - aC2ToLRot * Lambda; + Pt3dr T0 = (T0prim+T0bis) /2.0; + + Pt3dr aT3 = T0 + aRL2M * aC3ToL.tr() * Lambda; + + // 4- Set R3,t3 + aS3->attr().CurRot() = ElRotation3D(aT3,aRL2M*aC3ToL.Mat(),true); + aS3->attr().TestRot() = ElRotation3D(aT3,aRL2M*aC3ToL.Mat(),true);//used in coherence + + + + std::cout << "=== " << TriAdjCur.S1()->attr().Im()->Name() << " " + << TriAdjCur.S2()->attr().Im()->Name() << " " + << TriAdjCur.S3()->attr().Im()->Name() << ", Cost=" + << TriAdjCur.m3->CostArc() << "\n"; + +#ifdef GRAPHVIZ_ENABLED + /* Only edge between 2-3 is drawn */ + GRAPHVIZ_EdgeChgColor(g, + TriAdjCur.S2()->attr().Im()->Name(), + TriAdjCur.S3()->attr().Im()->Name()); +#endif + + } + + aKCur++; + + } + + + // Calculate coherence scores + CoherTriplets(); + + // Save + std::string aOutOri = "DSF_" + (UseCoherence ? "BestInit" : ToString(mIterCur)); + Save(aOutOri); + + std::cout << "NbTriii " << aCC3->size() << " NbSooom " << aCCS->size() << "\n"; + +#ifdef GRAPHVIZ_ENABLED + GRAPHIZ_GraphKill(g,gvc); +#endif + +} + +void cSolGlobInit_RandomDFS::CoherTriplets() +{ + //std::cout << "size CostArcPerSample=" << int(mV3[0]->CostArcPerSample().size()) << "\n"; + + for (int aT=0; aTCoherTest()),1e9); + mV3[aT]->CostArcPerSample().push_back(aCostCur); + + //std::cout << "cost=" << aCostCur << "\n"; + } + +} + +void cSolGlobInit_RandomDFS::CoherTripletsAllSamples() +{ + for (int aT=0; aTCostArc() = KthValProp(mV3[aT]->CostArcPerSample(),0.8); + mV3[aT]->CostArcMed() = MedianeSup(mV3[aT]->CostArcPerSample()); + + /*std::cout << "Ec80=" << mV3[aT]->CostArc() << + ", MED=" << mV3[aT]->CostArcMed() << " " << + mV3[aT]->KSom(0)->attr().Im()->Name() << " " << + mV3[aT]->KSom(1)->attr().Im()->Name() << " " << + mV3[aT]->KSom(2)->attr().Im()->Name() << "\n";*/ + } +} + +/* This heap will serve to GetBestTri when building the ultimate init solution */ +void cSolGlobInit_RandomDFS::HeapPerEdge() +{ + + // For all triplets + for (auto aTri : mV3) + { + + // For each edge of the current triplet + for (int aK=0; aK<3; aK++) + { + std::vector & aLnk = aTri->KArc(aK)->attr().ASym()->Lnk3Ptr(); + + // For all adjacent triplets to the current edge + for (auto aTriAdj : aLnk) + { + // Push to heap + aTri->KArc(aK)->attr().ASym()->mHeapTri.push(aTriAdj); + } + + // Order index + for (auto aTriAdj : aLnk) + { + aTri->KArc(aK)->attr().ASym()->mHeapTri.MAJ(aTriAdj); + } + } + + } + + +} + +void cSolGlobInit_RandomDFS::HeapPerSol() +{ + // Update heap + for (auto aTri : mV3) + { + mHeapTriAll.push(aTri); + } + + // Order index + for (auto aTri : mV3) + { + mHeapTriAll.MAJ(aTri); + } +} + +void cSolGlobInit_RandomDFS::Save(std::string& OriOut) +{ + for (tItSNSI anItS=mGr.begin(mSubAll) ; anItS.go_on(); anItS++) + { + cNewO_OneIm * anI = (*anItS).attr().Im(); + std::string aNameIm = anI->Name(); + CamStenope * aCS = anI->CS(); + ElRotation3D aROld2Cam = (*anItS).attr().CurRot().inv(); + + aCS->SetOrientation(aROld2Cam); + + cOrientationConique anOC = aCS->StdExportCalibGlob(); + anOC.Interne().SetNoInit(); + anOC.FileInterne().SetVal(mNM->ICNM()->StdNameCalib(mNM->OriOut(),aNameIm)); + + std::string aNameOri = mNM->ICNM()->Assoc1To1("NKS-Assoc-Im2Orient@-"+OriOut,aNameIm,true); + + MakeFileXML(anOC,aNameOri); + + } +} + + +void cSolGlobInit_RandomDFS::ShowTripletCost() +{ + for (auto aTri : mV3) + { + std::cout << "[" << aTri->KSom(0)->attr().Im()->Name() << "," + << aTri->KSom(1)->attr().Im()->Name() << "," + << aTri->KSom(2)->attr().Im()->Name() << "], " + << " Cost=" << aTri->CostArc() << " ,MED=" << aTri->CostArcMed() << "\n"; + } +} + +void cSolGlobInit_RandomDFS::DoRandomDFS() +{ + for (mIterCur=0; mIterCurNameTopoTriplet(true),Xml_TopoTriplet); + mNbTri = int(aXml3.Triplets().size()); + + + // Identify a set of random triplets that will become outliers + std::set aOutlierList; + if (mRatioOutlier>0) + { + int aNbOutliers = std::floor(mRatioOutlier * mNbTri); + + + + + for (int aK=0; aK::const_iterator it3=aXml3.Triplets().begin() ; + it3 !=aXml3.Triplets().end() ; + it3++ + ) + { + + bool Ok; + std::pair aPair = mNM->OriRelTripletFromExisting( + InOri, + it3->Name1(), + it3->Name2(), + it3->Name3(), + Ok); + + std::string aNameSauveXml = mNM->NameOriOptimTriplet(false,it3->Name1(),it3->Name2(),it3->Name3(),false); + std::string aNameSauveBin = mNM->NameOriOptimTriplet(true ,it3->Name1(),it3->Name2(),it3->Name3(),false); + + cXml_Ori3ImInit aXml; + + if (DicBoolFind(aOutlierList,aK)) + { + aXml.Ori2On1() = El2Xml(ElRotation3D(aPair.first.tr(),RandPeturbR(),true)); + aXml.Ori3On1() = El2Xml(ElRotation3D(aPair.second.tr(),RandPeturbR(),true)); + std::cout << "Perturbed R=["<< it3->Name1() <<","<< it3->Name2() << "," << it3->Name3() + << "], " << aPair.first.tr() << " " << aPair.second.tr() << "\n"; + } + else + { + aXml.Ori2On1() = El2Xml(ElRotation3D(aPair.first.tr(),aPair.first.Mat(),true)); + aXml.Ori3On1() = El2Xml(ElRotation3D(aPair.second.tr(),aPair.second.Mat(),true)); + + } + + + MakeFileXML(aXml,aNameSauveXml); + MakeFileXML(aXml,aNameSauveBin); + + + aK++; + } +} + + +ElMatrix cAppliGenOptTriplets::RandPeturbR() +{ + + double aW[] = {NRrandom3(),NRrandom3(),NRrandom3()}; + + Pt3dr aI(exp(0),exp(aW[2]),exp(-aW[1])); + Pt3dr aJ(exp(-aW[2]),exp(0),exp(aW[0])); + Pt3dr aK(exp(aW[1]),exp(-aW[0]),exp(0)); + + ElMatrix aRes = MatFromCol(aI,aJ,aK); + + + return aRes; +} + + +int CPP_GenOptTriplets(int argc,char ** argv) +{ + + cAppliGenOptTriplets aAppGenTri(argc,argv); + + return EXIT_SUCCESS; +} + + + +/*Footer-MicMac-eLiSe-25/06/2007 + +Ce logiciel est un programme informatique servant à la mise en +correspondances d'images pour la reconstruction du relief. + +Ce logiciel est régi par la licence CeCILL-B soumise au droit français et +respectant les principes de diffusion des logiciels libres. Vous pouvez +utiliser, modifier et/ou redistribuer ce programme sous les conditions +de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA +sur le site "http://www.cecill.info". + +En contrepartie de l'accessibilité au code source et des droits de copie, +de modification et de redistribution accordés par cette licence, il n'est +offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, +seule une responsabilité restreinte pèse sur l'auteur du programme, le +titulaire des droits patrimoniaux et les concédants successifs. + +A cet égard l'attention de l'utilisateur est attirée sur les risques +associés au chargement, à l'utilisation, à la modification et/ou au +développement et à la reproduction du logiciel par l'utilisateur étant +donné sa spécificité de logiciel libre, qui peut le rendre complexe à +manipuler et qui le réserve donc à des développeurs et des professionnels +avertis possédant des connaissances informatiques approfondies. Les +utilisateurs sont donc invités à charger et tester l'adéquation du +logiciel à leurs besoins dans des conditions permettant d'assurer la +sécurité de leurs systèmes et ou de leurs données et, plus généralement, +à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. + +Le fait que vous puissiez accéder à cet en-tête signifie que vous avez +pris connaissance de la licence CeCILL-B, et que vous en avez accepté les +termes. +Footer-MicMac-eLiSe-25/06/2007*/ + diff --git a/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.h b/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.h new file mode 100644 index 0000000000..2ff6e564f3 --- /dev/null +++ b/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.h @@ -0,0 +1,421 @@ +/*Header-MicMac-eLiSe-25/06/2007 + + MicMac : Multi Image Correspondances par Methodes Automatiques de Correlation + eLiSe : ELements of an Image Software Environnement + + www.micmac.ign.fr + + + Copyright : Institut Geographique National + Author : Marc Pierrot Deseilligny + Contributors : Gregoire Maillet, Didier Boldo. + +[1] M. Pierrot-Deseilligny, N. Paparoditis. + "A multiresolution and optimization-based image matching approach: + An application to surface reconstruction from SPOT5-HRS stereo imagery." + In IAPRS vol XXXVI-1/W41 in ISPRS Workshop On Topographic Mapping From Space + (With Special Emphasis on Small Satellites), Ankara, Turquie, 02-2006. + +[2] M. Pierrot-Deseilligny, "MicMac, un lociel de mise en correspondance + d'images, adapte au contexte geograhique" to appears in + Bulletin d'information de l'Institut Geographique National, 2007. + +Francais : + + MicMac est un logiciel de mise en correspondance d'image adapte + au contexte de recherche en information geographique. Il s'appuie sur + la bibliotheque de manipulation d'image eLiSe. Il est distibue sous la + licences Cecill-B. Voir en bas de fichier et http://www.cecill.info. + + +English : + + MicMac is an open source software specialized in image matching + for research in geographic information. MicMac is built on the + eLiSe image library. MicMac is governed by the "Cecill-B licence". + See below and http://www.cecill.info. + +Header-MicMac-eLiSe-25/06/2007*/ + + +#include "NewOri.h" +//#include "general/CMake_defines.h" +#include "graphes/cNewO_BuildOptions.h" + +#ifdef GRAPHVIZ_ENABLED + #include +#endif + + + +namespace SolGlobInit_DFS { + + +#define MIN_LNK_SEED 4 +#define MAX_SAMPLE_SEED 50 + +class cNOSolIn_AttrSom; +class cNOSolIn_AttrASym; +class cNOSolIn_AttrArc; +class cNOSolIn_Triplet; +class cLinkTripl; +class cSolGlobInit_RandomDFS; +class cNO_HeapIndTri_NSI; +class cNO_CmpTriByCost; + +typedef ElSom tSomNSI; +typedef ElArc tArcNSI; +typedef ElSomIterator tItSNSI; +typedef ElArcIterator tItANSI; +typedef ElGraphe tGrNSI; +typedef ElSubGraphe tSubGrNSI; + +typedef ElHeap tHeapTriNSI; + + +class cNOSolIn_AttrSom +{ + public : + cNOSolIn_AttrSom() : + mCurRot (ElRotation3D::Id), + mTestRot (ElRotation3D::Id) {} + cNOSolIn_AttrSom(const std::string & aName,cSolGlobInit_RandomDFS & anAppli); + + + void AddTriplet(cNOSolIn_Triplet *,int aK0,int aK1,int aK2); + cNewO_OneIm * Im() {return mIm;} + ElRotation3D & CurRot() {return mCurRot;} + ElRotation3D & TestRot() {return mTestRot;} + + std::vector & Lnk3() {return mLnk3;} + + + + private: + std::string mName; + cSolGlobInit_RandomDFS * mAppli; + int mHeapIndex; + cNewO_OneIm * mIm; + std::vector mLnk3; + ElRotation3D mCurRot; + ElRotation3D mTestRot; + +}; + + + +class cNOSolIn_AttrArc +{ + public : + cNOSolIn_AttrArc(cNOSolIn_AttrASym *,bool OrASym); + cNOSolIn_AttrASym * ASym() {return mASym;} + bool IsOrASym() const {return mOrASym;} + + private : + cNOSolIn_AttrASym * mASym; + bool mOrASym; +}; + + +class cNOSolIn_Triplet +{ + public : + cNOSolIn_Triplet(cSolGlobInit_RandomDFS *,tSomNSI * aS1,tSomNSI * aS2,tSomNSI *aS3,const cXml_Ori3ImInit &); + void SetArc(int aK,tArcNSI *); + tSomNSI * KSom(int aK) const {return mSoms[aK];} + tArcNSI * KArc(int aK) const {return mArcs[aK];} + double CoherTest() const; + + + + int Nb3() const {return mNb3;} + ElTabFlag & Flag() {return mTabFlag;} + int & NumCC() {return mNumCC;} + + const ElRotation3D & RotOfSom(tSomNSI * aS) const + { + if (aS==mSoms[0]) return ElRotation3D::Id; + if (aS==mSoms[1]) return mR2on1; + if (aS==mSoms[2]) return mR3on1; + ELISE_ASSERT(false," RotOfSom"); + return ElRotation3D::Id; + } + const ElRotation3D & RotOfK(int aK) const + { + switch (aK) + { + case 0 : return ElRotation3D::Id; + case 1 : return mR2on1; + case 2 : return mR3on1; + } + ELISE_ASSERT(false," RotOfSom"); + return ElRotation3D::Id; + } + + float CostArc() const {return mCostArc;} + float& CostArc() {return mCostArc;} + float CostArcMed() const {return mCostArcMed;} + float& CostArcMed() {return mCostArcMed;} + std::vector& CostArcPerSample() {return mCostArcPerSample;}; + + int & HeapIndex() {return mHeapIndex;} + + + private : + cNOSolIn_Triplet(const cNOSolIn_Triplet &); // N.I. + cSolGlobInit_RandomDFS * mAppli; + tSomNSI * mSoms[3]; + tArcNSI * mArcs[3]; + float mCostArc; + float mCostArcMed; + std::vector mCostArcPerSample; + + int mNb3; + ElTabFlag mTabFlag; + int mNumCC; + ElRotation3D mR2on1; + ElRotation3D mR3on1; + float mBOnH; + + int mHeapIndex; +}; + +inline bool ValFlag(cNOSolIn_Triplet & aTrip,int aFlagSom) +{ + return aTrip.Flag().kth(aFlagSom); +} +inline void SetFlag(cNOSolIn_Triplet & aTrip,int aFlag,bool aVal) +{ + aTrip.Flag().set_kth(aFlag,aVal); +} + +class cLinkTripl +{ + public : + cLinkTripl(cNOSolIn_Triplet * aTrip,int aK1,int aK2,int aK3) : + m3 (aTrip), + mK1 (aK1), + mK2 (aK2), + mK3 (aK3) + { + } + + int & HeapIndex() {return mHeapIndex;} + + cNOSolIn_Triplet * m3; + U_INT1 mK1; + U_INT1 mK2; + U_INT1 mK3; + tSomNSI * S1() const; + tSomNSI * S2() const; + tSomNSI * S3() const; + + private: + int mHeapIndex; //Heap index pour tirer le meilleur triplets + +}; + +class cNO_CC_TripSom +{ + public : + std::vector mTri; + std::vector mSoms; + int mNumCC; +}; + + +class cNO_HeapIndTri_NSI +{ + public : + static void SetIndex(cLinkTripl* aV,int i) { aV->HeapIndex()=i;} + static int Index(cLinkTripl * aV) + { + return aV->HeapIndex(); + } + +}; + +class cNO_CmpTriByCost +{ + public: + bool operator()(cLinkTripl * aL1,cLinkTripl * aL2) + { + return (aL1->m3)->CostArc() < (aL2->m3)->CostArc(); + } +}; + +//typedef ElHeap tHeapTriNSI; + +class cNOSolIn_AttrASym +{ + public : + cNOSolIn_AttrASym(); + + void AddTriplet(cNOSolIn_Triplet * aTrip,int aK1,int aK2,int aK3); + std::vector & Lnk3() {return mLnk3;} + std::vector & Lnk3Ptr() {return mLnk3Ptr;} + + cLinkTripl * GetBestTri(); + tHeapTriNSI mHeapTri; + + private : + std::vector mLnk3; // Liste des triplets partageant cet arc + std::vector mLnk3Ptr; //Dirty trick pour faire marcher heap + +}; + +class cNO_HeapIndTriSol_NSI +{ + public : + static void SetIndex(cNOSolIn_Triplet * aV,int i) { aV->HeapIndex()=i;} + static int Index(cNOSolIn_Triplet * aV) + { + return aV->HeapIndex(); + } + +}; + +class cNO_CmpTriSolByCost +{ + public: + bool operator()(cNOSolIn_Triplet * aL1,cNOSolIn_Triplet * aL2) + { + return aL1->CostArc() < aL2->CostArc(); + } +}; + +typedef ElHeap tHeapTriSolNSI; + +class cSolGlobInit_RandomDFS : public cCommonMartiniAppli +{ + public: + cSolGlobInit_RandomDFS(int argc,char ** argv); + cNewO_NameManager & NM() {return *mNM;} + + void DoOneRandomDFS(bool UseCoherence=false); + void DoRandomDFS(); + + private: + void CreateArc(tSomNSI *,tSomNSI *,cNOSolIn_Triplet *,int aK0,int aK1,int aK2); + void CoherTriplets(); + void CoherTripletsAllSamples(); + void HeapPerEdge(); + void HeapPerSol(); + void ShowTripletCost(); + + cNOSolIn_Triplet * GetBestTri(); + + void Save(std::string& OriOut); + + std::string mFullPat; + cElemAppliSetFile mEASF; + cNewO_NameManager * mNM; + + tGrNSI mGr; + tSubGrNSI mSubAll; + std::map mMapS; + std::map mVS; //variable to keep the visited sommets + + + std::vector mV3; + std::vector mVCC; + + int mNbSom; + int mNbArc; + int mNbTrip; + ElFlagAllocator mAllocFlag3; + int mFlag3CC; + bool mDebug; + int mNbSamples; + ElTimer mChrono; + int mIterCur; + + +#ifdef GRAPHVIZ_ENABLED + GVC_t *GRAPHVIZ_GVCInit(const std::string& aGName); + std::pair GRAPHVIZ_GraphInit(const std::string& aGName); + graph_t *GRAPHIZ_GraphRead(std::string& aFName); + void GRAPHIZ_GraphSerialize(std::string& aFName,graph_t *g); + void GRAPHIZ_GraphKill(graph_t *g,GVC_t *gvc,std::string aWriteName=""); + void GRAPHIZ_NodeInit(graph_t *, + const std::string& , + const std::string& , + const std::string& ); + void GRAPHVIZ_NodeAdd(graph_t* , + const std::string& , + const std::string& , + const std::string& ); + void GRAPHVIZ_NodeChgColor(graph_t*,const std::string& ); + void GRAPHVIZ_EdgeChgColor(graph_t*, + const std::string& , + const std::string& , + std::string aColor="red"); + void WriteGraphToFile(); + + graph_t *mG; + GVC_t *mGVC; + +#endif + std::string mGraphName; + tHeapTriSolNSI mHeapTriAll; + +}; + + +} //SolGlobInit_DFS + +class cAppliGenOptTriplets : public cCommonMartiniAppli +{ + public: + cAppliGenOptTriplets(int argc,char ** argv); + + + private: + ElMatrix RandPeturbR(); + + std::string mFullPat; + std::string InOri; + + + int mNbTri; + double mSigma;//bruit + double mRatioOutlier;//outlier ratio, if 0.3 => 30% of outliers will be present among the triplets + + cElemAppliSetFile mEASF; + cNewO_NameManager * mNM; + +}; + +/*Footer-MicMac-eLiSe-25/06/2007 + +Ce logiciel est un programme informatique servant à la mise en +correspondances d'images pour la reconstruction du relief. + +Ce logiciel est régi par la licence CeCILL-B soumise au droit français et +respectant les principes de diffusion des logiciels libres. Vous pouvez +utiliser, modifier et/ou redistribuer ce programme sous les conditions +de la licence CeCILL-B telle que diffusée par le CEA, le CNRS et l'INRIA +sur le site "http://www.cecill.info". + +En contrepartie de l'accessibilité au code source et des droits de copie, +de modification et de redistribution accordés par cette licence, il n'est +offert aux utilisateurs qu'une garantie limitée. Pour les mêmes raisons, +seule une responsabilité restreinte pèse sur l'auteur du programme, le +titulaire des droits patrimoniaux et les concédants successifs. + +A cet égard l'attention de l'utilisateur est attirée sur les risques +associés au chargement, à l'utilisation, à la modification et/ou au +développement et à la reproduction du logiciel par l'utilisateur étant +donné sa spécificité de logiciel libre, qui peut le rendre complexe à +manipuler et qui le réserve donc à des développeurs et des professionnels +avertis possédant des connaissances informatiques approfondies. Les +utilisateurs sont donc invités à charger et tester l'adéquation du +logiciel à leurs besoins dans des conditions permettant d'assurer la +sécurité de leurs systèmes et ou de leurs données et, plus généralement, +à l'utiliser et l'exploiter dans les mêmes conditions de sécurité. + +Le fait que vous puissiez accéder à cet en-tête signifie que vous avez +pris connaissance de la licence CeCILL-B, et que vous en avez accepté les +termes. +Footer-MicMac-eLiSe-25/06/2007*/ + From b51960221fdc774fc0ce22af93733f561ff5b8e6 Mon Sep 17 00:00:00 2001 From: ewelina rupnik Date: Fri, 3 Apr 2020 12:16:40 +0200 Subject: [PATCH 46/49] Add Dockerfile --- Dockerfile | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) create mode 100644 Dockerfile diff --git a/Dockerfile b/Dockerfile new file mode 100644 index 0000000000..eeea6bb847 --- /dev/null +++ b/Dockerfile @@ -0,0 +1,45 @@ +FROM ubuntu:latest +MAINTAINER Ewelina Rupnik + +ARG DEBIAN_FRONTEND=noninteractive + +# Set the working directory +ENV foo /etc/opt/ +WORKDIR ${foo} + +#IGN server specifique +#RUN export http_proxy="http://proxy.ign.fr:3128" +#RUN export https_proxy="https://proxy.ign.fr:3128" + +#MicMac dependencies +RUN apt-get update && apt-get install -y \ + build-essential \ + make \ + cmake \ + git \ + proj-bin \ + exiv2 \ + exiftool \ + imagemagick \ + xorg \ + openbox \ + qt5-default \ + meshlab \ + vim + + +#MicMac clone +#IGN-specific proxy setting +#RUN git config --global http.proxy http://proxy.ign.fr:3128 +#RUN git config --global https.proxy https://proxy.ign.fr:3128 +RUN git clone https://github.com/micmacIGN/micmac.git + +#MicMac build & compile +WORKDIR micmac +RUN mkdir build +WORKDIR build +RUN cmake ../ && make install -j8 + +#MicMac add environmental variable to executables +ENV PATH=$foo"micmac/bin/:${PATH}" +RUN echo $foo"micmac/bin/:${PATH}" From 3d015eeb1799e5f9c34761e41601b5f9c1a9460d Mon Sep 17 00:00:00 2001 From: deseilligny Date: Mon, 6 Apr 2020 20:27:19 +0200 Subject: [PATCH 47/49] CatVideo + V0 de dist polyn formelle --- MMVII/include/MMVII_DeclareAllCmd.h | 1 + MMVII/include/MMVII_Error.h | 6 +- MMVII/include/MMVII_FormalDerivatives.h | 49 +- MMVII/include/MMVII_Sys.h | 2 +- MMVII/include/MMVII_enums.h | 2 + MMVII/include/MMVII_util.h | 4 + MMVII/include/cMMVII_Appli.h | 6 +- MMVII/src/Appli/MMVI_Errors.cpp | 4 + MMVII/src/Appli/cMMVII_Appli.cpp | 39 +- MMVII/src/Appli/cSpecMMVII_Appli.cpp | 1 + MMVII/src/Perso/cMMVII_CatVideo.cpp | 157 +++++ MMVII/src/Perso/cMMVII_DaisyFormat.cpp | 2 +- MMVII/src/Perso/cMMVII_Walkman.cpp | 8 +- MMVII/src/Serial/cStrIO.cpp | 2 +- MMVII/src/Serial/uti_e2string.cpp | 3 +- .../TestLibsExtern/TestDynCompDerivatives.cpp | 590 ++++++++++++------ MMVII/src/Utils/uti_files.cpp | 34 +- MMVII/src/Utils/uti_set_sel.cpp | 8 +- MMVII/src/Utils/uti_string.cpp | 13 +- MMVII/src/Utils/uti_sysdep.cpp | 2 +- 20 files changed, 690 insertions(+), 243 deletions(-) create mode 100644 MMVII/src/Perso/cMMVII_CatVideo.cpp diff --git a/MMVII/include/MMVII_DeclareAllCmd.h b/MMVII/include/MMVII_DeclareAllCmd.h index 333f8fccd8..691b285873 100644 --- a/MMVII/include/MMVII_DeclareAllCmd.h +++ b/MMVII/include/MMVII_DeclareAllCmd.h @@ -17,6 +17,7 @@ extern cSpecMMVII_Appli TheSpecEditSet; extern cSpecMMVII_Appli TheSpecEditRel; extern cSpecMMVII_Appli TheSpecWalkman; extern cSpecMMVII_Appli TheSpecDaisy; +extern cSpecMMVII_Appli TheSpecCatVideo; extern cSpecMMVII_Appli TheSpec_TestEigen; extern cSpecMMVII_Appli TheSpec_ComputeParamIndexBinaire; extern cSpecMMVII_Appli TheSpecTestRecall; diff --git a/MMVII/include/MMVII_Error.h b/MMVII/include/MMVII_Error.h index cb5e951a6c..8de46f74b4 100644 --- a/MMVII/include/MMVII_Error.h +++ b/MMVII/include/MMVII_Error.h @@ -83,10 +83,10 @@ void MMVII_RestoreDefaultHandle(); { MMVVI_Error("Internal Error",aMes,__FILE__,__LINE__);} void MMVII_UsersErrror(const eTyUEr &,const std::string & aMes); -#define MMVII_INTERNAL_ASSERT_user(aRef,aMes)\ - if (The_MMVII_DebugLevel>=The_MMVII_DebugLevel_UserError ) \ +#define MMVII_INTERNAL_ASSERT_User(aTest,aRef,aMes)\ + if ((The_MMVII_DebugLevel>=The_MMVII_DebugLevel_UserError) && (!(aTest))) \ { MMVII_UsersErrror(aRef,aMes);} - +void MMVII_UnclasseUsEr(const std::string & aMes); #define MMVII_INTERNAL_ASSERT_always(aTest,aMes)\ diff --git a/MMVII/include/MMVII_FormalDerivatives.h b/MMVII/include/MMVII_FormalDerivatives.h index 297a4adc48..2310ae5f31 100644 --- a/MMVII/include/MMVII_FormalDerivatives.h +++ b/MMVII/include/MMVII_FormalDerivatives.h @@ -126,10 +126,48 @@ namespace NS_MMVII_FormalDerivative */ /// These functions are required if we want to have same operation on numbers double and formulas -double square(const double & aV) {return aV*aV;} -double square(const float & aV) {return aV*aV;} -double cube(const double & aV) {return aV*aV*aV;} -double cube(const float & aV) {return aV*aV*aV;} +inline double square(const double & aV) {return aV*aV;} +inline double square(const float & aV) {return aV*aV;} + +inline double cube(const double & aV) {return aV*aV*aV;} +inline double cube(const float & aV) {return aV*aV*aV;} + +inline double pow4(const double & aV) {return square(square(aV));} +inline double pow4(const float & aV) {return square(square(aV));} + +inline double pow5(const double & aV) {return aV *pow4(aV);} +inline double pow5(const float & aV) {return aV *pow4(aV);} + +inline double pow6(const double & aV) {return square(cube(aV));} +inline double pow6(const float & aV) {return square(cube(aV));} + +inline double pow7(const double & aV) {return aV *pow6(aV);} +inline double pow7(const float & aV) {return aV *pow6(aV);} + +inline double pow8(const double & aV) {return square(pow4(aV));} +inline double pow8(const float & aV) {return square(pow4(aV));} + +inline double pow9(const double & aV) {return aV *pow8(aV);} +inline double pow9(const float & aV) {return aV *pow8(aV);} + +template Type powI(const Type & aV,const int aNb) +{ + switch (aNb) + { + case 0 : return Type(1.0); + case 1 : return aV; + case 2 : return square(aV); + case 3 : return cube(aV); + case 4 : return pow4(aV); + case 5 : return pow5(aV); + case 6 : return pow6(aV); + case 7 : return pow7(aV); + case 8 : return pow8(aV); + case 9 : return pow9(aV); + } + return std::pow(aV,Type(aNb)); +} + // static double square(const float & aV) {return aV*aV;} void Error(const std::string & aMes,const std::string & aExplanation) @@ -155,6 +193,7 @@ void AssertAlmostEqual(const double & aV1,const double & aV2,const double & aEps InternalError("Test equality failed"); } + /** This function computes derivates by finites difference It is used in the tests to check correction of formal derivatives. Also used in didactic parts. @@ -853,6 +892,8 @@ void cCoordinatorF::SetCurFormulas(const std::vector & aVF) } // Use depth to have topological sort + // In fact it is probably not necessary to make this sort, initial order of reaching order + // should work; by the way : no dammage .. std::sort ( mVReachedF.begin(), diff --git a/MMVII/include/MMVII_Sys.h b/MMVII/include/MMVII_Sys.h index 741e83d63a..47dc3193a4 100644 --- a/MMVII/include/MMVII_Sys.h +++ b/MMVII/include/MMVII_Sys.h @@ -44,7 +44,7 @@ const eSYS TheSYS = eSYS::MacOs; int mmvii_NbProcSys(); int mmvii_GetPId(); -int SysCall(const std::string &, bool SVP=false); ///< call system, if SVP=false error not EXIT_SUCCESS +int GlobSysCall(const std::string &, bool SVP=false); ///< call system, if SVP=false error not EXIT_SUCCESS /// A fake function, to stop momentarilly warnings about unused variable ... diff --git a/MMVII/include/MMVII_enums.h b/MMVII/include/MMVII_enums.h index 7c3bf43624..3bbf2394e2 100644 --- a/MMVII/include/MMVII_enums.h +++ b/MMVII/include/MMVII_enums.h @@ -63,6 +63,7 @@ enum class eApDT Console, ///< Console Xml, ///< Xml-files FileSys, ///< Input is the file system (list of file) + Media, ///< Input is the file system (list of file) eNbVals ///< Tag for number of value }; @@ -118,6 +119,7 @@ enum class eTyUEr eParseError, eBadDimForPt, eBadSize4Vect, + eMultiplePostifx, eUnClassedError, eNbVals }; diff --git a/MMVII/include/MMVII_util.h b/MMVII/include/MMVII_util.h index c627dcb054..89ac971a25 100644 --- a/MMVII/include/MMVII_util.h +++ b/MMVII/include/MMVII_util.h @@ -67,6 +67,8 @@ void SplitStringArround(std::string & aBefore,std::string & aAfter,const std::s std::string Prefix(const std::string & aStr,char aSep='.',bool SVP=false,bool PrivPref=true); std::string Postfix(const std::string & aStr,char aSep='.',bool SVP=false,bool PrivPref=true); +std::string LastPostfix(const std::string & aStr,char aSep='.'); ///< No error: a=> "" a.b.c => "c" + // Direcytory and files names, Rely on boost void MakeNameDir(std::string & aDir); ///< Add a '/', or equiv, to make a name of directory @@ -128,6 +130,8 @@ int FromHexaCode(char aC); try to offer them from a more secured way. The Write(const Type & ) are typed ; it calss VoidWrite which check the number of byte written (if enough debug) + + No need for close() as it done automatically at destroy in std::ofstream. */ class cMMVII_Ofs : public cMemCheck { diff --git a/MMVII/include/cMMVII_Appli.h b/MMVII/include/cMMVII_Appli.h index f416da4b6f..151aaec55b 100644 --- a/MMVII/include/cMMVII_Appli.h +++ b/MMVII/include/cMMVII_Appli.h @@ -308,7 +308,11 @@ class cMMVII_Appli : public cMMVII_Ap_NameManip, cMultipleOfs & HelpOut(); cMultipleOfs & ErrOut(); - ///< MMVII call itself + ///< External call sys : use GlobalSysCall + register the command in log files + int ExtSysCall(const std::string & aCom, bool SVP); + + + /// MMVII call itself int ExeCallMMVII(const cSpecMMVII_Appli & aCom,const cColStrAObl&,const cColStrAOpt&,bool ByLineCom=true); void ExeMultiAutoRecallMMVII ( const std::string & aNameOpt , //! Name of parameter to substitue diff --git a/MMVII/src/Appli/MMVI_Errors.cpp b/MMVII/src/Appli/MMVI_Errors.cpp index e9ee9729da..030c74bf9c 100644 --- a/MMVII/src/Appli/MMVI_Errors.cpp +++ b/MMVII/src/Appli/MMVI_Errors.cpp @@ -54,6 +54,10 @@ void MMVII_UsersErrror(const eTyUEr & aRef,const std::string & aMes) ); } +void MMVII_UnclasseUsEr(const std::string & aMes) +{ + MMVII_UsersErrror(eTyUEr::eUnClassedError,aMes); +} /// Warning : temporary version /** Will evolve significativelly as MMVII grows diff --git a/MMVII/src/Appli/cMMVII_Appli.cpp b/MMVII/src/Appli/cMMVII_Appli.cpp index 0958acd1eb..15c0b5f0f5 100644 --- a/MMVII/src/Appli/cMMVII_Appli.cpp +++ b/MMVII/src/Appli/cMMVII_Appli.cpp @@ -70,7 +70,7 @@ int cParamCallSys::Execute() const else { // StdOut() << "EXTERN cParamCallSys:: \n"; - int aRes = SysCall(mCom,false); + int aRes = GlobSysCall(mCom,false); // StdOut() << " ##### EXTERN cParamCallSys:: " << aRes << " \n"; return aRes; } @@ -418,18 +418,15 @@ void cMMVII_Appli::InitParam() MMVII_INTERNAL_ASSERT_always(false,"\""+ aName +"\" is multiple in specification"); } // Same name was used several time - if (aSpec->NbMatch() !=0) - { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eMulOptParam,"\""+aName +"\" was used multiple time"); - } + MMVII_INTERNAL_ASSERT_User + ( aSpec->NbMatch()==0 ,eTyUEr::eMulOptParam,"\""+aName +"\" was used multiple time"); aSpec->IncrNbMatch(); } } // Name does not correspond to spec - if (aNbSpecGot==0) - { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eBadOptParam,"\""+aName +"\" is not a valide optionnal value"); - } + MMVII_INTERNAL_ASSERT_User + ( aNbSpecGot!=0 ,eTyUEr::eBadOptParam,"\""+aName +"\" is not a valide optionnal value"); + aVValues.push_back(aValue); } else @@ -452,7 +449,7 @@ void cMMVII_Appli::InitParam() GenerateHelp(); return; } - MMVII_INTERNAL_ASSERT_user + MMVII_UsersErrror ( eTyUEr::eInsufNbParam, "Not enough Arg, expecting " + ToS(aNbObl) + " , Got only " + ToS(aNbArgGot) @@ -630,7 +627,7 @@ void cMMVII_Appli::InitParam() // Why should user init interval if there no set ? if (IsInit(&mIntervFilterMS[aNum]) && (! mVMainSets.at(aNum).IsInit())) { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eIntervWithoutSet,"Interval without filter for num:"+ToStr(aNum)); + MMVII_UsersErrror(eTyUEr::eIntervWithoutSet,"Interval without filter for num:"+ToStr(aNum)); } if (aNum>0) { @@ -1148,6 +1145,24 @@ std::list cMMVII_Appli::ListStrCallMMVII return aRes; } +int cMMVII_Appli::ExtSysCall(const std::string & aCom, bool SVP) +{ + std::string aName = NameFileLog(false); + { + cMMVII_Ofs aOfs(aName,true); + aOfs.Ofs() << " --- begining at : " << StrDateCur() << "\n"; + aOfs.Ofs() << " ExtCom : [" << aCom << "]\n"; + aOfs.Ofs().close(); + } + int aResult = GlobSysCall(aCom,SVP); + { + cMMVII_Ofs aOfs(aName,true); + aOfs.Ofs() << " --- ending at : " << StrDateCur() << "\n\n"; + aOfs.Ofs().close(); + } + return aResult; +} + int cMMVII_Appli::ExeCallMMVII @@ -1159,7 +1174,7 @@ int cMMVII_Appli::ExeCallMMVII ) { cParamCallSys aComGlob = StrCallMMVII(aCom2007,anAObl,anAOpt,!ByLineCom); - return SysCall(aComGlob.Com(),false); + return GlobSysCall(aComGlob.Com(),false); } int cMMVII_Appli::ExeComSerial(const std::list & aL) diff --git a/MMVII/src/Appli/cSpecMMVII_Appli.cpp b/MMVII/src/Appli/cSpecMMVII_Appli.cpp index d4909a1449..49f18d8c16 100644 --- a/MMVII/src/Appli/cSpecMMVII_Appli.cpp +++ b/MMVII/src/Appli/cSpecMMVII_Appli.cpp @@ -131,6 +131,7 @@ std::vector & cSpecMMVII_Appli::InternVecAll() TheVecAll.push_back(&TheSpecEditRel); TheVecAll.push_back(&TheSpecWalkman); TheVecAll.push_back(&TheSpecDaisy); + TheVecAll.push_back(&TheSpecCatVideo); TheVecAll.push_back(&TheSpec_TestEigen); TheVecAll.push_back(&TheSpec_ComputeParamIndexBinaire); TheVecAll.push_back(&TheSpecTestRecall); diff --git a/MMVII/src/Perso/cMMVII_CatVideo.cpp b/MMVII/src/Perso/cMMVII_CatVideo.cpp new file mode 100644 index 0000000000..3acec9e3d6 --- /dev/null +++ b/MMVII/src/Perso/cMMVII_CatVideo.cpp @@ -0,0 +1,157 @@ +#include "include/MMVII_all.h" +#include "include/MMVII_2Include_Serial_Tpl.h" +#include + +/** \file cMMVII_CatVideo.cpp + \brief Command for concat video + + This command is basic interface to ffmpeg functionnality +of concatenating video (in fact media mp4, mp3 ...). + +*/ + + +namespace MMVII +{ + + +/* ==================================================== */ +/* */ +/* cAppli_CatVideo */ +/* */ +/* ==================================================== */ + + +/** Application for concatenating videos */ + +class cAppli_CatVideo : public cMMVII_Appli +{ + public : + cAppli_CatVideo(const std::vector & aVArgs,const cSpecMMVII_Appli &); + int Exe() override; + cCollecSpecArg2007 & ArgObl(cCollecSpecArg2007 & anArgObl) override; + cCollecSpecArg2007 & ArgOpt(cCollecSpecArg2007 & anArgOpt) override; + private : + std::string mPat; ///< Pattern of input file + bool mExec; ///< Execute cat and remove file (else just create file) + bool mAppend; ///< Do we append to file + std::string mNameFoF; ///< name of file of files + std::string mNameResult; ///< name of Resulting media + bool mVideoMode; ///< is it video, change def options + std::string mOptions; ///< is it video, change options +}; + + + +cCollecSpecArg2007 & cAppli_CatVideo::ArgObl(cCollecSpecArg2007 & anArgObl) +{ + return + anArgObl + << Arg2007(mPat,"Pattern for input files",{{eTA2007::MPatIm,"0"},eTA2007::FileDirProj}) + + ; +} + +cCollecSpecArg2007 & cAppli_CatVideo::ArgOpt(cCollecSpecArg2007 & anArgOpt) +{ + return + anArgOpt + << AOpt2007(mExec,"Exec","Execute concat (vs only create file)",{eTA2007::HDV}) + << AOpt2007(mNameResult,CurOP_Out,"Resulting video") + << AOpt2007(mVideoMode,"Video","Is it video, if not set computed from post if possible") + << AOpt2007(mOptions,"Options","Options to add to ffmpeg") + ; +} + + +cAppli_CatVideo::cAppli_CatVideo +( + const std::vector & aVArgs, + const cSpecMMVII_Appli & aSpec +) : + cMMVII_Appli (aVArgs,aSpec), + mExec (true), + mAppend (false), + mNameFoF ("FileCatVideo.txt"), + mNameResult ("CatVideo") +{ +} + +int cAppli_CatVideo::Exe() +{ + tNameSet aSetPostfix; + // Sometime computing postfix fails, so dont do it when you dont need it + bool ComputePost = (! IsInit(&mNameResult)); + + cMMVII_Ofs aFileOfFile(mNameFoF,mAppend); + for (const auto & aStr : ToVect(MainSet0())) + { + aFileOfFile.Ofs() << "file '" << aStr << "'" << std::endl; + if (ComputePost) + { + aSetPostfix.Add(LastPostfix(aStr)); + } + StdOut() << " STR=" << aStr << "\n"; + } + aFileOfFile.Ofs().close(); + + if (ComputePost) + { + std::vector aVP = ToVect(aSetPostfix); + MMVII_INTERNAL_ASSERT_User + ( + aVP.size()==1, + eTyUEr::eMultiplePostifx, + "Unspecified out and non unique (or empty) postfix" + ); + mNameResult = mNameResult + "." + aVP[0]; + } + std::string aPost = Postfix(mNameResult); + if (!IsInit(&mVideoMode)) + { + if (UCaseEqual(aPost,"mp3")) + mVideoMode = false; + else if (UCaseEqual(aPost,"mp4")||UCaseEqual(aPost,"avi")) + mVideoMode = true; + else + { + MMVII_UnclasseUsEr("Uncataloged media extension, cannot detemine video mode"); + } + } + + if (! IsInit(&mOptions)) + { + if (mVideoMode) + mOptions = " -vcodec mpeg4 -b 15000k "; + } + + std::string aCom = "ffmpeg -safe 0 -f concat -i "+ mNameFoF + mOptions+ " " + mNameResult; + int aRes = EXIT_SUCCESS ; + if (mExec) + { + aRes = ExtSysCall(aCom,false); + } + StdOut() << "Com=[" << aCom << "]\n"; + + return aRes; +} + + +tMMVII_UnikPApli Alloc_CatVideo(const std::vector & aVArgs,const cSpecMMVII_Appli & aSpec) +{ + return tMMVII_UnikPApli(new cAppli_CatVideo(aVArgs,aSpec)); +} + +cSpecMMVII_Appli TheSpecCatVideo +( + "MediaCat", + Alloc_CatVideo, + "This command is used for concatening medias (interface to ffmpeg)", + {eApF::Perso}, + {eApDT::Media}, + {eApDT::Media}, + __FILE__ +); + +}; + diff --git a/MMVII/src/Perso/cMMVII_DaisyFormat.cpp b/MMVII/src/Perso/cMMVII_DaisyFormat.cpp index eab1ce756c..18f68b09c9 100644 --- a/MMVII/src/Perso/cMMVII_DaisyFormat.cpp +++ b/MMVII/src/Perso/cMMVII_DaisyFormat.cpp @@ -407,7 +407,7 @@ tMMVII_UnikPApli Alloc_Daisy(const std::vector & aVArgs,const cSpe cSpecMMVII_Appli TheSpecDaisy ( - "Daisy", + "MediaDaisy", Alloc_Daisy, "This command is used to generate audio book to daisy format from mp3 files", {eApF::Perso}, diff --git a/MMVII/src/Perso/cMMVII_Walkman.cpp b/MMVII/src/Perso/cMMVII_Walkman.cpp index c33b49f920..dca6a7f46a 100644 --- a/MMVII/src/Perso/cMMVII_Walkman.cpp +++ b/MMVII/src/Perso/cMMVII_Walkman.cpp @@ -129,7 +129,7 @@ cCollecSpecArg2007 & cAppli_Walkman::ArgOpt(cCollecSpecArg2007 & anArgOpt) { return anArgOpt - << AOpt2007(mPat,"Pat","Pattern (regex), def=.*\\.mp3",{}) + << AOpt2007(mPat,"Pat","Pattern (regex), def=.*\\.mp3",{eTA2007::HDV}) ; } @@ -223,12 +223,12 @@ tMMVII_UnikPApli Alloc_Walkman(const std::vector & aVArgs,const cS cSpecMMVII_Appli TheSpecWalkman ( - "Walkman", + "MediaWalkman", Alloc_Walkman, "This command is used to make a random selection of music", {eApF::Perso}, - {eApDT::FileSys}, - {eApDT::Xml}, + {eApDT::FileSys,eApDT::Media}, + {eApDT::Xml,eApDT::Media}, __FILE__ ); diff --git a/MMVII/src/Serial/cStrIO.cpp b/MMVII/src/Serial/cStrIO.cpp index df933a5898..ca567f2fb2 100644 --- a/MMVII/src/Serial/cStrIO.cpp +++ b/MMVII/src/Serial/cStrIO.cpp @@ -159,7 +159,7 @@ template <> bool cStrIO::FromStr(const std::string & aStr) if ((aStr=="1") || UCaseEqual(aStr,"true")) return true; if ((aStr=="0") || UCaseEqual(aStr,"false")) return false; - MMVII_INTERNAL_ASSERT_user(eTyUEr::eBadBool,"Bad value for boolean :["+aStr+"]"); + MMVII_UsersErrror(eTyUEr::eBadBool,"Bad value for boolean :["+aStr+"]"); return false; } diff --git a/MMVII/src/Serial/uti_e2string.cpp b/MMVII/src/Serial/uti_e2string.cpp index a0d94ea949..0db702f421 100644 --- a/MMVII/src/Serial/uti_e2string.cpp +++ b/MMVII/src/Serial/uti_e2string.cpp @@ -48,7 +48,7 @@ template class cE2Str // String to enum is probably a user error (programm create enum) if (anIt == mS2E->end()) { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eBadEnum,"Str2E for : " + aStr + " ; valid are : " + StrAllVal() ); + MMVII_UsersErrror(eTyUEr::eBadEnum,"Str2E for : "+aStr+" ; valids are : "+ StrAllVal() ); } return anIt->second; } @@ -192,6 +192,7 @@ template<> cE2Str::tMapE2Str cE2Str::mE2S {eTyUEr::eParseError,"ParseError"}, {eTyUEr::eBadDimForPt,"BadDimension4Pts"}, {eTyUEr::eBadSize4Vect,"BadSize4Vector"}, + {eTyUEr::eMultiplePostifx,"MultiplePostifx"}, {eTyUEr::eUnClassedError,"UnClassedError"} }; TPL_ENUM_2_STRING(eTyUEr); diff --git a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp index 89ca7a8bee..4f5db00664 100644 --- a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp +++ b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp @@ -11,18 +11,27 @@ using ceres::Jet; // ========== Define on Jets two optimization as we did on formal -template -inline Jet square(const Jet& f) { - return Jet(FD::square(f.a), 2.0*f.a * f.v); +template inline Jet square(const Jet& f) +{ + return Jet(FD::square(f.a), (2.0*f.a) * f.v); } -template -inline Jet cube(const Jet& f) { - return Jet(FD::cube(f.a), 3.0*FD::square(f.a) * f.v); +template inline Jet cube(const Jet& f) +{ + T a2 = FD::square(f.a); + return Jet(f.a*a2, (3.0*a2) * f.v); +} + +template inline Jet pow4(const Jet& f) +{ + T a3 = FD::cube(f.a); + return Jet(f.a*a3, (4.0*a3) * f.v); } //========================================= +//========================================= + static auto BeginOfTime = std::chrono::steady_clock::now(); double TimeElapsFromT0() { @@ -212,7 +221,7 @@ std::vector FitCube void InspectCube() { - std::cout << "===================== TestRatkoswky ===================\n"; + std::cout << "===================== TestFoncCube ===================\n"; // Create a context where values are stored on double and : // 2 unknown, 2 observations, a buffer of size 100 @@ -259,197 +268,381 @@ void InspectCube() */ +template class cCountDist +{ + public : + static const int TheNbDist = NbParamD; + static const int TheNbUk = 12 + TheNbDist; + static const int TheNbObs = 11; + + typedef Jet tJets; + typedef FD::cCoordinatorF tCoord; + typedef typename tCoord::tFormula tFormula; +}; + -#define NB_UK 19 -#define NB_OBS 11 +/* + We avoid + - Degre 0 => all because principal point -/* Capital letter for 3D variable/formulas and small for 2D */ -template std::vector FraserCamColinearEq - ( - const std::vector & aVUk, - const std::vector & aVObs - ) + - Degre 1 => (1 0 0 1) is focal (0 -1 1 0) is rotation + A complementary base is : + (1 0 0 0) (0 1 0 0) + So we avoid degree 1 in Y + + - Degre 2 : + + Rotation arround X + linear are highly correlated to X2 , so avoid X2 in X + Idem avoid Y2 in Y + + Number of term in Degree 2 : 1 X Y X2 XY Y2 => 1 +2 +3 = (2+1)(2+2) /2 + + Total number : + ( ((D+1)(D+2)) / 2 ) *2 -6 + +*/ + +template class cCountPolDist : public cCountDist<(Degree+1)*(Degree+2) -6> { - assert (aVUk.size() ==NB_UK) ;// FD::UserSError("Bad size for unknown"); - assert (aVObs.size()==NB_OBS) ;// FD::UserSError("Bad size for observations"); - - // 0 - Ground Coordinates of projected point - const auto & XGround = aVUk[0]; - const auto & YGround = aVUk[1]; - const auto & ZGround = aVUk[2]; -// std::cout << "LLL " << __LINE__ << " " << XGround.mNum << " " << YGround.mNum << " " << ZGround.mNum << "\n"; - - // 1 - Pose / External parameter - // 1.1 Coordinate of camera center - const auto & C_XCam = aVUk[3]; - const auto & C_YCam = aVUk[4]; - const auto & C_ZCam = aVUk[5]; - - // 1.2 Coordinate of Omega vector coding the unknown "tiny" rotation - const auto & Wx = aVUk[6]; - const auto & Wy = aVUk[7]; - const auto & Wz = aVUk[8]; - - // 2 - Intrinsic parameters - // 2.1 Principal point and Focal - const auto & xPP = aVUk[ 9]; - const auto & yPP = aVUk[10]; - const auto & zPP = aVUk[11]; // also named as focal + public : + static const int TheDegree = Degree; + + static bool OkMonome(bool isX,int aDegX,int aDegY) + { + if ((aDegX ==0) && (aDegY==0)) return false; // + if ((!isX) && ((aDegX + aDegY) ==1)) return false; // + if (isX && (aDegX==2) && (aDegY ==0)) return false; // + if ((!isX) && (aDegX==0) && (aDegY ==2)) return false; // + return true; + } +}; + +cCountPolDist<4> aD4; + + + +static const std::vector VNamesObs +{ + "oR00","oR01","oR02","oR10","oR11","oR12","oR20","oR21","oR22", + "oXIm","oYIm" +}; + +static const std::vector VUnkGlob + { + "XGround","YGround","ZGround", // Unknown 3D Point + "XCam","YCam","ZCam", "Wx","Wy","Wz", // External Parameters + "ppX","ppY","ppZ" // Internal : principal point + focal + }; +template Jet CreateCste(const T & aV,const Jet&) +{ + return Jet(aV); +} +template FD::cFormula CreateCste(const T & aV,const FD::cFormula & aF) +{ + return aF->CoordF()->CsteOfVal(aV); +} + +template class cTplPolDist : public cCountPolDist +{ + public : + typedef TypeUk tUk; + typedef TypeObs tObs; + + static const std::vector& VNamesUnknowns() + { + static std::vector TheV; + if (TheV.empty()) // First call + { + TheV = VUnkGlob; + static std::vector aXDx,aXDy,aYDx,aYDy; + InitDegreeMonomes(aXDx,aXDy,aYDx,aYDy); + + for (size_t aK=0 ; aK Dist ( + const tUk & xPi,const tUk & yPi, + const std::vector & aVUk, const std::vector & aVObs + ) + { + static std::vector aXDx,aXDy,aYDx,aYDy; + if (aXDx.empty()) + InitDegreeMonomes(aXDx,aXDy,aYDx,aYDy); + + std::vector aVMonX; + std::vector aVMonY; + + aVMonX.push_back(CreateCste(1.0,xPi)); + aVMonY.push_back(CreateCste(1.0,xPi)); + for (int aD=1 ;aD<=Deg ; aD++) + { + aVMonX.push_back(aVMonX.back()*xPi); + aVMonY.push_back(aVMonY.back()*yPi); + } + auto xDist = CreateCste(0.0,xPi); + auto yDist = CreateCste(0.0,xPi); + + int anInd = 12; + for (size_t aK=0; aK & aXDx, // Degre in x of X component + std::vector & aXDy, // Degre in y of X component + std::vector & aYDx, // Degre in x of Y component + std::vector & aYDy // Degre in y of Y component + ) + { + for (int aDx=0 ; aDx<=Deg ; aDx++) + { + for (int aDy=0 ; (aDx+aDy)<=Deg ; aDy++) + { + if (cCountPolDist::OkMonome(true,aDx,aDy)) + { + aXDx.push_back(aDx); + aXDy.push_back(aDy); + } + + if (cCountPolDist::OkMonome(false,aDx,aDy)) + { + aYDx.push_back(aDx); + aYDy.push_back(aDy); + } + } + } + } +}; + + + + + +template class cTplFraserDist : public cCountDist<7> +{ + public : + typedef TypeUk tUk; + typedef TypeObs tObs; + static const std::vector& VNamesUnknowns() + { + static std::vector TheV; + if (TheV.empty()) + { + TheV = VUnkGlob; + for (auto aS :{"k2","k4","k6", "p1","p2","b1","b2"}) // Distorsion (radiale/ Decentric/Affine) + TheV.push_back(aS); + } + + return TheV; + } + + static std::vector Dist ( + const tUk & xPi,const tUk & yPi, + const std::vector & aVUk, const std::vector & aVObs + ) + { // Also in this model we confond Principal point and distorsion center, name - // explicitely the dist center case we change our mind - const auto & xCD = xPP; - const auto & yCD = yPP; + // explicitely the dist center + const auto & xCD = aVUk[ 9]; + const auto & yCD = aVUk[10]; // 2.2 Radial distortions coefficients - const auto & k2D = aVUk[12]; - const auto & k4D = aVUk[13]; - const auto & k6D = aVUk[14]; + const auto & k2D = aVUk[12]; + const auto & k4D = aVUk[13]; + const auto & k6D = aVUk[14]; // 2.3 Decentric distorstion - const auto & p1 = aVUk[15]; - const auto & p2 = aVUk[16]; + const auto & p1 = aVUk[15]; + const auto & p2 = aVUk[16]; // 2.3 Affine distorsion - const auto & b1 = aVUk[17]; - const auto & b2 = aVUk[18]; + const auto & b1 = aVUk[17]; + const auto & b2 = aVUk[18]; - // Vector P->Cam - auto XPC = XGround-C_XCam; - auto YPC = YGround-C_YCam; - auto ZPC = ZGround-C_ZCam; + // Coordinate relative to distorsion center + auto xC = xPi-xCD; + auto yC = yPi-yCD; + auto x2C = square(xC); // Use the indermediar value to (probably) optimize Jet + auto y2C = square(yC); + auto xyC = xC * yC; + auto Rho2C = x2C + y2C; + // Compute the distorsion + auto rDist = k2D*Rho2C + k4D * square(Rho2C) + k6D*cube(Rho2C); + auto affDist = b1 * xC + b2 * yC; + auto decX = p1*(3.0*x2C + y2C) + p2*(2.0*xyC); + auto decY = p2*(3.0*y2C + x2C) + p1*(2.0*xyC); + - // Coordinate of points in camera coordinate system, do not integrate "tiny" rotation + auto xDist = xPi + xC * rDist + decX + affDist; + auto yDist = yPi + yC * rDist + decY ; - auto XCam0 = aVObs[0] * XPC + aVObs[1]* YPC + aVObs[2]*ZPC; - auto YCam0 = aVObs[3] * XPC + aVObs[4]* YPC + aVObs[5]*ZPC; - auto ZCam0 = aVObs[6] * XPC + aVObs[7]* YPC + aVObs[8]*ZPC; + return {xDist,yDist}; + } + private : +}; -// std::cout << "LLL " << __LINE__ << " " << aVObs[0] << " " << aVObs[1] << " " << aVObs[2] << "\n"; - // Now "tiny" rotation - // Wx X Wy * Z - Wz * Y - // Wy ^ Y = Wz * X - Wx * Z - // Wz Z Wx * Y - Wy * X +// template class cEqCoLinearity +template class cEqCoLinearity +{ + public : + typedef typename TypeDist::tUk tUk; + typedef typename TypeDist::tObs tObs; - // P = P0 + W ^ P0 + typedef typename TypeDist::tJets tJets; + static const int TheNbUk = TypeDist::TheNbUk; + static const int TheNbObs = TypeDist::TheNbObs; - auto XCam = XCam0 + Wy * ZCam0 - Wz * YCam0; - auto YCam = YCam0 + Wz * XCam0 - Wx * ZCam0; - auto ZCam = ZCam0 + Wx * YCam0 - Wy * XCam0; + /* Capital letter for 3D variable/formulas and small for 2D */ + static std::vector Residual + ( + const std::vector & aVUk, + const std::vector & aVObs + ) + { + assert (aVUk.size() ==TheNbUk) ; // FD::UserSError("Bad size for unknown"); + assert (aVObs.size()==TheNbObs) ;// FD::UserSError("Bad size for observations"); - // Projection : (xPi,yPi,1) is the bundle direction in camera coordinates + // 0 - Ground Coordinates of projected point + const auto & XGround = aVUk[0]; + const auto & YGround = aVUk[1]; + const auto & ZGround = aVUk[2]; - auto xPi = XCam/ZCam; - auto yPi = YCam/ZCam; -// std::cout << "LLL " << __LINE__ << " " << XCam.mNum << " " << YCam.mNum << " " << ZCam.mNum << "\n"; -// std::cout << "LLL " << __LINE__ << " " << xPi.mNum << " " << yPi.mNum << "\n"; + // 1 - Pose / External parameter + // 1.1 Coordinate of camera center + const auto & C_XCam = aVUk[3]; + const auto & C_YCam = aVUk[4]; + const auto & C_ZCam = aVUk[5]; - // Coordinate relative to distorsion center - auto xC = xPi-xCD; - auto yC = yPi-yCD; - auto x2C = square(xC); // Use the indermediar value to (probably) optimize Jet - auto y2C = square(yC); - auto xyC = xC * yC; - auto Rho2C = x2C + y2C; + // 1.2 Coordinate of Omega vector coding the unknown "tiny" rotation + const auto & Wx = aVUk[6]; + const auto & Wy = aVUk[7]; + const auto & Wz = aVUk[8]; - // Compute the distorsion - auto rDist = k2D*Rho2C + k4D * square(Rho2C) + k6D*cube(Rho2C); - auto affDist = b1 * xC + b2 * yC; - auto decX = p1*(3.0*x2C + y2C) + p2*(2.0*xyC); - auto decY = p2*(3.0*y2C + x2C) + p1*(2.0*xyC); - + // 2 - Intrinsic parameters + // 2.1 Principal point and Focal + const auto & xPP = aVUk[ 9]; + const auto & yPP = aVUk[10]; + const auto & zPP = aVUk[11]; // also named as focal - auto xDist = xPi + xC * rDist + decX + affDist; - auto yDist = yPi + yC * rDist + decY ; + // Vector P->Cam + auto XPC = XGround-C_XCam; + auto YPC = YGround-C_YCam; + auto ZPC = ZGround-C_ZCam; - // Use principal point and focal - auto xIm = xPP + zPP * xDist; - auto yIm = yPP + zPP * yDist; -// std::cout << "LLL " << __LINE__ << " " << xIm.mNum << " " << yIm.mNum << "\n"; + // Coordinate of points in camera coordinate system, do not integrate "tiny" rotation - auto x_Residual = xIm - aVObs[ 9]; - auto y_Residual = yIm - aVObs[10]; + auto XCam0 = aVObs[0] * XPC + aVObs[1]* YPC + aVObs[2]*ZPC; + auto YCam0 = aVObs[3] * XPC + aVObs[4]* YPC + aVObs[5]*ZPC; + auto ZCam0 = aVObs[6] * XPC + aVObs[7]* YPC + aVObs[8]*ZPC; -// getchar(); + // Now "tiny" rotation + // Wx X Wy * Z - Wz * Y + // Wy ^ Y = Wz * X - Wx * Z + // Wz Z Wx * Y - Wy * X - return {x_Residual,y_Residual}; -} + // P = P0 + W ^ P0 + auto XCam = XCam0 + Wy * ZCam0 - Wz * YCam0; + auto YCam = YCam0 + Wz * XCam0 - Wx * ZCam0; + auto ZCam = ZCam0 + Wx * YCam0 - Wy * XCam0; -class cTestFraserCamColinearEq -{ - public : - cTestFraserCamColinearEq(int aSzBuf,bool Show); + // Projection : (xPi,yPi,1) is the bundle direction in camera coordinates - private : - - static const int TheNbUk = 19; - static const int TheNbObs = 11; - typedef Jet tJets; - // typedef cEpsNum tEps; + auto xPi = XCam/ZCam; + auto yPi = YCam/ZCam; + auto aVDist = TypeDist::Dist(xPi,yPi,aVUk,aVObs); - static const std::vector TheVNamesUnknowns; - static const std::vector TheVNamesObs; + const auto & xDist = aVDist[0]; + const auto & yDist = aVDist[1]; - /// Return unknowns vect after fixing XYZ (ground point) - const std::vector & VUk(double X,double Y,double Z); - /// Return observation vect t after fixing I,J (pixel projection) - const std::vector & VObs(double I,double J); + // Use principal point and focal to compute image projection + auto xIm = xPP + zPP * xDist; + auto yIm = yPP + zPP * yDist; - - FD::cCoordinatorF mCFD; /// Coordinator for formal derivative - std::vector mVUk; /// Buffer for computing the unknown - std::vector mVObs; /// Buffer for computing the unknown + + // + auto x_Residual = xIm - aVObs[ 9]; + auto y_Residual = yIm - aVObs[10]; + + + return {x_Residual,y_Residual}; + } }; -const std::vector & cTestFraserCamColinearEq::VUk(double X,double Y,double Z) +// TJD : type jets dist , TFD : type formal dist +template class cTestEqCoL { - mVUk[0] = X; - mVUk[1] = Y; - mVUk[2] = Z; + public : + cTestEqCoL(int aSzBuf,bool Show); - return mVUk; -} + private : + static const int TheNbUk = TJD::TheNbUk; + static const int TheNbObs = TJD::TheNbObs; -const std::vector & cTestFraserCamColinearEq::VObs(double I,double J) -{ - mVObs[ 9] = I; - mVObs[10] = J; - - return mVObs; -} + typedef typename TJD::tJets tJets; + typedef FD::cCoordinatorF tCoord; + typedef typename tCoord::tFormula tFormula; + // static const std::vector TheVNamesUnknowns; + // static const std::vector TheVNamesObs; + /// Return unknowns vect after fixing XYZ (ground point) + const std::vector & VUk(double X,double Y,double Z) + { + mVUk[0] = X; + mVUk[1] = Y; + mVUk[2] = Z; -const std::vector - cTestFraserCamColinearEq::TheVNamesUnknowns - { - "XGround","YGround","ZGround", // Unknown 3D Point - "XCam","YCam","ZCam", "Wx","Wy","Wz", // External Parameters - "ppX","ppY","ppZ", // Internal : principal point + focal - "k2","k4","k6", "p1","p2","b1","b2" // Distorsion (radiale/ Decentric/Affine) - }; + return mVUk; + } + /// Return observation vect after fixing I,J (pixel projection) + const std::vector & VObs(double I,double J) + { + mVObs[ 9] = I; + mVObs[10] = J; + + return mVObs; + } -const std::vector - cTestFraserCamColinearEq::TheVNamesObs - { - "oR00","oR01","oR02","oR10","oR11","oR12","oR20","oR21","oR22", - "oXIm","oYIm" - }; + + tCoord mCFD; ///< Coordinator for formal derivative + std::vector mVUk; ///< Buffer for computing the unknown + std::vector mVObs; ///< Buffer for computing the unknown +}; -cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf,bool Show) : - // mCFD (aSzBuf,19,11) would have the same effect, but future generated code will be less readable - mCFD (aSzBuf,TheVNamesUnknowns,TheVNamesObs), +template +cTestEqCoL::cTestEqCoL(int aSzBuf,bool Show) : + // mCFD (aSzBuf,TheNbUk,TheNbObs), // would have the same effect, but future generated code will be less readable + mCFD (aSzBuf,TJD::VNamesUnknowns(),VNamesObs), mVUk (TheNbUk,0.0), mVObs (TheNbObs,0.0) { + // As I was not able to make automatic computation of size Jets, we check that user + // did not mistake + + static_assert(TJD::tUk::DIMENSION==TheNbUk,"Incoherent size Jets/Number Unknonws"); + + // In unknown, we set everything to zero exepct focal to 1 mVUk[11] = 1.0; // In obs, we set the current matrix to Id @@ -457,7 +650,8 @@ cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf,bool Show) : double aT0 = TimeElapsFromT0(); - auto aVFormula = FraserCamColinearEq(mCFD.VUk(),mCFD.VObs()); +// auto aVFormula = FraserFuncCamColinearEq(mCFD.VUk(),mCFD.VObs()); + auto aVFormula = cEqCoLinearity::Residual (mCFD.VUk(),mCFD.VObs()); if (Show) { mCFD.SetCurFormulas({aVFormula[0]}); @@ -474,7 +668,10 @@ cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf,bool Show) : double aT1 = TimeElapsFromT0(); - std::cout << "TestFraser NbEq=" << mCFD.VReached().size() << " TimeInit=" << (aT1-aT0) << "\n"; + std::cout << "TestFraser " + << ", SzBuf=" << aSzBuf + << ", NbEq=" << mCFD.VReached().size() + << ", TimeInit=" << (aT1-aT0) << "\n"; // mCFD.ShowStackFunc(); @@ -492,31 +689,16 @@ cTestFraserCamColinearEq::cTestFraserCamColinearEq(int aSzBuf,bool Show) : std::vector aJetRes; { std::vector aVJetUk; - for (int aK=0 ; aK::Residual (aVJetUk,aVObs); } TimeJets = TimeElapsFromT0() - TimeJets; } -/* - double TimeEps = TimeElapsFromT0(); - std::vector aEpsRes; - { - std::vector aVEpsUk; - for (int aK=0 ; aK,double> tFraserJ; +typedef cTplFraserDist,FD::cFormula> tFraserF; + + +typedef cTplPolDist,double,7> tPolJD7; +typedef cTplPolDist,FD::cFormula,7> tPolFD7; + +typedef cTplPolDist,double,2> tPolJD2; +typedef cTplPolDist,FD::cFormula,2> tPolFD2; + void TestFraserCamColinearEq() { + for (auto SzBuf : {1000,1}) { - cTestFraserCamColinearEq (1000,false); - // cTestFraserCamColinearEq (100); - // cTestFraserCamColinearEq (10); - cTestFraserCamColinearEq (1,false); + cTestEqCoL (SzBuf,false); } -/* - { - using MMVII::cEpsNum; - std::vector > aVUk; - for (int aK=0 ; aK(1.0,aK)); - std::vector aVObs; - for (int aK=0 ; aK > aVUk; - for (int aK=0 ; aK(1.0,aK)); + cTestEqCoL (SzBuf,false); + } - std::vector aVObs; - for (int aK=0 ; aK (SzBuf,false); } -*/ getchar(); } @@ -608,6 +784,33 @@ namespace MMVII void BenchFormalDer() { + for (int aK=0 ; aK<10 ; aK++) + { + double aV= 1.35; + double aP1= pow(aV,double(aK)); + double aP2= FD::powI(aV,aK); + std::cout << "HHHHH " << aP1 << " " << aP2 << "\n"; + FD::AssertAlmostEqual(aP1,aP2,1e-8); + } + int aNb=1e8; + + double aT0 = TimeElapsFromT0(); + double aS=0; + for (int aK=0 ; aK F8+F8 // 2 (a+bx) -4- Form[18] => F8*F17 // 2 (a+bx) ^2 -5- Form[19] => F18+F9 // 3 (a+bx) ^2 + +(a+bx)^3 +3 (a+bx)^2 +3 x (a+bx)^2 + REACHED 5 3 6 4 7 8 9 17 12 10 18 15 13 11 14 19 16 // Reached formula in their computation order CUR 11 19 16 // Computed formula */ diff --git a/MMVII/src/Utils/uti_files.cpp b/MMVII/src/Utils/uti_files.cpp index 802e347807..e92849e804 100644 --- a/MMVII/src/Utils/uti_files.cpp +++ b/MMVII/src/Utils/uti_files.cpp @@ -7,10 +7,12 @@ template std::unique_ptr NNfs(const std::string & aNameFile,c { std::unique_ptr aRes (new Type(aNameFile)); - if (!aRes->good()) - { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eOpenFile,"Cannot open file : " + aNameFile + " ,Mode=" + aMode+ " ,context=" + aMes); - } + MMVII_INTERNAL_ASSERT_User + ( + aRes->good(), + eTyUEr::eOpenFile, + "Cannot open file : " + aNameFile + " ,Mode=" + aMode+ " ,context=" + aMes + ); return aRes; } @@ -36,10 +38,12 @@ cMMVII_Ofs::cMMVII_Ofs(const std::string & aName,bool ModeAppend) : mOfs (aName,ModeAppend ? std::ios_base::app : std::ios_base::out), mName (aName) { - if (!mOfs.good()) - { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eOpenFile,"Cannot open file : " + mName + " in mode write"); - } + MMVII_INTERNAL_ASSERT_User + ( + mOfs.good(), + eTyUEr::eOpenFile, + "Cannot open file : " + mName + " in mode write" + ); } const std::string & cMMVII_Ofs::Name() const @@ -52,7 +56,7 @@ std::ofstream & cMMVII_Ofs::Ofs() #if (The_MMVII_DebugLevel>=The_MMVII_DebugLevel_InternalError_tiny) if (!mOfs.good()) { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eWriteFile,"Bad file for "+mName); + MMVII_UsersErrror(eTyUEr::eWriteFile,"Bad file for "+mName); } #endif return mOfs; @@ -101,10 +105,12 @@ cMMVII_Ifs::cMMVII_Ifs(const std::string & aName) : mIfs (aName), mName (aName) { - if (!mIfs.good()) - { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eOpenFile,"Cannot open file : " + mName + " in mode read"); - } + MMVII_INTERNAL_ASSERT_User + ( + mIfs.good(), + eTyUEr::eOpenFile, + "Cannot open file : " + mName + " in mode read" + ); } const std::string & cMMVII_Ifs::Name() const @@ -117,7 +123,7 @@ std::ifstream & cMMVII_Ifs::Ifs() #if (The_MMVII_DebugLevel>=The_MMVII_DebugLevel_InternalError_tiny) if (!mIfs.good()) { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eReadFile,"Bad file for "+mName); + MMVII_UsersErrror(eTyUEr::eReadFile,"Bad file for "+mName); } #endif return mIfs; diff --git a/MMVII/src/Utils/uti_set_sel.cpp b/MMVII/src/Utils/uti_set_sel.cpp index b0a0fc42c3..b8af325b0c 100644 --- a/MMVII/src/Utils/uti_set_sel.cpp +++ b/MMVII/src/Utils/uti_set_sel.cpp @@ -963,10 +963,10 @@ tNameSet SetNameFromString(const std::string & aName,bool AllowPat) { return SetNameFromPat(aName); } - // If we are here, we accept no file as empty set, but not file of bad format + // If we are here, we accept file as empty set, but not file of bad format if (ExistFile(aName)) { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eBadFileSetName,"Set from string, file has bad format for :" +aName); + MMVII_UsersErrror(eTyUEr::eBadFileSetName,"Set from string, file has bad format for :" +aName); } return tNameSet(); // emty set mode US } @@ -1028,9 +1028,9 @@ tNameRel RelNameFromFile (const std::string& aNameFile) if (ExistFile(aNameFile)) { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eBadFileRelName,"Rel from string, file has bad format for :" +aNameFile); + MMVII_UsersErrror(eTyUEr::eBadFileRelName,"Rel from string, file has bad format for :" +aNameFile); } - return tNameRel(); // emty set mode US + return tNameRel(); // emty rel mode US } diff --git a/MMVII/src/Utils/uti_string.cpp b/MMVII/src/Utils/uti_string.cpp index aba5f375ce..19c301b5f6 100644 --- a/MMVII/src/Utils/uti_string.cpp +++ b/MMVII/src/Utils/uti_string.cpp @@ -146,6 +146,12 @@ std::string Postfix(const std::string & aStr,char aSep,bool SVP,bool PrivPref) return aAfter; } +std::string LastPostfix(const std::string & aStr,char aSep) +{ + return Postfix(aStr,aSep,true,true); +} + + bool UCaseEqual(const std::string & aStr1 ,const std::string & aStr2) { @@ -361,7 +367,7 @@ bool CreateDirectories(const std::string & aDir,bool SVP) } else { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eCreateDir,"Cannot create directory for arg " + aDir); + MMVII_UsersErrror(eTyUEr::eCreateDir,"Cannot create directory for arg " + aDir); } } return Ok; @@ -381,10 +387,7 @@ bool RemoveRecurs(const std::string & aDir,bool ReMkDir,bool SVP) bool RemoveFile(const std::string & aFile,bool SVP) { bool Ok = boost::filesystem::remove(aFile); - if ((! Ok) && (!SVP)) - { - MMVII_INTERNAL_ASSERT_user(eTyUEr::eRemoveFile,"Cannot remove file for arg " + aFile); - } + MMVII_INTERNAL_ASSERT_User( Ok||SVP , eTyUEr::eRemoveFile,"Cannot remove file for arg " + aFile); return Ok; } diff --git a/MMVII/src/Utils/uti_sysdep.cpp b/MMVII/src/Utils/uti_sysdep.cpp index 706cfb9e0c..fb211148e9 100644 --- a/MMVII/src/Utils/uti_sysdep.cpp +++ b/MMVII/src/Utils/uti_sysdep.cpp @@ -3,7 +3,7 @@ namespace MMVII { -int SysCall(const std::string & aCom, bool SVP) +int GlobSysCall(const std::string & aCom, bool SVP) { int aResult = system(aCom.c_str()); if (aResult != EXIT_SUCCESS) From cca716472d18470147f054ce39e30eed6b8f23e2 Mon Sep 17 00:00:00 2001 From: deseilligny Date: Wed, 15 Apr 2020 09:25:45 +0200 Subject: [PATCH 48/49] Version de derive form avec dist pol; essai de reduction pas acives (inefficaces) --- MMVII/include/MMVII_FormDer_BinaryOp.h | 267 ++++++++- MMVII/include/MMVII_FormDer_UnaryOp.h | 147 ++++- MMVII/include/MMVII_FormalDerivatives.h | 198 +++++-- .../TestLibsExtern/TestDynCompDerivatives.cpp | 558 +++++++++++++----- 4 files changed, 943 insertions(+), 227 deletions(-) diff --git a/MMVII/include/MMVII_FormDer_BinaryOp.h b/MMVII/include/MMVII_FormDer_BinaryOp.h index 926337d960..4e4e3427cc 100644 --- a/MMVII/include/MMVII_FormDer_BinaryOp.h +++ b/MMVII/include/MMVII_FormDer_BinaryOp.h @@ -19,6 +19,7 @@ namespace NS_MMVII_FormalDerivative /* *************************************************** */ /* *************************************************** */ + /* ---------------------------------------------------------- Class implementing binary operation on formula MOTHER CLASS : cBinaryF @@ -34,13 +35,25 @@ template class cBinaryF : public cImplemF typedef typename tImplemF::tBuf tBuf; /// An operator must describe its name - virtual std::string NameOperator() const = 0; /// We can compute print of binary formula using operator name std::string InfixPPrint() const override { - return "("+ NameOperator() + " "+ mF1->InfixPPrint() + " " + mF2->InfixPPrint() + ")"; + return "("+ this->NameOperator() + " "+ mF1->InfixPPrint() + " " + mF2->InfixPPrint() + ")"; + } + /// Is it an associative operator where order does not matters + static bool IsAssociatif() {return false;} + static bool IsDistribExt() {return false;} // like +,- + + /// We need a default value to compile in associative + static tFormula FOperation(const tFormula & aV1,const tFormula & aV2) + { + InternalError("No operation defined"); + return aV1; } protected : + void AssocSortedVect(std::vector & aV); + void EmpileAssoc (const cFormula & aF, std::vector & aV); + std::vector Ref() const override{return std::vector{mF1,mF2};} inline cBinaryF(tFormula aF1,tFormula aF2,const std::string & aName): tImplemF (aF1->CoordF(),aName), @@ -60,23 +73,68 @@ template class cBinaryF : public cImplemF const TypeElem *mDataF2; ///< Fast access to data of buf F2 }; +/// for example if F = (A+B)+ (C+(D+E)) push on V "A B C D E" +template void cBinaryF::EmpileAssoc + ( + const cFormula & aF, + std::vector & aV + ) +{ + if (aF->NameOperator() != this->NameOperator()) + { + aV.push_back(aF); + return; + } + for (auto aSubF : aF->Ref()) + EmpileAssoc(aSubF,aV); +} + +template void SortOnName(std::vector > & aV) +{ + std::sort + ( + aV.begin(),aV.end(), + [](const cFormula & f1,const cFormula & f2) {return f1->Name()Name();} + ); +} +template void cBinaryF::AssocSortedVect(std::vector & aV) +{ + EmpileAssoc(mF1,aV); + EmpileAssoc(mF2,aV); + SortOnName(aV); +} + template class cSumF : public cBinaryF { public : - /// Required by constant reduction in cGenOperatorBinaire - static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1+aV2;} using cBinaryF::mF1; using cBinaryF::mF2; using cBinaryF::mDataF1; using cBinaryF::mDataF2; using cImplemF::mDataBuf; + typedef typename cBinaryF ::tFormula tFormula; inline cSumF(cFormula aF1,cFormula aF2,const std::string & aName) : cBinaryF (aF1,aF2,aName) { } + + // ============== BEHAVIOUR FOR REDUCTION ============= + + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1+aV2;}; + /// It is associative + static bool IsAssociatif() {return true;} + /// For assoc reduc + /// For distributivity + static bool IsDistribExt() {return true;} + static tFormula FOperation(const tFormula & aV1,const tFormula & aV2) {return aV1+aV2;} + + cImplemF * ReducAssoc() override ; + private : - std::string NameOperator() const override {return "+";} + const std::string & NameOperator() const override {static std::string s("+"); return s;} + void ComputeBuf(int aK0,int aK1) override { for (int aK=aK0 ; aK class cSumF : public cBinaryF cFormula Derivate(int aK) const override {return mF1->Derivate(aK) + mF2->Derivate(aK);} }; +template cImplemF * cSumF::ReducAssoc() +{ + if (! REDUCE_ASSOCP) + return this; + + static int aSzCum=0; ///< Stat to see num of + operation + std::vector aVF; + this->AssocSortedVect(aVF); + aSzCum += aVF.size(); + + // Now we try to make reduction between last reduced formula and next one + // using distributivity + + std::vector aVR; ///< Current vector of reduced formulas + + bool ReduceDone = true; + + while (ReduceDone) + { + SortOnName(aVF); + aVR.clear(); + aVR.push_back(aVF[0]); + ReduceDone = false; + for (int aKIn=1 ; aKIn 2*A + if (aFA->Name() == aFB->Name()) + { + ReduceDone = true; + SHOW_REDUCE("ApA"); + aVR.back() = aFA * CreateCste(2.0,aFA); + } + else if (aFA->IsMult()) // A1 A2 +B + { + tFormula A1 = aFA->Ref().at(0); + tFormula A2 = aFA->Ref().at(1); + if (aFB->IsMult()) // A1 A2 + B1 B2 + { + tFormula B1 = aFB->Ref().at(0); + tFormula B2 = aFB->Ref().at(1); + if (A1->Name()== B1->Name()) // A1 A2 + A1 B2 => A1 (A2+B2) + { + ReduceDone = true; + SHOW_REDUCE("AB + AC"); + aVR.back() = A1 * (A2+B2); + } + else if (A2->Name()== B2->Name()) // A1 A2 + B1 A2 => (A1+B1) * A2 + { + ReduceDone = true; + SHOW_REDUCE("AB + CB"); + aVR.back() = (A1+B1) *A2; + } + else if (A1->Name()== B2->Name()) // A1 A2 + B1 A1 => A1 * (A2+B1) + { + ReduceDone = true; + SHOW_REDUCE("AB + CA"); + aVR.back() = A1 * (A2+B1); + } + else if (A2->Name()== B1->Name()) // A1 A2 + A2 B2 => A2 * (A1+B2) + { + ReduceDone = true; + SHOW_REDUCE("AB + BC"); + aVR.back() = A2 * (A1+B2); + } + else + aVR.push_back(aFB); + } + else + { + if (A1->Name()== aFB->Name()) // A1 A2 + A1 => A1 * (A2+1) + { + ReduceDone = true; + SHOW_REDUCE("BA+B"); + aVR.back() = A1 * (A2+CreateCste(1.0,aFA)); + } + else if (A2->Name()== aFB->Name()) // A1 A2 + A2 => A2 * (A1+1) + { + ReduceDone = true; + SHOW_REDUCE("AB+B"); + aVR.back() = A2 * (A1+CreateCste(1.0,aFA)); + } + else + aVR.push_back(aFB); + } + } + else if (aFB->IsMult()) // A1 A2 + B1 B2 + { + tFormula B1 = aFB->Ref().at(0); + tFormula B2 = aFB->Ref().at(1); + if (aFA->Name()== B1->Name()) // B1 + B1 B2 => B2 * (B2+1) + { + ReduceDone = true; + SHOW_REDUCE("A+AB"); + aVR.back() = B1 * (B2+CreateCste(1.0,aFA)); + } + if (aFA->Name()== B2->Name()) // B2 + B1 B2 => B2 * (B1+1) + { + ReduceDone = true; + SHOW_REDUCE("A+BA"); + aVR.back() = B2 * (B1+CreateCste(1.0,aFA)); + } + else + aVR.push_back(aFB); + } + else + aVR.push_back(aFB); + + } + aVF = aVR; + } + tFormula aRes = aVR.back(); + for (int aK=aVR.size()-2 ; aK>=0 ; aK--) + aRes = aVR[aK] + aRes; + return aRes.RawPtr(); +} + template class cMulF : public cBinaryF { public : - /// Required by constant reduction in cGenOperatorBinaire - static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1*aV2;} using cBinaryF::mF1; using cBinaryF::mF2; using cBinaryF::mDataF1; using cBinaryF::mDataF2; using cImplemF::mDataBuf; + typedef typename cBinaryF ::tFormula tFormula; inline cMulF(cFormula aF1,cFormula aF2,const std::string & aName) : cBinaryF (aF1,aF2,aName) { } + // ============== BEHAVIOUR FOR REDUCTION ============= + + bool IsMult() const {return true;} + + /// Required by constant reduction in cGenOperatorBinaire + static TypeElem Operation(const TypeElem & aV1,const TypeElem & aV2) {return aV1*aV2;} + /// It is associative + static bool IsAssociatif() {return true;} + /// For assoc reduc + static tFormula FOperation(const tFormula & aV1,const tFormula & aV2) {return aV1*aV2;} + + /// For distributivity + virtual bool IsDistribInt() const override {return true;} + tFormula VOper2 (const tFormula & aV1,const tFormula & aV2) const override {return aV1*aV2;} private : - std::string NameOperator() const override {return "*";} + const std::string & NameOperator() const override {static std::string s("*"); return s;} void ComputeBuf(int aK0,int aK1) override { for (int aK=aK0 ; aK class cSubF : public cBinaryF using cBinaryF::mDataF1; using cBinaryF::mDataF2; using cImplemF::mDataBuf; + typedef typename cBinaryF ::tFormula tFormula; inline cSubF(cFormula aF1,cFormula aF2,const std::string & aName) : cBinaryF (aF1,aF2,aName) { } + + // ============== BEHAVIOUR FOR REDUCTION ============= + /// For distributivity + static bool IsDistribExt() {return true;} + static tFormula FOperation(const tFormula & aV1,const tFormula & aV2) {return aV1-aV2;} private : - std::string NameOperator() const override {return "-";} + const std::string & NameOperator() const override {static std::string s("-"); return s;} void ComputeBuf(int aK0,int aK1) override { for (int aK=aK0 ; aK class cDivF : public cBinaryF using cBinaryF::mDataF1; using cBinaryF::mDataF2; using cImplemF::mDataBuf; + typedef typename cBinaryF ::tFormula tFormula; inline cDivF(cFormula aF1,cFormula aF2,const std::string & aName) : cBinaryF (aF1,aF2,aName) { } + /// For distributivity + virtual bool IsDistribInt() const override {return true;} + tFormula VOper2 (const tFormula & aV1,const tFormula & aV2) const override {return aV1/aV2;} private : - std::string NameOperator() const override {return "/";} + const std::string & NameOperator() const override {static std::string s("/"); return s;} void ComputeBuf(int aK0,int aK1) override { for (int aK=aK0 ; aK class cPowF : public cBinaryF cBinaryF (aF1,aF2,aName) { } private : - std::string NameOperator() const override {return "^";} + const std::string & NameOperator() const override {static std::string s("^"); return s;} void ComputeBuf(int aK0,int aK1) override { for (int aK=aK0 ; aK class cPowF : public cBinaryF /* ---------------------------------------*/ - /* Global Functio on unary op */ + /* Global Function on unary op */ /* ---------------------------------------*/ + + + /** A Helper class to avoid code duplication on the process , see detailed comment in cGenOperatorUnaire (analogous) */ template class cGenOperatorBinaire @@ -219,22 +422,46 @@ template class cGenOperatorBinaire return aPCont->FuncOfName(aNameForm); // Maybe the two operand are constant ? Then we can reduce + if (REDUCE_CSTE) { const tElem * aC1 = aF1->ValCste(); const tElem * aC2 = aF2->ValCste(); if (aC1 && aC2) { + SHOW_REDUCE("Cste x Cste"); tElem aC12= TypeCompiled::Operation(*aC1,*aC2); - std::cout << "ZZZZZZ " << *aC1 << " " << *aC2 << " " << aC12<< "\n"; + return CreateCste(aC12,aF1); } } + if ( + REDUCE_DISTRIB + && TypeCompiled::IsDistribExt() + && aF1->IsDistribInt() + && aF2->IsDistribInt() + && (aF2->NameOperator() == aF2->NameOperator()) + ) + { + // Add IsMult, we dont want to reduce a/b+a/c + if ((aF1->Ref()[0]->Name()==aF2->Ref()[0]->Name()) && aF1->IsMult()) + { + SHOW_REDUCE("(A$B)#(A$C) => A$(B#C)"); + return aF1->VOper2(aF1->Ref()[0],TypeCompiled::FOperation(aF1->Ref()[1],aF2->Ref()[1])); + } + if (aF1->Ref()[1]->Name()==aF2->Ref()[1]->Name()) + { + SHOW_REDUCE("(A$B)#(C$B) => (A#C)$B"); + return aF1->VOper2(TypeCompiled::FOperation(aF1->Ref()[0],aF2->Ref()[0]),aF1->Ref()[1]); + } + } + tFormula aResult (new TypeCompiled(aF1,aF2,aNameForm)); aPCont->AddFormula(aResult); return aResult; } }; + template cFormula operator + @@ -251,6 +478,13 @@ cFormula operator + if (aF1->Name() > aF2->Name()) return aF2+aF1; + // Use commutativity of + to have a unique representation + if (false && REDUCE_ApA && (aF1->Name() == aF2->Name()) ) + { + SHOW_REDUCE("ApA"); + return aF1 * CreateCste(2.0,aF1); + } + return cGenOperatorBinaire >::Generate(aF1,aF2,"+"); } @@ -265,6 +499,13 @@ cFormula operator - if (aF1->IsCste0()) return -aF2; if (aF2->IsCste0()) return aF1; + // A - (-B) = A + B + if (REDUCE_MM && (aF2->NameOperator()=="-") && (aF2->Ref().size()==1)) + { + SHOW_REDUCE("a-(-b))"); + return aF1 + aF2->Ref()[0]; + } + return cGenOperatorBinaire >::Generate(aF1,aF2,"-"); } diff --git a/MMVII/include/MMVII_FormDer_UnaryOp.h b/MMVII/include/MMVII_FormDer_UnaryOp.h index 776cfbcb12..a011ba5807 100644 --- a/MMVII/include/MMVII_FormDer_UnaryOp.h +++ b/MMVII/include/MMVII_FormDer_UnaryOp.h @@ -32,11 +32,10 @@ template class cUnaryF : public cImplemF typedef typename tImplemF::tFormula tFormula; typedef typename tImplemF::tBuf tBuf; - virtual std::string NameOperator() const = 0; virtual std::string PostName() const {return "";} std::string InfixPPrint() const override { - return NameOperator() + " "+ mF->InfixPPrint() + PostName() ; + return this->NameOperator() + " "+ mF->InfixPPrint() + PostName() ; } /// In the cas an additional parameter is used, as "powc F30 3.14" @@ -75,7 +74,7 @@ template class cSquareF : public cUnaryF cUnaryF (aF,aName) { } private : - std::string NameOperator() const override {return "square";} + const std::string & NameOperator() const override {static std::string s("square"); return s;} void ComputeBuf(int aK0,int aK1) override { for (int aK=aK0 ; aK class cCubeF : public cUnaryF cUnaryF (aF,aName) { } private : - std::string NameOperator() const override {return "cube";} + const std::string & NameOperator() const override {static std::string s("cube"); return s;} void ComputeBuf(int aK0,int aK1) override { for (int aK=aK0 ; aK class cCubeF : public cUnaryF } }; +template class cPow4 : public cUnaryF +{ + public : + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cPow4 (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) + { } + private : + const std::string & NameOperator() const override {static std::string s("pow4"); return s;} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return 4.0 * mF->Derivate(aK) * cube(mF); + } +}; +template class cPow5 : public cUnaryF +{ + public : + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cPow5 (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) + { } + private : + const std::string & NameOperator() const override {static std::string s("pow5"); return s;} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return 5.0 * mF->Derivate(aK) * pow4(mF); + } +}; +template class cPow6 : public cUnaryF +{ + public : + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cPow6 (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) + { } + private : + const std::string & NameOperator() const override {static std::string s("pow6"); return s;} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return 6.0 * mF->Derivate(aK) * pow5(mF); + } +}; +template class cPow7 : public cUnaryF +{ + public : + using cUnaryF::mF; + using cUnaryF::mDataF; + using cImplemF::mDataBuf; + + cPow7 (cFormula aF,const std::string & aName) : + cUnaryF (aF,aName) + { } + private : + const std::string & NameOperator() const override {static std::string s("pow7"); return s;} + void ComputeBuf(int aK0,int aK1) override + { + for (int aK=aK0 ; aK Derivate(int aK) const override + { + return 7.0 * mF->Derivate(aK) * pow6(mF); + } +}; + template class cExpF : public cUnaryF { @@ -124,7 +216,7 @@ template class cExpF : public cUnaryF cUnaryF (aF,aName) { } private : - std::string NameOperator() const override {return "exp";} + const std::string & NameOperator() const override {static std::string s("exp"); return s;} void ComputeBuf(int aK0,int aK1) override { for (int aK=aK0 ; aK class cMin1F : public cUnaryF cUnaryF (aF,aName) { } private : - std::string NameOperator() const override {return "-";} + const std::string & NameOperator() const override {static std::string s("-"); return s;} void ComputeBuf(int aK0,int aK1) override { for (int aK=aK0 ; aK class cLogF : public cUnaryF cUnaryF (aF,aName) { } private : - std::string NameOperator() const override {return "log";} + const std::string & NameOperator() const override {static std::string s("log"); return s;} void ComputeBuf(int aK0,int aK1) override { for (int aK=aK0 ; aK class cPowCste : public cUnaryF { } private : - std::string NameOperator() const override {return "powc";} + const std::string & NameOperator() const override {static std::string s("powc"); return s;} virtual std::string PostName() const {return " " + std::to_string(mExp);} void ComputeBuf(int aK0,int aK1) override { @@ -259,6 +351,27 @@ inline cFormula cube(const cFormula & aF) { return cGenOperatorUnaire >::Generate(aF,"cube"); } +template +inline cFormula pow4(const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"pow4"); +} +template +inline cFormula pow5(const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"pow5"); +} +template +inline cFormula pow6(const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"pow6"); +} +template +inline cFormula pow7(const cFormula & aF) +{ + return cGenOperatorUnaire >::Generate(aF,"pow7"); +} + template inline cFormula exp(const cFormula & aF) @@ -268,8 +381,19 @@ inline cFormula exp(const cFormula & aF) template inline cFormula operator - (const cFormula & aF) { + // rule - (- x) == x + if (REDUCE_MM && (aF->NameOperator()=="-")) + { + if (aF->Ref().size()==1) + { + SHOW_REDUCE("-(-x)"); + return aF->Ref()[0]; + } + } + return cGenOperatorUnaire >::Generate(aF,"-"); } + template inline cFormula log (const cFormula & aF) { @@ -283,7 +407,14 @@ inline cFormula pow (const cFormula & aF,const TypeElem& aV if (aVal==TypeElem(3)) return cube(aF); return cGenOperatorUnaire >::Generate(aF,"powc",std::to_string(aVal)); } +template +inline cFormula pow (const cFormula & aF,const int & aVal ) +{ + return pow(aF,TypeElem(aVal)); +} +template inline cFormula pow8 (const cFormula & aF){return pow(aF,8);} +template inline cFormula pow9 (const cFormula & aF){return pow(aF,9);} }; // NS_MMVII_FormalDerivative diff --git a/MMVII/include/MMVII_FormalDerivatives.h b/MMVII/include/MMVII_FormalDerivatives.h index 2310ae5f31..01e0b0e8d3 100644 --- a/MMVII/include/MMVII_FormalDerivatives.h +++ b/MMVII/include/MMVII_FormalDerivatives.h @@ -1,5 +1,8 @@ #ifndef _MMVII_FormalDerivative_H_ #define _MMVII_FormalDerivative_H_ +using namespace std; + + #define WITH_MMVII false #define WITH_EIGEN false @@ -111,6 +114,19 @@ class cMemCheck #endif //========================================================== WITH_MMVI +// REDUCTION RULES +// TODO => REPLACE BY METHOD ON COORDINATOR WHEN THEY IMPROVE THINGS .... +#define DOREDUCE false + +#define REDUCE_CSTE DOREDUCE // Cste+Cste => cste +#define REDUCE_MM DOREDUCE // - - x => x ; a-(-b) => a+b +#define REDUCE_ASSOCP DOREDUCE /* B + (A + C) = > A + ( B + C), + more generally order the + operator, could be done with '*' */ +#define REDUCE_DISTRIB DOREDUCE // A#B ~ A#C=> A#(B~C) ; # in "*/" and ~ in "+-" +#define REDUCE_ApA DOREDUCE // A+A => 2*A, not good by itself, but may creat other reduc +#define REDUCE_DIST1 DOREDUCE // A + A*C => A *(1+C) si C est csteto have all constant close +void SHOW_REDUCE(const std::string & aMes) {} // std::cout << "REDUCE " << aMes << "\n";} + namespace NS_MMVII_FormalDerivative { @@ -121,54 +137,32 @@ namespace NS_MMVII_FormalDerivative /* */ /* *************************************************** */ -/* - -*/ - -/// These functions are required if we want to have same operation on numbers double and formulas -inline double square(const double & aV) {return aV*aV;} -inline double square(const float & aV) {return aV*aV;} - -inline double cube(const double & aV) {return aV*aV*aV;} -inline double cube(const float & aV) {return aV*aV*aV;} - -inline double pow4(const double & aV) {return square(square(aV));} -inline double pow4(const float & aV) {return square(square(aV));} -inline double pow5(const double & aV) {return aV *pow4(aV);} -inline double pow5(const float & aV) {return aV *pow4(aV);} +/// The CreateCste is required for formula, so we need it also on num type +template inline Type CreateCste(const Type & aV,const Type &) { return aV; } -inline double pow6(const double & aV) {return square(cube(aV));} -inline double pow6(const float & aV) {return square(cube(aV));} - -inline double pow7(const double & aV) {return aV *pow6(aV);} -inline double pow7(const float & aV) {return aV *pow6(aV);} +/// because pow is defined in std and there is cast int->float that would make it unaccessible +template inline Type pow(const Type & aV,const int & aExp) +{ + return std::pow(aV,Type(aExp)); +} -inline double pow8(const double & aV) {return square(pow4(aV));} -inline double pow8(const float & aV) {return square(pow4(aV));} +/* These functions are required if we want to have same operation on numbers double and formulas + They are suposed to be optimized implementation of pow for integer low value + of the exponent +*/ +template inline Type square(const Type & aV) {return aV*aV;} +template inline Type cube(const Type & aV) {return aV*aV*aV;} +template inline Type pow4(const Type & aV) {return square(square(aV));} +template inline Type pow5(const Type & aV) {return aV *pow4(aV);} +template inline Type pow6(const Type & aV) {return square(cube(aV));} +template inline Type pow7(const Type & aV) {return aV *pow6(aV);} +template inline Type pow8(const Type & aV) {return square(pow4(aV));} +template inline Type pow9(const Type & aV) {return aV *pow8(aV);} -inline double pow9(const double & aV) {return aV *pow8(aV);} -inline double pow9(const float & aV) {return aV *pow8(aV);} -template Type powI(const Type & aV,const int aNb) -{ - switch (aNb) - { - case 0 : return Type(1.0); - case 1 : return aV; - case 2 : return square(aV); - case 3 : return cube(aV); - case 4 : return pow4(aV); - case 5 : return pow5(aV); - case 6 : return pow6(aV); - case 7 : return pow7(aV); - case 8 : return pow8(aV); - case 9 : return pow9(aV); - } - return std::pow(aV,Type(aNb)); -} + //============= BASIC ERROR HANDLING ============== -// static double square(const float & aV) {return aV*aV;} void Error(const std::string & aMes,const std::string & aExplanation) { @@ -177,16 +171,18 @@ void Error(const std::string & aMes,const std::string & aExplanation) std::cout << " Message ["<< aMes << "]\n"; assert(false); } - + /// Error due probably to internal mistake void InternalError(const std::string & aMes) { Error(aMes,"Internal Error of the Library"); } + /// Error probably due to bas usage of the library (typically out limit vector access) void UserSError(const std::string & aMes) { Error(aMes,"Probable error on user's side due to unapropriate usage of the library"); } + /// Check equality in test, taking account numericall error void AssertAlmostEqual(const double & aV1,const double & aV2,const double & aEps) { if ( (std::abs(aV1-aV2)> aEps*(std::abs(aV1)+std::abs(aV2))) ) @@ -283,15 +279,50 @@ template cFormula template cFormula pow (const TypeElem & aV1,const cFormula & aF2); /// This one defined in MMVII_FormDer_UnaryOp.h template cFormula pow (const cFormula & aF1,const TypeElem & aV2); +template cFormula pow (const cFormula & aF1,const int & aV2); - // -------- Declare all unary operators ---------------- + // -------- integer low power ---------------- template cFormula square(const cFormula & aF); template cFormula cube(const cFormula & aF); +template cFormula pow4(const cFormula & aF); +template cFormula pow5(const cFormula & aF); +template cFormula pow6(const cFormula & aF); +template cFormula pow7(const cFormula & aF); +template cFormula pow8(const cFormula & aF); +template cFormula pow9(const cFormula & aF); + + // --- other unary operator template cFormula exp(const cFormula & aF); template cFormula operator - (const cFormula & aF); template cFormula log(const cFormula & aF); + // ---- sometime we need a templetized way to create constants +template cFormula CreateCste(const T & aV,const cFormula & aF); + + + /// --- powI , return pow of integral exponent, + +template Type powI(const Type & aV,const int & aExp) +{ + switch (aExp) + { + // case 0 : return Type(1.0); + case 0 : return CreateCste(1.0,aV); + case 1 : return aV; + case 2 : return square(aV); + case 3 : return cube(aV); + case 4 : return pow4(aV); + case 5 : return pow5(aV); + case 6 : return pow6(aV); + case 7 : return pow7(aV); + case 8 : return pow8(aV); + case 9 : return pow9(aV); + } + // else use the classical pow + return pow(aV,aExp); +} + // -------- Declaration of Coordinator class ---------------- template class cCoordinatorF : public cMemCheck @@ -377,6 +408,7 @@ template class cCoordinatorF : public cMemCheck if (ExistFunc(aPF->Name())) InternalError ("Multiple add of identic name :[" + aPF->Name() + "]"); mDicoFunc[aPF->Name()] = aPF; mVAllFormula.push_back(aPF); + aPF->TryReducAssoc(); } /// Func of given constant, create if don't exist @@ -488,8 +520,21 @@ template class cImplemF : public cMemCheck //----------- For derivation and reduction-------------- virtual bool IsCste0() const {return false;} ///< To redefine in constant func, Used for simplification in "/ * + -" virtual bool IsCste1() const {return false;} ///< To redefine in constant func, Used for simplification in "/ *" + virtual bool IsDistribInt() const {return false;} ///< To redefine in *,/ for distributivity + virtual tFormula Derivate(int aK) const = 0; ///< Compute the formula of it's derivative to Kth unknown + /** In this functionwe try to make reduction using associativity (and maybe others), + as we want to do it only on maximal chains of + (or *) this has to be run by the father of + the chain + */ + void TryReducAssoc(); + virtual cImplemF * ReducAssoc() {return this;} + virtual bool IsMult() const {return false;} + virtual bool IsSum() const {return false;} + bool ReducAssocTried() const {return mReducAssocTried;} + virtual cFormula VOper2(const tFormula &,const tFormula &) const; ///< Use in distributive reducion to recal the operator binaire if suitable + // -------------- For Computation ------------------------- /// Method that wil compute data inside mBuf virtual void ComputeBuf(int aK0,int aK1) =0; @@ -522,6 +567,10 @@ template class cImplemF : public cMemCheck /// Number of reference that would occur without reduction on identic formula (to test performance in paper) int RecursiveRec() const; + /// Access at global level is 4 reducing, also it is used 4 implemant in Unary & Binary + virtual const std::string & NameOperator() const = 0; + + // -------------------- Destructor / Constructor -------------------------- virtual ~cImplemF () {} ///< Add a virtual ~X() when we have virtual methods, who knows ... protected : @@ -532,7 +581,8 @@ template class cImplemF : public cMemCheck mName (aName), mNumGlob (mCoordF->NbCurFonc()), mReached (false), - mDepth (-1) + mDepth (-1), + mReducAssocTried (false) { } @@ -546,6 +596,7 @@ template class cImplemF : public cMemCheck private : cImplemF (const cImplemF &) = delete; ///< No Copy + bool mReducAssocTried; }; template class cFormula @@ -570,6 +621,7 @@ template class cFormula // UNUSED 4 NOW tImplemF & operator*() const {return *mPtr;} ///< Standard behaviour of a pointer tImplemF * operator->() const {return mPtr;} ///< Standard behaviour of a pointer + tImplemF * RawPtr() const {return mPtr;} ///< Explicit acces // DO NOT WORK const std::unique_ptr operator->() const {return std::unique_ptr;} bool IsNull() const {return mPtr==nullptr;} ///< Safer than giving acces to raw pointer @@ -638,6 +690,8 @@ template class cUnknownF : public cAtomicF typedef typename tImplemF::tCoordF tCoordF; typedef typename tCoordF::tFormula tFormula; + const std::string & NameOperator() const override {static std::string s("UK"); return s;} + std::string InfixPPrint() const override {return tImplemF::Name();} /// rule : dXi/dXj = delta(i,j) tFormula Derivate(int aK) const override @@ -664,6 +718,7 @@ template class cObservationF : public cAtomicF typedef typename tCoordF::tFormula tFormula; friend tCoordF; + const std::string & NameOperator() const override {static std::string s("Obs"); return s;} private : inline cObservationF(tCoordF * aCoordF,const std::string & aName,int aNum) : tAtom (aCoordF,aName), @@ -685,7 +740,7 @@ template class cConstantF : public cAtomicF bool IsCste0() const override {return mVal==0.0;} ///< Here we know if we are constant 0 bool IsCste1() const override {return mVal==1.0;} ///< Here we know if we are constant 1 const TypeElem * ValCste() const override {return &mVal;} - + const std::string & NameOperator() const override {static std::string s("Cste"); return s;} protected : inline cConstantF(tCoordF * aCoordF,const std::string & aName,int aNum,const TypeElem& aVal) : tAtom (aCoordF,aName), @@ -702,12 +757,22 @@ template class cConstantF : public cAtomicF /* *************************************************** */ /* *************************************************** */ /* * * */ -/* * cImplemF / cCoordinatorF * */ +/* * cFormula / cImplemF / cCoordinatorF * */ /* * External Definition of methods * */ /* * * */ /* *************************************************** */ /* *************************************************** */ + /* ---------------------- */ + /* cFormula */ + /* ---------------------- */ + +template cFormula CreateCste(const T & aV,const cFormula & aF) +{ + return aF->CoordF()->CsteOfVal(aV); +} + + /* ---------------------- */ /* cImplemF */ /* ---------------------- */ @@ -733,6 +798,27 @@ template void cImplemF::CalcRecursiveDepth(std::vecto mDepth++; // my depth is 1 + max of depth of my referenced formulas aVReached.push_back(tFormula(this)); } + +template void cImplemF::TryReducAssoc() +{ + for (auto & aF : Ref()) + { + // F will not belong to the terminal command that will have to reparsed + // If we are in the config (A+B) + .. maybe the chain will grow later + if (aF->NameOperator() != NameOperator()) + { + aF = aF->ReducAssoc(); + } + aF->mReducAssocTried = true; + } +} + +template cFormula cImplemF::VOper2(const tFormula & aF1,const tFormula &) const +{ + InternalError("Uncorrect virtula binary operation"); + return aF1; +} + /* ---------------------- */ /* cCoordinatorF */ /* ---------------------- */ @@ -804,7 +890,8 @@ cFormula cCoordinatorF::CsteOfVal(const TypeElem & aCste) tFormula & aRef = mDicoCste[aCste]; if (aRef.IsNull()) // If it was not existing, the map contain now the def element { - aRef=tFormula(new cConstantF(this,"C"+std::to_string(mNbCste),mNbCste,aCste)); + // The ! is used to make constant first in alphab order, used for reduction ? + aRef=tFormula(new cConstantF(this,"_C"+std::to_string(mNbCste),mNbCste,aCste)); mNbCste++; AddFormula(aRef); } @@ -874,8 +961,18 @@ void cCoordinatorF::SetCurFormulasWithDerivative(const std::vector< } template -void cCoordinatorF::SetCurFormulas(const std::vector & aVF) +void cCoordinatorF::SetCurFormulas(const std::vector & aVF0) { + std::vector aVF; + for(auto aF : aVF0) + { + if (! aF->ReducAssocTried()) + { + aF = tFormula(aF->ReducAssoc()); + // std::cout << "GGGGGGGG " << aF->Name() << " \n"; + } + aVF.push_back(aF); + } mWithDer=false; mSzInterval = 1; mVCurF = aVF; @@ -963,11 +1060,14 @@ void cCoordinatorF::ShowStackFunc() const std::cout << "\n"; } + }; // NS_MMVII_FormalDerivative #include "MMVII_FormDer_UnaryOp.h" #include "MMVII_FormDer_BinaryOp.h" + + /* https://www.itl.nist.gov/div898/strd/nls/data/ratkowsky3.shtml http://en.wikipedia.org/wiki/Automatic_differentiation diff --git a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp index 4f5db00664..983d6b46b7 100644 --- a/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp +++ b/MMVII/src/TestLibsExtern/TestDynCompDerivatives.cpp @@ -1,15 +1,14 @@ -// #include "include/MMVII_all.h" #include "include/MMVII_FormalDerivatives.h" -//#include "include/MMVII_Derivatives.h" - #include "ceres/jet.h" + namespace FD = NS_MMVII_FormalDerivative; using ceres::Jet; -// using MMVII::cEpsNum; -// ========== Define on Jets two optimization as we did on formal +// ========= Define on Jets some function that make them work like formula and nums +// and also may optimize the computation so that comparison is fair + template inline Jet square(const Jet& f) { @@ -22,19 +21,31 @@ template inline Jet cube(const Jet& f) return Jet(f.a*a2, (3.0*a2) * f.v); } -template inline Jet pow4(const Jet& f) + +template inline Jet powI(const Jet& aJ,const int & aExp) { - T a3 = FD::cube(f.a); - return Jet(f.a*a3, (4.0*a3) * f.v); + // In this case avoid compute 1/x and multiply by x + if (aExp==0) return Jet(1.0); + + // make a single computation of pow + T aPm1 = FD::powI(aJ.a,aExp-1); + return Jet(aJ.a*aPm1,(aExp*aPm1)*aJ.v); } +template Jet CreateCste(const T & aV,const Jet&) +{ + return Jet(aV); +} + + + //========================================= //========================================= -static auto BeginOfTime = std::chrono::steady_clock::now(); double TimeElapsFromT0() { + static auto BeginOfTime = std::chrono::steady_clock::now(); auto now = std::chrono::steady_clock::now(); return std::chrono::duration_cast(now - BeginOfTime).count() / 1e6; } @@ -209,9 +220,9 @@ std::vector FitCube // Naturally the user would write that if (false) { + return {cube(a+b *x)- y}; Type F = (a+b *x); return {F*F*F - y}; - return {cube(a+b *x)- y}; } @@ -261,134 +272,351 @@ void InspectCube() getchar(); } -/* {III} ======================== Test perf on colinearit equation ================================= +/* {III} ======================== Test perf on colinearit equation ========================== + + On this example we use the colinearity equation which is central in bundle adjustment. We + use it with different type of camera : + + * a Fraser camera, which a very current as it modelize physically the + main distorsion with a relatively low number of parameters + + * a polynomial model that is more mathemitcall that can be used to approximate any + function; the degree is parametrizable inside a template + +Now we make a macro description of the main classes : + + class cEqCoLinearity : implement the colinarity equation; + + It is parametrized by the type of distortion TypeDist; the TypeDist + will define the mathematicall function of distorsion + the TypeDist will also define the types of "scalars" for unknowns + and observation. Scalar can be jet,cFormula, num. + See class cTplFraserDist for a detailled example of requirement to + be a valid dist. + + Fundamental static method : Residual , for a given value of unknown and obs, + return the vector of residual (x,y). + + cCountDist a Class for centralizing the counting of unknown and obs + + class cTplFraserDist : public cCountDist<7> + a class implemanting fraser distorsion + + class cTplPolDist + a class implemanting polynomial distorsion of degre "Deg" +*/ + +/* + ================ Mathematical formalization =============== + + The unknown are : + + * Pg = PGround + * C = Center of camera + * R = Orientation of camera Rotation Matrix + * F,PP = Principal point and focal + * Distortion + + Then, without distorsion, we have alreay 12 unkwnown - On this example + We write the rotation as R = A * R0 , were R0 is the current value of the + rotation. Because : + * it avoid the the classical guimbal-lock problem + * as A is a rotation close to identity, we ca, write A = I + ^W were W + is a small vector , and ^W is the vector product matrix + + Then we have 11 obsevation : + + * 9 for matrix R0 + * 2 for image point PIm + The equation is + + * Pc = (I +^W) R0 (Pg-C) for Pc= coordinate in camera repair + * PPi = Pp + F*(Pc.x,Pc.y) / Pc.z for projection without distorsion + + => PIm = Dist(Proj) */ +/** + A class for sharing the number of unknown & observations. One template parameter + the number of unknown of the distortion +*/ template class cCountDist { public : - static const int TheNbDist = NbParamD; - static const int TheNbUk = 12 + TheNbDist; - static const int TheNbObs = 11; + static const int TheNbDist = NbParamD; + static const int TheNbCommonUk = 12 ; + static const int TheNbUk = TheNbCommonUk + TheNbDist; + static const int TheNbObs = 11; typedef Jet tJets; typedef FD::cCoordinatorF tCoord; typedef typename tCoord::tFormula tFormula; -}; + static const std::vector & VNamesObs() + { + static std::vector TheVObs + { + "oR00","oR01","oR02","oR10","oR11","oR12","oR20","oR21","oR22", // Rotation + "oXIm","oYIm" // Image point + }; + return TheVObs; + }; + static const std::vector & VUnkGlob () + { + static std::vector TheVUk + { + "XGround","YGround","ZGround", // Unknown 3D Point + "XCam","YCam","ZCam", "Wx","Wy","Wz", // External Parameters + "ppX","ppY","ppZ" // Internal : principal point + focal + }; + return TheVUk; + } -/* - We avoid - - Degre 0 => all because principal point +}; - - Degre 1 => (1 0 0 1) is focal (0 -1 1 0) is rotation - A complementary base is : - (1 0 0 0) (0 1 0 0) - So we avoid degree 1 in Y +/** Class implementing the fraser model distortion. - - Degre 2 : + It contains the 4 prerequirement to be a Valid distorsion class usable in + cEqCoLinearity : - Rotation arround X + linear are highly correlated to X2 , so avoid X2 in X - Idem avoid Y2 in Y + * definition of type of unknown tUk + * definition of type of obs tObs + * definition of the vector of names of unknown VNamesUnknowns(), + this vector contain the 12 global unknown + those specific to dist + * method Dist for computing the distortion - Number of term in Degree 2 : 1 X Y X2 XY Y2 => 1 +2 +3 = (2+1)(2+2) /2 + The method Dist take as parameters : + + * xPi, yPi + * the vector of unknown , the 12 first value are those describes above + * the vector of observation, it is not used for now, but maybe + will be later for some dist ? - Total number : - ( ((D+1)(D+2)) / 2 ) *2 -6 - */ -template class cCountPolDist : public cCountDist<(Degree+1)*(Degree+2) -6> +template class cTplFraserDist : public cCountDist<7> { - public : - static const int TheDegree = Degree; + public : + typedef TypeUk tUk; + typedef TypeObs tObs; + static const std::vector& VNamesUnknowns() + { + static std::vector TheV; + // Add name of distorsion to others unkonw + if (TheV.empty()) + { + TheV = VUnkGlob(); + // k2,k4,k6 Distorsion radiale; p1 p2 Decentric ; b1 b2 Affine + for (auto aS :{"k2","k4","k6", "p1","p2","b1","b2"}) + TheV.push_back(aS); + } + + return TheV; + } + + static std::vector Dist ( + const tUk & xPi,const tUk & yPi, + const std::vector & aVUk, const std::vector & + ) + { + // In this model we confond Principal point and distorsion center, + const auto & xCD = aVUk[ 9]; + const auto & yCD = aVUk[10]; + + // Radial distortions coefficients + const auto & k2D = aVUk[12]; + const auto & k4D = aVUk[13]; + const auto & k6D = aVUk[14]; + + // Decentric distorstion + const auto & p1 = aVUk[15]; + const auto & p2 = aVUk[16]; + + // Affine distorsion + const auto & b1 = aVUk[17]; + const auto & b2 = aVUk[18]; + + // Coordinate relative to distorsion center + auto xC = xPi-xCD; + auto yC = yPi-yCD; + auto x2C = square(xC); // Use the indermediar value to (probably) optimize Jet + auto y2C = square(yC); + auto xyC = xC * yC; + auto Rho2C = x2C + y2C; + + // Compute the distorsion + auto rDist = k2D*Rho2C + k4D * square(Rho2C) + k6D*cube(Rho2C); + auto affDist = b1 * xC + b2 * yC; + auto decX = p1*(3.0*x2C + y2C) + p2*(2.0*xyC); + auto decY = p2*(3.0*y2C + x2C) + p1*(2.0*xyC); - static bool OkMonome(bool isX,int aDegX,int aDegY) - { - if ((aDegX ==0) && (aDegY==0)) return false; // - if ((!isX) && ((aDegX + aDegY) ==1)) return false; // - if (isX && (aDegX==2) && (aDegY ==0)) return false; // - if ((!isX) && (aDegX==0) && (aDegY ==2)) return false; // - return true; - } + + auto xDist = xPi + xC * rDist + decX + affDist; + auto yDist = yPi + yC * rDist + decY ; + + return {xDist,yDist}; + } + private : }; -cCountPolDist<4> aD4; -static const std::vector VNamesObs -{ - "oR00","oR01","oR02","oR10","oR11","oR12","oR20","oR21","oR22", - "oXIm","oYIm" -}; +/* + Class for implementing a polynomial distorsion. The maximal degree + is the last parameter of this template class. -static const std::vector VUnkGlob - { - "XGround","YGround","ZGround", // Unknown 3D Point - "XCam","YCam","ZCam", "Wx","Wy","Wz", // External Parameters - "ppX","ppY","ppZ" // Internal : principal point + focal - }; + In this model, we want to be abble to approximat any smooth function, + so a priori we will use all the monome under a given degree. + Let D be the degree the distortion will be : -template Jet CreateCste(const T & aV,const Jet&) -{ - return Jet(aV); -} -template FD::cFormula CreateCste(const T & aV,const FD::cFormula & aF) -{ - return aF->CoordF()->CsteOfVal(aV); -} + Distx = Som (dx_ij X^i Y^j) i+j<=D + Disty = Som (dy_ij X^i Y^j) i+j<=D + + + But it we want to avoid sur parametrization, we have to be cautious and avoid + certain monoms because they redundant, or highly correlated, with some external + parameter (rotation) or other internal parameter ( PP,focal). So we avoid : + + - Degre 0 => all because principal point + + - Degre 1 => + * we note (dx_10 dx_01 dy_10 dy_01) the degree 1 parameter + * (1 0 0 1) is focal, so avoid it + * (0 -1 1 0) is a pure rotation and redundant with rotation around axe, avoid it + * so we have to select a complementary base, + * (1 0 0 0) (0 1 0 0) is a complementary base + + So we avoid degree 1 in Y + + - Degre 2 : -template class cTplPolDist : public cCountPolDist + * Rotation arround X + linear are highly correlated to X2 + affine, so we muste + so avoid X2 in X + * Idem avoid Y2 in Y + + + Finnaly we have : + + * (D+1) (D+2) /2 monome in X, same for Y + * 6 monome to avoid + + ---------------------------------------------------------------- + + In this class we have the 4 requirement as in Fraser. We have also two + facility function : + + * bool OkMonome(bool isX,int aDegX,int aDegY) indicate if a monome of + degree Dx,Dy is not to avoid (the bool isX means if it for Dx or Dy as + the rule is not the same) + + * void InitDegreeMonomes(xDx,xDy,yDx,yDy); + The 4 parameters are & of vector of int, as a result they contain the + degrees of the monomes : + DistX = Som ( X ^ xDx[K] Y ^ yDy[k]) + +*/ + + +/** Class implementing a polynomial distorsion of degree Deg +*/ + + +template class cTplPolDist : + public cCountDist<(Deg+1)*(Deg+2) -6> { public : typedef TypeUk tUk; typedef TypeObs tObs; + typedef cCountDist<(Deg+1)*(Deg+2) -6> tCountDist; + + // Vectors of names of unknowns static const std::vector& VNamesUnknowns() { static std::vector TheV; if (TheV.empty()) // First call { - TheV = VUnkGlob; - static std::vector aXDx,aXDy,aYDx,aYDy; + // Get the common unknowns + TheV = tCountDist::VUnkGlob(); + + // Get the degrees of monomes + std::vector aXDx,aXDy,aYDx,aYDy; InitDegreeMonomes(aXDx,aXDy,aYDx,aYDy); + // Add the name of monomes for X Dist for (size_t aK=0 ; aK Dist ( const tUk & xPi,const tUk & yPi, - const std::vector & aVUk, const std::vector & aVObs + const std::vector & aVUk, const std::vector & ) { static std::vector aXDx,aXDy,aYDx,aYDy; - if (aXDx.empty()) + if (aXDx.empty()) // first call compute degree of monomes InitDegreeMonomes(aXDx,aXDy,aYDx,aYDy); + // We compute here the Value of monomes : X^i and Y^j , + // this is an optimisation for jets, probably not usefull for formula, but does not hurt either std::vector aVMonX; std::vector aVMonY; - aVMonX.push_back(CreateCste(1.0,xPi)); - aVMonY.push_back(CreateCste(1.0,xPi)); - for (int aD=1 ;aD<=Deg ; aD++) + // We can compute it using powI optimized functionc, or using a recurence formula + // According to type, the optimal computation may not be the same + // On tests it seems more or less equivalent .... + if (0) + { + // Case using powI + for (int aD=0 ;aD<=Deg ; aD++) + { + aVMonX.push_back(powI(xPi,aD)); + aVMonY.push_back(powI(yPi,aD)); + } + } + else { - aVMonX.push_back(aVMonX.back()*xPi); - aVMonY.push_back(aVMonY.back()*yPi); + // Case using recurence X^(k+1) = X^k *X + aVMonX.push_back(CreateCste(1.0,xPi)); + aVMonY.push_back(CreateCste(1.0,xPi)); + for (int aD=1 ;aD<=Deg ; aD++) + { + aVMonX.push_back(aVMonX.back()*xPi); + aVMonY.push_back(aVMonY.back()*yPi); + } } - auto xDist = CreateCste(0.0,xPi); - auto yDist = CreateCste(0.0,xPi); + // Initialisze with identity + auto xDist = xPi; + auto yDist = yPi; - int anInd = 12; + int anInd = tCountDist::TheNbCommonUk; // Unkown on dist are stored after common + // Be carefull to be coherent with VNamesUnknowns for (size_t aK=0; aK class cTplPolDist : public c } private : + // indicate if X^DegX Y ^DegY is to avoid for xDist/yDist + static bool OkMonome(bool isX,int aDegX,int aDegY) + { + if ((aDegX ==0) && (aDegY==0)) return false; // degre 0 : avoid + if ((!isX) && ((aDegX + aDegY) ==1)) return false; // degre 1 in dY : avoid + if (isX && (aDegX==2) && (aDegY ==0)) return false; // X2 in dX avoid + if ((!isX) && (aDegX==0) && (aDegY ==2)) return false; // Y2 in dY avoid + + return true; // then ok + } + static inline void InitDegreeMonomes ( std::vector & aXDx, // Degre in x of X component @@ -411,13 +650,13 @@ template class cTplPolDist : public c { for (int aDy=0 ; (aDx+aDy)<=Deg ; aDy++) { - if (cCountPolDist::OkMonome(true,aDx,aDy)) + if (OkMonome(true,aDx,aDy)) { aXDx.push_back(aDx); aXDy.push_back(aDy); } - if (cCountPolDist::OkMonome(false,aDx,aDy)) + if (OkMonome(false,aDx,aDy)) { aYDx.push_back(aDx); aYDy.push_back(aDy); @@ -431,71 +670,6 @@ template class cTplPolDist : public c -template class cTplFraserDist : public cCountDist<7> -{ - public : - typedef TypeUk tUk; - typedef TypeObs tObs; - static const std::vector& VNamesUnknowns() - { - static std::vector TheV; - if (TheV.empty()) - { - TheV = VUnkGlob; - for (auto aS :{"k2","k4","k6", "p1","p2","b1","b2"}) // Distorsion (radiale/ Decentric/Affine) - TheV.push_back(aS); - } - - return TheV; - } - - static std::vector Dist ( - const tUk & xPi,const tUk & yPi, - const std::vector & aVUk, const std::vector & aVObs - ) - { - // Also in this model we confond Principal point and distorsion center, name - // explicitely the dist center - const auto & xCD = aVUk[ 9]; - const auto & yCD = aVUk[10]; - - // 2.2 Radial distortions coefficients - const auto & k2D = aVUk[12]; - const auto & k4D = aVUk[13]; - const auto & k6D = aVUk[14]; - - // 2.3 Decentric distorstion - const auto & p1 = aVUk[15]; - const auto & p2 = aVUk[16]; - - // 2.3 Affine distorsion - const auto & b1 = aVUk[17]; - const auto & b2 = aVUk[18]; - - // Coordinate relative to distorsion center - auto xC = xPi-xCD; - auto yC = yPi-yCD; - auto x2C = square(xC); // Use the indermediar value to (probably) optimize Jet - auto y2C = square(yC); - auto xyC = xC * yC; - auto Rho2C = x2C + y2C; - - // Compute the distorsion - auto rDist = k2D*Rho2C + k4D * square(Rho2C) + k6D*cube(Rho2C); - auto affDist = b1 * xC + b2 * yC; - auto decX = p1*(3.0*x2C + y2C) + p2*(2.0*xyC); - auto decY = p2*(3.0*y2C + x2C) + p1*(2.0*xyC); - - - auto xDist = xPi + xC * rDist + decX + affDist; - auto yDist = yPi + yC * rDist + decY ; - - return {xDist,yDist}; - } - private : -}; - - // template class cEqCoLinearity template class cEqCoLinearity { @@ -566,8 +740,9 @@ template class cEqCoLinearity auto xPi = XCam/ZCam; auto yPi = YCam/ZCam; - auto aVDist = TypeDist::Dist(xPi,yPi,aVUk,aVObs); + // Now compute the distorsion + auto aVDist = TypeDist::Dist(xPi,yPi,aVUk,aVObs); const auto & xDist = aVDist[0]; const auto & yDist = aVDist[1]; @@ -576,7 +751,7 @@ template class cEqCoLinearity auto yIm = yPP + zPP * yDist; - // + // substract image observations to have a residual auto x_Residual = xIm - aVObs[ 9]; auto y_Residual = yIm - aVObs[10]; @@ -633,7 +808,7 @@ template class cTestEqCoL template cTestEqCoL::cTestEqCoL(int aSzBuf,bool Show) : // mCFD (aSzBuf,TheNbUk,TheNbObs), // would have the same effect, but future generated code will be less readable - mCFD (aSzBuf,TJD::VNamesUnknowns(),VNamesObs), + mCFD (aSzBuf,TJD::VNamesUnknowns(),TJD::VNamesObs()), mVUk (TheNbUk,0.0), mVObs (TheNbObs,0.0) { @@ -665,6 +840,26 @@ cTestEqCoL::cTestEqCoL(int aSzBuf,bool Show) : mCFD.ShowStackFunc(); } mCFD.SetCurFormulasWithDerivative(aVFormula); + if (Show) + { + const std::vector& aVR =mCFD.VReached(); + int aNbTot=0; + int aNbPl=0; + for (const auto & aF : aVR) + { + aNbTot++; + std::string anOp = aF->NameOperator() ; + std::cout << "Opp= " << anOp << "\n"; + if ((anOp=="+") || (anOp=="*")) + { + aNbPl++; + } + } + std::cout + << " Tot=" << aNbTot + << " Pl=" << aNbPl + << "\n"; + } double aT1 = TimeElapsFromT0(); @@ -755,22 +950,48 @@ typedef cTplPolDist,FD::cFormula,2> tPolFD2; void TestFraserCamColinearEq() { - for (auto SzBuf : {1000,1}) { - cTestEqCoL (SzBuf,false); - } + FD::cCoordinatorF aCoord(100,4,2); + FD::cFormula aFPi = aCoord.CsteOfVal(3.14); + FD::cFormula aFE = aCoord.CsteOfVal(exp(1)); + FD::cFormula aFCste = aFE+aFPi; + std::cout << " CSTE=[" << aFCste->InfixPPrint() <<"]\n"; - for (auto SzBuf : {1000,1}) - { - cTestEqCoL (SzBuf,false); + FD::cFormula aX = aCoord.VUk()[0]; + FD::cFormula aY = aCoord.VUk()[1]; + FD::cFormula aZ = aCoord.VUk()[2]; + FD::cFormula aT = aCoord.VUk()[3]; + FD::cFormula aMX = - aX; + FD::cFormula aMMX = - aMX; + std::cout << " -X, --X=[" << aMX->InfixPPrint() << " " << aMMX->InfixPPrint() <<"]\n"; + + FD::cFormula aPipX = aFPi - aMX; + std::cout << " piPx= [" << aPipX->InfixPPrint() << "," << aPipX->Name() <<"]\n"; + + + FD::cFormula XpX = aX + aX; + std::cout << " XpX= [" << XpX->InfixPPrint() <<"]\n"; + + + FD::cFormula XpPiX = aZ+ aX + aY + aX * aFPi + aT; + + std::cout << " XpPiX= [" << XpPiX->InfixPPrint() <<"]\n"; + aCoord.ShowStackFunc(); } + getchar(); for (auto SzBuf : {1000,1}) { cTestEqCoL (SzBuf,false); + + cTestEqCoL (SzBuf,false); + cTestEqCoL (SzBuf,false); + + std::cout << "======================\n"; } + getchar(); } @@ -782,35 +1003,58 @@ namespace MMVII void BenchCmpOpVect(); }; -void BenchFormalDer() +void Bench_powI() { - for (int aK=0 ; aK<10 ; aK++) + // Test that function powI gives the same results than pow + // Test alsp for jets, the value and the derivatives + for (int aK=-4 ; aK<44 ; aK++) { double aV= 1.35; double aP1= pow(aV,double(aK)); double aP2= FD::powI(aV,aK); - std::cout << "HHHHH " << aP1 << " " << aP2 << "\n"; FD::AssertAlmostEqual(aP1,aP2,1e-8); + + Jet aJ0= powI(Jet (aV,0),aK); + FD::AssertAlmostEqual(aP1,aJ0.a,1e-8); + + double aEps = 1e-7; + double aP1Minus = pow(aV-aEps,double(aK)); + double aP1Plus = pow(aV+aEps,double(aK)); + double aNumDer = (aP1Plus-aP1Minus) / (2.0*aEps); + FD::AssertAlmostEqual(aNumDer,aJ0.v[0],1e-8); } + + // Bench on time performance int aNb=1e8; + // Using std::pow double aT0 = TimeElapsFromT0(); double aS=0; for (int aK=0 ; aK supress the switch double aT2 = TimeElapsFromT0(); for (int aK=0 ; aK Date: Thu, 16 Apr 2020 14:58:33 +0200 Subject: [PATCH 49/49] Add pose initialisation by random propagation cont --- src/uti_phgrm/CPP_MM2OpenMVG.cpp | 10 + .../NewOri/cNewO_SolGlobInit_RandomDFS.cpp | 729 ++++++++++++++++-- .../NewOri/cNewO_SolGlobInit_RandomDFS.h | 58 +- 3 files changed, 708 insertions(+), 89 deletions(-) diff --git a/src/uti_phgrm/CPP_MM2OpenMVG.cpp b/src/uti_phgrm/CPP_MM2OpenMVG.cpp index 9ae7febca0..6cd18e9b9b 100644 --- a/src/uti_phgrm/CPP_MM2OpenMVG.cpp +++ b/src/uti_phgrm/CPP_MM2OpenMVG.cpp @@ -168,6 +168,16 @@ void cAppliOMVG::Save() file.close(); } + //desc file empty + for (auto aImage : aMap_Features) + { + + std::string FeatureName = StdPrefix(aImage.first.c_str()) + ".desc"; + std::ofstream file(FeatureName.c_str()); + file.close(); + + } + std::ofstream match_file("match.f.txt"); for (auto aMatch : aMap_Matches) diff --git a/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.cpp b/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.cpp index cf2d86fea5..102b69f46f 100644 --- a/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.cpp +++ b/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.cpp @@ -43,30 +43,28 @@ Header-MicMac-eLiSe-25/06/2007*/ using namespace SolGlobInit_DFS ; -/* - * procedure DFS(G, v) is - label v as discovered - for all directed edges from v to w that are in G.adjacentEdges(v) do - if vertex w is not labeled as discovered then - recursively call DFS(G, w) - * */ - -/* - * The DFS is a standard algorithm for system- -atically creating a tree given a starting vertex of a graph. In our modification, in each -instance we start at a random vertex and at every parent vertex, we randomly pick the -next adjacent vertex to be visited in the search process. - * - * */ +#define MIN_WEIGHT 0.5 +#define MAX_WEIGHT 10.0 extern double DistBase(Pt3dr aB1,Pt3dr aB2); extern double DistanceRot(const ElRotation3D & aR1,const ElRotation3D & aR2,double aBSurH); +void PrintRotation(const ElMatrix Mat,const std::string Msg) +{ + std::cout << " ===R" << Msg << " === \n"; + for (int l=0; l<3; l++){ + for (int c=0; c<3; c++) + std::cout << Mat(l,c) << " "; + + std::cout << "\n"; + } +} + //===================================================================================== #ifdef GRAPHVIZ_ENABLED -GVC_t *cSolGlobInit_RandomDFS::GRAPHVIZ_GVCInit(const std::string& aGName) +GVC_t *cSolGlobInit_NRandom::GRAPHVIZ_GVCInit(const std::string& aGName) { std::string Prefix = "-o"; @@ -100,7 +98,7 @@ GVC_t *cSolGlobInit_RandomDFS::GRAPHVIZ_GVCInit(const std::string& aGName) } -std::pair cSolGlobInit_RandomDFS::GRAPHVIZ_GraphInit(const std::string& aGName) +std::pair cSolGlobInit_NRandom::GRAPHVIZ_GraphInit(const std::string& aGName) { GVC_t *gvc = GRAPHVIZ_GVCInit(aGName); @@ -113,7 +111,7 @@ std::pair cSolGlobInit_RandomDFS::GRAPHVIZ_GraphInit(const st return std::pair(g,gvc); } -graph_t *cSolGlobInit_RandomDFS::GRAPHIZ_GraphRead(std::string& aFName) +graph_t *cSolGlobInit_NRandom::GRAPHIZ_GraphRead(std::string& aFName) { graph_t *g; @@ -136,7 +134,7 @@ graph_t *cSolGlobInit_RandomDFS::GRAPHIZ_GraphRead(std::string& aFName) } /* */ -void cSolGlobInit_RandomDFS::GRAPHIZ_GraphSerialize(std::string& aFName,graph_t *g) +void cSolGlobInit_NRandom::GRAPHIZ_GraphSerialize(std::string& aFName,graph_t *g) { FILE *fp; @@ -146,7 +144,7 @@ void cSolGlobInit_RandomDFS::GRAPHIZ_GraphSerialize(std::string& aFName,graph_t } -void cSolGlobInit_RandomDFS::GRAPHIZ_GraphKill(graph_t *g,GVC_t *gvc,std::string aWriteName) +void cSolGlobInit_NRandom::GRAPHIZ_GraphKill(graph_t *g,GVC_t *gvc,std::string aWriteName) { gvLayoutJobs(gvc, g); @@ -166,7 +164,7 @@ void cSolGlobInit_RandomDFS::GRAPHIZ_GraphKill(graph_t *g,GVC_t *gvc,std::string } -void cSolGlobInit_RandomDFS::GRAPHIZ_NodeInit(graph_t *g, +void cSolGlobInit_NRandom::GRAPHIZ_NodeInit(graph_t *g, const std::string& aName1, const std::string& aName2, const std::string& aName3) @@ -214,7 +212,7 @@ void cSolGlobInit_RandomDFS::GRAPHIZ_NodeInit(graph_t *g, } -void cSolGlobInit_RandomDFS::GRAPHVIZ_NodeAdd(graph_t* g, +void cSolGlobInit_NRandom::GRAPHVIZ_NodeAdd(graph_t* g, const std::string& aName1, const std::string& aName2, const std::string& aName3) @@ -238,7 +236,7 @@ void cSolGlobInit_RandomDFS::GRAPHVIZ_NodeAdd(graph_t* g, } -void cSolGlobInit_RandomDFS::GRAPHVIZ_EdgeChgColor(graph_t* g, +void cSolGlobInit_NRandom::GRAPHVIZ_EdgeChgColor(graph_t* g, const std::string& aName1, const std::string& aName2, std::string aColor) @@ -263,7 +261,7 @@ void cSolGlobInit_RandomDFS::GRAPHVIZ_EdgeChgColor(graph_t* g, } /* Find node and change its color */ -void cSolGlobInit_RandomDFS::GRAPHVIZ_NodeChgColor(graph_t* g,const std::string& aName) +void cSolGlobInit_NRandom::GRAPHVIZ_NodeChgColor(graph_t* g,const std::string& aName) { char * aNName = (char *)aName.c_str(); @@ -278,7 +276,7 @@ void cSolGlobInit_RandomDFS::GRAPHVIZ_NodeChgColor(graph_t* g,const std::string& } -void cSolGlobInit_RandomDFS::WriteGraphToFile() +void cSolGlobInit_NRandom::WriteGraphToFile() { // Clear the sommets mVS.clear(); @@ -369,7 +367,7 @@ void cSolGlobInit_RandomDFS::WriteGraphToFile() -cNOSolIn_Triplet::cNOSolIn_Triplet(cSolGlobInit_RandomDFS *anAppli,tSomNSI * aS1,tSomNSI * aS2,tSomNSI *aS3,const cXml_Ori3ImInit &aTrip) : +cNOSolIn_Triplet::cNOSolIn_Triplet(cSolGlobInit_NRandom *anAppli,tSomNSI * aS1,tSomNSI * aS2,tSomNSI *aS3,const cXml_Ori3ImInit &aTrip) : mAppli (anAppli), mNb3 (aTrip.NbTriplet()), mNumCC (-1), @@ -417,7 +415,7 @@ tSomNSI * cLinkTripl::S2() const {return m3->KSom(mK2);} tSomNSI * cLinkTripl::S3() const {return m3->KSom(mK3);} -cNOSolIn_AttrSom::cNOSolIn_AttrSom(const std::string & aName,cSolGlobInit_RandomDFS & anAppli) : +cNOSolIn_AttrSom::cNOSolIn_AttrSom(const std::string & aName,cSolGlobInit_NRandom & anAppli) : mName(aName), mAppli(&anAppli), mIm (new cNewO_OneIm(mAppli->NM(),mName)), @@ -469,7 +467,7 @@ void cNOSolIn_Triplet::SetArc(int aK,tArcNSI * anArc) } -void cSolGlobInit_RandomDFS::CreateArc(tSomNSI *aS1,tSomNSI *aS2,cNOSolIn_Triplet *aTripl,int aK1,int aK2,int aK3) +void cSolGlobInit_NRandom::CreateArc(tSomNSI *aS1,tSomNSI *aS2,cNOSolIn_Triplet *aTripl,int aK1,int aK2,int aK3) { tArcNSI * anArc = mGr.arc_s1s2(*aS1,*aS2); if (anArc==0) @@ -484,7 +482,21 @@ void cSolGlobInit_RandomDFS::CreateArc(tSomNSI *aS1,tSomNSI *aS2,cNOSolIn_Triple aTripl->SetArc(aK3,anArc); } -cNOSolIn_Triplet* cSolGlobInit_RandomDFS::GetBestTri() +cLinkTripl * cSolGlobInit_NRandom::GetBestTriDyn() +{ + cLinkTripl * aLnk; + if (mHeapTriDyn.pop(aLnk)) + return aLnk; + + return 0; + + +} + + + + +cNOSolIn_Triplet* cSolGlobInit_NRandom::GetBestTri() { cNOSolIn_Triplet * aLnk; if (mHeapTriAll.pop(aLnk)) @@ -497,15 +509,17 @@ cNOSolIn_Triplet* cSolGlobInit_RandomDFS::GetBestTri() static cNO_CmpTriSolByCost TheCmp3Sol; -cSolGlobInit_RandomDFS::cSolGlobInit_RandomDFS(int argc,char ** argv) : +cSolGlobInit_NRandom::cSolGlobInit_NRandom(int argc,char ** argv) : mNbSom(0), mNbTrip(0), mFlag3CC(mAllocFlag3.flag_alloc()), + mFlagS(mGr.alloc_flag_som()), mDebug(false), mNbSamples(1000), mIterCur(0), mGraphName(""), - mHeapTriAll(TheCmp3Sol) + mHeapTriAll(TheCmp3Sol), + mHeapTriDyn(TheCmp3) { bool aModeBin = true; @@ -601,17 +615,483 @@ cSolGlobInit_RandomDFS::cSolGlobInit_RandomDFS(int argc,char ** argv) : } } - std::cout << "LOADED GRAPH " << mChrono.uval() << "\n"; + std::cout << "LOADED GRAPH " << mChrono.uval() << ", NbTrip=" << mNbTrip << "\n"; #ifdef GRAPHVIZ_ENABLED - - WriteGraphToFile(); - std::cout << "SAVED GRAPHHIZ " << mChrono.uval() << "\n"; + + if (mGraphName!="") + { + WriteGraphToFile(); + std::cout << "SAVED GRAPHHIZ " << mChrono.uval() << "\n"; + } #endif } -void cSolGlobInit_RandomDFS::DoOneRandomDFS(bool UseCoherence) +/* Connected components */ + +void cSolGlobInit_NRandom::NumeroteCC() +{ + int aNumCC = 0; + + for (int aK3=0 ; aK3Flag().kth(mFlag3CC)) + { + // Create a new component + cNO_CC_TripSom * aNewCC3S = new cNO_CC_TripSom; + aNewCC3S->mNumCC = aNumCC; // give it a number + mVCC.push_back(aNewCC3S); // add it to the vector of component + std::vector * aCC3 = &(aNewCC3S->mTri); // Quick acces to vec of tri in the CC + std::vector * aCCS = &(aNewCC3S->mSoms); // Quick accessto som + + // Calcul des triplets + aCC3->push_back(aTri0); // Add triplet T0 + aTri0->Flag().set_kth_true(mFlag3CC);// Mark it as explored + aTri0->NumCC() = aNumCC; // Put right num to T0 + int aKCur = 0; + // Traditional loop of CC : while no new inexplored neighboor + while (aKCur!=int(aCC3->size())) + { + cNOSolIn_Triplet * aTri1 = (*aCC3)[aKCur]; + // For each edge of the current triplet + for (int aKA=0 ; aKA<3 ; aKA++) + { + // Get triplet adjacent to this edge and parse them + std::vector & aLnk = aTri1->KArc(aKA)->attr().ASym()->Lnk3(); + for (int aKL=0 ; aKLNumCC() = aNumCC; + } + } + } + aKCur++; + } + + // Compute the summit of the CC, it's easy, just be carrful to get them only once + int aFlagSom = mGr.alloc_flag_som(); + for (int aKT=0 ; aKTsize()) ; aKT++) + { + cNOSolIn_Triplet * aTri = (*aCC3)[aKT]; + for (int aKS=0 ; aKS<3 ; aKS++) + { + SetFlagAdd(*aCCS,aTri->KSom(aKS),aFlagSom); + } + } + + FreeAllFlag(*aCCS,aFlagSom); + mGr.free_flag_som(aFlagSom); + + std::cout << "Nb of sommets " << aCCS->size() << " in CC " << aNumCC << "\n"; + + aNumCC++; + } + } + + FreeAllFlag(mV3,mFlag3CC); + std::cout << "Nb of CCs " << aNumCC << "\n"; +} + +/* Randomly choose an adjacent triplet from a set */ +cLinkTripl * cSolGlobInit_NRandom::GetRandTri() +{ + + + cLinkTripl * aTri; + + if (int(mSCur3Adj.size())) + { + int aRndTriIdx = NRrandom3(int(mSCur3Adj.size())-1); + + + // Get the triplet + std::set::iterator it = mSCur3Adj.begin(); + std::advance(it, aRndTriIdx); + aTri = *it; + + + // Remove triplet from the set => mark as explored + mSCur3Adj.erase(it); + + + // If the sommet was in the meantime added to global solution, + // search for another one + while ( aTri->S3()->flag_kth(mFlagS) && int(mSCur3Adj.size())) + { + aRndTriIdx = NRrandom3(int(mSCur3Adj.size())-1); + + it = mSCur3Adj.begin(); + std::advance(it, aRndTriIdx); + aTri = *it; + + mSCur3Adj.erase(it); + + } + + return aTri; + } + return 0; + +} + +/* Add neighbouring/adjacent triplets to set */ +void cSolGlobInit_NRandom::AddArcOrCur(cNOSolIn_AttrASym *anArc) +{ + // Adjacent triplets + std::vector & aLnk = anArc->Lnk3(); + + for (int aK=0; aK< int(aLnk.size()); aK++) + { + + + // Test if the sommet S3 exists + if (! aLnk.at(aK).S3()->flag_kth(mFlagS)) + { + mSCur3Adj.insert(&(aLnk.at(aK))); + + } + // If S3 exists, try to add triplets adjacent to edges: S1-S3 and S2-S3 + else + { + /*std::cout << "Sommet Already added=" + << aLnk.at(aK).S1()->attr().Im()->Name() << " " + << aLnk.at(aK).S2()->attr().Im()->Name() << " " + << aLnk.at(aK).S3()->attr().Im()->Name() << "\n";*/ + + for (int aKArc=0; aKArc<3; aKArc++) + { + if (anArc!=aLnk.at(aK).m3->KArc(aKArc)->attr().ASym()) + { + // Secondary triplets adjacent to S1-S3 or S2-S3 + std::vector & aLnkSec = aLnk.at(aK).m3->KArc(aKArc)->attr().ASym()->Lnk3(); + + for (int aT=0; aT< int(aLnkSec.size()); aT++) + { + // Test if the "collateral" sommet S3 exists + if (! aLnkSec.at(aT).S3()->flag_kth(mFlagS)) + { + mSCur3Adj.insert(&(aLnkSec.at(aT))); + } + } + } + } + } + } +} + + +void cSolGlobInit_NRandom::EstimRt(cLinkTripl * aLnk) +{ + + // Get sommets + tSomNSI * aS1 = aLnk->S1(); + tSomNSI * aS2 = aLnk->S2(); + tSomNSI * aS3 = aLnk->S3(); + + // Get current R,t of the mother pair + ElRotation3D aC1ToM = aS1->attr().CurRot(); + ElRotation3D aC2ToM = aS2->attr().CurRot(); + + // Get rij,tij of the triplet sommets + const ElRotation3D aC1ToL = aLnk->m3->RotOfSom(aS1); + const ElRotation3D aC2ToL = aLnk->m3->RotOfSom(aS2); + const ElRotation3D aC3ToL = aLnk->m3->RotOfSom(aS3); + + // Propagate R,t according to: + // aC1ToM.tr() = T0 + aRL2M * aC1ToL.tr() * Lambda + // + // 1-R + ElMatrix aRL2Mprim = aC1ToM.Mat() * aC1ToL.Mat().transpose(); + ElMatrix aRL2Mbis = aC2ToM.Mat() * aC2ToL.Mat().transpose(); + ElMatrix aRL2M = NearestRotation((aRL2Mprim+aRL2Mbis)*0.5); + + + + // 2-Lambda + double d12L = euclid(aC2ToL.tr() - aC1ToL.tr()); + double d12M = euclid(aC2ToM.tr() - aC1ToM.tr()); + double Lambda = d12M / ElMax(d12L,1e-20); + + + // 3-t + Pt3dr aC1ToLRot = aRL2M * aC1ToL.tr(); + Pt3dr aC2ToLRot = aRL2M * aC2ToL.tr(); + + Pt3dr T0prim = aC1ToM.tr() - aC1ToLRot * Lambda; + Pt3dr T0bis = aC2ToM.tr() - aC2ToLRot * Lambda; + Pt3dr T0 = (T0prim+T0bis) /2.0; + + Pt3dr aT3 = T0 + aRL2M * aC3ToL.tr() * Lambda; + + // 4- Set R3,t3 + aS3->attr().CurRot() = ElRotation3D(aT3,aRL2M*aC3ToL.Mat(),true); + aS3->attr().TestRot() = ElRotation3D(aT3,aRL2M*aC3ToL.Mat(),true);//used in coherence + + // Mark node as vistied + aS3->flag_set_kth_true(mFlagS); +} + +void cSolGlobInit_NRandom::RandomSolOneCC(cNOSolIn_Triplet * aSeed,int NbSomCC) +{ + int aNumCCSom=0; + + for (int aK=0; aK<3; aK++) + { + // Set the current R,t of the seed + aSeed->KSom(aK)->attr().CurRot() = aSeed->RotOfSom(aSeed->KSom(aK)); + + // Mark as explored + aSeed->KSom(aK)->flag_set_kth_true(mFlagS); + + // Mark the concatenation order + aSeed->KSom(aK)->attr().NumCC() = ++aNumCCSom; + + // Add the seed to the set of adj triplets + AddArcOrCur(aSeed->KArc(aK)->attr().ASym()); + } + + + int Cpt=0; + cLinkTripl * aTri=0; + while ((aTri = GetRandTri()) && ((Cpt+3)S1()->attr().Im()->Name() << " " + << aTri->S2()->attr().Im()->Name() << " " + << aTri->S3()->attr().Im()->Name() << "\n";*/ + + // Flag as visted + aTri->m3->Flag().set_kth_true(mFlag3CC); + + // Flag the concatenation order + aTri->S3()->attr().NumCC() = ++aNumCCSom; + + // Propagate R,t and flag sommet as visited + EstimRt(aTri); + + // Add two new edges and their respective adjacent triplets + AddArcOrCur(aTri->m3->KArc(0)->attr().ASym()); + AddArcOrCur(aTri->m3->KArc(1)->attr().ASym()); + AddArcOrCur(aTri->m3->KArc(2)->attr().ASym()); + + Cpt++; + } + + std::cout << "In this CC, nb of connected nodes " << Cpt+3 << "\n"; + + + + +} + + +void cSolGlobInit_NRandom::RandomSolOneCC(cNO_CC_TripSom * aCC) +{ + + NRrandom3InitOfTime(); + std::cout << "DFS per CC, Nb Som " << aCC->mSoms.size() << ", nb triplets " << aCC->mTri.size() << "\n"; + + + // Select random seed triplet + int aSeed = NRrandom3(int(aCC->mTri.size()-1)); + + cNOSolIn_Triplet * aTri0 = aCC->mTri[aSeed]; + std::cout << "Seed triplet " << aTri0->KSom(0)->attr().Im()->Name() << " " + << aTri0->KSom(1)->attr().Im()->Name() << " " + << aTri0->KSom(2)->attr().Im()->Name() << "\n"; + + + // Flag as visited + aTri0->Flag().set_kth_true(mFlag3CC); + + ELISE_ASSERT(aTri0!=0,"Cannot compute seed in RandomSolOneCC"); + + // Build the initial solution in this CC + RandomSolOneCC(aTri0,aCC->mSoms.size()); + + // Calculate coherence scores within this CC + CoherTriplets(aCC->mTri); + //CoherTripletsGraphBased(aCC->mTri); + + // Save + //std::string aOutOri = "DSF_Init" + ToString(mIterCur); + //Save(aOutOri); + + // Print + //for (int aK=0; aKmSoms.size()); aK++) + // std::cout << aCC->mSoms[aK]->flag_kth(mFlagS) << ", " << aCC->mSoms[aK]->attr().Im()->Name() << "\n"; + + // Free flags + FreeAllFlag(aCC->mSoms,mFlagS); + FreeAllFlag(aCC->mTri,mFlag3CC); + + // Free the set of current unvisted adjacent triplets + mSCur3Adj.clear(); + + // Reset the concatenation order + FreeSomNumCCFlag(); +} + +void cSolGlobInit_NRandom::AddTriOnHeap(cLinkTripl *aLnk) +{ + std::vector aVMaj; + + std::vector aSIdx {aLnk->mK1,aLnk->mK2,aLnk->mK3}; + for (int aK=0; aK<3; aK++) + { + std::vector & aVT = aLnk->m3->KArc(aSIdx[aK])->attr().ASym()->Lnk3Ptr(); + + for (int aT=0; aT< int(aVT.size()); aT++) + { + + // If triplet was not visited + if ( !aVT[aT]->m3->Flag().kth(mFlag3CC)) + { + + // Add to heap + mHeapTriDyn.push(aVT[aT]); + + // Push to aVMaj + aVMaj.push_back(aVT[aT]); + + // Flag as marked + aVT[aT]->m3->Flag().set_kth_true(mFlag3CC); + + /*std::cout << "___________ " ; + std::cout << "added triplet Lnk " + << aVT[aT]->S1()->attr().Im()->Name() << " " + << aVT[aT]->S2()->attr().Im()->Name() << " " + << aVT[aT]->S3()->attr().Im()->Name() << "\n";*/ + + + + } + } + } + + for (int aK=0; aKmSoms.size()); + + // Pick the best triplet + cNOSolIn_Triplet * aTri0 = GetBestTri(); + std::cout << "Best triplet " << aTri0->KSom(0)->attr().Im()->Name() << " " + << aTri0->KSom(1)->attr().Im()->Name() << " " + << aTri0->KSom(2)->attr().Im()->Name() << " " + << aTri0->CostArc() << "\n"; + + // Flag triplet as marked + aTri0->Flag().set_kth_true(mFlag3CC); + + + for (int aK=0; aK<3; aK++) + { + // Flag sommets as explored + aTri0->KSom(aK)->flag_set_kth_true(mFlagS); + + // Set the current R,t of the seed + aTri0->KSom(aK)->attr().CurRot() = aTri0->RotOfSom(aTri0->KSom(aK)); + + //PrintRotation(aTri0->KSom(aK)->attr().CurRot().Mat(),ToString(aK)); + + + } + + // Fill the dynamic heap with triplets connected to this triplet + cLinkTripl * aLnk0 = new cLinkTripl(aTri0,0,1,2); + AddTriOnHeap(aLnk0); + + + // Iterate to build the solution while updating the heap + int Cpt=0; + cLinkTripl * aTriNext=0; + while ( (aTriNext=GetBestTriDyn()) && ((Cpt+3)S3()->flag_kth(mFlagS)) + { + std::cout << "=== Add new node " << Cpt << " " + << aTriNext->S1()->attr().Im()->Name() << " " + << aTriNext->S2()->attr().Im()->Name() << " " + << aTriNext->S3()->attr().Im()->Name() << " " + << aTriNext->m3->CostArc() << "\n"; + + + /*PrintRotation(aTriNext->S1()->attr().CurRot().Mat(),"0"); + PrintRotation(aTriNext->S2()->attr().CurRot().Mat(),"1"); + PrintRotation(aTriNext->S3()->attr().CurRot().Mat(),"2");*/ + + + // Propagate R,t + EstimRt(aTriNext); + + + // Add to heap + AddTriOnHeap(aTriNext); + + Cpt++; + + } + else // however, try to adjacent triplets of that triplet + { + + // Add to heap + AddTriOnHeap(aTriNext); + + } + + } + + std::cout << "Nb final sommets=" << Cpt+3 << ", out of " << NbSomCC << "\n"; + + +} + + + +void cSolGlobInit_NRandom::RandomSolAllCC() +{ + std::cout << "Nb of connected components=" << mVCC.size() << "\n"; + for (int aKC=0 ; aKCKSom(1)->attr().CurRot() = aTri0->RotOfSom(aTri0->KSom(1)); aTri0->KSom(2)->attr().CurRot() = aTri0->RotOfSom(aTri0->KSom(2)); - + getchar(); #ifdef GRAPHVIZ_ENABLED @@ -686,7 +1166,7 @@ void cSolGlobInit_RandomDFS::DoOneRandomDFS(bool UseCoherence) aNewCC3S->mNumCC = aNumCC; mVCC.push_back(aNewCC3S); std::vector * aCC3 = &(aNewCC3S->mTri); // Quick acces to vec of tri in the CC - std::vector * aCCS = &(aNewCC3S->mSoms); // Quick access to som + // std::vector * aCCS = &(aNewCC3S->mSoms); // Quick access to som @@ -694,10 +1174,8 @@ void cSolGlobInit_RandomDFS::DoOneRandomDFS(bool UseCoherence) // Calcul des triplets aCC3->push_back(aTri0); // Add triplet T0 - aTri0->Flag().set_kth_true(mFlag3CC);// Mark it as explored - aTri0->NumCC() = aNumCC; // Put right num to T0 - int aKCur = 0; - + //aTri0->Flag().set_kth_true(mFlag3CC);// Mark it as explored + //aTri0->NumCC() = aNumCC; // Put right num to T0 @@ -705,12 +1183,12 @@ void cSolGlobInit_RandomDFS::DoOneRandomDFS(bool UseCoherence) while (int(mVS.size())!=mNbSom) { if (mDebug) - std::cout << int(mVS.size()) << "/" << mNbSom << "\n" ; + std::cout << int(mVS.size()) << "/" << mNbSom << " " ; // Randomly select a triplet (out of visited ones) int t_r = NRrandom3(int(aCC3->size())); - /*if (mDebug) - std::cout << ", trip_r=" << t_r << "/" << int(aCC3->size()) ;*/ + if (mDebug) + std::cout << ", trip_r=" << t_r << "/" << int(aCC3->size()) << " "; cNOSolIn_Triplet * aTri1 = (*aCC3)[t_r]; @@ -719,8 +1197,8 @@ void cSolGlobInit_RandomDFS::DoOneRandomDFS(bool UseCoherence) // Randomly select an edge e_r int e_r = NRrandom3(3); - /*if (mDebug) - std::cout << ", edge_r=" << e_r << "/3" ;*/ + if (mDebug) + std::cout << ", edge_r=" << e_r << "/3 " ; //Triplets adjacent to edge e_r std::vector & aLnk = aTri1->KArc(e_r)->attr().ASym()->Lnk3(); @@ -740,18 +1218,21 @@ void cSolGlobInit_RandomDFS::DoOneRandomDFS(bool UseCoherence) /*cLinkTripl TriAdjCur = (UseCoherence ? *(aTri1->KArc(e_r)->attr().ASym()->GetBestTri()) : aLnk[e_a]);*/ - /*if (mDebug) + if (mDebug) std::cout << ", edge_a=" << e_a << "/" << int(aLnk.size()) << "\n"; - }*/ + // If not marked, mark it and push it in aCC3, return it was added if (! DicBoolFind(mVS,TriAdjCur.S3()->attr().Im()->Name())) { - TriAdjCur.m3->NumCC() = aNumCC; + //TriAdjCur.m3->NumCC() = aNumCC; mVS[TriAdjCur.S3()->attr().Im()->Name()] = TriAdjCur.S3(); + //Update aCC3 + aCC3->push_back(TriAdjCur.m3); + // Get sommets tSomNSI * aS1 = TriAdjCur.S1(); tSomNSI * aS2 = TriAdjCur.S2(); @@ -812,7 +1293,6 @@ void cSolGlobInit_RandomDFS::DoOneRandomDFS(bool UseCoherence) } - aKCur++; } @@ -824,15 +1304,60 @@ void cSolGlobInit_RandomDFS::DoOneRandomDFS(bool UseCoherence) std::string aOutOri = "DSF_" + (UseCoherence ? "BestInit" : ToString(mIterCur)); Save(aOutOri); - std::cout << "NbTriii " << aCC3->size() << " NbSooom " << aCCS->size() << "\n"; + std::cout << "NbTriii " << aCC3->size() << " NbSooom " << mVS.size() << "\n"; #ifdef GRAPHVIZ_ENABLED GRAPHIZ_GraphKill(g,gvc); #endif +} + + + +void cSolGlobInit_NRandom::CoherTripletsGraphBased(std::vector& aV3) +{ + int Nb = int(aV3.size()); + + double a1 = (MAX_WEIGHT - MIN_WEIGHT)/ElMax(Nb-1,1); + double a2 = (MIN_WEIGHT*Nb - MAX_WEIGHT)/ElMax(Nb-1,1); + + for (int aT=0; aTKSom(0)->attr().NumCC(), + aV3[aT]->KSom(1)->attr().NumCC()); + int aEB2 = ElMin(aV3[aT]->KSom(2)->attr().NumCC(), + ElMax(aV3[aT]->KSom(0)->attr().NumCC(), + aV3[aT]->KSom(1)->attr().NumCC())); + + int aDist = ElMax(aEB1,aEB2); + + + double aCostCur = ElMin(abs(aV3[aT]->CoherTest()),1e9); + + aV3[aT]->CostArcPerSample().push_back(aCostCur/(a1*aDist+a2)); + + //std::cout << "aDist=" << aDist << ", CNom=" << aCostCur << ", Pds=" << (a1*aDist+a2) << ", CPds=" << aCostCur/(a1*aDist+a2) << "\n"; + } + //getchar(); +} + +void cSolGlobInit_NRandom::CoherTriplets(std::vector& aV3) +{ + + for (int aT=0; aTCoherTest()),1e9); + aV3[aT]->CostArcPerSample().push_back(aCostCur); + + //std::cout << "cost=" << aCostCur << "\n"; + } } -void cSolGlobInit_RandomDFS::CoherTriplets() + + +void cSolGlobInit_NRandom::CoherTriplets() { //std::cout << "size CostArcPerSample=" << int(mV3[0]->CostArcPerSample().size()) << "\n"; @@ -846,7 +1371,7 @@ void cSolGlobInit_RandomDFS::CoherTriplets() } -void cSolGlobInit_RandomDFS::CoherTripletsAllSamples() +void cSolGlobInit_NRandom::CoherTripletsAllSamples() { for (int aT=0; aTName(); - CamStenope * aCS = anI->CS(); - ElRotation3D aROld2Cam = (*anItS).attr().CurRot().inv(); - - aCS->SetOrientation(aROld2Cam); - - cOrientationConique anOC = aCS->StdExportCalibGlob(); - anOC.Interne().SetNoInit(); - anOC.FileInterne().SetVal(mNM->ICNM()->StdNameCalib(mNM->OriOut(),aNameIm)); + (*anItS).attr().NumCC() = 0; + } +} - std::string aNameOri = mNM->ICNM()->Assoc1To1("NKS-Assoc-Im2Orient@-"+OriOut,aNameIm,true); +void cSolGlobInit_NRandom::Save(std::string& OriOut,bool SaveListOfName) +{ - MakeFileXML(anOC,aNameOri); + std::list aListOfName; + for (tItSNSI anItS=mGr.begin(mSubAll) ; anItS.go_on(); anItS++) + { + if ((*anItS).flag_kth(mFlagS)) + { + cNewO_OneIm * anI = (*anItS).attr().Im(); + std::string aNameIm = anI->Name(); + CamStenope * aCS = anI->CS(); + ElRotation3D aROld2Cam = (*anItS).attr().CurRot().inv(); + + aCS->SetOrientation(aROld2Cam); + + cOrientationConique anOC = aCS->StdExportCalibGlob(); + anOC.Interne().SetNoInit(); + + std::string aFileIterne = mNM->ICNM()->StdNameCalib(mNameOriCalib,aNameIm); + + std::string aNameOri = mNM->ICNM()->Assoc1To1("NKS-Assoc-Im2Orient@-"+OriOut,aNameIm,true); + anOC.FileInterne().SetVal (NameWithoutDir(aFileIterne)); + + // Copy interior orientation + std::string aCom = "cp " + aFileIterne + " " + DirOfFile(aNameOri); + System(aCom); + + aListOfName.push_back(aNameIm); + + MakeFileXML(anOC,aNameOri); + } } + + if (SaveListOfName) + { + cListOfName aLOF; + aLOF.Name() = aListOfName; + MakeFileXML(aLOF,"ListPattern_" + OriOut + ".xml"); + } } -void cSolGlobInit_RandomDFS::ShowTripletCost() +void cSolGlobInit_NRandom::ShowTripletCost() { for (auto aTri : mV3) { @@ -943,7 +1497,7 @@ void cSolGlobInit_RandomDFS::ShowTripletCost() } } -void cSolGlobInit_RandomDFS::DoRandomDFS() +void cSolGlobInit_NRandom::DoRandomDFS() { for (mIterCur=0; mIterCurNameTopoTriplet(true),Xml_TopoTriplet); diff --git a/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.h b/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.h index 2ff6e564f3..aa0825c747 100644 --- a/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.h +++ b/src/uti_phgrm/NewOri/cNewO_SolGlobInit_RandomDFS.h @@ -59,7 +59,7 @@ class cNOSolIn_AttrASym; class cNOSolIn_AttrArc; class cNOSolIn_Triplet; class cLinkTripl; -class cSolGlobInit_RandomDFS; +class cSolGlobInit_NRandom; class cNO_HeapIndTri_NSI; class cNO_CmpTriByCost; @@ -78,8 +78,9 @@ class cNOSolIn_AttrSom public : cNOSolIn_AttrSom() : mCurRot (ElRotation3D::Id), - mTestRot (ElRotation3D::Id) {} - cNOSolIn_AttrSom(const std::string & aName,cSolGlobInit_RandomDFS & anAppli); + mTestRot (ElRotation3D::Id), + mNumCC(0) {} + cNOSolIn_AttrSom(const std::string & aName,cSolGlobInit_NRandom & anAppli); void AddTriplet(cNOSolIn_Triplet *,int aK0,int aK1,int aK2); @@ -88,18 +89,17 @@ class cNOSolIn_AttrSom ElRotation3D & TestRot() {return mTestRot;} std::vector & Lnk3() {return mLnk3;} - - + int & NumCC() {return mNumCC;} private: std::string mName; - cSolGlobInit_RandomDFS * mAppli; + cSolGlobInit_NRandom * mAppli; int mHeapIndex; cNewO_OneIm * mIm; std::vector mLnk3; ElRotation3D mCurRot; ElRotation3D mTestRot; - + int mNumCC; }; @@ -120,7 +120,7 @@ class cNOSolIn_AttrArc class cNOSolIn_Triplet { public : - cNOSolIn_Triplet(cSolGlobInit_RandomDFS *,tSomNSI * aS1,tSomNSI * aS2,tSomNSI *aS3,const cXml_Ori3ImInit &); + cNOSolIn_Triplet(cSolGlobInit_NRandom *,tSomNSI * aS1,tSomNSI * aS2,tSomNSI *aS3,const cXml_Ori3ImInit &); void SetArc(int aK,tArcNSI *); tSomNSI * KSom(int aK) const {return mSoms[aK];} tArcNSI * KArc(int aK) const {return mArcs[aK];} @@ -163,7 +163,7 @@ class cNOSolIn_Triplet private : cNOSolIn_Triplet(const cNOSolIn_Triplet &); // N.I. - cSolGlobInit_RandomDFS * mAppli; + cSolGlobInit_NRandom * mAppli; tSomNSI * mSoms[3]; tArcNSI * mArcs[3]; float mCostArc; @@ -286,26 +286,50 @@ class cNO_CmpTriSolByCost typedef ElHeap tHeapTriSolNSI; -class cSolGlobInit_RandomDFS : public cCommonMartiniAppli +class cSolGlobInit_NRandom : public cCommonMartiniAppli { public: - cSolGlobInit_RandomDFS(int argc,char ** argv); + cSolGlobInit_NRandom(int argc,char ** argv); cNewO_NameManager & NM() {return *mNM;} + // begin old pipeline void DoOneRandomDFS(bool UseCoherence=false); void DoRandomDFS(); + // end old pipeline + + // new pipeline entry point + void DoNRandomSol(); + + void RandomSolAllCC(); + void RandomSolOneCC(cNO_CC_TripSom *); + void RandomSolOneCC(cNOSolIn_Triplet *,int) ; + + void BestSolAllCC(); + void BestSolOneCC(cNO_CC_TripSom *); private: + void AddTriOnHeap(cLinkTripl *); + void NumeroteCC(); + void AddArcOrCur(cNOSolIn_AttrASym *); + cLinkTripl * GetRandTri(); + void EstimRt(cLinkTripl *); + + void CreateArc(tSomNSI *,tSomNSI *,cNOSolIn_Triplet *,int aK0,int aK1,int aK2); void CoherTriplets(); + void CoherTriplets(std::vector& aV3); + void CoherTripletsGraphBased(std::vector& aV3); void CoherTripletsAllSamples(); void HeapPerEdge(); void HeapPerSol(); + void ShowTripletCost(); cNOSolIn_Triplet * GetBestTri(); + cLinkTripl * GetBestTriDyn(); - void Save(std::string& OriOut); + void Save(std::string& OriOut,bool SaveListOfName=false); + void FreeSomNumCCFlag(); std::string mFullPat; cElemAppliSetFile mEASF; @@ -318,13 +342,17 @@ class cSolGlobInit_RandomDFS : public cCommonMartiniAppli std::vector mV3; - std::vector mVCC; + std::vector mVCC; + + // CC vars + std::set mSCur3Adj;//dynamic list of currently adjacent triplets int mNbSom; int mNbArc; int mNbTrip; ElFlagAllocator mAllocFlag3; int mFlag3CC; + int mFlagS; bool mDebug; int mNbSamples; ElTimer mChrono; @@ -357,8 +385,8 @@ class cSolGlobInit_RandomDFS : public cCommonMartiniAppli #endif std::string mGraphName; - tHeapTriSolNSI mHeapTriAll; - + tHeapTriSolNSI mHeapTriAll;//contains all triplets + tHeapTriNSI mHeapTriDyn; };

TBsbu__8P>8CbT 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�Mae3gCEYrRI$HvsAUcWoULd=pRzF5%{zT6is+X+bv@BES#7r#E1s zaaZIhE3ZJYpqq8a4>ug~KCaQ!R|9-nD3dK8%!=qKOI#6(wpW>xZ|6a-jbF>O(N9tW@({TJCcyBG#*T6RXIN zS9P+rqEc+ZCN6ds-)8qrG^d!Rs23&oR95i0!}GI8Jp%EHb+}Ts$SZ|4VlP^ZAWggKp zDAt+~YfWbidj`!7=ox|Im@;Y_TUX89$j2Jzf<#g^T-|Lpkk&o@gZYCoey3L}%jco~ z>`}+bfGoU|r1%e!YRJoWW?b+QGKLRh$wJ0v(3yjb1y>XFTw|ho!nlEU3inpcEtd(3 z|1f5uCr_ZqQe%_arsZx;w5Pi_Da$L6NguIS^}eFEC3Zp70uP4YU#MkN zSV8xTpuraIC4*Xkk?HOi7u=~8yqGAm?EOM_{F9kf=`fJHmF^&~z|H4ux_8rjG{ja- z=bT9MIGr-CcNX3_3;$g$SSy^ejJfEUTEQ#Y9S-{`HTNYr0#`bQjByxz^IferTd&!e zAx?{;?OxI+BshJ?72SO-4-bMh8|k!h;Bd$*iM{xA8s8U!45fEj&_#2<#25B*UFyVS z(Za$f4bO1m;Wur5vg-B2H$io;%qZBX_}8+@&^hty+L#p0yHTB=qCUkI3@t^9oUfEL zy@I+5t%ZT_wby8aT#VXDkx;j<%5=SCR{~E^FW%u&KdAb$hbp!`pk){*G^jp8XD37R zO)=j63HBL;e+8yqAe;@~9XavnAh{~?Y+xRO=>hGb|_m z#Bq)cv3G;Jq~IBahqw#Ym=yDV1cEd(bCDtdlNbYmo5vG@!meO536i1c3OUqpg?XG(O zriSGUO7-mJ0J%raZ47t8_@EXw!kg=EJZrK(vhYkqybT;FSR zD)(Uiu}dui-1AWs5L*`B$D!ivSvX~gIiz7IZaIcy#VH<9*Ty8P36R<1+g)}oAheA@ zp3y~F4g;`l)i{Wmcj!yFt%YyEn?rD3veZL{hbq>+Q*-aMG??1*5?c6HQY-+`%JDK+ zu}UCBo{q!#xlvn;hk8A?rtQ;{Z`m6{570cTow#2cdRSYStcvDL7t|=r{|7S158eE2izvL4j15%2!Dx&Wg+_RDUczEoQa=H(Di$XRA zMj}_(jAWdd@;|Ao+uzrnst4Vqg4qXtENIEBW$3A#qSw^#{I*>s$z2+TnOmxyH#;say8 zx6*!g@0Tn%;dSViooH5!kCAdFYX#8Bn~XKs30146Mao$=Z6ACcjS@s*UI}r^kX(Ii z33`5_yU7aDG&N53R;CwK&i`FVc&~_h!<0 z=S2)y80n~%oESud?w5pkc$-ww#N2ugi1sgfDY594y7^Pf^q3>2i!qgTgLNsb6x|=N#@}N1# zt3`NA^riINSCq%7eL~aN#{aNop~byxLRZ2J0KdiO5vjI@=*wfif{qbI^w+^msg}CM z?6Mb9%G^7t`!7UlwBLRlIzui=_C*!?P6&GF3M8mSuY~4<0%LwLRDe9=gmq!mXK>a_ zV$Ixs1z1Zg2~;3&iIp2VW*C*sxM{(K)FI1K*j4KhlYY~p6Jk3%uZ`60fsS7Wdm4*> zjAVFlb41`;gQE~!8xvqmf!$=THr_H)wTyQ`Pu>D#@TSGF+-75~VK&DeGzZTKZFfqS z=N-6l27CupOUahX1*JMZMNJpTyd~OO(gvaU7f@1>BCQkjCin|yu$asGM6D`4RocZF zu0?O5PI^v?mWer_XH&Xs!Pnte%{N}duR|`Z_3Yzev7QZmj&2VNMrHH={E`>INMlpYa(Evvr_3@4&;~mD+NQz27c9ENnp=2pn z3r=Br=V_IhxGM$IW&zMefOF0%)xs>oJ}<3yqPGm>9V=0@eD|nXzO;i~KDN$2`p3@B z^xYCY(>KQ0R)oDDsE~fvnLf~(Z@d$fn9TJz_ftMKeuJzcbxT~Thf@xWt>BP>i5YWbck zb`#-;-3y+=fLV$OW25i$hkOy2r)MJ2obc~@ME9Al%;-N1v44Zfm=D;D)`ao1&fdR72w#L56$e26wXz>#x$U(+bj zAuyr;6@vQ0H_Ok%_6?&-f zW!ehit}%9^6buoN8h70)`%3o_eGJyyTa8y39~AKoCIu?QEe8)gi@wl+I`cUB^{76K zyGO(j(hB`8GH*2xi2X@GVLA$lEC*y3?CV)nE0)p;fIlHeTbfZD3}W z-Av$U)&Sq5$}?7uN;I`;;0{35%l(MPk=#HtSVMeh7YImJ?Wk^xZc*OeuIJS1v+UUG zlu;?VLsj11r%%YL9lNTxh+Ehc5rwNhcXsr`jUw z4zy^Xa&cN-VWwWRa_S^w^$EmQt9XL)7`~X=va~mLc+TFo?4s)Iq?I=HY>19jLPLZO z^6NI>4F78b{t7WT1tv<#A6J~E zx(ZTSfD{&(%mUA$fLaCbU>KsJ3% z55ZRkXTCNFG0K!yBGw%qG)B;j^>}1Vf>Cb8B<$KzL0I?uZtmv&CLgRyz@=03mXMxV zZGsic)lnpa+9Sc~?Dkbq{1s>g^gZAqpMyz_kKw=#8a0??d(q94aQJfIi}4%Q zpmQh9#&X-&*!%(m!KAhq+)ggQgGp!b#ciozlFKZ~+rZ++n4!Gep?@kFTuN`}Gx4uLOcfz{I8CfPFjfM5#egJ)zbD9;~X12$DBK~$V}=;1nCZ5J6yFvg-lf-N}K z0mbQ5FH>hYH*7?0)UohLrFcg0tRZHj7?UtJZJr2l72n{GKJ(c7#X=Z8c)&7w-b#vX z!6Cb?R3C>`wXBD5!4y}B#8o9Q5hramYX$YTF{5q?6=*Re?O&@+4?^3C* zHq?a?+#)HP@e`lYunxKZ^shJKE$ z@r<0@86zhma_-x(pyrT|MU9~}loIPctON>O^VoNck2!PT1}gjDlt~qRi^n>zTH7dI^*!;dm|lV9o#rgJEXQmQr0o=*z|AaVS|Yv2`NEF$R&R^xsvOF?w=0yhoF702rQ=K5A#>4$ZKUjsnYc^^-c>d& zWnFRCY^UWLrG6w1@je1qfJDc-M#!%28J-Y0v=j~^&CpnvjrDz(yzB@fN%4qh!!`W9K3r9u8IgxY(;}feC?BRhK<-^)>)dxXS$S*-L`0jJ45c|x z>sL+=PvY$3ut)O7dzJcWth&&*+9;8!U7X22bHzLF5QsLGcx|@XsCT#Gn{9X<7@ga9 z7KhKc4~6L-%11HxNyWF*PXckmL(20j4o_a$r-qJI*C8 zMlHK|KaYqkGMK#7D9m89z5TEhJ|*xX>h?n{7CaRoU}n^3ZnE#tC!JBtgy~Tj;pCQ! zo;_&e;5t=UqTzf@G5RPx8*19mOMqFBQR`C8h&9RL-@JM_4Ce zPloR?!8v-DLMizEM$8U%8;$XIOIuiA*U}q&kuIJ_+4d1(2USlQgTXd6ds{KVaeX8A z%}Pe~6}bNnbJa>*{bNhRVKhQZUUs{*@w1{ENtUcG&pa@_3l732%9iVq(Zz$-Z5)c$ ziwK)B%;mlv4wPxvf+9S@J5LEjVPFQNXuSV3>7H4#6HNXV;!YWbF7P#RnNLjh+qxV zt38)Tg|QcrNMZG?%?u|&Wq3CVUH7e&++dvK9vec*9UYV0kQ4Y-+>aF6fSSqqXwY_% zU~uRNjE;Iy(^P$C^Q6LC@{BK*iH#QYovtXb1F40#%(H!-;lx_uO{gw0-M|G3NI?1v z__6dkrf))_kGT-n77gC1XX6ry#^#9->O5mD?DldKj|2^lv#G2HRNHKs z5@YxYZIn>MXVNQ819;UpfAYQ@hW|DCW(IntH#zhfCc5x(YU|<+XW~MprQe2%!7N>< zGvkq?ZIRHm%z+~h(J>4<>WG3Uw+ZL1?n!!vbS_U`Y>E%s}K07cp{Xt z=bqRa@*mX78Dg-TY8(X@L|^rn0+JZjrW)^?k+k?8pg8m5AN6CX)1LtiShmm{5^;4& z>AV9R0UrGoawKwmO#(V^R%AqZD&v1D;>l(?Hn0oNTLT#}azsjO)R=*kU?O{UXcj(8 zwZ!l)8HP?yMTzh#PU-Q1qgPxVL~bw|?gG~BfT8#=K&>qCGN%h2q$@wq81-lZ#)Zaw zSW@u6f&ZKEe=}0DrU23oeN;KQ?b|s3W)E2ddii=A;d6_vMW}B~#cLzp15=GYc_`q< zwUtAOeI~Sm?_YLr5w~Y@usQ7cIb02cX7C=f_tCD_+Ye*Ltsp?H zdXr>S+lP(G!Zj>8OTVp#d&bOT=Yb$Efsw_3Pgyz9Y4JU3z4CUV*5^zYDzoKdSK7zm zYLh1Q8}&qI@$v$WJ+K8)26=Z1{7=EuP`O|SSREN|Jb*!P_H?xhE*Zs(&kpl+Q)}mhSS`c?J}p9_qQG7`I*d z_oE`KrrO8*_jxW;-u`&QNl@M5nCA4nzd=@DE$9y)#`&l$*hlTk6MZ4JQh`>fpJFAGdg*Mw6>JAE`bA2p#n$?5qd%ja$ zl@)Zi9@(c?Vrn{e+-V`yu24>?tq{}EAoN&tUtdX_W2N?F0H9Q3RKdB(BZ z(3U}JnW6B5P^aN!QVR10GpP{p(^vlV;}89w#;2kNJ!4ZX&S}Mpp%6lM8g10OH1TeS zddGlq9Qe08G8UyS*sI;?%(&aRXt?j}xJ5@c6rz0YXEyN9!pmAqsbheGov!J<>J znntN)M!&%x<$lpLOl4v*>{pso|y==n^iO_d2A@t2u{3=QY z-7ASxOkmzGhGz=(;CjU12~pp7Xy=OvUQ9YgYik9?Y;fK=!v+_0N86m&sK>SW4rN6h zW7y`+qtWJ7s@p#eT6Hu%V8%Gqdz`^BvgPFsEWt6d<;TdDFDM2IbqpJS1bqCcK3Fqf z(Mr3ghqasoKT)-ax7hHaZnI{`#cS&pqfbD22g*n;T(94QsP_@ACj8YXHxnJ|qygjQ zoH65()CEs#Q=AzSor|vbMIbkF7U~;Sk>ven%l1TXKWz*I$EBhr--{QK(9eNsqA?x! zUd2aG3*C))5|@dTX*j-^9G`4*Jv1D7?)TmLVT{;-PL3FfS_K8HH-i)>d`)#2s0Mu$=IgNKk zM*y)T$7GwF()tA&xhT)Rq_3RN$pK-knK~-KxxmEyDaLGQ>!5Aeq34=JI|6mbeO)^2Z8pG{JCz!?$- z_=LzlZ7lkc=W@8VdIs}opA%D(CsWZ}lZ;jT5e~+Y1rB2gLiZqdxE?l^1x`lUVOO3u zopJ99n+U9VyjdrC2<*(J-YjV{Abn~e6?Id~`mu%yIHil=0ES(CgBit}ZGL*9QDUS}pQ{u#_2oQ7SfKV)B(X&;s8 zar)6=c5~X&zZ9T3iFq0YgMkSE&41d+V#KTE0}!UQ^KCHE5)5q{3E%|dcEw-73VetK zjUc2{Jzcf?V&!ee<@%_EvFY{Rujp-%Mw$Wym6(Y|?m3nfRsT!97fWP=MO+Q0-dwekZltL})i*Cy9uRS-#WB$`k#lz)pAZobXk- z!XLiFW(d8DqQNA#5!+*)tr%1I#wJXz-~SX{NmNM?v9b<4o|lR|>`wVBMR$T8PXUk( z6A-QSfz2PxPXR!+jN5p=)3zm-Dyu(%@g*ptZMIZ=F^Pn0+n81CQS55_>;i;NVw!RwAp=tkYK9Hs@v+|@S`rvt_fK)mj#)TX2&DZQ#F0b4pcGZb}E z#c#$ohLq)>!$OpHD2~wd{Y&~UbEF67U)-*xVgjm40Uf;(wF*r}cP`9?T>?7;_smem zNn~}$;BO{PF`md_2b&BmTnZ}wji}lrSl)d1bNPzi4fko0Ts*3;P4V-N#<$4%w8}GT zy|#@7zkXHS-Ma4%Rh+hFWS)$CuXVrr^^h`l26#!~uf0~!PBa(1OR(VmycxF}FnOwx z^I(E4QqD~BICY+JBVs1WQ{j0=08?13Nz9|x!ypN&=w!1(Ge8jLc?(g)c`qg1;4E}S z$|+k?swNtLonv)kb=^F~V@a+FnL=e(*P^oOx|Hxp#+xKkC+ZIp{@1KCO(E zO)n$$%Hx@c)`T<$S{CVD*oLB9O#F?m?#-@5I@dAdzF77j7=MC z>~+SVZ$ZR%HT!vX=}U1mo#yo_@K=94iG|eN7`77a83E>29=ja)v~t4Nmvo6-`DrA;yfBF1Z@Q3&rODXHt#aAh z(z9Iit9;ugAO%A3cThHDn?NrH!?b<*&~Qw&I(+>z@g2S#hO9!DF=_;Oxssrs44$i+hXG_%H3wcnONCNUd^8oivSJ9s7vfJlX<8$tsmw(T-PwQP zXf9=HcN?POWD0KV$dr-eP<-3a2BwG!p-k7=O_kMuM7(diOT|s0S~)?ck8{ocLx?u| zDaN#m6JW!h9{LO5VxGnMP;RpFMr~D_Yw=aQ)dKUZPCF*4}Ua1TE<#w+xRz7gqN3En!xL;^yC>shp}ZijtHGt&*88@xC5uNtVlsdH6Vttbz;Er zy6Du@7iCC#c#d|F?@?}j!P#{$9hJppHk$t$QlTd5?h1Qt$<3^h;{O{8XgXo3cVK?_hmt|U`b1Ja7W;I!17T3K2+5UgW0?lxm*6rF>S(r~l}Fzs1mhh5johh^wPWS| zf_Y6Norxr^}FVnKGtB~#FQYT;M zhXM5JpTg*!XP-UIlFYq@9(@~I0k>q4Z^l3@R@fHLK_&B8A#NX;$_<`wa~V&o;H@1= z2!)Wh&|~BewIrJshk8KP33+0kQ46#L$~lI)FEnMU@dpc}_ivcDcEP;F+&3As3;Q5< zgK6fzNE*hM&;Sx7_eri~_#1?w*YWlNbgl~ZwfK@RtB@*G6g=8y!1VBB65T}76N;-Iu^1z zN*z0@6JhWUQR^%zs}Oz3bWFg*IiH(sJRJm^rlJK*wtZ34775pYXHzD@383UGi+N_8 zzn0#ya7^H)p$C%sd{k0re@2}Mhl$TRqpP3lb;4aFR0bm(-9}7W{s**#H=2a}goJzq zzdX<~2^BXvR^6|57efams)vrlh8US6_p2@|&MC)r)oDc_ zldGbxeI~>?DjLiLqxdd6KTE#j{;$WW*2z1C#2Qot)Rrww3hhGAki6Z%Fco3WfRZYq z343}FqfJjP*&(!H|HTaEJ4&{TV4o!jR*1$Zxmln|0usE#Bq?%QG?--dVDpw??yR| zSKvI1)B4zF!(N69TfkGNtHm97A4%gO{3jWthe*RG2K^^j*OB1~pNfVyDJRe1e zQSbjyAIwD0S6bBPhw#E|8CShHPW%^mo&RgRu{OZ?em>0Sp*dC-P4jJNys`R12+xOE@@l)3^*#_;o4Ag^0pEgnTCK@d0^@~`S#Z11QHin)FPb^0 z%pf`SiZ3HnoLPp~9-LEVcw8CL55;>&F1Vi;G^x1;2aTIh9r~O3ufs=F3(Z@Pm9~-i zuRX2zX#FQ+Gaq*G{`%Nt_$9UEa>3ziLlIulxTK4)g#QcYu?TK7qBz9|IXJ9}Ky>1O z7erK8^9aQF=~b99xQ_{!gIxvauaD(_q1~mP>ncEqy*lby`{-R=m z%14sIxcA~aEd!gdE`2=foM56|W@tEIcC(roz7cvr^ETm}0bbNTP2NC0G6r0^CYe6*YX0cZ|Fklr8b6A2&wb=0$ zqB6y}3*=E$yu;oRJR9p6&0kV>15nITf9)_S3n}CgoO=_*oj6mB%S3J9V(Q%$Y642O zHO|3jNeI}FLH<1B-$|%nhzlJ#CSdT;3zE}ziM!e0uxa_)Gd?#N7kBZkAQ3O;Zy2X( zUgFUpoXm0>_xGS;k!giVh`~m{KLOo}!`u^oNZw?9Tt9tMKP*WeyhGN|)7`wa33T9I zz8j25W&%7O7h;>tX=GUu2f?i&;~cU4at@;IP!DQ}+=07HSzUt0;y&C^-mNkttwn7X z7Z<^A3M~5C*bS1xC=TPuTQPA@$ zoUgGGf7ycfD58P+lFHUvc-Oc>9>U;VtpUJ+Bo*f@ zkI}Rd84!2~O$?N}KoS~*IOVlgaaS~)h54*#b!aFe&A`FX6$t1fZW7)bgIjU*<^n{d zw<^D3^+I+T_^k+>gd`y4X%XNVR|K9CfsbWCuq5=p4Dj-==1?U9(Rtn+)%}WE@RFMQ zqPW&TSslStL36(X4-s5-K!r(v5G^l7#rgb)L@)gtA}kH66}>3-191Q`;(gJ$Fbh*8 zoQ2$|-9A*!-6Rf8e1vz5u%}mN?dkEZz>Qkw2;4+8Lo3**S&G`x6Hqy~1Sh zMdRb~rqlN$>dZ>q=#rj`g8;V^K+#6+CT%u+rj@{47Rs%}F)(dvKP|hv!;bf+b~5D@ zQ&M{2_xBrlL{SqG`UaAL zNR5U|xG6|mp_I?6)fq)35S$sv$>Bh3Ny}S_)rxIj?ZsAOQ4A(P8Bo-4sRl)jiuD|a zY7oo4%>VaW`<$5xVB7coKi~5`&-d{>O!nEAwfA0o?X_>ey|(=>ni?`4d=X>9Z^`U_ zwAP5y&5&9bVuEhWdJzDKALbxWGrI_n&R4ZSQ>WwkH{ss8am<7x>&lBD8QLm2j<0SR zU-;hLuiI0RG3fhShS44bT4$)~+YCX{tGDv;4~Jvn*HH}Em|>e@ncJ9}-1Mkr^Q2aB?)Q}v+Ge+&PSzUTrD*ZZ+M5A|Nj>j{~ucGxIYvTthvJb}yDbwnb zTkI%&>W%95=y;h?KosI7#rlcRA|KMuA*D%F2H~L~gZC=5@D20}w!k#G;k$};o(|@i zl|I;+5J?3dw+WOY+At1>66 z;?yjDqq2CS@U`IINd7VevRs2wBdsXT4SvB;n(;{Km{wj6ajCbF!LwRyKCE)C8zI}# zmRjV`KpFFXWL4*5Tj3GnUHXGKiXGj8uh=~pW8cRb z2nT%g*Fm(bePcN2;xNepVm~RA*pZm8{Tv!*TlzP+UmXwJr*E-;ixyHI>H&Zf`0)b3 z0+`Qx+E|+Ft$r~ce9`&^_T>pPYX@%X=Gh!|p8+KR5vffR#eiYQ__k8-H$q#|>~$bA z|5+4ivejI|^DXG%60hBkj>IU@(zGd)#@rY!?LPU2>!*aa^s>K(1nx|NXJ7hjN8gxg z?HhoM1q#}GD$c&X1Dy;#s*k2NusPHj1Ee)84(hMuVeNJbi>K;#+9=8Hu9`Rxcb!5V z=`gX@N2KiIQ>w+!$<;|51cB{_No?Oh+eVSj8Lf!XoI&62j#{gM6C)SKPT!DS7OV#t zc%3#yU%`m$Yjf%ngw|o<=yMExqFxr6&={y=>9vxu0^$_!zAI`lxW4;f)X|i?OA`D1; zZZFeaG&(WAhnQFV}W74xiqiYZuH^eQ?J;LK8#31TbJLhj; zcX%0Bd-W|?z6E;lzCv35+cajd=62TYAhC28>aFS|3tj4$D3&@P8p95TuT2#1{I^f( zhj8*$+wRP65Abs*Kd|UBZ|FNv;p^R@8y#lnL~Ct%nr9v`ke(8`RDk)!1o%WfSN`Bm zkI*})=!IJQA$e$PHW2z#&?X8Apu(6Gf%K`j*_-pt#Z1a?EEAe`y z&_>mUQNY?hh7eWmv3SYoXN(uz@Y4IgD$01iI|Ss^;a_UuFns0t&=-*i27ats@KCG~ z1sZrYVgVligq^_cRwr#i@;XRx9CVp62FF5L_)f3^*w`bntom^-Ok4}kfUjB6IWdv; zSvM_?6=6y(@H7l)!=l=Ll6V&Ego-iJi~*Db9fsGSD$BEYE4UIiK0Ecw9FYmkJ?3I6 zJu90NZf>#Ama_*NvbQNI*LLkZdNVGpxcd?0l^=$G0O6|0qyg>iZb+y)2mBz`3#YKK zSf#hQArAFDWEE_;R_%RW^4Jkv2f{F;RkfkMHf?MiTM=vpjJv+#QNh1$Ll?PFOf+B* z=K+kV3%(H#Zm=#InPtPz)ON^=9uBqj#x(4dN23RjGKPb&XXl1SU5rabV6xu6%QA0C&(*7+HOsDc zX31`U!4mM<{+?~dgRErELd{+x!f%1_pE0D#^8Dz`d7PfF8 z6oMXhD+!~9pK}*0Z@W>|VwPnMuCzwu9850yYT>bH3_+R0P!mFK#WWX7U;lv;DzM4c zQ+|jJ9w!L&2F$)=sba9l>`u`L6m6zNce| zbH4rjegvbO^L-7!oA9mnc=&h*ws|0N$tve!jIl0c=_m(#)pis>LsfC9MX#u4zCH5U>QduOUO zH-{>+otuVzE3IE)cUIp9h`tu?L^2a5Bxp^QOG(%_#Q#n#OFsZ$NJhh)GYT++1>hx% zy=UAsgTV(SVrN$6;q%X370s#29a0r-)vr+)sSd8USF~gN>@n3ke8}sWdBl&~O5qD3 zn7lC70k7$5BXPXwbT03BV}<&Y_kEU3=Ut$3@Fmzgq2z-HP+y&I!QpBrFQdWi8`$v^ z{Umz0dv&PRaBdD^E)1eVZRz{qrS%n*E%qi|ed&5c@fTQQk8De-c3*bz7(5hSNtbu! z<{ASy@huu~1KKoj*}0Fg%MhkT=7X><@r(iG@WGnoasE{xBzXxUP@qc?t~7lu+KnVZ z`;197iDAsY0@Pfs3%=-^o&5sm#*J)vhsQb!qwgIJGB=J*DXg=i*}3#Lj(z-4qF{cb;BgR=TQy1~~EdajY7&5Xw-^)h^^*Vd+5 zvyjovvr*qrGpWY|fLo_zV>Dd?Pk?=oC|6WH82uR8TrSMU_#ROh^?%CU{a6LL+^yH& zh&|`vQv9Fcgf{lzf^sX?6MZZ)7}?3b%k6MrYp0p{>o6!TFTp`S33f{__Zf}C%;_1+ zMoD$KrP-!8h-4?;Jm6yGRj@`ud}tSUJFte>(A8GVfH#9RNTi|QSTIo4#Qb4s+yGd% znY6eUwTDwqCrW0zw2B)s$B0NQFkua2NhvY(II$XqTeP7{|^X^ zjSJ(g>k!c}+2qkN(o?6~w{dh;7^d?PIz6`6Vc$(yVeQCh-GL3$9as*c5|}40HyWiq zFnx@W)9OjO>o3vG0+0b38Nb|h%0f(`RCa zpy7KcWzDPj zY2MNu_N%2yfD!x;rkL!bxHPnIUBlOp!Mv)l9%!(PM&^oHOAhwf!=V#t!P>YK3CDfu zemo>w6IW)m#ae2iv?c60voaD5+eGR98pC8Q*kP8lB}A^G<8oPx=(tPNAL%ywVSD>2 zGz7MAv`8J=VMD)f;e_%*xVi{GHX*)5_>J_G`kEuXdRxl3V4W^TQHlf@d-qfJ$H-0I zB~Z4d0Pttg8w3yPd%=E%87ElvJF-fNv0L6TD7@MJDnKM}G;d4roi2lTa;{+S!;D;(oG@|c1J98l_Ox5_ z!6_v-Cg-LWRAg9hwL3)$MAAx!r$o1ZmLfMpQv+rrpwc=|YLn&GWFq zN{x8`h#)M)0{J=hm9!F`O7JBIYm7G@V`7TF;(8Vs$+X~OhRHKs924sDS_7`7;Zq9Y zcHuCA1-PLEf9Bp(^f6~OMziYje@bDKGhaxINIR&zved|fYiCHs9dfbSgKLZ=3GHb! zQiME9m&YWO>6AppBTq8C@fK#OlrAkTsy*vuq%DlpERlK`4Ra6~yQny9#or0Oxa5Va zLiogH(-6ds3(MomRJRyxFBCYx7P+6Y-b}U>Hd6;{k)=Xg8fN@(j(pwG6h!hG>hb97 zN9yJ&NhNWnjfkCJZ)9Gjnp@BOInm68?b`C!$w`Tc>BGB-kuvhfcDZ#446%82gKHW= zzZ=E%oV?Jc8ck74I|dKf#mEr1W5*a>MZrGFK8y?BXKB}TmQb0dZ&q6FPxcl@KEsda zIEE>WgVARis%kV!dpD`}e#9Oqloq2vMx${09$##MvUX(T=xZL83bmQT zxY>U=g=G+2u+=2fuNm>lxK~IzRt2uSc^l~riF9Dc7I&?Loo-*iwIKwfYOY`hR=N$I zB7yoF^IBiaXnhTe>9q_T1aR9Aw-YG{PF5e_#+S;<+b9wVw^J>>ogB)Z-gE`C@*5k4mJOavPN!-0U{-`+U|rU*%HJBP68;<--m66!^d% zbK+_BslP$6#Ms%i{-I3yn9`Ig6bu)T^klOVGz6@mmq77 zqYdj(NwnTb+?A)-B95&y;lfCL2S(~S7^x>=q%OlqeQojdpt<2M*nPK0A;yM9mlbE& zBj}ob7f4=4*X3;p9ZXk%e*Ng$#S|HIy-L?<@N>fsy1t<6&vbo4S1Vl|aMc{YA$S`K z<<}yw^K()6F<6F*tH)$5vQbG2SV?{V^cwHP<2dbrht0ZzS)GsWq z-l*Rqxa_Zhqcz9JX_2QC2av^gBt~~+FuQ)L9zUs zvBTc-4P2#g?T9ZsxE*@koRF)IP}H(&QsrdpLd4ReoA#lxPd)L(6Z4*!|1q4Ct>?$V zB(PlV#*qn!lTwVSuvRS(Yg-{4%0}fPH(CpO8gn1xUp+#7zpMpC!iJ4pMinrhGO}O@ zwIiM^9Hc;BD@yb0SuDAjI?2jkE&z1q22*IB1-(p@H&$`q>SAsgEAtEvB%#1mw|M2g zbu3*!GS29and0phaK~ z#go4yc3xaAm8&v|bt=3vhIa(g0Va8@5^Y-8Z3=$xCKe(x3t<~?1KZ|p$W4bK>0_|EYrTuJ=@~di!*m&T-U>DPOh;^Ez%Bfhd%)hdbh(mTxE)qt zSY+{4exp5TRqa6xHXfYY%Kg}h@oP@8BvVilh05u}L<8tq*rrA1A}#>4B;SX{dz=9n zSCRMQ$*j%6`_d&zyr~Q!QzuzjS3=Oz4Y^yMF2&PTA%)gsBxMe6cN4KH>IVNL>y57? zC0F_M^h%<*@DbA^_`rmYx;G2e8u=+kL)ZinDOIxNh|pgku^6t&*?SNNvL)BBr&-&F z;KT#h*aI&o1vE^vD2}LaD8?4AGFre^>n|K+zU~fNZL85Z65p|bT}6l@(gZq6d*u^^DP#1ob>i@FFW1uZNMi0?^+Mp5;U9P^pb#FJ=J;d$3HmA43?* zD27gy4U5^U+sX4U|@@4wBDKrd7pzSDUrh~ zb#iH%I>%_Hzju@uASCg`8z_a1yi$$nCy(w_5}Wnpc|WZA;mkAR+*{pqPB z#bc}r>`O?4D=^{rm*dv-g%p?hcMT|sp1x6zy=-{w$=4Q-@mrz z_^80e;%ujL4|MWa`RsJCgJA-KZ+T$r z9|o-Y(9@ds5QYKHgw1a9J^n{>GYoYVoG>Q3;gzUS@|@&Ro+0Hwv-9X|;~Ji8))aYy z{%AKk=Rx;xXf{zkh=+=E=C|n zo$2Ge%$(xIu~~Mjl~&stdf!`H@s1YBL0`+?VP^M5z%I-2e-{&C*T2r69qPc_6z^#f z-jH+S;@S1uEujx_K7l^3eBGT`qk8z~zsq|W_iR7MxEPg7x;{Yrpc|Te#fIl79v?q^}BG*6xVxjF~2ZYBx(4&&4Wb4 zODe6G0lC7}cjNroasjL_!t#&6jw3iU5N4k4L$Cl`0vBj2d3i&B7gJ%Zw%#%PBdDr) z;5yB!d=qDp$%~Exi5RTdcNT|aw=`MhTv-5R_f4`ZybB#G8Q~Hqf;51`yYSX7QHDBE zl8GEf&c`{KVq}C*iNRcU;xgtoPf1BUIJDAw@iJC1!I0;_lFE?CXH0fPaN65ES0V+h zo7Ex3?3wbYkMhffomlwIm~H>4 z06t4=YOs5QeF=SwG#@9pI_wN*(bVuWNHF8pa&<#x1KNoLT(nfS;kiO!bMoCgz~yJ- zN`RzUiZr**L>ijrG%B+7iUWom8`icVJqmqvH!kzQE9&on2ey;jxrq+2M!LWYV!dvZ z#V+rWM}i0OEU~}ci>G1%aW9EGjrxJKAAX@fg*2808M{Qn_#Ulk;$`|a0C2MEMUpa0O z$rTM8eZs647*dr zyVv#R(CZtU5qJ-P6^6AV%o&b-0X)Cj$@EMdgzb%4omAh`Ksbc*+Bd?HA6Jv@s9Y|C zKvr4HS}X(*MAjC|30WgT$9mqEUfa8Ld|@>}V5JBH3`1UI=cQ%u>BRil7uaR^J0#?X zC?0tfhzkdJ<@!E*}3# zzSdn20#6~)uZph>JU*6)@!;QLKf_p_e*}^NoF}1AX*CacJ%L|`UdxC*zAepD3c1vC z>c*l#*k?!9zem=^CF+Q{lz`-*UH=lMP#y%zaSP~?+GHSExMe@n^Et0}*dFX7d8%!%~X?ZfK+jZYU4Tn2a}e zux^`beTY9ZZP`^Dmu0;JEfytAt-y+p?dCmh+59?Qq zU7BhAT>fTQKgHizBSUDmm?04-q#A$i?~)<{?{WfZH3)aGEKZAKk28d(ADQe%CuAJ{ z+ND_tDPJ3#!@HL1RY8KAmrUVz$5q@C8MtgdmWfIg4 zk+kK<@cVo}l+MgPKXl@n`?9o`!u>p-712~xcrueVkn8h|aKDmIna6hB?4So{e>T#E zn%NfUWu#91(v!d@U9^%-UxN}y}Hw7ZfGj=OdX ze(DXAZEE^@;ds3D{WM(~K^Mue$3SpoW|UANo6lL%@E{7 zCNDBIxy9x*vwk8Ex0J5U6Hzl4!BR0w$Y|hf&kQ6t@9H!paGn8vuDRAH6>K$qX{i3a zrO4%454`jyGCm|Rae_kuwZDq#iPOgGQ1+vE_<@vD>dcM&`guiIje&!~XOO2bQ1J#& z4mL1;{E~)tu-|B)RA`&(Y7keQmtYj^D+A8}eY>88XJ8DzCGb}~So5v|i6a7Oc(5m0X4Ap29 zdT$56ozlLBNl62wZMv$B-GMA{RY#XHniIUCV~e%rd|cTnH3brTTN(C0FeuGic7k1_ z0{OUXvxjvlZ0yHz$-$v6z=0kRyD)Dl5$!hCC$HrhH=VMxka9t`)#D>f>NZcuEVYlC zA4JDe@q6@LtP?A5^w7s<*zd!I=_>HDZvD;^uB=Q)R%!7}fxx8Z1 zFV90D%Y)8M`a22IZ6739RFNPZE%jlwhkK^yY=obaD_=smIzjlpB;om~gwOkO!sAF- zGo~Fg#&-hks#kSj(YHa?EmI=x6rXGeg=*TIBzdBVqUnr=a&zs3a!aBzvt1vXl@Okf z!7kjC&OB6l3h0NEHa(FRkL5X((Vfl;-IoXj}Z#ag+*Y!2!!OC1C!cWsz z!#66Yj0I?s-(#HcdpivI)*D!3Ra*|dsy^QZU456MuaK|ut$;7N6`qY+DrP__I)$Ph zP|+?!w0hxcZ!}_ptC@+YNv@v6k&=EyXbwxz#0=*wn!6FPUfbj?6xQOrja8eFrZQ|o zplBBR6=V$<3bK_(H|a8NG21b59jNA>Lpk^SN_k-DWGnyAn7GCzP7rq&pi*`rIj4<0 zJL9x*ko?WCH2jUd2IIvbC#tA{F5{Ml14+VPBjJJNfv-)r+P4Z}#v$R@6QubHj<`sZ zXJ?$GZp7c%o@gX1L6feoG%q8~^UDL5O}4_IIX!MN4r$7Im}CPE+1nkmw~=fcto#3dA=%eV!DK%!MjS8CF zJbEz$?{EU=If1kBH}*_4lI!N#Kv!4hrsR3K%9C*}x#Z|oV_w{V3mm(}WD9>|?+ZQYC|6khG!W#5itP7;5?N&iPD{gX`p22I)V z9MsiCm`k438F&Dlh|v2S5!NF@VvQO)n1eeH(4Vhkh@Ucl=wV(wFFa4y$^QNGN8o$1 zm4|OUY*Miw=!Sua*Uy~Zvu0sWPw>0$%eEI`gCgpA5xdjT9_$0|+?4C_w%A9wHqnb{ z;K|mN=;&Bi7tQJn?9}n9-u_Ta4~+i2#9;jb48%+$_zX6mu)n3J#dr_RIoISqRCJr# zO1cI)cw!goN9y`(&uu-`I$D9ok!&Zb0oY$89Wb|>e3uQYI#VZAHl6hAfo}X{}p1& z>09vKr@hG-h&TmAXL|IzeflDm!vvMXglv65ram@ji#o>$;?M?`fvj;LG;@YAj!!!E z!CrUTGhX;|vvmPZc9C0}RiyHYyhbREh_|ENNDfInkCA%$dy|YqdaS@;F)=!CsO`%Q?*#iVS(S zV5#-HR+L^cMN4pLWn6mv*rYG?C0foH}cS`ycgfK z$?y_}{~F&ZIuPg(Z1n{*lTR?f_U1Nc&l!3GdfR(=R}9;h+V8jE=9yWXh2zp`*u0Nd z;ffqCb9ff_UDCT$pVe6y?7X`z_MCn!_N@MH>`?NYZn%!i>$tI2ftw02r4dC9^fzeX zq$BSQ&SBfM-}`Zh+3wu}(#qfw4kD~(a1mD%!~l{}(S}EU+O7YBA9Jm4gS>KC3+)TF zJWCHA#KwHoe*j+Sj2**ZRtvlKM*>%(4xkFdhx^rI+*q=$dIXVhJFso?G;2gAju@lq zv)VxQMm$pCXJI-gBXs{X>rS@j)~vkXUgf`cBK&dq(r#6$5LekB@wekGlehBY46ibnzq@upqZvMll6Xr${suxt)(@#XI>{5<%s9CEUBQiS^6ET2); z=B?Tv_a8uMuoYkE@4!p)$PLw&!!EhqtH^A|JyFE8u-}eo!5aIUh=(&VV&TCH=oGQ@ zmI=GT(4X4x-(7Z+lR|Cz8{}M{h3w5c0*m!_fc&lr;Hz-^eUsG9(z#e2`#bTjEbI#W zg-aro2F(9DmbY_}xzsEh7qs!jCZz8)B%d#tfA9if7FjNpb_LS9D$QYv%YgY^CFNVx@IEklJck z?1N(`oEXNC>Qsy%zh)JngydHLs4Aa|wMO_KmuOY;0M*F%~wl)N}wZ zT`}Nq2(ag(E~tY&3xCyEh9e)NPaCEzXz97=?|jMt4Ovi*r&0JuK$$ng$O@fE5Bwl> z!UtPjxC`<&xE8-FV`{t-XLMjTQ#@LzYvKXKI#qB|>CeJU3jUww^;Efo*OD z)kQoE^yq&xjWJ@OL5Ha8FXz7v{+9yKP(drgo2dp5iM5kxSw;qRd+N9p`Z`Ht99xVK zu&tu?L-6T*yiOx92fXp^<-0P6W6hzHL+(9f^hB-e=4W91upZitzS7E#q~ARzZ1XB^ z!ORbH!9qx<>Du?U{$ z=7~KCLEy$tvkw_>h3~-FHB`nn`3~HPZ=TgV;kPl|N`_Bi_(;%DV;w}v^dF1*d4`K) z@KgK)C6HzMm7R+|BhnJ~_5M}d3sd4MtG@9OJQmM#^x0g{cJ2GQ;m|k92xSsM#z!|i zHT`IC`=6#CED@69YcX}XKL-dP4Aam6kvAZA&RFQ2NaMMdUZK<8K)2B8OO^~$^GxT} zS%{u`d>gjZatz!FfB~NBj5<6b<*Y9vSr9kVCZQPkhTKd~zycg|a%RqfjE-;kvYESik3>rw092n8G{ ztVY@$h+F61h*R+5p7&mfaS=VSPhAfzkP2|@=tm*7=c+cc@?%CGDXaAQ0>#Fd;yPb_ z$hr=fS_?m~9**1Hg%xf0{0KQCx+m618=%#l)E`)gkx}D;EIn+uLjVg;24_O2?!z$1 z?YKfD(68!xL^`Xhn8^|$MA10^jpCXfhjQ;Yp|dWZx}1u z#LY;N9J>QVYVJQhLW^*Rg*ChgtNz*WMKzAL%Og|91lTi#U6AtPYHh{&44O0)ru1;! z4U88)?QZztBCf{1l%W+Fq9l?~qXQhYuZMlxK(9JK?7~9^0$1hlE~>KbDS=0=e+!P_ z$LRaSRKS6WldX6i+K)zdvZR!?t@iaGoWDEP8&)Oie0>Xi7X(|!7FJoo&-7XQ>ndJR zmdWr;5w8d#U);fewZ$$>#853srq4W zLO-;BnSPKmchwJrkqf3$N&V1yhJM(^vVEz3VDf)MKXevW>^)OIZ2vO-@Ey?)%D@yc zeE&p0a976F56-GArAeSCfZ)msT(9&5F&Osm@B=+Di|_?UPgHbJA#@0-HY%md5a;Nu zPWvMKErjk2z0H*0JiF^xLBXt7-TvE%f^Of2@_NLqPO04bj`~~R;fZBqPs&#y{k}!| zeH8KIu*KzX>C*3)!aKF!N9_#wsD9rcDWu;!HMN(p52tqdZ_*>#`+$~od0eZM=7YNYR{&M9Pp)p98(6kUejL9$vlH|s1u(2K2Eo#Z-s8Uz1@rNT@F#R~S#T4+ zYcLA@8sChIBUemPXJzWuE(!aFFv@%YS;OSfSDC@5E^+jiK}R-wgTIt2ITe!4)Yy-W zK{%kzZ$WJuSiNWuq*OK7Gzc!(;VA&gecftP3R}9sE0tYx2jCkxCamFV$j(7LsXFRy zr{m+92kj~NZNUDO!Z7Jgk@%AD!}Ms+;Gd~-9|IL^QD8o!_nikj$dVCz zbk~exYcc$*yDQ-sLh)=*aGmVdjnQF*DW@*GS8dgsoDuFuXhC**;A8uK)Pzg_G_>C; z++P5CbibLM5jxRRTSY*P;WKl;fB|Ndg40D57FLgN*|j1g%7ZT$s&ZRnzUSqi6=8P( zhD+P6qPy4u4^RifXl^G;ZuHe(!_8C>02?#O1yA5_-Vb1*ACB63|Jc}KlK>MOJuV!>FL1lC=%)z2PE&WYY zpeI^QTaAea43faGJBlnYY_Q6}ysTZ%URHtv!>ne4WvKXs{FcHt7~+TQr;>y*XVgOi zgMWP*m_%|Qd|K+3Ajbla7^jcu$`pIGXx9A#yvg6~vhqam@Ahq|wQx$Tq9acw!^;j1 zWyAZkxfUTVH;_&BEk zvq#2!7(-8(i@bVuSbOenhympONLeYS;g){5<|NiAu$u{cy~S9hd?a~hfeu?uUCyuj zN^K+edBbl9s*I{|!3A2lM>@LLIQFi|`sbL{n}Z_~zarbXzaUgR z@J9k=t)Q-7ZNuv*9O_t6>m(cn&ek;37mJ>+<3m3@s*#^snEME-;C({PB%OtY1uA3A zs*U>BvJUn7td$Z&TmCXW6S2fHk(fDv@Z~656?Hv$P5qaM#y7^UVCBTd5lhMSmr=bI z;<@ToIO9zee`OyATdZMg*HVkq!r0D7U zK9#3+jG04qG4g}ECtBoFNS^%{j-+e|K-y<=oo2Prc^HBcl_NRMq%(*0{u z#mEGBL}Ba%|7w~kAz(NC>LUCgOB&GhE(as~5hR5KV9lsltDCt<2qTBa0}z>ly8uT* z1fyc5QMI;EOaU$FRdatFf^Zny{QB!iQYcAq!4VwM#rlpqWy&zBSE_ZMq{9Fd5v$!& zYBoj$O}ww$dT1n9bK>+)|ewb z*wrsQtgXyN1Ztr`_cr)28~@6>EFpRCUQ+lkaQo=HJOiMiYVHlxP=J3yfx~<2{`y3o zJ}QHXgIERBmO|`|MpkH8<0Y)t_QHKjFp?-!U*4!*{iyz09<1&k)Q@>PL&q-HR#!na zg--9)R{k&cS^uNRWK|gor~18XPKvr)tntC5sR{F?RgW6}dMlSm7Joh7?BM0NBigEg z$REMVB9u96z1~=igfF4Ykio@pcKp34BQ_fb7C5b%YygfM*?t6P^Kmi5gm1yHo5jS!=0J8+l&6w^B#nSRm zqrRLx>{+@zB}=CePR>2uoMU0PgE|{GsY*YVSzl5xr8j1#+knLZyjkr3)J^F@J@k>% zRd*u9Fv+mGzK}SllilpCZTt)}RnRxk)BGVuw1U3DqczR+@&xkXQzyZrW_W`i;!r(8 zJf$IK>m_9O=9tT6J z>g#$rbB3(Ir?uN_jzgFAqjK2PhE9eXGun!^_=FX_>iY49uW1fQzrZO!0K*f!d;Y2i zEoCgt^wp+=y;e76Jp){gt5HB03vO1_!FasPPO^d->CJ2x`s~0|Ub49g9ZcUg9?Ke{ zk5(N(uI7Y)?D=cYpao=JS7J+_0b)cM<1|c;Uq*umzg7_-Bse&-tI^@0yUC68`M*Pv z$+wxE3BHvh9Lhh`nvPjd&7$<7TKF%hlm5!SZjU0iGo`tXv9KqZV}Bhkva6yVHj%M6 z_b#L^`Hg|#Rd}F{?XLjMr~6j|T!aXqi0(}NA})Uo|Jau>%Jx_q?0zmpDH*Y5;pq{9 z&+NaWp-26c?ABJ#Menf3Alp>&z${_yDVB+9+`gY!A+`$Ug5wH|k@cZZr`a=55cB>t zy?SNc#58*;d*3UJu%rN+v`TH_sesLD8nFZ~0WVte*P0Wz2HvkZkq0AmtQU9FfEs~q zQ5ac+$)8HA2Bzw8M}T!~;O;IIPtmLcTI4mjVac^+sUd-vVk4FP;LV;N22z%to=*qzR(KLH=VNB1^=h?y1}L$tg78Oj2MU({GYPDAl^BH}4rtuU*%>hI!SMX*zE;t`I1_*+_Y zS>x7F=aAOFcH>yICbX?aTm33%hN{=(Xsh_5q2XT>vT}4_(zV((eIUVaw#K_%It0wt zBW<9f)!qSLL)=s=uL2QG~wcZdo!G6u47lj_=WnalEEa2p32 zcM`kmB1FMi{xkLfIHLYFR1MF=c(6Mynf0jNco)jOVQN)X)lr)^Lx(`+j!nawVs$pE z6%~7fOlC;LVY3dJ!S#9*7Y3B2=1Mq{4?9QY>2RnPBwUCPnPA)-Z_0riuhip587#sf zc*w#nIB#;sK|)sFS!4oZ8-nFZpXxIgoz}%fq`L8ck0Dtq(_k=>f~dL}?b`K38QdYs zmiNwn5NV`G;Nz?1uQD*jz1cfRU7}&-%x9V;KYbT^h%v$(*~A$TyNV%X4?humBJ@eR zisa4S%$-H9^VwzPX2C=lTeeUVntb>!yVCPg$*Bb6(5in!B<8SyYmAgrA&VVQS zV)J@VxVD524_R_GtWuE|rhk1U>~P-(S&XH~&W1qXl#02p+1_DE=8UdnE*08>k zIa;%4VrIG(i|{2HB1Fp~TPYQi<*ZIzy&?%QMh4L_%ON^>xPo&#$Z;lmD<|Oc)!Na` z^mW%GnFt9TgMK-N4y7z}=73&a(|iVq!N?)n>Q+fdFZ8TcCxx^8THrNjS-88Ghe8=b zONWZWE@xGz-k^%YUljHlm2J9c3-gx9R@i?P&1X(&+PVqDTpW+%=;>oH_=jS?B9qB5 zKb5kUu(J8Pqh$?J*Rh40gNIceQT_F-z5%Y|#uU)!T0D!Gk;r4lk<+XBD)&ZkZ9e+xL!%{;^ zLNukU>s6@OECV(Nro0z^UAD!rYd4{C0|q0{FdF~QZd)`Yg?hE9S3!yyexdB;$crwq$V*}?3~=`FxfHEl1Kr}ow|-(7 z?Y7t4-)%zZ<&LqT6N9wy3TTATiGkW`8h+j&6Ye%%(4;8&w^nYHy0s5eou@1U`1GHq zqPA}htLj7%WZ$<1eZfLiJtc*0iw}35Ei+p-L$8ljGu&_xygnjlS!ze~?qevhnEvB> z`Fs{%G?!V18NrDOM)@gfY#w|&Xwrjn{+(RF@UaQCFJrGFt>9K&4Ef=aK3xnn=3`qc zzvXDt6mme!OQOqFtpSP*R)@3*x5Lkn&;zK8xiCk`=5bdxWgKLRjcnG)bdclMZ}BA? z$Bqc*9kUm6ahGiG<%sbTRok%YH8>!+XqwxyKd5qAHcv9)agMa=(jTKmVF?R4$OB7; z=vJ8XzYMo^QQhm!ThI@W7^3I$UIwPo_v3NYUD9m9kCSGO?VB)*+XOmsdp}(0VzHkq zzJCjTSW_KsH>c;u46V5Z^S>8zQOLZ_HoHIAhZp1YhFcIXRNd*t=@MnBYP(*w&X~0| z8kvItM8|tQoFnplh$SkAFZa&w1XuAG92s;QoWwxfg1@PZ8YU#{n`EJ}Ce)Iv45G`B zz>9n;3-V362=g;c{zi7Ni_qmV@{%cuE<*2=E+Xc|(M`T1sRuIH>L2hcPa4&3=QWWwfM4rd`U0njolw!m{?$pNuh8Yb9Qqq zP>f2QVbBvEr7E)tlOSFdo%+kIAEaS@RW`uVw;ye%X2WbFA6+K@?Pyt}Xtz=R$)`cdgw|*POuG;v)>4 zUDg)kxNGNZvf#`S!N9Xb?PkV{y#!PK?%r+w4!z1b|5!1SHu$+c+*7uPfy#wp^IVjJ z$4Fzw;&!yG=2=f&dQ`=Fe^jDgt;8% z2lYNoz1`*@-mv zXEO#Gz})d8uc|#%-F}U>`lr+u`0uH!IKYGQW6r_HZUyvj`w(r_Xs9Ltx60KD z{dRomdnj)e2aV$YRO@uW*lWizz>hm`OLDm9e-N^Xosi;(JUng(vf`~^r;}Yrm+Wv~ zfYk8bB}7+lIp(!jnm!(Af!==1qSF2Q0r5O&9lueyh#by`?=b&X(*IqzHJ$O8FfVl|IS}Zw_2dWS0zMqUOd^7lWY)5t)X&AC{J$RuK5tp50i4^P( z-dUbNw`bDWZ*jaCB(4EfflW{6;Ky$IF3$MeEr72geR4}0=K?Gr&dFPS*kQzn-W>oB z9GNfw9^}L+*aU2h7%xK=Gp}O*n0DC{kCYo9S5*3}xda|a_J7TO5@BnV2 z5O)Of#weV81GskppnwHwSSwtNG?EMB(=>!qKK>5-x6~()*UcB%I-Ch?%m4NGiWY3( zQYimB_=>mDJN}R3D_C%aub}J8@fBA}VgFyoSHO}W6w;aa3QkBIe8qK$fWusPpy$EG zAi4x!K_i%F;VVYK^Pk`=ng=8N42Z=?4#c7WnPDsi#Nskc#c`hQW+vt~39z{MJ5MD2=$VQlgT97H2M1_x$hmuB_X=ORLqnx@~ix`|6XyGZ)YBkOD^=RSo z_|Q8?Mfizlz3`PpTOdW27OujEk_ElAMXmqUCRCx%y zpi99nhnrW}+;zZffUd%8xE!dHdgNcM@dAsn|Np+GpM!Xb0?t#}s=?s#w`z+rH}kbnpSMT0iH4UuX+ z@+ecfy(`StRcMF4&?818vj^G%zX`O1e0jI%jlZF<19)inc8;boE^YN3h`_Sb%?Q(0 zUcep`VLarzY6x_R>UMxXzz^^T{F=doQ_bqmX{J1XWHd0gA*HgGU|pmNh^ZIP3$XQ^ zhGLnrdxLkQn7rX>{OV!}+krxa;gNtsFwW%EgNZVDSPRR*^)sOmol;tcE9=;bsLBQf zAQXb61qv|(T1%i1CcW_D=UGsQ#90WS5G;hU-EEyNb#ngaP>4SI5eEywbt|_oMbUM^ zLcGZ>%7%K-u31D_6!9VYoA!g0U6ZT@L_+j39^c`Ypd=ukXQCwFl|V_roj^(K#fQ-> zNmEf0g$a}d8!=skiuTSaNSN>@WGRd6G%0!tE+G-~M8s`FNarFXlOMeC+|1uR4~oPdQsg|y)|BJI;?D{e!gME2f3vQriQvlN3_Eo+@mxd&t@ z4W=l4E?(%6wsIrlq~L{=ViOHj2gEdCjjwUvnx;||YN$JlCso1H(?xvjWlqv#fcQXu zHsj-hfQ+TAB{hN|K4iEvny5aKxDSb;a37}BSaGJAq>>uN-pJh{tVIdMz8D0P3UdlN zuUcl=7jX0R4BXaYl*83W;W|X9GpU@^*o(d>lmg&xwD27GmN=0B&I!C{ zPk|5CBnfnh8bb52e#HPv^}+}BoQcP56jV)L&cK~V&#*#kUORGv}bS}IRmhFOfzF?&ANaX+Ae zyfuCGE(YZo_<>cu=#jV@`rJmI6NxXpvu>cfuL3ZN=rH>1b}=vCM!ogT7!WKYWduK??73x`yLG*HvJum4S2?FVEL@Y zcoLY0AlG77E(NQiTH&cz6RqGS(nE$zB32s6V+C5_eCiC)$|u+;RNU`?%i+58Xa!xN z*~~M21MPMVywx-yDtuzefn9;Ga68Cxp!!k@{LvI6)rL4Kbk(Aa8_k5u5x=E{@ios5&$cRJ@ z7JMllI46+O$gU54GR>|B!PGuWteh795eCkZQS7ZB*%yJ+FsI`phbVLoa%cuZ6sn~R zo_JbJ3QBik%(Hu7BhJ}O-bSE<^cWYra){$|oBav?DDLSpr-;k1(LnX4J$IE(cmp;> z(q(^{B7yy7+X7+zXlNT|vQ&0;)6(R0%Fc%rn2k@vtEiC$0tzXKc9GMX+K9cv3T+qf%m0eI1}Q4w}W8z6-?l7SQH#0IKmgtxzMT!n^E%-LqNl6IKkWa-K2i-C- z72Sf!*rApp5Z%%bhfQHQwk2@_TsoC_!j~+OELTbd-Q<>xs~J~6f_bz#)2lb`hc7T8 zh&(JpW&!{Kv$Jp%%9f56UJE7|O~U=KC_1Bol!$<7!(Sp`$ae<;GXS>zfq|iqgMp#5 zu#r*k?i;+wkW7kJN`(am!;qq8{@(j%z+hM&wZ@y|He2XhY&L>nK&nV7U@iO;bmPg6 zxS3K#>~vcr6Q~%(1!{-C>twjl8(C~!v0Bv_9K@kKYi+I(F+~eBvhE3BOp!?n0LF-( z;#~JKWXp}?21sZs@&Kbv4u!Vm8eLku%TaKL>O97aj#gqx3@Hzn85{_eNCTjT>;xXO z;~el9N|C^0@Ry^-cRped%(Mp+mjQT;egr4J-!YnU8J^j66TP| z%Z&*@#o+p4t9q38( zP*?-|Q?6U3*Xm7kq;yZ?S8u)rzxin2P9(@hL;uin6T=+&aRfU}uHslNhzJ44!O zVcA@GO6mQ&Jt4cbD9TwVjE7cZgW7wlj42I9n< z__ZL-tmwc@;_x>TfFXJ-z)%OzHlIY?u4t1v&{{8%_%Kl(JQMg8iZczg{2iF4{0g)T z5nUI?C4@qV<1B-=$})ysEdi71Fr`ZYhYuTX$AGS)>5e~KH_W6U+t*<+3lNS(Nx|X# z6c@iRN!>!ttO_8rH2ssTJk5|KDj)0s(Ba6HWK<^WEj^S2qaaK`)NbU; zOlFd9S*2UJ#kG5&&*17966XrPMR*$cZ9c0MmJ8$m0^|teXAB3%&u9w9&p^QV_bV7b zJ_N=;L0jDk?QieH4**AISST7} zSAzCglEV&UKZRcBLWamW5cSxPNcAYPsp7#7M^Pq9rJ^TwC3Q!8vtL35ZU+2!0s84vKmRCQ(^+$B;u)t@?Pi- zQhdP%AwM;YK|X;E>JV&@)0u`Tc#wgyPvAivLR{cM_rXu^)KBPb*iJoUhludqtWNpV zelj*=WMf>NAg*Y%86UtU%{>(9uFKAJT(+$o_|neQ&D*n)RQCvysu&ZaE-PAvq*@OK zQ9E6TU_nx4!{MsdB@d*IX-h|RSr{ZmK^I9^!yE8QKSV>_WG_N;kOu!`t6L_XE|M5S;Gu;O!}otZuBik^Ae__fq#*vAc4N}f8_?hW z&)SV)!4IqyElLLB!UveC{rZAjca7|A1|4JzjaZOSR zF(=a%*TlwSi4QV`SF(r0iSs80_A$mtwToe6qRRXKU!U#+EuW?Nz_}|7g zv1F;ZCKCC#a7|J^F)>5Y!Kmuunxw8+e=A(mUQEuwHu{2;FBS!~UQnllgy z7@MxRCeqQ(wfJ>0L$o!ca7}C-JyOH42F5FFU_2Ms#8AT&e@XA+nsVsx;+iC}!Zk5% z64%7)NXub5a}HdSTW<%~B%kNRH8BJ`Z7M!+O;Sm)DcP~lz%@z7OT{%Y=~=j@?%d24 zs(Lf!!of93V&Iy{SUlZ=0AvLmf#SM@Yq|v9F0RSpdBORRJm8vy+Yxf2E3QfS>foBl zR|N|^%QVe7aZS?p#5K`DToeC-wGOUnF~0Q38vMEv5Kh50b>q%_BeNgYn8TQ^6&Lv; zuIW+wrr?_V{gb$+C$Y8a;+hx_xvuIDU81^OyosEMH<4*cT+@qOg*PxZ76kZpa7}b3 zaZN|CS7}BVRga8h@`m;J)f)=%D|iIlz=l&!sA%Gaak}7|7}0uk2)KSGuIYfB05aTY zU@}EiW#izQNLp}B6)1+nHPP!|;hIPda7z4Im$^CrcX3Tr3|(!!C|nbTLgAWvq5KJ4 z6In}K6B`*fU-(5_Qw-vH2Cj)-F0P60QLgouHhf^Q$fW1SHL(%XMW~2tTEm=(Yf_RO z_K}??Mb5!BiBm+}!8K(gOmAMx-*e-dSU2FBYVgNs;)jcCdJabhUxsUPvj2Og!ZkfF z#b8#;T0@Xf6!9!v)9(={71tygHuLwN;+k0U6kOAG<|I8vmp;-3*TlHg2nyFEtwh4JQuDh3;x!gUng2Y;hN|xxF$OOZCsOZU3zpXuBoeU0@p-gjS8PA z;6M%FTe${1uKyXXNj2lyxF#wB!8J)QG5JYzJpaFOO~NW#bIQopHPffW#WL|DWR;v7%d{OtT`UvboP8=R6Tg6EDn{xqSSIFOXEHQ_Wug~$5E59X zN0~-OgR`+rEDfO_Odlt(Oz#MmDFdmoJX2UEN)T+p;P+o+nJ!RRCMJoSOp?Sh z(U1G>MK>-609=8B{N0X>R~w0W%xBr`kw>KL_*fw0VrbwV;fD3=VF=YlfW`D zrV$}AJwmtMO!uxQm~}|9b+AnIAeM=L@xnKLlUODxg@a{c$hojgB%8o8F%r!8@V7zo zZlGJ`O)L}HQDid2#WD?ryUS!efn^ezY`C4Y)MWgSV40W&kOZgLV}NBMv%6rK7;Z-B zjYGl*A+KV(M{>pqdV!6F(AICT0sP6Ui%P36^O;eb<@N z@QrgACRiq>6fBdJM%8|zwF*z0cfm5T02Dqc1dn2Vs}ek27)sKxw%}3t*P{>wA%VXTWxJ? z5G$bx&~hAGFH;9n zjTn(TCPrk6FVikO1e#gE^<@(5N1Ira(Z~<$#M)VdD7Ow3efJ@ZwyS+kZsgD(?PlfF!9fTfG@Wg3pdODe(- z^BQXf><6WUu8dU*)vCwJmx%zumx;B~mx+B(^JQWU^kw2Wa`}8BUnWQ!<;#Qs1sv_Z z4gf~8z_ZceN<^R`@T7d1Bt!FLHp5Uq1NkzsUivcm@R!nJ3HHyZ4UX>T%ap_KSxr|J zg5cm^G!%>$+3CwfCY#i@;|KJ-!o8g!2vcE4ATM%C+3L^1ka@u+r zf-C9EM4XA^!b(1Hn)LH!VmeZlFB4z%CYEu0nI6Jppot*6zD)cG4%7qm9p}q5!u4f3 z-|=M{0l4$&%d{WamDwQW%Oq*y%e0%$&3pPq_vu90zP?NfS8SP>_u+5}G5-hgWy%6r zVBL-{6W`#=M0&zygjcO7;+e*@?{dRlfF#MPOwkx%fw0?Unc1SeVH1NCZyiamx<|x^kw3M zB6B0gCIT@+oAPC1+L0!vrF@yFY`VTou9E8bGV#^%W#VJzT9ypRuj|Xibmhy$x>Ky| zM7~TIT;m&&Wo7>dUnWw-iF}zj+Z|sfQfnc`LXlj4Bi|7s4!=OZZ-2(f#;>$z;9bYCgAQx7d z?=HBGFVh|Po`;sfz;`lNNHq(5WST$- zmx-uW4!BXk{Qm=ACPJ?;t$dk?N%3XkLw{eUr|2pCWxh-V(P$F#RHD3(FOz&V`P;{r ziMUFJI{FWMnbx2J`ZDDJN@YW)FH;n6jxW=1(|nnRBRLUx;V4FP{Z8;3S5M%Lu*>Dr3D$O&UF7(&#> zBkU0uAyRF83(pMC_u#&r1J+j%Itq>9Zs72s+aeQvp?3qp1EImrwO?%R5bFG*UNdNk z^m>}~8W+Hhp6{9Wt^0z0TpGXpq@Dz?IL<;+3;I1j(^`NeBn;USJ_}L8Rkx9IAFi{K zUMCwL5Nq2+aY|mN$E~$_f(gW_vYtM7`w`S(^Xfx^pb`~ls`k+Ns|18f!0@3@U;tKi z`i`rEaz<`qD96oSjvh0BIcoeiYMgVU-HS}>oHf{_A+gs={BUFz2K%JXEQVeC|a{K6OL2XDINd3!NDSvS1MB0sr`|X5o!9m_`TxNDcjFzm^s0YVmBu|Ivy9Nl zY~zNJImUG(a}odB&O`vj&cUH`im;^3kLS1LZ*H|R%xFvO-OK!mPBZjX+<7%DLmzBR z@eM2X=~I2i6#uYdzdqG(OvxHnoTX3AGNxn?E6&!ZW*bv-h85@NQ*m=Z?y%xqeQK^T zW%#h-;ri6!=F&WKVV*fV@7nMm&u%%=am(B->Rv0}?o^XKYjKH*^Z58@j7O-JEF&i~ z@M`!1b2u*L%JL#K8pb)$6FT2m&})?S79#v<#P$VV4Rr+$o!t`Y%$Ro5EpwmWGOk7b zB>P*A4rimoIp}aMIy^k`fzKHJvvDojqaD*jmzMHgx?#BK>uDHS(DLw~Azk-9Fdf%% zX^(Evhd%(P#+{w|;5n#v%g%T75&Y|-vjGl*{p&aHd7#%E|Fa`|R4Y$*6o*DjD?{~; z2G;*1>n~>gPqO}E)Ni@A>^fe%H!ON!0mUl&(_uJfI|mDYDRXELvz z3E%vwxH~*hlN&mR_4@vbiWlJ~wa?KW4vW1mW8ktf++k;q{|BSx(y+{mEL`=6d&|bm%;jC}TXO<45lEJ;$fC-VB!3?Og!IyBSyI0u0=a*C4m+Daa9lZ{R)F6H;1{8e z%$j|;-qJV?ckB%|=i<`$k%7$%E8wmRjE(DVm>xJ3y4dls&E(DWEujN}7ei;^o=5Z~ zd)zDZ?PYw!pB7_|d}0LmdEwt!k(6#hWBZmL!@$eH^f@QQ39;e~gCBo*yE0w9Ha zbA)`)5%SIPE}5Dn-w_Q?=1S}FzxAiz9B>I#>dHip-VvL7h+|<8M+3XVrP0h)Eeai0Jr!f3<`t?a@nSGM_E3HG^N0UDBBEkNB zQY4Yyr^tZ`-N77eP5g_~C7gqcalwe>h@~@p+HwyxabDIau~6RvJ)r?Jr-`#kX1?FM z0~24zP0juYuzk$Cq*CAM{R~%IW3GC-^7L*gU1j~V+3kJYhs&)o0VamGhQ5kOtzaLZ zTe78HTJ$A&!pP93xx_G)%$hd2-Rh6wFk8+&~{n9IHUrt1oN`)u~c#*?6Txt?1h=CT(Hqf# z;1;~k!hh>~fF~cfo^5jhVh*D^+sG7|^?L^(P)x4%M`%W@3U_r^0HCuR8Ywr2pM?YR zLLy%Q-(v@|s;oafmrf&{LL;4^5y%iu{d$K++R;LiMx0#XJ$+z&7k&X~H#4{`G|Q-N zF^1`HqG@pEO#LY1xXwfsFc9xW+tUMkLSu}5*l7p_B6(~eynEbeABkspN2DvPE z^6G~nBre2=NIbgfxEd%ri@DT=q>h}h^oksE@XPt7B4;}Hob&N4Wx$VhpHURp5&py_ zb91-#(sxLk7fPF$D{sL+1f$^8)*)?n;09b!DP+7cv)yU8 zT`gI8b{#~c2wxb^4OFbvEY+(IfX8s6Qq9o!*j=e_{bw*MsVa5mvG2Z8D+_rsV^NTV zM(JIN^Jr?8>Nf%$B%^6*b0w^in5FCqU{}DjTVL&)AE0E`?AL2JOWQG#fnO9ue$LQU zx3Gh_(6T1i^!2(wX0xkMyl?C^jVC-xBY1L58H~_h$AF|^LkAA2_^RPV!WZ0_!BLL4r z5)F(@`V5(oM5U?NNn)%AC)d}Uq@#e06Rpb8Y<7ue^8hs?+yh}R0S@^2Ea$Typ8>n0 zJAH^8N1YtiP7bO@n5=0zt^goub<`lo1HiS+^H;;HV+yIJ+tu3(x`Ww}m9GO82>7jJ z<;9Q-u3Dfi?{TDrkWrJG_DNZ3f!|VA9!Qs!FY2_p$F#;xa`;Or0XB*#pYRY)3|h!6cKjZ$E;_ za`x?lAVziO@OzEH!tbZMva#H1l}Q3_4^}_X{4v!5ZS_WQ6a~vJtCOxcN;b|xp<>lhXLKtwo9x5~--EL`s9!=vOPsp{I+ii=Ym< z)q6MP+8clxaxEcp?KQ}?%tCxm$+g{(YZ6S|m1{p0ddCITkZViMflMRYO3Acgkl7;B zDvjX&%wP_Ln!vFF##+EZp|%yX*9dOKrbwF-Y6k8q^}2E`+mUN8;QnW3>@U}{Dc5+# zE+o9jHOj~n$u)&uCD_gvny9jB{*sQ{lw6y+j|bV3I>SjoOcJ;0at)o$dImIY=Bzkg zuKkICRqs!UwvkGog={;iPrFIkcDi&0vW*;z;|keU3gT3<%@IF->v6D_nsQC>w*LIfJ+)o%b31kDuy2|!YWB;Y1Otc3x-z+Gh>aFRBmMJH*u zlk{VS8%n4)CyCTcDe%n`%84r-Nit03r~y$yPGH{OM`=Vk@dJRxI&O68P{K-<@f23? zI~APMrwLRbIatA;QGpY4pL{Qv9SCOOK5~#vq$USTvWI~K4!*2D7hw*99bol2TQLLZ zIcWwVtf*%uSJa|gtL&9l`BUypacx35p$kN@c5OmYv?G%wnIZgUYF#~DEtLmYSBpUs zI5B<7cC^*89no+^rKQ|5gz@LN3aYB9ZJrNEK{aix_fzN6W;#Q6g%mfo3?wmN`K zqGGDzNBvO&O&zr*(Q$#3ztWoe$K!B;t89@swI1IYnukgI`U$#)KD~p55@~NQXfJf0 z>XL@A3ogwD#pYnoW36IjI5bdyuf^wNe+%Gy!z#anG}kKgf3xr2_Ib*_d#w{U5mZjSIme$U*n6|Wb$YxsoovUEqhSzyw2+VN3yMw*Y(@KjvD$64WaJs^;t;a!l z-1;*DVsu$+0<3P?TL~x0COby)O7U=wjLC#5Lk0zZA1E*gFbcNlUV5Vz+}ZWT-e^ncf-9#U3;$E!p?}&n6gokD@#jU;Cj?&$Z>}%Os0+RpZGr1$ zMOOYHz^QG@HA}pK&7qr?mg_jkc!;3ftEktHvVe5K*K~~5*0Exam-e<@c|!qs_E*5F zu20a?x!s&}W}wEeE&mljYJf?_&2EM+^L9Ocy&m4K6TTdTgVEayjf&3NA9+2YQrN-S z*~62ThGs=u7SDk3ArM5*-XSX5GQ%BkrLC=b)f4^}zUW)>gWI)D!NURki9LWUGxX~1 zaItdh3qPf|JJp5%K$iWcRb&B3yUwmxp^a{i&kvU-y?9fYo><@ z!TrFPzS(|?;uR(m*pcgJph(C>6(y)5bkOEaSmR#liYwZd_yiLehIU@o$&>un=ePw2 zMw-(3ms-=G<7QbR+%kWxbv2)1M%xNSxP^yJDOzz=)FHF@^hjrKzRQC3;KtdNrPhzJ zGtF)vgO-4?Oh9!EZVLoAE}C2KH;WMIdeOHwYzM%%86G2BF036qihI?@4fl>zgbVs> zA>EoqiTpOR=omJULmRLUz2(SGb5enKb3=Vb-Qa7d&kDR4{v=ub!iN!Y+cEwd!4_-^ zo^*ZPsa>_TM=uQ(*B%`k{>ZG@e!}{3rvyMk8}TErnZpNpH=~KnYp2f$91VYB2k^

Roio%1K1d+g4@v+k41k=3>r_LBphT@CCg<-&{V`on=o$ zlw-1dhG4W~6Z2;lMEDRMh$fLBhQx_;$v5(ECh&yHk2nHTTUaz1o#3r0=9MtvsYTZl zHCtH&8nA*3=Nh7bmdIFR$jdPdGb6Xzi5POx48k#m!JDM$1C(NPK+3{EG%f4(xGkn> zGv*i}HaxQxoRCDpyom)fjgT6O#uiO4E|_HnclNY`SrC0+fFOA?+DJ*1w*V0h0v2H# zm4P6MX~Zy!X6R(@gxN(?6TOS3p9tMdm`MeNsL8;^JThJbNwP1}nD9i=G!BDUL}qo` z&I|zb@)$dJ#w_w0bE8?U;l`fM6{)99%Tv(|gV@ps6q?h$ClnWqpEYp`TKZ)=J-Hw; zLzpEfI29WEwDA*X%@6^D^k|_@%%s9HDhxuNz^IC*YxPK(pI=O+IX1 zVEXK7WBG$4^ufkYo<3pX`03+k&-07G7pwDtcUW=3>`627&m0QEs1pJ$j19%MnVgt1 zt2g*Pe)d$(GFS!0I|YhhDuo|o#s_}gU8RGVh^b7+aXsv!ar`*}caJUY9xjcQ8Q6nS zstBt9n`ujXI6Vf=j=6EChCe39T{X8Nu2gygso6PhJ2r@;!7$t4wHPp{^YY?xb$G4Y z%GS@c^{-3)NY)=wtBGU#DqG(aa}q!>A{PKhHZeueBMajx>f{`xPHGAo?XZn@3Q`SO z>!z^NRF2rz-{IOJvp806hWrTpwTldgSdnQfo+o_VqUm9aU+{}t0s1Ig+{q$m=^$Hr zQn+-OE&Usis{Dl8n#euCkFzzv5^rTHQcy9|R&=w7TBCH4Ej_@LqO8i6ak?{znA5$+ zmU6nKltZkyrNR=wc$+QOEK!{jnu{FK4qL}@N(+|mvZWlSU%JPZnsKUL6&ewTnz_jE zT@N+xnL3X4C|k$T3ObHo&ww)z;FA!6#`T5hx4vM$9Rs z?527Zjc!MBC!Lu47+R|1&YAHHwX8G|Z=({0@pM(8^5b3AzZTZcLFQYP8}Fh%FRem) zgsX=k8j!(Z+jP1c6I}5FL4icHkp5SSKhs8lX^2&5zkWZ z#p>c6RaIF7(tDhSNV==~dsze3x%w*BD8H-AE4(k&v7De97Z~F`)k?=}K=#A31Tr@` z6$3&UR{XszM?>XGMV@5bqa1HjytCR{Ru%80zQNDV>PiP3=%iMcHX!pCm&CnV=AP-G z?1i!lg}>0`d|$6_bE;7Bii3IUsU9iya>0V}UOvh`jWq$ZcZK?ltjtnxs|NLYX&#WB z*9h3Pk-#$QuDk#)Vx^g)v5U` zd@?9}7KQPHRYMtfuZNu`FI#mc$b$jMYixH*xtHf{Ma8w)+B!nC$g?c^|l-QPIzt|A88Fh^31(%g6lwWgGV zzfDmde<<L@x63lg4v>XgnYJ53YL%=3gy=TzdoGzP6`zg`(+9U*BM5^6XuScpHJthlQkNNJXO9(t*xT7gz=)UD7p)Y4RbzLM_kXP~~R z%|8Szp`e&6Z=t1qD|B*C^_X&h?LdPrFKt5ZQQrlzhXh$`cB-F#u zw~Zxv=)T^mL(Nin3LR0B4{Z0UipU&xQb&vK`?Cu{TeQ&2Q{Olh)Yj@)C>&J<y=eE|)EtzoPiatJx5-m)p#yG&9jV^cUkxamPMWIit@hyLmms>P)ZYG$LMe#dO=$)KZ^*9f2==k1kD1E!bEyGodcjZbEI zBbHcrcx}|Ca!gga+EPxB?%5dUc1wAMq$?ziJ)IRfI>Y(KzNmAQ#6!S<3isF9&@W!X z+w{f7nD=F+b?{Zs-(C8m_wwa;R>L~lSqkFXs|<{$ty&6mrz?nZb!B@|bTWuZQy;~f)awg#)y6n6T)$A4CDhuICe^Mn zeyCbro(r&#W4V=;lB*brjXfg~Z>@fpAKzcSmO_nssCs8X9>6~5(rv5WgKWmtvFvzA zg~F}j!8r3#_mnrm3Og6ltGpi{Nd^4-6z6c;tLGMyfH%sTkgkWKYo&HT+JbZ< zln$3u6zXvTMtCrvncX@QuGt&+o`|>FN~;otrV3xVR%>n`I<75-MS8XfQtU{I9 zBs6o#jVSC;p{5s(!Pw?PP{n{tQ^(}1j0&Am;8}j$SrS(dZ5;zaz11!Bvb^oyb_nwZ zC`=r8EcAM)S6#1z+Em(z1P(lC^L@9l*=YfqtaoUjTv6&(c?XQ1jKz1Sldmeu0^JHi z>anKVtM5xF#Me3vAzQOH+15M+a*+>i?1t?w)3dAJ}<`Vq-LoN zX%;G5YMp09>nu)hLb`Ic*Pz}MMYgJgsGHr>sBTtuXc&#^-P1rymRjWES4Xu-G|x9i z^W5(?Lb-N8dCSUGt!rE54fzE~z*%C6=(TvZ`b!yyu+GUx`t7njHIBOZDW~ePco%ON zl25j;02l9{RR>S5exdAJ@a+y!n;}XWY9}OFoV~89(b3k??s%5A2Y$DkzhPWJG9;yq zi_bCbS!ydLRy+zSe!3Tjs5h~!*hk2HWEab5&q^O%)Zb#YhNO0C-LyKSKZ#eg!29}y zOw111*ydS@Pi+)tX`^69^W*XGIh*nqkf`YE$!%WtMug4VF(wwI%@sS!$OMv4*?r6g7_;l;b7^9Clar9vh{rFQG@fs%uk>}>U53H;KQ+X%&C9<+eak_=pGMqUV|aLfv{q001EE965iG&|WjZKoEn2jsfH za|C%CbzvU*?7;zr8u$yfvpN$SZIVViM4dr1BU}9q8dcCZYB-hYT!>q$y2{0Drm1hC z6jVl23(CHgIwwIrnyFrjVb!Op0oVu(AnNj2=XzbRG53SIbJU%OY?Fsz zu|i3vs&zDBvef=wAw-PcI$WMQsNpAB9X{rufLugB1byKe5-VEW$GkCw`E?)j#%7pnG?Q;8li_O6XcT z48RA6r$=FxsF9F4w!qKk2-6Rmjz;4(>6GNO2o|l(k)5b;91YnKg&9qjaotD7rpOeoh;i3*j?XzsimkdUYdLb`(% zn-JLxF|hL@y&*RGLnQzpiwv%06 zO^de&(jJwDo^Hgs1e*?RS$a*^Itkdag1sVwU94`cU*Skx2kg(ms@2-pnBk^YLiZ$n zo9*Q;beo2Q36g##tl*o<6Qr)C4n(BR5ra*Q!a=U&m%|llryjxRezLz|OU$T#mQ^ws zFe#s8(2L?85@wQ+Z_)i5yknO;7F z4B>1Y!TfKWTsg|!$CwC1T*KUN8IV6shmIdC7nbW~dfemi>Us2-ADvXXkKPwIsp$v%2%(SS*u z1=6AB0@^!)_RPx-Yfd6(-iH$Fq;3{k-Zr!&>cP;;xA2&=ReKs~&Dqo<>P7!1>R(7T zIljlD{#H5am69BFH=M{DSFcat#!V(}RZosQLR2c`6mLu@eu~>xD(k%6js*?r?COetQJA&Lsnqt;Y{j{K{v(O<`fm^c2T=f z4t8LfgV18SIg8qmO^b@jrng<5FJh0!0b`!JytE=Xj{AO&9E*RCO>1ciP82_Bg>x}8 zcoL0~@sQXKUZ2Zx@KG4L-ccAcO5-gE&wg2vW}D{Gzug*Sti+*VmfFoDA&ALbS~l70 z2)a)Z;ntRHLVHQcKF9x_l{i+zK@dDj?X}UMq7xamOmv1a;nzemRAC?EP>IIBtc#F3 z_#ej26Y&vY4cORLilK6YJ{Qbsd5Wx#B_ratXghVH!f6pgJAecgvBz9Ae;RF?Bt8j?WUF~&nn&JIw^oDr1SL59; z7$Ci6(gEwPE@7jG%W?sX@N+kHqnqD<2>baC3=8@xlr+!3KWJ4YRLBUL7V==_6nrmi?Qk!oG^ETqg;seTW|=vsXIVB(|Mx{kb4{II!)b`>gAoNURcnm z9zYCfe}t&8uDYpRCAFyhQz}v1KEDb>z6=L2!ZY^pB$WOzo`G+6oBE@wcHrVZ8_q<< z57PDG^1K1FIZxNoCBq~NzeB96Rb<_nsCvH)J5o3GN(`dcUDXNAF9?zc%5ztbR!`{p zzYd4!-5EU~Qj^Xb!Y**sN0>JdGkAvag{o7zwKaXzk`x}Rzc{BsrRA&h zy&ShLyt<<*?-n$I98<^(BnaiM|lgoLOW?^_BcbTed2E(?uD}Cdy z`SEru^(+j163XNKSB20oVd{X;$tZYR3U;M}$Ul_kt4HCowo(=Iz1_E-u)Uy8CB|oIgM&hX)S^Rj4@QeFwZxZ01)M?cc(VlqIeHDL#|q1#M zDkl!Wl8UogpUo7|6wq9XWsFN%cdpuG7_aoZ>TG3nG{B0O*%dS^G<= z+~>)C;xhGAI-LFw<^;HIYP~zm0c;(2H$VHdyQ*+(oDyUn4p*?F#Q-BMks z-E(ET_2w5GvL(Qw9~SDv$|E8tG@aBnIE@1{H}5lwlRk?ZB#Ns>~-#a<79@+JJR{jX~5I(&`ToFzjWbzdjLNX484N@x_hfCEOhA zj{Sj1c8I#J$1JC*)2W{ewSML{^a!@~OtoRoUO>MQ$2hvF4FcZeWqIBQ$XMOXitDiye^M{^+RIa+gnE*8);?%P`D)zM;iJ zQMbP@gSxq_5aj<6S17ux7kJ4HSGrokOi-WBF_-e`Q*XQ7F!_1t>6QI|=l1M+wpvg) z4Ab?vn}<_jMrW%^Yq!U{dq>6FpNC)B@Yt`zp+tN21^4x~YFRlXjk#RO==5HKe(+@UdUpz=xi8}` z1WcF|4ru3simAt4tQO=PP%4! zl(N;l%Axm+e1Gp~uU=YE>n&9CbAAhu=gZKsJ{abZfCP-;RT6aoCWYZx$ctQ2_b;C| zs-cZPQ41^|lvaGX33ztHE^4oCDFY^GJY4YPrPJM&K>PfB7*Xl!1L0$>2KXx?YVG0a zWB*Twbg}6w*6gS5!;0`*wO1cI`BS_hPk{Q5<2>_kkNXLL%Y+F8Nl8;zq`LV$R3jr+ zEo=avQTT2g)}=}V^7iVwg)qVn#L)@B+hZGRMCLn*uwM$HW*X8Z&HowWZj+|IkHenH zRA0FlF3D83nEsMsTi_sC-M)L@e~-h39!go ztIZs)&ZMbN<8?wIjEGWP9K%fU4k&II!8v4x8^^sO6E9((W4dl1<+`zfj|SHBE74NF zHIVu6dhFB_(m_A4=*pdXf3se%gxy+2PNeS6kKu6u>JCYP#S#P!@P z^&$gA*lN}5(-9j*D;L)(JZ_OHwMwvHgA-)HvsyA;F1x_&pv=}es{%Nc=OxR3*G1&+Q@rY`$V{IeD zzs*1*y+yFunt%88Z5WCFtdI|7Lr+-U@H@dN{;NyA0>%4U`|1*Hk{^Vkp}f!Jvo=6R zo_Y$N@T*kt-@ZZxD*X(RuTUiuc}GgL@-p%myf{l?CiD;&mD7{n%M!DFCJHhL&R3~u zYzXX)=Y4Z>5}L}1e9y*SLvLB7$H>c7l$f`XNJR$5hm=Y1(KoE9Nm!wDES>MG3%GC#Au$SBB`0L zpQUOT(!y@T&r(^VAz2fBXo@=X1{GDIH?k~88@xo8cc#cTdsd3F=-X2i;H6{qohfEK z>76M`NMyit6xesBeCuf6km7NsWvob+c}Cn?K*G<6{o2rrPruB{C0^m`N0HGNtM-*D zu==l5(bl|DMXCQv73t{HR7|G-G*yT)4@r?udYK8x@XJi#=gZ7RaigK}?Cc;YT0T2d zd`aQ(*_rFoL+0zX`g;uATQL}`De7e&3o95$yAf``KQ(_c%6PFgt{yH$O{!X)>S2eD ztAEXh0j<=T38atMd+F-Y116u3i%+%aU@eT*xOxZPG1CMk$tO16aqt?I= zW`U-j76x;~wB#wE^Rf&AnHcu7j4<0gj zw#wvL-Ev4Cge{c^n3?MO`4p0mQgcTkvvNKu`7o8eBhA~SarItmA@n=AQkZ%x%CDXe zlQyGJ;ht6o(Bmf#k8%46B;vLx0o5N<-QmQ2A8z0Q!ON*`UuPildvPc>DPJAnp1@nD z*QC^qE*L#(-~cdq2x@C#LaKr~by41u6IF*iH8pR;&?)^N@%juN4YAKt-3ry^-A^tR(hLzo;oX!V?30DxT00z@5ZTl6?dpP zg`-EQ*7-=Q)`i~D9Pw8E7_5pb9xuI6rB$g}O}A~nSf%IfoHBUp05D|l!UnO|mA2-& z?yDxF{AFB8@6-tFe}>L@0=JJ-)%SQ_#M_G-7VK4LC4`iQBvMwj+Ktt>wA3ByR2HN0 zTW*y)I8R-Wrw-0h7vwU1QI6`Ar!K5g2NimkgQm8)eV~eQMG4mJUfgRt&Z$}c2zt3^ zKE>_jREplB`M6)v2Xm-i#RFRuY{D^RT)m#k_&G0J$9em@$2G_;o}WMFj41IY(6yK zIaf5(AH3R5*A5l+aVdZ_9bD(`V$i&3L5?bDqPUGw9qJ%%tA-BkzsBpM+V6#|i7313 zGC5MxEk$`PQ{8u~4p;)yDKP(-yHA1H;5F>JV8rC}FWEF5w|(%2qT=;xm4WC2$u$Bq zDQ}0GS2zwbpe8nbt2$S`KV|UF0qSjBBFI#Ko`Z$84-t6L^YYxIvLOad3vn@@Qt&Sv zZ$WS;B-F3+Myaz4RsRI~EglG2g;OxMP_=Ht&9mK;-Cph8BeK*n?rDzOztiONMh_T@ z&OV--=S>Ed8{m*-s(;Sqgk0_Aj8W|>)Ft_9e%^&cuvSNpMdhP&G5S6gxG!EcdfmpiqOw(XotlHQq%luz z+@j8J^p>fCO)ma!0yvafm-^%7tAA7%R}Ef`mVcc~L9O))sonk}XjbdYF3GI%@Wwk+ zy)&2BY~rdnoJKEq$|CQ?(SwIPK6C(eJr$T-6?OY|!uuMEL8|v9e|ZP;=McFH>*7g~ zo%|PKbm-l?800Ul8aUv*liWi)0{b!?xq0tb53XK3u(!InNu@X8oYw2%4IDUdG#cP2 zBz25?Le|EC?vb6(y%@@JGM=5|grgez`18_S?}GsYw^sHaIO<5aiXjqQ@a~wZps_GKl&yx(!VYwN+f%Aw26f%D1LsL~h zJ8%Gvhn?8tGZAvi<)rRZ72HTkms*fdc3xHjQzNb(P&w)u9Otm0$}07Il|UN!zy`Hj zHF-m;)tS@>FNl@$H<%ciY8@_V?^mJ56skjWs4Sr-_sgCA#lXR6vl5$MCSIdZZLV|@ z-dB~cFG5_U&fB>RkC;XcDVSVYKowVukVss;hp?fHi^}E!m?P{6yNcdnSh!n8zDkdL zx5`zgk^)d8RMuhCYD^w~7BJ>LBzGBA)C($4-w=k{PgVDo)C$#TBOBO$ zr1D+Fn=+xB5$#nOIT$&9qWGVrh7v%voeQfVT=}h%xX$&sd!9Ks~&|-K?99a^e_%ZndT}#qSlCw zA%yksA?h)uNfkh4JYMG2s&>4$^LZ)n#Kj@MUSiE?6g*gl0rI*M!gkom@%aa@asZ7z zoKo-<@Wm9I9mLhv1r6%m7%nBMTg$zi->C)e*`ft-4ILNP;xtCyH)%ON`a&|ban9b- z651t~#i>y~lkzL2!4AY?;;KGQq50FoDsWi9$WuOwka??*!!RKy0j&Cxzn8`H)V$mq z)I3V&H-IYy?;*AMs#}g4ErQUkZ~&!vb`|r7v6B_?y#4_HbRoxbJzi`>P2y%cY=L+l z$Eq^O#g7(Z8Ho7d=V67?I%n`eRRD`6cOwPx#(19B$1Cv4V2M>PbNfU2Hn~r^UDf=G z->UfyR|u}tD^leKerlyUx>lWCq2H5={%ImWZK``vmg=KrZf~l4v*P)VlZx_H@h)yb zruSE`dP${wmD5Q*R-U&-JsrzaTg&slz>}py^)QZQ@hB|T$Y(#ta*w}+4=At%j-|3j zAhx4wM^0W+fs<@T`pRG)BI(X?)P-)DbE`U_ZjJh^tnSKlm*U{E|B#_LKF%L9U$xD_ z-H=m$H%J|ji#<&Bs8Hi_ZrNEf>Y|YwSFZ!VM@y_?N9apGgY=LQctE+3go+DO3 zu0_47kuWlj!)x-beK4y= zW1jM4h7jg?8jlp>st!hEC-pi)-f^`N$Hd{+TELN>^_-0A{ z0}tpk)%OeF_QfS+DjCk%ij-PR;xM(q>+mP=lUHIBSgu8e770w)xp|nGHOqLXF|7)}5roR9UA6`$LoEzwz7|urxOraJ)9cSW?Hu(c ztkv6bJk6&yToQ{?t1!1m55YSIF2CDK=vQ2piW|AOVGCy<6VF3vHC~p=>TlXS+AF z?{@k394t}V*TWx$EFW>wl*%p7f3O{87gPOp%-j0epb@H5?ckG7I1`1RIpVW#!Baei zsA~cY;tNHl>G3lf%QUa&ZsA)xX7VJ%^KqOfBdD6jk2R%BG&apfV=LkwqF-o$s0_{@ z9C>#YhZ6{i01yS@*M#{HWl4-a_D5 z|G(i!o#w}5G9HGelX=nL^PUl=;u=O=^$vz z36`L#$A=Zv(d$bYXKjtA?3gT1u2{C#&%W}J<+CsS`~)ElhPYdVK=Wu6_w<(GG$z=# zJcMeE1=GmLuUVj9L)6k_sV>t;Lz4aihYYsVF6A$Hsl`C@mIS}u;Nja1TrhVNwTHtE z(8`>P>!k`OOFW23Q!DtT56y=-z8>O<3QdJaA?Q*;pY7uvzu$0~?RPE0Gtqu;*8RTE z*D6@=dVn{V^KsX{S?1-2#*are9n7#chZyj@PsnDUxaWNa@MS}k5WHX@0~Ya3LLA3F zFy%erqM3YU{xpq|f7c{$lb_?!1@csaRs zyP&fTD z)V#61=S#zsO}ML#{c&y%PGGz|N}IbdE43jNha0Ix)+$?QOb_inr;4et21g-L#e4bff}8$s#_M z;BC5WxlKos80YtI)A9Cy>>D!!OIkVEAoRQWwE#i1cYvc7&I2g)B7T4Hz z;uZzR#EWYga)~WS=XnRB<_27&$WU)Pg`3>N+av!0PG(PoA%Hu68R|ASca67a=y@pr zy0j1lIMe1WPTsL#hLrG{Uxs=KA>wRY`e6A>PTp1@8HSCEeiinjA59*)=+_n(Nt)1v zSNz&Bh^%LlkJ7UFi60`xo1sMip>DrSywoBCe#AEgP`s$T;nx0=<%gLTVQATE5f-te zacvSqbht%A=s=G@)#L+iO7$Oz+kY9n{a1loG46k1i9A~7&U66yTq}1FyC+R;)ibc- zaEC9?&7!jDjG1bF9jyzmqv2W?*FCSJb=KF>JbfLlt6WF(cpa^C=sH?gxsKMkrR!)O ztr%WM>*`-eV`ya2uZ%ctPIC|mUoi*AQlISA{@ z$b!!WGY*Z;l0)%W5zT_NC=2(BfGN643f}@Id{+S3=23FAvJqV@KR=?2=&l`t{&+8< zxH>3nzSwI&4DHv3BD#JVTIjTm=-ST_Bk=n3!Cf@{CBa z?R;+d6Xf`GbM!my_B-qR1~i7d@9(Amryq0=fAkns1hmTskHO)j@6JbgU_XqE(xmV^ z=92ODJ$AGB%*9u6@tr7ozw3AbNit%1+_WEei>VOWmUfGu|C<5PeZy*Y(ZxTlGsBmE z`q*~nFAB)tItXo2x)VtK&wtTBg7)9I!_*A4*>>U+X|}EZ*MEy4X5|YL98#$vwTt-+ zD>q~#0t;mmQR7p1!6`{a+3QTAba|=8XyvfBZdtZ@wMy$St*oHK>^JLyEcu!hdJZXZ zDM{YJOmTRxGesdCZ%Pb)8D$GPJ;Dm^Xr@_oC$S&#M`d)wL_v6~wyIU%%Mpc( zWK_%g>K)q6UZ(+2XiIMP)&3S~vReab3Yi5^rJ*f6Y#|7i;IsT}XFki1nF-&2LQVKC z69GZA-iBo&CZz|mLJdlXUb)I}IWE7Pyrpa7A-=zvv*%Dx&ZO?}Zt=UyZ7eRL>tg}b)@SaP} z@Ke@{)Qm`%YiBQw)02J$;Nlf`&@b|ipNHSOr@yv&^>Ok8WD&?eL>6(Um@M+O5Lv{n zVzP*v4n@OZb_or6sjjT8abk%G+lj^pbf9DtUbT=xikINM5GleU8+J_UM_?JSaN-PR zlchVk+>0}wGne~?rC;PHF(qzeO5DauX=_Es3hOq;Eb4CjctSCLyi6jy6UxSqmq8oB za3#c#BX0|At_W0ON~lKs{1ws)lu7(}LNR{4OybAO5h6sbmX15&PF8 z^v+b3+z*A^dIi16elTFu-p^Y>t%vIu z))H~qNJCtQ+cu~P3rhVz^4-v;u?1VcA5vB7Ys{le{df&@59R9Pp#|wf8vvGX;?Yxx z8xQP*_bkb*LR5)wf;y0`Ly?-GlDZdDL24WrAj;JTu*itYv`jTabzcs@Fo_z{(PvE5 zANz*^i~URJs_04KST zm^)YR%J`NZyn4HM^C#48Frd_{^Hjh3DI6opkhiiLx&Ip1aTgxJ=FCOI5Av50%Ve_>E4?D}e}&e*9q6dP3Q- z{%QSozYxO0@O@cx#_#jI>iGSa4`ejJZEd32jwgD>v$BNkLHU$`oq+uZKEWa~;akL} zXw5$dbs;on33Yo(pL+Q~bUISqZaYA8Y?WA{?=%I(Rh#xjErI^bY3Dv^=O$_A{%|{Q z;mr!QnTme}=U3V%foVrdb7#Y{v_Gc~wCA+PeqZfWrN;osu<( z&>+KMz&U>~%vuBBt)sS}k4H=&y&U=H27#>c=ngg|o{J*Nf)4f69<>kzLqkG+TpNry z9iG?U*oPod3H7l+Fg;q;bAB9woQ*KX;>IRz75b4Ng@kqe&7C3;>sB!hz4lHXae0ykImZ}4B z8QP%!q3 zQHbEF-h|PnRQ(4JR1?weGckj9nWXmi5;!`5wh;dhJfaHqWx>wNV2vO6t&t!-#NPX< zCt*HD*cp`0yr%m7%u?ilJDRc8e?XGQ5@c|tY2Xd``ryZTNCChfy{dZ4`bqGQyA)n9 zE4INQR(uL*P$A9s1xES<(o_>Qbasx)H3*gMNAFR;yow=}dC$3+?9TaC++t_^~ zz5DRqc>F$3-rG&xIA6q8k5uoihUe-3*FDb9{BI-t}`&MF`Kn_V|OOY>|q@`E9 zqW?*Mds5|(2t}JuAr#%O=(g_w(W8j8N~mjq+W|Zsl0uarMIQx#)K=a_fa6%6zICVc zZYr%1H@slmEYSGC zEZ+=|AP;t6H7+|RqP+{i5y0UUBLdS5Lr_wk4gaQugp?=6hXKPzz8*ZdCr_lwnDQNk zeiKg)s$v7mZ!GI)f^hhEdJ*RMNGAx#n8;u0G7pBoLVj@Sn=XUX4Q4b_ymG(}X>Lm| zItkhx$l{2PA7Q9(m~4s{w0Z;&fM0jZ&y15X{+4TooW-M#hapIcx5<))^u;P$;S_;l@0A24|AjaDmZG@@gP{2r;g zxO#uwAO3zj3cI;VczkIIsmDmQ9kTw87=)K(_sC}U1O;^&(bmQIKdS1^M3V1F)+GYQ0% zOyMpZCyJ2p0K)8DXxn6)(NJu$b5>*Z?#6df4BQj)Un)7_*F`G$9)csv)NhzAKA}Eju9Gr# zy71u_#rurB0LKq2FWe-|{F%Z;UkMTsI;|`i5W0om%&>(xEjVr<$vu%HGvX%@iP9Iy zh(8j3w*5^gU&n*~Dvn2)TnURWSAZz_%k=pp)kA2tOtlic25Guga>s$-t?8eWopc`( zeB23#xP)YW{+PP8!(1aRKl%$nuE3;oq$~p|#{zgGa4z&iqyvsPGxkI6G~{-}Yq+)O z(;`236!p=$;*>4O`%5h0j6okC>Bc*LkRy>EIN~)VAa+ivh?`oMF$&`4Y2%IjPKSf< zO!@xH;2V(aXA9VsixAfYPhCW^gs$?C8vK0@4X9l@*s6KIGa)GrnO82_dAfQ615X~ z36LTV$qxN&w;T_=q!}{VjmzD0L1zC6IaHl-~cut0NfP z=MJY2!zoeMn~Zc`55TkVQ7ABz6LMW3gN5WIqCcs)DjY1X3Zuj=0PdIMCr3dCMSgHJ z(*DvJOFFrX8Q{R5ZumLw@6VpxzOPUu69>|19iLwTk9oQN3g4{`ygOQb67D%G5QyS4 ziT9vNl#l^TS2Z3!8$JvNqXq`Bt{&IHbXUOjMM9GPEL-z4#N3Zo=YZixR~b^1w~#Sk zycw9hu-Kbn9K9LF(wiY6-V9^4H$%cru9KiQ!&t|gK_}N48|BRax)4sTL-oe^@kYHt zpRJEWaK)Macd!e*6zkNjU9?W6pjP}JY@Pb=bw$`)gO)X^?WvPR%+XN~*E;3chxVDF zs>n(c(qVfFZqHujxE8>)Ks!{>mK0$-a;#xqds3r1!pv1{*eW)BMcA_g8KH2e z*a*efLPjXua!g9bH-k5I^>g1G=7Kt>8*~MMRm^F|TBguW$fks8hipoit($KEP1D3Q z|24zj*doHX_jUK46xF4P>8fFxm~Q{9Y4P>4k}=RFTq`jU&_GqFzfysXD2ox})g^Gc ztU$~Je?K1UMWz|B6uZg`Uj|ve0Ytx2J&5=`xt@(5r$Y~nv~kNBpY#O;3kLMOjR zsm6$IH%Yf2Kp53idO^B<(C-#Z8NNdqwbmi~eHcA0S%SB(1~XQn9>LG1ugpW=PoSnk zMBhJ^zAr$ye+6o2aw-1?cB?|2wSu0Ucl%>_O~!D+aK^9$o#wvGLHtw(@uUpmI1J)J z1Pw(D;u@+LE7jRDinnDHFPB2SadJU#>Zm@Xkc2lX8Ll~X6Pnh=tEo@DO1Q2a;J~0t zKebNJ^KR(xDv*7go~3{jY4RV^o$_g=|bzkUo5Bp}uF)35104tbV*$kMS94 z@iJ&Q;iC)1$^i2=O+I-ll~tpVU5`!fK$9!Jyy%1z(B{V=SyrGd(ae&Ab}W&|;gUph zbV5fz0`Oq|*bf=K&O#_s1xhUOfLy-cME+LqBFd~n{jNuX_-4L-I@od%b$}~!8IHpK*-?xpm?rZ@>`tBE1>+ZP)`9=dCg;MuQ`n0!kTrU_yq8pr&|F!DiSnB7*lXT@MOOJjx&LYmNjSheB=39T zmM6B?g6!avbLG))*?@DU4CmXiMm~|gQOC&+_iwR&Bz{5unB)=3+4284P>rDP0<38Q zGY`Tndq6MO@_kIJ0#U<6rthz54HGhXCg<-4na~5UsUo)r%HLE#)4F5RlYq@LpjE3t zR4#nHfv>lXFoF@mjl<8taE2_Gf!z>(we4Mfk;v*gD# zZn1Z|K}ql5iWg2#{^20}{5ArVfbvS}F6%sY7ozb1s^#j8wG0CNk?aP{+NCJt&4jAH zVfH{eSXuKvA9&_{{(xQ*wXw^B=KU$?rgtqjLBS)3(NShB=U^;o{MV;?mUDOt(Q-}> z^V2Y$!hQ(87GKBfHtkA&s$L=64hH!?D54!?GY9#v`(}{mm_h#SRA-PE=|OIf7-TC3 zN#`dP7py=s>$-1TwW)T=1hon*d^yE4ZRX}N?BFm*@0(%bkaMpSl5!%kj$5suzGogd zv#^)yF<%=o=5~zPfxQo60(&q8PLwts=q2o(7KXiR1@@c<-h#_p1%sc9z8C0!2e>2v z{Wr6L74?g@THt*(<^k^oYXiXh3i-YO@ZOGjf$L1}_*B!Oa{k^0_&`p<2p$6d=L|08 zKXUrcOV)3i)O6TZo>Qp@4tFj-+?nWMn!6IomxebR6E`R8*EcQFFE*jYA4*8KK2R@{ zt^l+V`3+OYVacCrvNUipSL^*rHKvv`&re z-x&XV<&(Fl9zaF8`WmK|5X(=w7+xyWAv+#ek6TY6kx7NR0s=a(cO*ak!}aGTKYgzB z#%4bRZ&U8pb;i9jPXS_<;n2cW^oDw2B+hmM>7XcAsLI@VD$|>P!1X!W`Dc~`@UYNn`uTZ=fbLaP^i~R!VgB#gjSrDCjn?B2QN5HuwyD2~6CNvfa;DoD^WPf&P`Z@bLR>#qPe5%U z+CcrqpowIV*PM2*^ztVc2& zeDZVTbFwv+(JLxH9RVrQfyyC=Hl1DYrG~SeLt%eg0dh^ zy>}g!0s=Ok(Euz9rfV8-O^3RLwqA*gGcj~@A&_rb^1R=<&cE>zVM_k0xEe;;`}1ma9#r%0P1n|lGLw+^9o7o(EF~Y6}^Q-jn3FZ`@f3O+73AK_+;pZWj z#F1Q%jP&ndOXl@X^(u5!--V9qRnaM(hwK1x*up7Ro}-fEj{_(FD|)v>9|`6X#~aDx zA#s9thF1~TermQoCiQ{@nA9=;_+E-0->uQ(Lkc7`eHGMFl~4*24P6D9Dz07>g~j(_ zhv#)QM%#$dlJ&mGjBp#%%vT^WEJt{UjPMQ_;qBoOULqp|8$<2_?L8Ac!hSu%>0Cju z8d$*|YTF-{5#A&tybn4DEVWd}e8AlAU4*hctCQ6WuxeXbB)S4+UOA>4WK0ifkD2Su zpghUqszhN?{Ig>Wb9EJK`yrx$IPUlI^=A3{$r3F=>nvs1SL|j2nfge;9G^)I0#CpN zzD!+>V-nb)>pA_~-HyJeJ9}(QQQ?oufN?OFFthI{Is5 zM>j-w^qO>ZQMjY~rK9sTUyAHUakYhxO@Sq$8)>=kMk)^*nRg#=vl4rSdOy)S;X#lZ z=%oqqA4)~y3NVV?yl={2|4~Bs6a*>+L8?ss9;x%V$Y6R58~Abctgr{a8?oqC(J$m_wj~M@Q5!SsF7xRA~{H?cyJz3ePlJs zqQm(O$iD^HFyZ`&yN2`SzUTb7q?YsBW;j10YOv9q^H7|hX4hCzcyP`SO@Zl-WCLAB zj-|1MlQRt(5yP;s(g^*A9G<~$2~3A7-VEorO1SJ)qiiOvOAk_aP$~IPe+stFRG$4F z+{p)iUV%K}kErv@cR(k4(W?Gqz6_W>t`7O{8dsMd5TAMwnmrpl!U53d5$ODQS}a%>j`V=*CF{x69bmmt0=+C*{i#J;HLDL1_q(eo$^RAEypocMH#rA- zTv*C>A<2&L{8)CRK*jZqAf&uz^TPd;@#QUKr6kY(=QWK@8}ak)mEg)fmVaA$XoU@$gNK;fyJAZ zY6KFW(zJa9iTMrX_;f>Z*IV9PUl8<;6zSwZ-bP6z7#UX8smH*;Yy|`J7}Wn;!5Ta! zCV?Nb)@Y@A%^5We&vgBR6odx@uE+7>F#{W z)bC0uq&t(=t8z(spDaqH`r}Gyb(}fhEpv`f8RN|v`};bWw+eMZd3b;C7|#BZpQ}^| z^x*!UyH@Y-quy+|(9h`o{hhN?*aIuk4Z6SIDE0Pt)1L0{Qv>YpODko6zmIB^VE0xI zw7;O zr|jVY{|6Rh|G)tUuy1!3W4kQIuLoKT^=E1|;Gp4*dw3vlm#oR*awd+{0C0)7BKrUU zb^-vnD3$8_AprOemurLi50sFbv}n6V;a4Zccn9QGrp`SXD#z;>0<2NRFOkg%1AwAI$2+spi=j_4~tq1a}RDWLKqV~I!jk|F3O=x>O)Ly0@ zKwfAEX%SOX&I@2_sK-Pk;zq2CQDq#CqtXFMayFr=1 zW`b`)w%V4UR_ab?5ZFd$cpCz=scfxOO|p&uyRqp>oT95&lQ#SYt|0z3x%{hFWATht zc{l#LE*Z2)5B8fD@W+tWm$PU}^d=}{Y+lWS^F$d>?&j6dZpp94Q@CR##(D{Dpo4EgZB#^)F{0{?YIN zBcE46L3zFS^871B#ui4$eX{YJxcoYnrc#Zk0FvqZ>S2pcz^^}}*32m8LHsr#1D;YR zlQB3OCbmlT4&n|+!Q2M5;Ao`(=HgxsefenhJ5(&F{J#t{GPJpYlltG%x*fQAR;i|d zAMm`Q5ggKRKccp~yk8JIHgD$bb*{6GtiXm|vt{65B=6>>%14sP#z~8kpAvk~ z^b+KkhoGj%j-k#8c7FE?t;m2Z1Ic(apS;$yb6s+Yx@|d--mj2F5%Tm0ta4MK)+Ks3 z0-YfEliVLImJH%$*s|C)XFES^;s~*EQY2>xv$b(rM)b1Chdl%Yz6@ z3gSpOF?!JNbeI{J@^L6)&370EBqmk46ZzmP)jcb8Afz0O12Ny-8INf{I?>Jx|! zT@I_jdwBKU6+W^vZ>r17$PIs@A9WVc{>>{f5g8Y2Qf@vK{E>{GJAq(CxGjvJj*TmO zj3|60Wrn=T&>oqoya}z1d9yHl1Aj}*2Iq*`;0-Fuwb_6mgJfi z_T;|Qb05CC2V};Bb~$2KjA(?xo?40jT7e^L*oZ3;RegYZXn8+fb|9jV75PQ!Hdg0( zZ#A`Im1?%n|5U2~^mwUr(VA7_qbkg5dc(xm!?@h_iSU&X4CKjP@GjHbQQ71XP1Nhj&Xt-38h$N>AK*Or~*T z9L3X&&e_*}dW*ykZf)b-?>uOmS)`q4-nb{Q@Uj1Wq0oIQh8x95;TQhFRa;0&)nBSB1J3mLVuB;oe)_ zio_^Th01#UY>=_xbVUG;0LMc-VRR;dCmaGB^w6%8p*<`^yF!Nc6k&`mo+au651jrY zHmYmHv-(llz-!_YQPdK{gZC4Koxk98(JcQH)CK3pT8M_Lw=C#Z8MHpM_Ss;EwrD>q zVeaNZ`<_tuKZqD~wuCyo4bko6YCOr_*TI{VGbMXy4A00It{PB6b=e0|6hN&)beF)NN~b!yrzE z6Oa0lCJP>h;30V!h@gKBQwnktKr>&i-tpk8X2+BGeVCaLS6fh-`cmJM_ufNv@SiA= zsi}egu#TPI28UHa`;wwT$e2l;Py|60>X;qK4F94SvVRb7Je^TJrvaKPQPLEb71(B~ z0JPGau>F8)r03A}Vn;X~>=iVY(1gHTkFuZk`sc!M-3L+#r4GzRAoe`GyK$oo{?(vI z|$T-KP4!?4a zkmD<)f1DPbu7aqJgNs;mw0c7qMqUP|DeiWYaGUP<+xqTRCxXR7)h+DHBeE~o#p_OA zf`VV2ki84aZv1`K>9I?T5?e#!=+(5h=4m2(m~LjiGW!23^^bM zdsYEO2|Yxv6RI`0i_nnry7roCR8EI9g_ z)7GtPx@XR!IS_@h{2#2O1B2#u-vk_%tM8oLN))8GZ2Yjamr9MZq^zN!uq&W{Js{Z#{Q!0K_oEOvC47CB!}Hz^bn|aX$?~Y0 zNe{}@jfe|!Q5;=Iv;!4rnQzn8f@B$1rekj*)sC zD&SA3KcYGw1jjPHUGItvW{3S^X<(HOWw{Q>r3$S!Em(vd&J`}7H0Mm3WbCGI>~ zysvb2Ls>-aIkdZs!<+zC(5pKf}J>-ZS?2lwL zQ_XRX#ie;r}W;cR`)+Nlao#!l-QZLU>S;QPDAy* zN!usXrO+jP-F z0KyNKZ%d|d@8Q_)!%onOgNx6iP*L4z>XO7#qU%n&*!u=S^ep91j!^#Zk# z6>0|hO}?b|XPzGn9o7zx!TSNz2an^;63z8U*-lu)jGy5jQPnU)p>R)`gf^&=5{02X z4VNcJC+DDP#CB9Og&h_Q+HTl=QSJ~b{8Cwgn-DyP;zMgDs_I^dLSwxgk%Y$QM{vX6 zl8C8CK(L2nD%{|h3V$euwP#Vn`#D@ysKa^U9>Bq>L|)-mtT%HHF$SBz>Hd8L0p;Pc z#`Ebt@-m>^vnKkE1bE|OVD7kj93m#(Qmmx}9D^#5cmy9)QouhrCx!O4Mu25<3#ig0 zvyN9o@fxv?@0RLyJkVLklfY?Ks)ak%(L5zDN~Oo23Q6V~s_Gs7y7e=^AJ>glRjNky%*#N1RL^Jk1tjU3h93`Il8C2m1s)vvyOe5AGz&5`QcXpjDXYL23 zJHck|!lZx7vY2QoH0}4{8?}8A;*~dGjt7}Jek*#88x5=k=Qx@M+%0R(EYA~2`Ot-w z^8`}fSW`VPq&#?XR-bED3fL6jGpXmGTA#KCwoU}at9}S>&XI=cX*RUuvpY& zFU1~jTm-M}R!Mswwt!WoP>h~+5#@iE;{xG%z;sR9l z07ba%;Kw^_Sf=&wt9ApuU4oirl}LZu3NN@u^$buOxG}MDR+FoqOPH)~&p7tD+v zW+2Sa-I{Oy4y>KHVbk^6z|9A6WHw5M-N3yXn9e1eD5S={M|k|JL^Z7!KV$}Z!vGww zTZ9MlqLL4B%?Ibg%L0r{ZcnmokR*(#zef#;yj3V7I=Zy>T!p9*kM-D6UVvFGxn<*`U4&scLP16lle;nNZh%E!d!un_AVy*-i@ecHEXo_= zynr(Bh~^dA@pB|NAxeT;c9rPUMA|Bj-+JgIGAHX-5d!`Kr|sm~Kou9ECM`1(>m|MS zB&tjF#uViHYFM{+vJkF;-C3A7VSNpgbMX7S>*SG`~4P{ zp7;Mh;jw%=7$K;aPl2Y63{*fb&M3oLzr< z{p|WVC)6X+4!?dMSOuArfa!?m=@xMb0-=fLiNC)ujOLjjfW+lQTP|KlieKEHD+K<` zk~%QVPV$?&tx57S7eS$VFj6KFYi*Psf2!)P!H?fl3#0KphVd}N=3r^7X_>DzO8*bf$G%UhKf;mS%@3Ct0a$1!iAJK~<^I!t|4o^;A zG$+p_L}#BGuVHcQ;2b%xeK$wa;&V&uu19x$RII#H9Zhk0>NxRdXRe*PtqVDboR&U?zhdJ8-9`vGL(r$EEX)cZ)Z5|o1P5h?gihqsTCg3&pK z_RC@^_@8CTonXQK(z8LW-w$prJ-zr_z~61^yZiAVT@EKU*j2=d?Q)@BzXSDxDP}d; z{0-}oW53m7Ry0F(n6UWjnziDam_+<6n0dysVoBARQ28^3$%b$CppjiCljs8AOZyk$ zOgt=<^19Nx9KVTAKL~su%-YYLET>{q>6Rwd!!i9CQE^DVRN9;T)X^)GUzm_Qb0e1Y zmq>(=JQj~(?WV5pIuW{|4{oCF9qzd}CMSx_Ub+K}>IMi>jcPNC1t4}qRrH;JqOcdp zH?PF1=jc>jTMpK0s|=3$JrZ(SN`g(9orr6>*v592eYWjx|Il_48AA zSc%U5MH4UJ2#!-rrGrnfsBLQj4SkG*na!%kcmA3K+JMi0!@D@wPNIG^$$8IAeK6b z(>ItfZo{yxFpe;6eD=5yvmL7o3s0PJ+|gUNE}4A-?gpGJ)L%;*?;d^^& z??#0*D3uIKuC^OQBRF&OqQnHA%%+Q~yCYU6{vrHYkl785+r>o@4tOzr9B#GFa(*v* zInOncYiK!lsc*RJc^AURE7iII7xbdC#_b;hcz3}4Z5V5Lo0tagK>21ZMSMfZ&#l8) zOLQb_dD(z#`JA_we+Poz!?nCi*7Cx@T3!N8$0zh!T2066(Hf(hBG4%}Oj+yh4pFVB<@%MFOjC2n#c1~gvdpIX?7a-|Vjt#pnZDIH;O&3UwLXR0g zHH!MJxIKB(YUVe=4j%3A>%V=W`h@2cdvYc>q z!TczUb?pu0MeZnZRLJ-`4L~VjYH27wmM3$6z{%^oO{&~al%&4$ zTReRm+PD32Y%tU`e!_{58}wTw`FydY_iEhnYtHRp?KwPT$+>croa4!4$vIy0{x#11 zYftKfsjr;X=MtE(g&Ukw_Z2eRlSZ&1)sax!LO>Z~<=YFr&t3Ej?c z_Hq`+Ypho{A)g&#me^z?R5km^Gme$sw@rb1tpHh&%n|Y_QBH76;LltwG`%amWKMEvt%XA(gdx{ z`@^~pz9^CWe0b7R`@G#3^_>N&_(BT`2XMaS0EJEOnEBpvP>Fh}qXZ>DTGiRz6IuEL zTvci7VjQPCJGjnw9@rS)kKa||yGQJIH^xh#iJYj;Et!baf{n~6h`-g~a>YEx%yEYq zzS-pAeG)YD%XCRaU`V`z4UR#B^WQZC*;rEYHr{w1yE+CgMwGN}f)e=}M8ZCb0L(Gq z{HxVcvT3`Jm~jmJZ(6?&Qu-65CK)4q;InIz8;-@DOG&8(49nv&v;!V^7!BkiV?R!_iydH}pItuB%YrNytL(O;0)ZAVy;)U3Y$ z#Au#}5A<%Q}-_0Uk zqDrm?GkiBBSTe)a#TuJ!>P-wEPRnAE{uv}_QSkU}jsJ(=)>GYh+AoqnbqIWO05028 z1$kN$2spMUeksf=o!HsPPTd{h^bym)zc>8V0(F_cu z!th{3ZS>*c4yjpp73{ve=5gvngJaY`S>FV|eu%gOJ*;u?YC*M=v1)&MX3wSgh8yui zM)4L4px9gZEj3M$-^tcAq10o9yD=#5){B}Z7}8DUef1c~ub>6=2Lkk~M=}o8{3yJj zj)}aqQ|<%lR>IG>F8*e>;_fK*D(;R!!99IlhtM9b$;0rd9fg#TT$4v&R^m06^Gp4x9@C2UQ8k9R ztO5}1zD-?1-$TqjN^0}(?v)IfiYn1 zE8&jqA(IV?nZ0?~KDS$;%v}M6jj#m%I0IwG{f!X+N2xy(i>dztNCAH#$LJXKy!3@@ z9@ZC-LvR$>Q9igBKGR4*4M%mP9%sN4_Np9VuIjbr8{$d3$Xy?r)8Um7l4WKYp$kz) z=wS7V_~`rBV^BJ%7o~%skN~bE5TbOD{sFZHLEQtFF;Y2blvEBHBb9^XI=SxX%WCnS z571+zbkHcTbP$o!4`G_dgb+G-G~|4g4jLz=gT|WDLDI>Om=j=(lnxpvrGv&u>7a4C zbP$HaX*k32DhDyH!Rr7EgTg`EiV6n_2oNf7fq{Jt99*ahk-|Y^OyQuhC>#V4&-8)O zY}18vpm9<+XpGbilIySR=@GMKgK+E#Hpo%uT>`W7K`( zH33=<61KyTGGYOcGQ9I3{Pch;k%Vd~!F?C(PDBudpl{>kjYe|Te}O$)IUjTb<#MKp05giUFx_iK;#Y~Q~9eACo8bp`V^ z!|Mcms-=(P)MAnQ(ZJ5bkbcV5{~fH}fs6V$^$fa^~OZqDeMa?#J4b})-LYvI&;w@=ii~F0Qbh-foinLUz&Q12Z z8Ev_nVdX%q>;-QX5wMT)Z$o^rK+y0e+o}7DlMFaUw;yX`Xz9^Wj9Z( z>W_bdv{H~}r5VHZz)?qPj2Zv;Q9&bR4|e9)a8DMVO;m$kcl_ImzpRBlz$N*q!1Fp=KY$s=By73ryY^ z^^P1@@o;$7^=yP-yCoJ=En2t0SzySKtDV59-zg*4>!I6WP246Zx-MVT6G1Du8 zV#Ane9BO-$I-Dq|^-;vrYyCt8)d}N`aItN_lG1-=1z{MF-WUNDlKc>P?zT~^VEC)D z=n97U?&jE}_H0WoGih$7kg1w9H@iIB*4fpSZO?WTj?Cn61b^*CtoY4= zyInbRdV2cQ32nKKo|O}pbo5LbaAcFRD+|GHY^%DOVeE+J=4`&UJ+lNA(z?20C4s_W zrv6wQ#qsz?Yp&V9R;BDNoe`qHRk$C7Snz^`W~Kha1Rnk?ixJM^qr)DW}ss{5gVa7jY6 zVoS}TK4!kqA_d-XIY8Ap6h*UD=kSuL?T2=Qg%;7OTNDt5)tXK1KfLPJ2lOW4)sqX~ zVR1m*)6ZL1wCI`J;(%z*td3Of(=TQ-?TdR_V;q%Ch*wTMM7)F*K~ucXUGWMd;)zp@ z5x;EhK;0B8-bt%nU1?U+OUst!^@!Zpyy*n$N}{Wd>s8l?b+^Jvp-NIdRIw|*dg$_|*pTkt{?ftrCh9ibwAxKms+kgsKy zbS!SpbYyx~%88S6#X6XJjOYN@6I$CkGh93LWA6CH1HF6pxv68wq2^lgmB9qO>u- zb7kM@$~Na(1wGg@gBVY!%wVXfAi8H!!Dml3NdJJ65>bKRUf1W3UpAWD;Z1 zjK@&Uro_(jcKgaJfiEAiw_n3JSS_1nOkkec8IRj9V_z_v!s5b6Mub;TtON{KLL?ww z)A(^36oHH*<$Ye4s-0_k;|bf!WZTMLrIoX!mGj}F4O1VOFZHJjSo&&yI^X@2$7z%ObUcrf?aLmcKIsFmy>4F{cu-VmyMvnF zJM2NZpVB6J+E@dU2O{Qb(K`6N@`xvUBu_~^u@%4K=kXujkH6tv)#fiu-ty!G5w+u= zJ;;5Xg1CPDdG9KlzYt;Gg-NrMpPHRKzvsb_cS7+ z_E+tq#7P$BWLMmB{5K}le<^p!u~HJo6bY>52xaQYn{~xBscsWb@Ijmp;>p?n7h`V6 z5uEIdv;$?*c43%xUp#u*ImvmdJAPaVB0URgb-cRdi@*9VtP@Wx`_`^P{3@sc@k z(BGEadEbR=H_oZ;L2D=WVr*k~T*-#(aCvYeuG)AthT7T_X%8ODdkAMPg?F3kLg21C zps#fQGzW}Cwj<=Px)`oX`}0!mLO7e;#Jzrez6)|RTt3Wozg%;_vYV+njjd*>#_iSTp(O?qJ1(^d!J+7llvRo_w52uE9H)mjs6l^ixKKPjI0b< z8g}wCSUq@$YL%^Ult#kgZJ`9jTkLPV{szK?<$bpHh7A2Y8TuPCrSl+OI`;=23X12( zcdtw4??q!MxU->XVVB^+qbzJlfVo3r)qjh$mH34JVGr&{AXJH};%3i7c-sDIC!J7} z>OJVJ0ho6|nqs=g!d>_*k#QnhU@2k=EUbUR)vQ49Oy|3(@j7;n5mmKWg$ z;=o{T+MkZ841mNBAu+_(miRmuE0L6(>S|NNO8o|2pjWTed=K7y#C=oVGH+;bB3dggnSs|>)9lGu0i(Opv?XtTaqu^Fo9Pqg)z3<&A+e^LSFTJ=32^JR%W7t1 zT3R3p=4%!#i{agdLaHi#e6|^^yhszZGqnWN)zy%xZJ3;{sY%UBADdp1EuZcx;WE(B0fo{7x(1a3b~GSd$zr~ zy~_+>nigAh$B?LMn=z`CBk9#Pv#I8qni&{MepN?v&HU!}b~M+~+1;LLOWTU^)l$)Z zJb3ZL4s+YAW?P5q`%bfR`*3sLlW6qa@rQrGJkV3B-ZzaFb+&Js9e+6gUp8Ujy>E5) zzP^=`YOau5o=xX-OFD-5)a<9zKtolU-wfQ_%=+xA`JDibni(xwY;EVNn)v_*>1c*g zJWQh+p&fwH4MkFSKI?C!2f&9NR=mq-G_*OmQ?#O*fUfUUKr zrlzZ{W0zv)S$i*)9mpow@F8&HVaizTkiCE=g2Jtqti~+kqUA zX*^?70obj%HVEr^Zbwb~g8GJOSS(qfbc@#0u%oKukC{F(h3(zPA6g)G!Eo!v5`d}>O%A>G{BwJJ@R&*RKsux1OqQ=XdI(9_k`U9+-~?Z`u+ zQ?sBUZS*}DPZpjEmiu@6#Zwa{xc0K1He#^z*l`kerg&}B~yX|wJn=DG21f0Vi@R25g9gj zXEOyHVQe}Sc^KZ@>`|TVi*p^>d7UzghWzvl6to>J0Of`}k>&~WQZr;5j?K0cgwvVD z`NGtrx;wk@N@|*;bL4{@|4(*T_Nb+1DthFufg&8&T*xfXemR?4vb4b2WV^dH?D^0& zGf(KswP!QSGaZFY7bp)0lD3$@!5>kFr5T&&pThc?3k9P9R@!RXc{o9!I5wx15WQ=y zNlk9SfJIw{)7oklMQ>#QW<6k;D&RB#tW3@4R%Z<$g@8IWZ9!(mf^4Q`ekTqwjwN0@ zBG;0|emi8Zy>odM>Lr}@tek6XUT4ozs$}uvU{hHdn#xj4<@iinPd2s`y8vw4MQodA zBR)3rc7g|i)I4|+fFoLS9W6jT-T6YgvsD9045+TFHvgsWOpEM%c%GBLlr5m=Y!8qM z_Q0e1?mk5A<}!?+)}V$O!F|&)B7rc#SZiBPe(6xiX3q$PcN&QRLnI^ctcZ97o;qZt z2s3$P&Mt8DvBaj-dwVexY)T;q1-vYGtUcY*xhT`!0j+O7*3ns5+TFP#U5M2z{7P*{ zA!Ytn#ad;7WJ8=K2R)eD039O7ApjujT1BR-o2OpD*ni(5(g=DZd!3r)oPUBr8_-K_ zYO)}VqjSx*9W`^Sq|uhleA9NARhxl1q_YA{xfnpj!}USX4DpDwy0HCVL4ke&Q<_n5 z&UF+#<@|XW3|-USUZb&+!-ueneQ2O&VhG^>+T=@d5oJ z5OMEn+H+V1Aq_(`6TJo&dHDnr>~J>BmZzqWt@nr*7N;A6Kya5ViJS&v1LgueS_Yd7 zz?#2QW@+IsHPs^si*hZ6rPu}%3cllS#pIS8OoJWG*<(`NWJ?A7Z8YFH#e-ZQ<7aB7 zZ+FRl)Ny2uM2 zQkpS0*L^fNKG_&Bfx=CN&kC0T9ECO-)wCPt*WaXkO{PH_0D%TW3U)M>p11g@PKb#e zSs_jJ7GS1!EIzSIFB?e6EYETkCH&PiFQ32Mdp88s9^D>DQ0)Y>POkW?UyC(^Q^JrM z(zI{len)#}OE%q}Ss4VXs;R&d0h1Q&WQFXKY&Y1zX<&GB9hjcG8QwBlGGNzeC{P7S zloL;epUg};yAs5TtY`*w8M3-So(Ht4$=T*^Fl}?Q`DSpug%m{VJPdE0t>nKl?UAb& zoE&7001I1-A%nS1VIb+w4q>R#aw^?0#RzK)j{A>J^1hp`?k-{MZ42dm{Fp%z`xG&0z>f?_&>@ZTl!w$3L?+XIe4SA8MV5e@& zG-D}yz`3`#H^+q8Y0H4uA&u&6mBlr}hs@xZ&L#6;D@QLqpvRDpGi~7a$RI&B>!>bt z_hhx0otkE?>fpOM1W-N5xy{`&L;y$-K86B=NU3m|Al#aH*o@lw5CC zxa1jR;|FD&itq{fAu0^k6bS;DxiEtvmO4g4}lc%K2=2QFEt&g zH`kW0J(=b^p}n~?#LsK zNvHEYi_^8~^a)cbyDn(x%*~%q6&KnC53Yri#Tk$$%G3fiK1_LM-&6RyARHP<0P=va zsm-C@BMsana!W%xzqE6O2sMzAMDnM|Ien^lV(m4)mKg7^)wH>21Q`d5=L_{vSZE1pN4-CE7XPt%$1Twy7^ z$#TshZqfj^yd;~J?GC*Gg3|`^N~0Q|dC1jdPa@N(bvZ*bgEP8Y=wN78#KW}HKnJ>d z3Lcpti`1R#0^?URzhy!FJhV?XN(;#?v3xdrqCWjW)udryxiHRJNAOHQg#q0Xc_yP@ z!W=?Os?mBBOI+v%dO2U2S+1iT;r)#UaoDHGzWYnh}NDkz>v2^$DC?1#LJ+g)N1_3iD+IbYIAC0$t7|H@>*Hwt+G+P z&g|;!(uxX!Lhsmhaf$}^{ljZFl|twK067hYxQggn;7bp!Ip-;A(2-KR1^_FnpjcuRfDqAT2OIj6XK3xXoD!AOWGBWKdBuzOK9&34i4HqCa zP#Z@Avqyu$jZ&JC@%snFoS&J^nXU{yPW7q^mqD9Y2X?2YxllVFHf79lAxC9Up5Cai zbeEbEP_nbRqT^zPme5JDw~G#meW1^WU}LC#0Vkd^AvLp@VGS&zA>EEqVnE6hX)S6c z6%4AM0!O!K%z>vEIEU*Tga|STGhi{9Tqf`~_=nyq6zL|QC!K1A;G9u>?Ad{hLO)<$ zJxuR0vNcw1=p4vgo;Fvju_q`j?<#apbQI?_oN;CR2EBt}^+O>d;x#|ho_C)O8}P{c z!k}+87Okx1iBi*AvIPjwmhH*cw6tWbL2r=3d3;0%CW;V`e9R)?2|<=F1nNc50cB4W zjvA!e;BvSy6SWtSM}9gqoix6+3-%gBF#z*t1{gEqh!Rr-HT+tf*JB(MhKi1Y(V^%w z5XA)e)@&=3?$xx75gp=40aFroajG%xtZ2@6zzbjB^?QKJ`e%2;taS0@euz6P9p;>G_Sf0@K7AuaUp&6%{p_!3{Ey zjtnR2FN)y@9YMAsEoj_`l-w(C1r3>=3GFG=Jl2L>gs!cgX9}j|8m_5vrScj_$rIfC z#*JW#L25#dW{2-oH3iL@C2|>nY57&{aM}?b*O4aLYO&Mq<>x$pJ zM?NjZ@i?ZyD2iV*O6Q@@uCZI_IfbNMk9-bj3?HiXNLmczu0Z1qMCU-mUhtTA;Kr6^ zJ^6w@cfg8;&Nh)6i;h>(bRlgA4;lcQN6lAsHN#vW&^E-F;aiobr(@nICWd-FN>yX6 z*G4v-PKhk5?d^b^u%UeljqF&FW7F+D6s%>G#mdaoZK~R3o1;-5Im=!omIaWn zYZ!&s!3t;{LDWQ+Idr_`&B5S!m&0Iop%d~%Kdlea=fjdwLj3H#`alAc-bNuqoT+0`r zxbL8q2X+Pc57PltY~G?qa%gPP>9&j#=4WjcGs&>@fakGnwf9jf<-5*#UTT14&cc$H zR0=L^I8IqQM~Mwb$N1tEqhAu!!9s}twXhg>cVuHjFj_H@M$_Hd)-1TX=7A3JOehIx z&=MgU0fdXiZE8Ud8an;o0**1I?KemEw4${daBBhSERySqaFwul)1;gqn5q=0TnCa0z-z5L zyBHn_`Rq!%yW%X7zks`k)p`uz?jagG>-6es?Ht`wRjSxE7xqvBMw+vx_XAlA+l(xn z(KiM75{KYMsDC_KP^1Q`N;4k7$}5&adYCri@VjD@ecx-}V{<)d7#ax-F7kC5Gq(?L zd&Rz3#VjW4dvOS!fYWWw0>M^$Mq_;oCZ=fV+AQCNUyE#JuRLk34Wt$bwc#rZj*fA2 zp`sQ}%Aub|_|(YHs(hex2e0iNTU>{PRDyS`sD~YXwShMAjVekRRY@BbvldI40U2CGl{fOXpTap@hCDj75h3p6xmTb z89W!?i8rojJcfZ&BGCOFNQK_M`Nsjk>=xfwJ&2GBz|dy@?m!Vc%{|@Z zdsksI+ZT6=)IJnQ4!uSi12*KRb&D;R(nhRxg$O?dc>Tc}RNSG8fNna)scxh6@=r`& zyEo!98DG(7sTo#C%pU>$DIGKkw8H=vF>+gXswf$-DrNXg0bMAYd_yvtr$Nh?t)LCS zJkhPQfFT|wR|9uBWBsa`pEGV@7T?b3>h46UB7}<7w|Y@O63OXN5l+ehO&eh4^UKAg zEHx{F4|8U3iGX@q&b#k(OpPQVntRA@$IVqhL0H^D`m{^|Jb>n(D6Fq1unwDlhtHKzB5= zAV)~fp!AB)ZV~qVS(`2OnSTezr3HeVQxG-lD8aWD+(Q@zMUZ17dV&Od+I(O|?Jw

vXG-K=fDByTR&tk~Xvw8+)g!h~?2y|=fSyQcNE%PbAclfd!fNk!# z9t3hC``9bM;<)>9=}`A&Vj9iN>KMa#8PMTz~{u;+b5?jR=~8}Ll(a`y0NZx_eGqt;K1ix zGCm+f|NB^rCa*;kE0{fSnsXYk8sLn<@AYmCtai_q95Rqx;4CvXAcOz=8u%JwJ?pLo zr`@#xXr2+?MxOpalUp`nen*DVul(NX&#o7ejp!Z>q9sNzg5b|lh>pY6J4fq~q52#v z*v48P05P7P#c`CL)h)kg_4mnntAR-t^kTH#qi6US0ilzpNrnSEQSPMFP15fuv*=^TTqpXqUBr3nxCT3su z%SxY~<5=j^lYTkHJ(ynxvh;u2+1tD8MO$~hn3mtvxh?{@dvOZ)hfn#P=gaPkHWych z3S6nqLEGPNViz4S*(xB(2+H;8r#okE9$7CqY}0{e<;S`Rd0*>0F7Mni6yf@$wm%yQ zI66%qLI+HrOOJqV14s{jfB}YIZ|b{zR?oHzdd_lqpfC`(&(7 zq5m`GuN1g}CpS^*TOZtLpN|uj-+77IeK}(zryr0e@N{uHMB{+p&S20<`M-Y#3&->p zDXBj$gpF_IDFMhZa418In`WH}rDdmcd%e=UQ?EpLzga?E=aY09sCqG7CaRtRV^wu( zx*S!7e#-Y#MDv0=AzkVsa#9MRfTsZ^9v#toC1puOd#4#2x0Lit(aGTLrD)qyvcp9OIF+L0r-?lYc1pE~$E50< zlCszc8&fUhsZ>3jCe7pKI6Q8YMTYveKAzpFxGY04W(nC=O!JD%K~(Y;H;hZ@0}PdW zseKxk;xpQCTaVj^>I|3B$G}(qt&3uv|NB?+aO`=pmC=41-#}@-S?raQ}8X_%(-&_;sBj zme*RAVnCAHQY44VWyBVP+9X*P2Nn8EL`7j4hBY%u#)NeiJgku_P?|?|LrjiF%VHm! zWcF=I<~sG-bmw}r>n5A-D<%TJVr6x2Mv45E)*62;Qa>2beJOUpBQ4O;+aw!0I`kPK z^N%L<<-#M`E<75h zNJnZFq?ACdRjHQBu2j4JT$E}e$jtz84k`2o%(clT!h0oVx6t#G;by7|1#Z)A$+9;o z6Z@!`*%8FSb#{Rir(4h8V!G#(jZK(GOP(l`Z8HQ?F&DiXQl(#@){0b_64V{3vJ{TB zR1<+}l49Eo=yebUNH#|G3o%2$nGGsUq$-r7QQepBis)#K+IO{j@Q=nTJPUkR(Ul9slab5EJsP!xJeu(Q)O|WR-aVa8Px8n zaw@2uXj8;$0SpK!^jvVs*%i1e5p3Blp+~Di8K0yB3|b%)`{|h3`zD)flL84)cRl(K z>BcQxfaOVdWZcs282@Lw(7#f;i@fhHNzRuS8thlB3;env*`7)%?`eN6>b4Q-rb-vm zO_d=*YXwB9pu?|)f7skt#0;#ueX?wiRDrTSs>4`)lFDMQ8#DXJn7OvPww}MObg5^Q zzPQi!Fm7S(%b`9+rlY_2)sQ2y^nHEy$tLaxMCX%rxS(Zh# z8_`6oLP2H+ponp?OzgFj%|0sGTsvOdzTaYhCR_ib%FCYFUuy`nBK4eNcIc@9jXurYXaLL92;*eh#rNG8p zYaXW(u0WYTgE}Qe04~Z)mV-fs-W5ldXS|QzSLA%6sX0L&+>!#67S$cITVHTC}<2J z+X`$Bn}3diJCbEXLov(OJ$xD;Y#=|Ar-{fiJV3e-Z(h^2p3+?M{yaa;Pi zre*1ejx;9zn@6mj_tB+OK#-~mWowdMhAfX|V()?ywG>&LY_6jVmi|v`8uxD}VRkRv z;c#8+w~Y)yCFEpEKxcBn5U4dJ6=XCW5A-ZpX{k~lQMDAb!6@`?VA-S?G8)@zgcXOP zST9-?$|}?@fr=H&#NN_XY&8=dBq=iBvn6J%T_40nIC*^9wZ4^#{uTzYJ4=5H>3&+# z^!RUdC>1VC!?|>|WoeRMvBGRT5iN0kla{O-s8v5zIs!%QE=ZRcygZ?%7;_Bttzq*I zwA1KhSrf6vY(}&Slu5iiajuP(#lAOY_SVVfikd<9S?7IQhc|lbIc-wyz8eYRfMV^< z8z>^10X@#;MxeIyajNVI>b_JHeMV*znODxhQ$h-zGzriT5p9;^h;B)dbJ07YTuQPD z=143P`{ZQTo@}n`3nq_GQ|`xU+EPXu1#3SvSfv`yCJH=Pk}~q6sJKOzlsC5voKM{e z3#ne{ts@p-V#H1s+&>>fwO-PlP@2ay2MOj_CibPtu07dY4;7?bSl2zMTC3|3JW;3E ztvlNU*w9!AF8FJ)STqk>u6qJWm|{#$R)axXM3w;q2GkRhwaJDYa*#7`v(Fb?i8$F@_k3mxfb+MKE(N$~<(=sEEtvV}TgTnLRmbgH9o)V(D5&(UNp9bQ zrLX?i)3*wj2RZ|LJo*-UJo?t6{JzB|kG{nwkG{nwkG{nwkG{qBjsX3^e&@6uwX^$q zw{Kle($na2bo^r6+t{=7PACpuS3XdCIQ>9OGCiY{=X77raG*xtM zkvDnkJEu94*>FPe4l9g=IdPfGjb&WcQQ52GV65pfG%f~pVcewc(O(GG1$30Z5#U0^ z6yI)$>hx6h(sx2x&$D%^EKJVC-YLcG%Tvr1U8MhOt=+Pmm zDwKAN-V|w&oQZvPvf05yz;(}OE1Osgi;R^blO#o6kzeG+aTD>$b&HHDQHsp0MUkPe z0+@<>C#swoF>1%1Wl48JVcu9n6v>&`xl_Wv%;gAhm09u(@6MW5*|>kRDSvB~{b|DV z{7%-&tcqA+KxRm_c8647cSzB`3@P468B*XuFr<)Y{0c+r@wO-fNt6K|?S!Ih&-3F| zc6fCqOl@c!NHlGZwSA_|ah*@rB`B^36U?=)>Jpy}KuI{tCykY6fpN9acGu&(UVqi6Xe}IYJG=!GBqsc6Ue(h>Y5bO2kIGqq}PSgfrV_feVGJW1I?=`M4isN|2R|9co zKuE3z4W024;t2sAg{l`<%z3EE7;u>ZaB6`}b74}=-J}}1NiEJ#sv|lI5)BPycB0AZ z_qL>vl*JY9aUAn}HIRUU&-;_0G$Tiq9+6H<%QSL0ch=L0e7CFI7Xd6rk+}fw@G(0cc^} z0`wSM5fj4kkgvuGx0PsT1RH5*uDB2_7!y$F+~lFb+&(8h(^lU=QsL6xhvjDdL!lbC zN)Mxk@P#LPdrX)8K@SY^y2m3&VU9;Wl^a6 zyXp-*CcCiABPcap=rM4xt{y?(BlHf1J~Q$8hbI9LTjc0YlsAHS;E{bOtVO}2$AHBK ze_@~Z->xeXq`dDoLCQI(1YT#t-Gf38Q+G)o1c8WcK}mEZEw43Yb)?{j4fhIs_t z#ORV7jT%za>!MQzh0F!){guiR;1os=!ZA9312EuhMUq+?>d!^Hk#(EV%=xf(R_DO5c zea-x`(R0)bDx!-=F$54Pe?IIVCpxf-{BfKL!Yy;dopi%BwQxtg6a+n&V6y`g<SKhO;5 zO6Pv5KzHqOEO>2?wm^v6bN?Wa0z7*YRtDsx<%p9zl%1ANV>>s^490P?(tm|;08Wu! z2RA)#2R3{5C2S0s&^sEv-1`C~;n0C%=`9GxaVkjf%Z5AYrq|w0k1GO8Z$m+P%iK$Y z1D0MZOK*NKj#EK;UnX3smx$%Biw)k>?dEMQ*6zTyaItW`UH@-w*IR5p9OvXDfLGEa zQR@YyW1=C;xhQON{gohpVh=XEtODo29-hT*}ZliRf)5R*)MY-)1tc0}?RPKv5&lmN7y*WR>In(op z(FreTy{^)SVZKUO^VL~ib^e=Ho8;8BLCDo7gRql32=~}3`#FQqP0jqDW2v{T%MxED ztS(o}=Z~E(-V0x9%zgQA7r)e)>*D?D;ky01Ii;Z5E_)C7WWQD0G+!mG=rD4Jq}xbS zosKrNa*XylLu-;#=f9mP3sS>B$i9}^Twf)upA@9_IV0)ISN4}}+^=5QUt~hPwsDKL zk?L6^HFHN&XLls+{m&!ms+X4e_`htVtJbq!{D&`Acz4xXWX=D@!hPBFzIwR-zecK) z!0>VV_UDeIo;H%2|J#v7rTe9k+ejeMv*+0PpBw25O?O|m@YfruV1rVr0v+|vKc06C z!Dfd0ioj#YTt}OEOuHcTh6R_{6^+3%v-%1LgdYHJS~%L;BVB>_b!4%lkarZ^iYNJn$LvYcCTuWWL3DhU_5SJDk08OpPS*Ww-K zH8`gI9@$mkzTPRd&*yTo&Ma;cq^;7}Q9eBnbPseprO6gBP)bN1s-j9tL*%hb%EYkZ zisr+{#pQrKw&q0iTrp{d2KZvqB}pe1lVM3uH%pO4F+EXI_QZ5nNvV&3c1e?O*_tNE zx8MrPr^vx%OQUXzHZ3k)jPG+$iiMezqK&~;N-@VPE~T?o)_~L+N8{2bu49VHn79rt zCe!0uyOLif4eV=DFj z-S1YOMc(sjGh)8~&;GvZ%<=9}Ib$=RrT5w2O}sn3jePk?$ATAcIj1-eN+K5>9p~|` z19O`fBWnmSvHp$^H=5G-+LIGK;T%s$j_&sG9BPzp1ua&*mez4we56OFxertBla$5( zh;xsX{Ulm0R>;dZU!b<30RaRoJ=b2F;TD3VvHh$p9kkf&Aa4 zN?_is&wzB*#F0n!ZTY!bUe9;+rvoIGjor%h8|O!V%^`nFcu-7mnp&=ga)p`TaOKMx zEJ1fC$jk(+8xr(IdPr1}~sy$RXtC0s=8+}?zi+7Ua40q;OYoMfXwx8nZF26(d zTnsuLy-xxooWSABX`xkm`166{auW5b&smZP2%d8xQ6amkS=z!R%lot)_u!h%33y>r zI2!Oy2{Gw1eY}f}dtY{X^yByBl;_nWAIR7Q?Ni6$;#*r`z#+T77Md}#a9Nm` zE^;`rOxM3lC!aQc#X!<0zYp}fu6keA0{Qp8^bfT2%zocQO?!M`YRz&#FfE3g-j_WQ zt^I+k1Mhw56tw{TqZW8f)FPT0RU%z#xMhf9cKExTOV*_yNu!kZ&b*IgM5^xjhb&Fa z!hSLSH1QuQu3g`e7HK;6?=mi}pVRm6a;T(E|A#azm4$s^dJ8YUR@|U1{vii$&`JN0 zyc@K`KcsP4vv(+K^mZAFpV1kqlx$yyTjrc{TEDg<{mT6emzL$t*Pim)vz{Xt%J=v3 zYgA=DN~NrvE>bNN30EGVTr?_Oh(LBMbYfs^;m)o!a{iX??d&dQZmQ{o$zhWZFHt zv!-mmCky+fd(F?8`*hgfr1Jy1@EsZYz+Wf5BNHCfaetGw4`yLM^N{&D_8lGcuC)EG zu6s?!e)pr?*JRfBbl1DG{d-y1KY7IbT&SiwuSxeG=#p1u+L) zF8WYrJ)u`WkkwC=9{Cr^dqVR*l#ai=4SSnk#c84mzt)Ry%a-5h$hYO_Z_0l1wse0| z5B^>DJo!EBeSGyZ^+&niqA_mwBfrl z_yr}NnJ?&`KTE$Cl}4ZPqSk#+4!x+veDy`GUrR>3q{KGwC0+M7IgR~2Y5cN|q<^ii zN!Q;}(_AOKYVpi^%~DzSy7}4sx}{S0U5jVidzOc_8356yx;-v;%e#4>ZE;h)mQPpHdVJr7VX2*G@w+yt&k$!=yJC;%NbC_^|Blp)nkN=+0(6gB;2|K4 z(HWvjr1J^}_2zeNP|ttQ9n>?(PpWQz(*`wm1~u_BsE@s8gZk2I?w~&Vnholuui2o+ z&Y(`fSG^29_>6SVIPdUdV5T1alPt{CMSqfYu6=i=Lf=p!m7+DRXhj}TQBV9ymR0;2 z^y8HjdQN2=50BC>+k!} zS8vmEWc4=1-s*NsrS%=!^<|k*RX4vRORJ7_>eP^Ccj>B^WyoEMefHhvY0f>`>lHb0 zuTFhl8sGQP(C4MY{krKz*?PZXKmCCDIrE?%s3D!dqXTNl(C_@CLk*eou&#SmHa@J_ zkAK(vocNwje?i(;)4UoozFKYPNDZ0)eeL$X?ESuCzx)I9l=nj&^PKd4R8KxDV;`OG z%z0m$Jf;m_ltGUv_L)C6PqTiai{F=hk89_br29|Xc-p-rvwp7iK9KD{&%&Pbgn8Qf zM4URW{VUyHQ~Li}yVaD5zbXS)S!rCX3sIQ|>CQ;btPbs1LKBevcEUTYV8vfu@I`>1F{97fh6~EO!AIjO^ z#tGZ{cX9j=|6MBiS@^p+@$CIw9DD7j@v%Qo?WRSCCDr%_`V6Qs)Y$ohY{)oRV44 z-4pH}Un* zrlP5{zEVMYp|rfBEQ;!`8)R=Z3px^?C`3!vD`gDQbaok;oRU4FjO|i;p%PaEPUy08ZhI$3t`q_l|8J?yJavMI3 zUcy^d9?G{@dJ40TqisAWf7jVAKNc)Tuna-rh8f3#ZR=YzY|DsD(Y%PYWwVI!3M`7q z5tovq=h$JPmIQtFwf%9lnu8G;mIkP|2}>))&cdcNVI#_)T?&eca6J|P=5{mcX(8Jl zcb|P+efKjX*vRTz?gl%DU0GOKCg>LMj1#ndSXR1}{RtCDbS7_pAsOW((d9sRV?|3v zNTvWFg%V$cK*FXQ4@y&DvqGjD2jFxhc44C}*f3I~W@~E6lj!fWFj-4@1LFv=4h4J8 zouJQ8_smJCAFz!d8X)MYU?aD&ed|*HeUK5IHJ>`CQywj;0UAjeK4Zt6)l>nKP5rdu7^@K4f2BkggFg#%ySzdP@6#$jLY=n}uf z9=uDy8SBw`0cVo6Qqu&Oft}?ERWADFtnwu5Oik3uA&1)zDD%Wp3m+e=k-{uPy$BVUxM+f+1sON{DB+3=m{zPf#RqUg^SJ;mD7&)@=6oWd#k;?H<=yo zA-C}N4sjG^fp8dh@u7NdkON1;&;;Fqf~tfQ_G1NX={`B0Xe2J@pukq0UvE}V*Pu4v zQrEgQys(#5E;%ba@Ub)0xpvSWBF3dg=CuMwgMw>?U-y7vHexK4t)uXpejl~-ojf`? zO3&Pszz=qJqmpcQcRq?zj|$lL`d)y}yg-26X!3|i-;hp4g=pAx)}Jew18ySTt6t-H zo$r+{9=+t1iym#BAicasndUW0;VJ*m<@IP#7PuNkI8+X$TYFLta$$?FAU#lb2SDvM z{eNkrt@x-L9CorWLinBf0t}5X~`Zbsq5~P zMx`ul&r-VlPMK87LaivJi|&+-={oODIbT|H?v$ows$Honoo~=xRb}`MI=-r`zd?80 zAt!Ihg5D&9%r4KcD34`WA`Qw}ls(E>WJAlv@lr2Scib*rGIhZ1GB;EE-z_W3YuCGF ze|g<~m$a;)jqj3!6|Cy=DroS%wu%<&Ohs*ak2I@f z{`*xjpVKOtpS6|DwQc1%?K82mwcGN_I_O^Mc%zcPppQxyAb~@;Yzk`+2B~!%13Zdm_BP9P{+{bn$Z}Y~a*^YbnvokL8Jq z%X*t$E+l#(ckwCYyn^|P@Elxat|!9d=Lye146ZZuc^^|qz6)JcCp?OpeOM zgnMvYq&hAtt2Cv5)ZU>RN96=pyAjsWADoJq)~}-x(iR zh^?5!gSZ-g*vdDJ$hLsC4d=7aObEV;x=pax>qKNDP-S7+6Vhp6X%SZFyn2X1l`?>B zxvy=yxRphYZCo z!64L6Bp9&x)dcMigsz&st(JxkXJsd#Z4$LrvYjqhB$@W?2}v^2wNFm01pP$fz4)2r zy8-)EpRS8qDSIZ_fs+{67mx}t$~|Is?8FZ`ADaPEA2PTcR~)Kt_>HYe(jua3lVngt z_a({Lh_;V{I;+r+0?w8sE3LG=>WDNnl=mQ@l2>T#my_84pE{4tJah*9Ldf4i9y<__;z4>X4vg8RE~vrrfGkou@KB zu-7y6k2-gL;AXeLJ=yUmXw)g;7DawExUejLao%3K@~*uHE;aW9jvjHGvrZPGiXK)f#{$q_e>*Qh2PVln)$uV|#2F@rzElJKUlGz? zKq-N~m}D4rZDO(}s*95(*V-Rl17fgGycpRB5EZ5c`*gLv(+vAq^t6BQ&PN(MP8-WY zK?}Ia7PIsEL1(FFNrFtYX~LZ=$WQPCWkF-N>W06=$xQct$7^dk7e9{twFIo8j@j75 zcXg2C!o?#_ejN=Pm_eGiI%TVS|LFZldppw60c{KUBCPbKsgBIQHo!-&|2zIa_Pzr= zs-k;;=HA_qgaAt-o#09jEujihTtJFFDt6RG0YUvRDk|7ms#wqn(iC;&L&1VZ5yZ+O z_VO7KJL*~x?6G4({_mMN=Vo(Z4Jdx!@A*IGc{XRxyyu)bQ|`>UbLZ~r7KQHN?oe17 z7o4Nj)f$ET8^Nfy152$=)fxIHboL^h?KbAy!N(9wIF$R0NtZjp*PP0l;thz~sjhu>rv@|8u6X48s&?`28J;QQ$?}yBy)1^? zKZlYCsgb?TJU8^(DrWS1>Gn+_w}1Xq+Py;K#kh~n!)Z)hcRDIgCT_zWC|>Duf-5VF zKfve?(%o8KkFtMpX6WBCT=NYUQ!^$aiIdFhYN&^51e5fGi!g#8enQ5k8o|$Mq}JiL z+o%qQ>VCBUbEgg@9rp?RS>gqv_{99f-L!r0#I>Q1lSo z#5(!Nz_RtItCqMyq#vaIc-mxqiuVz5OO2h;l>TTc_UOlt?$&_{$9+-<7rN?4-CyDP zaXvEe3L}moV215YnA>mMy*a0+ z@oCrRoJ=FXdvnf)#Z>Rz(}|M~>UKderj=PN6m0ypIp+}LM}OU={#fi-=-~TW;d;gN zkGDLui^n2L%S57}Mwzcn2yxHrn(oL^+f@XghM{9G8?&7|i(lSDjagR$XJG4oT*lq~h=La5k+*t^V9kqtX z2{Oz$S?L6kd<(y5?Wp%m`Wxzom`fQqyQH$iI4QgN?`xA`#`b}_S0T1d)lC6+RnT1? zsIxlgz8(mE9dI`Vg0}?S8-l@GgX(U&9PcwpYzsaUwBKyyg&iu>*y^s^^q3aF8XD+! z1#IDXN>IHRM68B;IV3+11}lQ!po=K{`=E>a zC!`<7of8>@*efQ9hjYmO(d@P2sASbkS4}W>57m8}w^ev>F+J$wcw8Cw^_{uSI~nd> z!5|KG!P?hB7q_ow&lVZxt-AX&f-hv)trg>?nGM>Cy|x_?lm{0E-FuxSPDQ}QR{Tvt zwTx__zDSl+GKqWF4EGn*H{jwI8E5kWHK{eO|3y@9#7LcQa1cmgdI-3e2i)6(?(9IF zWkL6L>`Mn+?E8NZphs75&?M)Oaa3bvP$eko8JubCq5ZqfMf<-N=yJ7b|JQ;z)`a%Q zy(W^V>DSn=PE{;sKl--A9mJ$yJm@ZSRy#OMbtArg&pcv4`f+;D;J(fkL$*0hS89IM z*X(e6ZeV{8^`bp4caZ!7Vr3flX!ZKx#H4=6$-~nhm%gUKY?EoV`bKJxMmlF7x3lgQ z9N->|`!pPzRPqO-Is3cCIQOQ^u`xdnx$QT$(oH&DtFa@2x!Bc+LGZdrAhale4Q(U= zm_H-e0XG|TK=NBxF38TRsOM&D%aZ$Ttn{i^oDr4PyCJ9_`p!x7j~9BY*)hIY4`#%Uq4^%_m&F z7P~{PehlB+=&IkS5xh3tu4{J&KRCDyCl+a1L-jH{1@}{Q14ij~!5+pXe|i^W>U9l1 zrqy)a^iB*EYFa!`G)B_`nH_>X;fpP~EuL=;*wKr6o$1bTx^9f8nz)Np^c^2oArd@9 zoxtfn*tk6gY5Z-+y?XuAf-AJf218uamsenml=eZqW-v8v9_($Ory)+86kNc!v#58S zJSfc9-EsS8?gx>TLr;*8%^jyM0i~v)9*@}cUM+$PwK_X@hQ>FAAZsc8Gk%QFN4G$_ zN5Pd@`h0g&rk<*UPiDI7wEI~N{P=coah6_;o31R48@#1i?njP$OO{3$K0ix8*b`~|`o%VU-%?G~#w+}PTlPu%$U|cA~_@6pP=)-3da=YW$2#+!B~dAistldGBOuusO7YVruezL z@|b%E1+Q}S7Wy(5{S%GVIZk~PXilk%VKevcx*RqLacOSS8aJ3&Rds`(wVFn=i)U}U zZhCq{JcPhy*a$c9uQ&Luk@|@?U~X&dB8f{%@E-{OvB9FoYChe#KGnE3lEAb3Onh6@ zV`FmxhGR9=sLZy=G;8>IqeUBQ#*)cS)D?(CVr+XPdyd786Hi| zZIAToTtrjP=H?-}g_2uM5=ZKc{hEUl?zI7h^?euEuD#~L?8_N<2C;YieXXa#yj_RV zU((Rp7;=%^9HKHpEs!)Dbf{6+&T&Xyn{fmEQtEBBo&s~F`PI~$NbTy7i|qNNwk*^F z$**XK&r{nTydn5hNX<2BztpDmEK>Wej*H~wq_!Z`0?GG8tp_>Dr7bZ|?ow%gvTlE( zG&BAY3+~gB_5y!%abFm`IvAYpROrit?&3i3p@71EDOLcJ{G5_^QON18#11frbd|AS z(>Y-?RX4?X_#U?DGE>t2MI8JFs`UvFtRVkW;ksJ zo5{o6=hsL2O!sT;zC^h=0EOf=bTgsucJMgod6Rq@Pum^!J`LZL&}`&v_)U8S*2Y)b zHS6f7I*8;fb60;C*?7(*?RRG3KBbC{u(8og7my8{fYk13NUYRBTtctXt}M0-ki=#s z_9mxPRsQ%oD!;pKoj(GnVsS7>)4t#rI7+PXt!clRxTi9+$DfMonhdt4KklQ)#sH={R5_n=4%N37m)sHL%0>4cHQ4(2qMzN!oRu`VT7P}1HUmZzFg zUzAe4d+B!h5I6%r!HusSM~Y6PXiQvav=2?v?By#nb9%j2=II`&)P=z%+MP?f*spw+ z8XQTq0Fr2e4>dJ@rTc0;>lU;|?s521M0Y$AOLXu>+Tg*-VkjYr!Z({9OHoxlrCicI zx7!QaO^|Jjw|S15Nuvbc;)f*Os3^l1cvWfd->&8QhOy&*ru(qQ*Z8-`qW~TJU88!) zL^C3Z=Yb0x_3tXW3DM1m*!eE%JCDjmeLvUg0~#mWOcFy2FG%4#-cp>N#<~UcP`xJ# zHTA{S^Ss8_mgQsaG)cU3^|4l8S7|CW)aZ8CElGE@dyb2z|0^}#sY37IK^2nEn-{iV zBBey7LgH^T$Tz{b|A|9V{>*aJ37_JEBJd%(t)tNwa>EZGA# zqGV&ct~mt}fL3?VIH$|#vLGI}-A0_bj=VMUPpz}RU71qXGu=P6&aO5#{@glyiP5EX zwjE9&>EILE{Q&2e92{4|{D}h|Na7*jZRYu3%4~Lk=R|NH7k^?Mt(Zx5#M)1~7xcu_ zT->SP3p$^4n>iWPLKLnldZ za@4Xax)Y2pjRCaLEt(cmtf5;f*H9#PwuVNy%s;b+2Dr@KT|-~IoZIM6tb?V0L3bGG z;^N1vfLdLEtrm0bqs{7{j-xO*4W-@XW_RZWYU@oVX##E>`Ar=lImU-0bpIB}Jv+E4 zfZZzhW7j@8xXRrN$!BN)&kO_~4ye)qzV6jsY0^*8od#YKcrBoklr&?`?7*y^L2dHa z*23|7z(&y?u<^z8zh0MRd%(uXJzyie2W)Jd_Sf5E!5*+NY!BE7?ExDvPBqtI=vwWr z(DYI~4!+VqT$?-1n`PwYSCQKx59>i1Q2zp5HJUTySg)TzC zL+7z@lZRV9E9AFSce1$^#JwT5A8_BD#?+-j?48|Y?vHWjWQ4-Kg9)vQN$)&L&D6nZ z_%d*8jccl_k;$2?uh2MAfak@AuZzXxQF9dKbxmIkZ!+u9Q8{eDyu&-1sBm5E0^M%D zef(LD1(4ZfAmnfq1K+fc(B>OQ;hP>laMVUx?g8gtse=!?YN-?a!ckA-DZZ;-!5IWs z-Oq*Zio#8qc z%6!YZn5wpSccm6NQ*fShF`U@l5r9_@?r?CbIQW9;P2*H`BLH{nYfv>O_&wf>L<_iT z1KzPiEB(b0a2fqx0k-1SnclRnR5Jpmn-Q=Wr^g+$ z(FbBxcwICwbk8`Cbo=viln3c-^)rXJBxYI+_j<(mo+F>t7apT+{R# zGr!7!yI|Z48zip-=n#7M_xQo1Pq->(l%b!)dZ$b-goexNw`05%zP z5YPFrQT+z(p|&x_<)hv3g9zBM!8dN9X>bG)n;O`GHqQ!3otk@CaH}~(j$_u#^pG2A zEoF5yB5ts8^-p(cosPMOGnOz3V%*)2hcxt49tYv{H;xF{Zr*JTa(bs@sR5#^wdN@nb|>z`SCP@S z1DBF!Xkg*MV8Zf@HGZW&Xcq=kdJXccn!$vI`(E=`31H_3aR%Z^#2h$TZyKYT(STOO zU@9|%2^;GeOk4DjT^~%#+4PxyrUnKqrD!Q=aBZrl4@_cgpbjsx{B zHYTnKP;yQnxFDeZ?d>99z8rr6#+K3B480|8lc!u42fAkmuoD42JoiKrC!_A>cQs^w z>tpn4=|I4#sb$T=+}QXq?3Z?FFWOC$DFF#ttzhQ>1ZNDVq0^-v9sXVACT&~e9I zQbXfV@st|w8;<*XhW-gBe>3zv*Zn?2<8d>Np}y|oY`gy14Q|NLa{}%Y85$Sxrl9+5 zpakh8zU3i{MOMR5p1mId7XP;K+ZvyIO=Xw1+ADqPnO=q9h zqL1ldY%rOj*9C*mXK1_|ho|QmnV)5-AGnQa=Yr%5^gcuIU7BhZUf>MUQK@@__>w?~ zKOW3nAEfUGsjLHRKdP6)_BNcG&(JtL@@-IWqj@-%ktqj%<+A@1zU;1ja}H~Yqp|mK zt)tDOj4Pe`ixKukxH#yfK~>f7D=8 zBXuL4vs&4>7m}FoLlUOoVx9i{ZU=?;Pl)hk-XYFe08;pGjZGb#<=F-KVsYVqSxToWW<9TLh8$! z2uak^I&F~tt_}>xLaiv9&p@^9d^2RXCV&pzA5-O59HsNrf}r(NvFVF$#ri1oK=dnkoWe}-pYjxz6Y z5L=t$QXD))8S%sc!*HkVBD|i_YJM7s%ZAPw2$`-gV|$Ji^*N=e1h%Ym$KXi zHSv`txZO4NLa2>X#@HycEUq7HVPb_aZ0J|r9p7@`;v}v;fCdk8o^`hAe+ShEG|7-h zPivetQaE#M*c2D2ZU6cErv?6Lfqz=ypBDJ11$L_i23=#tnKon^W|}Fu7%hyLRPo-H z#+X(x4Tl+L8e>|vhu}D%UWAL$u!i)@)4#bOyf+W1r{%5S}uG$n;&X#X}Qo&mXGFJ zs`#&Ir%@)=ifIwko=gWaJ)G%@Oh+<3i|K_-r!k$wH2K~vDQc&5Jm+Q~Y5j21@P6eH zoN>@FtA{Ai{Q3FA8P8(;RHnyse%&Z4mm_M88Y@gm3pWZD#y^*Z9+?O9`y)KMD!nm{>XYW9sXStV{I*_1GIrGzw zw)N1Q|0?IV^vUo0{Agpl73Y&YeZELok5lu>{@y*U-Pc(@ljYxM-k<*==Wk+)I|k!t z1@k}G9fKU3NA|zt{8=~H^2PrjMV_hn`786kGnIDGT>k)58fTC0cWVuB?`QbdCmvFww-^Tj4aK7|!kG0nCf2Y_XopbPo z+Vq!dhw^h+{`M4k^8XIz?`BG}RK`8b-{+HmfcXcRia(Dq|2WeSY>@qznP1OT>h)^U z_R9v&m-bw=z}D*x&ZqH7SQF+yVk+1B=V|gY=36^oF;3%z{=R4aC#D(5BcFEluaMU- zSafvhhe09FXSYO&Nm8Z3KI^#4J>CZnN=P@qvUuyf4 z&$AfE;Y9P7%F~$Lhu2pbAAUaWv+w8c^x=N~0mfzg`uR1COZ`)M8iP+VPHFn{^Dp^u zKmR)8GJgDg(a$!1kL8at_KSbCykS!ReQxv1MjmBy%bCU}S-y;E1=9r6qODeMUNdW7 z=B_x~6MQz~Qly8o+_gSj{fJNB z!`Xg6AMUrmpU=Mfx~l*C`t=28``!IG7a-%mv(J81^m+Vu^67gx+wb7R{r3cZa-_GlY*cB?{=U2wP`QK-Mt4}{JINSfxhx_e+ z>$9)Et?K{Retp5&{+E873lRT5_1TY#K9B!TeEJ^F_CNOFe*cp``w5@@cYXRE&i3E& z;ePwC`|O9mtJ*&6efl2G_Fwkle*4e+?8kiepZ4i{INM+6!~OQx`0OWr_8;}>dpO&F z*oXV=ukzWCd|$PFR`~QiobBJ|!~OP``|QVk_V4uRdpO%)#<;|5alRf)c>GCu>1Y|3 zSHW>xXq1iH{PA1SRGVKk#nR-NmWD@jKI=(2;!k*Q8{fr!@uT3;G`QG_{9xNVbha(0 zm}&Vq%Zpq(8fE!cq)%V`Sx}8X{&FhVe#v>(pHik#rXpX){jrhlOTNU_r5qQR zGxfK>KYkW_HN&=j#s4t#{`MC62;;&>nHPWjRP01!wtnSI%b5D*{d^hsdkM=|Fiq^D zemU!xvV3SV_xsFU>;EL{$63E9jlQ&BT-v82Kfm%<$j4XwWXETe?Z%iEGcDu(jCMWN zXv+OhT>M~rQht)lmvP}MZU?r6$5ouK%LG&Z_}St5Ww|oGu1lGh0>q#2K6ZRbIf8qX z?-R?W@%Ug`UHS1DR=$Ge!_14_V=rLWg2EGcGA(AY-a+~7}E;&C&_e68vn+ye0dst0pq1i<4hI%x0UrW z)A-wy^T)7U5%bYB<@xJb!Ry9M9v_5L442qu`_0|5-Te9Wgctp|Pd}MPfAz1{Zj!0& zdx*U-=NI3}&AAWA{S#kbeENH_?xvKVd}RZW&5S97iK-ND^%nXEEi=tnQxO^ zU*W^e?e!(~@Y7=UCz*w_@%Rg8TNqm$7>}1o18YCdROYXEOWVF8 zC-o9MnFbd*8PAb6)_#ns;4)sLoF8W@_M@%2f4fv&PXv!K9@kZIu^;)J=fR$~eAUa+ zihV5&aekO-glRF;DAN+AVpnLC?T6WJj46KK)riEz&U2P8d%@CD&JVw6`3lY#yV8H( zx3TpX-fdfz5BvCtk3WKWX|I!+FU_mkUV@hhzTLK)_~WNC|CF*k;k2(Wc4d!0!ghog zJ5t_qDKCvb3C6=}=l&+E(GM5c_7cDRVc_C;p=T>(%H- zt0`Z#s#XFJ(NLrhgNRr|Un}{*U`NQVkwsJmyp# zU(!EG#?$q0teW--cd-5?eDR(n3UY-V*ekx`E%Lmx`FgeK5(xH~d z23s2KW2xu~Eo1#s)+=K9UDZ!Y`F*YZGWJ8s{mI`&xdJk;6gRZxCzyu0zC}!n`&m4` zzoq3&r5)1I2#@RdK(^0xPuY*M{c`rRtiLTMS(n!vrm<$0FKWZr6I@C z;((>48J32NEcMqj#^qOV`Q==G=q~GrVj7BDzT#d>qf0D}tgy6nm8D^plXBv0Kg8ps zg6#{QU_8m~T6}=DBY0Bu*IWOSOv`&)xg^st_iu>%HNv!nX$8wEu4jm;l#`Bn^WLkr z{Bou-wpYrug6kJ!KgyUUW!$k`8Pf#QbmdCE%qu0_F6B&%_Rez=cO|C zuk^28pW+zPB-<}$e@dAC)%eLPhUeWdkBqn$L-n4!s-mCOGui)!8Bv$qY?Hi&U%U6)Q_@$lJ(T#w%lDUKgRlD){E?> zew_8AtQXr&{e;w?^+LtmZc-m#d->TU>ld+J@ows?+IHNQuwLnI>W5jsjP=TQQD5%g zHt_hOdhP7~yt@5~B;&8H;S((_Z*J$~B-2m}%ZHi9 zkGFCOre#c%OvQde%4PdWrino|t}7XAX=n)ZOv8*9i5$}y({h$eG7Sy2`lU>z{3Mqj z<#H9*@9!>O`nPqFo&U(6KeK-x@#)Kcq<{Z?Yp(6zFz-{*x#rZrDB~3;*?ucI+0qK$ zKNl);VaCgt9>;cLY3#?@ei6$j(%2WdDC6oB>xb+g#=BRx7x^#y3ZXBoT$rh}?*^8q zYllAKKc(qUo(DL-1`++FPhb2KecA8#>-(P{NI8G@`Gobh@_)n1q)AD={Qbv|VYUku zIe-88%&Ft*+3~V^FH4h5k7F8Rx{T#wOvR4hzXXqqlSQl?VA*cD#->CZmD5j#Tt^^ACnjLY@o z$CHf9c<|%leQo*v_+9*qGA{k%*N=-nKmYUNNyeo;1Q#0NehFP3FZaIB0Qseuoz=jJ>G&U-?hk*FQhRd43lva@EccjqJF4 zvmuW^=3`8ED4*M*Jj?nQ$+1+*6&hu^(rk;XT1+deVp7NXco`r5`E?oBPpHWGpa1&I zsh*8(y;gI5l2R|u_m>}IzayE}-;$b^O1VNsu7c%?xE=iE`|XS0d#Zk8d<9Cs`^U!u zZa<+SSKavV+n4LpKmSWTtDFC&e4%15-TdFPsqMexnpnD(`z_4;0_GD;mvMfK=}gv- zGW9i=^4BlU{h#FVnh4qc_t#J4616Q}R@YLgmr#)_W4SoX`Ta<6xv>muN7b-Y?*C&w zEMMNs(s*x6z31~XfAI78Fx!#m^W}`k`1yR2?L~c##M8uga$S3r<*Hl%R_EJ(>&Z0A zG%38V{3N%7;`t@S{os|$<5=VpELXmZ^Gh_%`473Sg^Ha2{D;q7wV;`;Uqhx5rU|Ap zZah7nXJg#Iah@NgT%n5PigEf~miM z{PhcSzn1fSkf>v?V}Jcbu8i?Ao`l?np(jw-|n2$1F!Zgk_on0@V?I%Q@?M0Z6{YCrIZpCab zDdqT{3r9JBcl|GB|0CijQ{~$qllG7Fw*8rIzdOdbtn<=NqMu+qoF*PteXM<1pZ)p~ z#?!^)F~(&c@arc;KVA8KZTWKjihep;-rSDs$ZK|7#a_3xG|A&_rKO2?EiHfFQuUyv zNydwxV7W&vmH0f$a_V85U;2)vX0s>7DQRzi{H1u^5-M`l#a~-n+Imf38fO}A#n-XC zaKk=Sa61&g!G6BUe)`H6xg^Vl-(tCxx=?bfkC*Y{k6$y{zEF{?Ev0^@nAEGa zt)IXAPz#%%;Qp;(|D{}^A{SviChg#>kKexdy{GDz>FXcqcmMd<`nzpFp(0n^`0(48 z>(w8hOFd=%6uBb4@0a}QB(uyZ7mH51DwdJFaSXxxm>ig%Hc$)Z2<`tnLS6%#dT!C%>H>LfV zk1_R^U&8HBA@$E>KYjCy$i-?{JRx$vhLwJk>}ZgT^cq~HDfmonakid=Q$!*5^KV}E=u?I`n$$ob=Q zDPO3_rHjvdcCh_-TzgBma=(R{U%-5V=`zlbF`dc!QKmA^g!=1O#{FN;{aKo2$FIMB zA{S%4IGg2s^SH>Buv~=YqKr4e^CcpPBGJT@!`pA&;Pt!%JtIt6+PfF1DOx8vAj!zpL+0m9hOWzn>Lh>VJR9|NfR@Ie-0< zyIH@YPPTq!-EF&ItQ zqaSCyB#nNe8hv%ZANv=n29Kt}r5-}%`Du*hDW9I1O1sGO)9T(Yi2p_XRn_Q6)0}@7 z|C80|SNDEFc#v&xd5=fhN5)Gr=9}gv>p9YUJF74{KpR5KC5B}rv5M?~srK*3@ zJ_*LD+@1ArEKU1L{nZd#ezEDbL8D`z}i{nDMk@%n+U z(~?0vzaMC6(NIfE4zg73&r}qd7PEeg^};N_tNJoeB;>s~c~799Ew7wuXn^G-OiP&h z+}VLGW&a|Bt$vhgVh`CbllJ5GDL%lKQ<`_2@g>T%VsFbw+FDvxWNCRX&gXODv4G{{ z8I~q8Elsk#zk=mlekqqTXL*S6CW((9$B7lX5E9ei_>@ zW&47Mc-+UhT`QOh9$~zw+&<4&uUJ~b?H^-W+~1ZTV_L>E$+VQ^;!Mk!N;&DM%v)hD zw}NSy^^2I6Mr`>BrWH)XTz-V*ikU{4rYl$SWnKskvGz-tmJ84QUXjio&ub;@PcdJo zfBO9$ag1q%?N_irA-?YS*!!DoKf!({nf|xhKPKw}kIOLA5^nDp)4yx{#ku?> z*3FPySFE4pb}xF{`ce9hrDba@jXc5pS(bYK_!3d}uZZo3WSs3G`!Tj(%GXEPZeG7} z){pagRmS}<)krX|IKSM7CmD}&ei65y=&NovE-B{v7yZ@w!S~!J-8>`lPti~tAIUjf z&o55I`f%Jd(5_=)rhoN(u9P3;^3&ZPslK-S(t~XIWlUpC#b2?f4&-<^&GW<}#>0GW zTlD35Vw7>= zXE%J^e;WKe)?bb*&4Sp`;Pp7eeDB~}t!T-hh`ZTybwW`$HY08)J z@@X|V7n7FA@4|ZDuQrjt*N4B)OUlV?Wm~)>)1geSX1a*!-Aofq%b6ybRxnlkeJmlS zVWve)BTPlFn0bFihOxclm=0$;g6SxxW0~Ht$X*%$V*VVa=QEwi^irmxH<|fj-WRXn z{bO0LWuJ{7vu*eM%=A(_O+*|!(!zbLU&%F=PxiNbbU)7TWvLj6vwXNO<4oiIEFa#V zDcgxRwRYpRnC4m9iQgOiyQ%nn>(Hw8SkHX;k)3~kSY$BAU1GpTXM~sk>dX3D*w|3( zN4kElNLc^<{U09k$Nr~tHo2f`JEfERC;yLIAUf}l+i}`|Y5XJ(sv39s$BA0I^YIfs z@SpMX$36V_qScL`ng6Bn(*pmrz&|bUPYe9h0{^tY zf2#$OhwfUOTiUg1yo6uK^SS7ce5%1?KJ|!?uLhU>E1~=Q)cp~c@L9aSBh;ssmKFW9 z0@VQN^h-9`9n~5>{Ym&?Hy0m?E~UAn%dC9pxT^QXNgtoCJSoO6zu?4O8waBQ-=fv^ zlhi}}iJtU-vmWB#KlK0a7AWTNC)Z!Y|LlB!_J7q1)m`WEdyYMa+v})0`CX}pw1x67 z5xb)NH_M1`{&~bd?}!|~2C-fEbnacuzYG2PcXl6@507Pi{6jb=!tv= zmn(W9=F^oY@}e(#&8yK9`EI`Q4yZ;?=u3H@SEEPqMe3jb(oEE|PpTtK%lEQ;vVo=L$6H!- zf~6%)E0~tGV7b*BAJD7f-SB!k00B7USWm7GJ=8g85SBi>Fy!&YL8dpU-%7y2Wo{ zUd^!lLChC3FaDM>A7xy=?`sV6vCAVSRlBy~E#Hde6H6@rIsf2vX};xGX=VP3_qKd%%kJ?1MdUc@(|Ilj z8D;lc`TY;DqOpMG<$CkCSGDc&oz>UuufILij}{+ki&G`cPv`pj+at#H8Nu>?(g7Kc zI(l}1>r+up{WluBFD)4IrEn?U%b`gO|;D@`PuShnKAQEzzgd2{*k}G0 z8Lx{Y29fKnWV@BG%l%R64lwv|wqFsj{5I~ticHI2!}76OmUmdbw6^6>V_t^e`EEn{-?QC-@o3L6j)sP`@g;Z#<+ZL4pr*o)1;=OAI}u6+r#ykY9MVuK>u%Il7o7GQW!-DDCct@JaQYU?B2lGk zjq9jX|DxLMB6t3-RPAR-Fvb%P9sG)81n3QhCG)W zB=zSz8}hO%HIO1(=JnQGc-##%pg8n_XN#)W)yn8;iqR~ zgoegXQ>x+T3(!NMMMrDZ@QWgJYiM2{B)=koy5GY>!*B2Grq#!eQn|;$K<>%-r}FLq zzt^a9RKp+7o2S)C#Xsr;V&nn3Iw*O3fAktFG~LX-;XIpMGhwPOfqi% zU4)`l{YR!i#L>Bvl%kBN$f)|8ahae_IsLRE`DudWlAJBQ{$v!~Fk83AD-Y*DW*Ny) zBDI9gxGoyj)?XcBWnSEwjA?;f{muE>*s1VjOj*yRiE`5UO3+{g75o&c7P)1S;4zN#4Z|nlv>@-X-fy z`lESBPg?jO$;1jAl{fjZhba9Tk(0~Ywm|U4Xs76u^6BHOM$7@xjj(fbx$2+$K68! z)_7o>Pg?yh~;0Vj}Fo14#r$rqY@sMP1k{H7AvcMgD;_sZ2O0Eg?~V>EJ2 zC0n0{zR7#C7|g~+o|5UI}<^6*H>sty^K?QGIIxE>b`bRD}ypNummlJ{CbMdHEvX z^&+C$UD626e6};DnMFSl#JXszsS1utz(h-Z*>P5=4&tkN_~ai(jc3ue`tFM?+7U=k zLWco0!&enNxDW<9=q*^6sglKjkEt~9_-vqEbc>c+eTZHi2V{IDy5vxxJ#-SYC81XX zneCx%e>e^3e)D!w^fxP)m$T3@Yn$mJVM_+UK@k;Fb%cB$FxFam#KoMKS9CA>!L1p4EBZ0P*2X7 zYX33j=e$$(xo2oK29UkT2{Lw6`^zxL=bfovLpU^ZXZSZ*z4FHEPZ1F;^Kj!TEqSVa zvlD?|t|yt(Qyx7{5w?G*_!F9{v^K^pEjt^`nh&`C?AC{+XGG{xLpB2Qg)| z^>E|AsbBqmSOoLt>vxuGvkDF&8RH)PQ*FO3z=++TM;@!yiGWJ*v7^P4vF*@y!-W`~ zPwN%f@S6sqD@9OsFmuA4x&vZ3niM*opNA4xYJC?(?(@VtQFgQY^jhS+D7p5+Yigi7 z^hRWF_Mp);bS(6s{t4MR*xIqa5tLF1E3{TOg+PxqLa8Oaqz6OlL{HM|?Np%+`b-F1 zTvf=-0k*hz^i{y(9`1FyHPUfBwL)V@-v^0DMar%eg`cA>^O`#^uF~o(R7JlAJSj4{ zrs7tnozwhNWo3Q_9>|dvFnw!fx;q(VY$qRhTTjM}zrsyxP}WJ#Bn(CxaJoP6AtIwJ zJjR)gRiDP2jshA@u$fSbMvWV(@=BbW@Nms&PXaXE)3)%%&b=6%M*C(!OFZquZR1e( zG^hU{thkuS^<#k6dD<49Nys#t9`7b#49B$_v-3!qEl`sWU`AKP;cR`ITPmV18XX{DjY_2Z|`2!&92M3 zJD}bK+os8_1I_*1@mR%Qr*AA@W{k*rZvR5I@;KnzlDtGV=d@-~G-rbY27sFF1q}c&_?GbF}FyO~~GPW!ubF|LEfHfEAxxg>4 zB9k)p6dLIQz29^$H4e!#PuiPVlo8DP%H6nv%{~XA4OIlKOtXgis|3q@34EI;lQOhw zO+*hi4LpryQ0Iow4)ifSW9r$3ZYY|4TeAb(=?*yJiP&nANZuiVwOE%-HID~Au8K@* zHH|?>e}%=&NM8=g`JQx2HI3OZfrnn;qRSxkNEJa1@Qr_MAi1w6Z3Jz#jo{|M13z)u#Sl7UN5Ry( zlS;GGb@+I;Jr&{$s;Zk*X}5-tjleJm*=qAw;}X(RY89Rdj&K4 z@I;)6ea43P*j_iyVTX8rceL4&!8m3vQ+{U%_4fpgMf#@-jo_)lDLvTY2@o3P36e!C z(`<%*w$O%y`ZD0xRFSb!OyTqB@4UIed%xgPmqO@KPtYrs*ES=4SFk2RFXQ8Dko-Q4 zbZSqKUbCC@iczdr3u|l}d@3g;E1l9Erl>cA$DhQl9D(@JX;hT0Mn&)o-1{5H#zAuC zPNY*h#uVUWw8EW?QMnc3t2`CcG3K8genz@pMsJL0BmFWYKi!G6zXt6xu4~5yID0A8 z0H2heHwBOi*I@sQk*BeA5hM@ViL}24BQu7d!#2l29< zsF-S`I5sh(*=kmK4&oo}M8#_{uFKSnK$Pq98^r6^+p*@A(Q?6)7=X=gbR1kq)V`e{ zJ=D{v9EO#(FPOIoQ{^(}tf^Kb3h9e>qEXo)^$X(|>(6Hl>S=E$Z-%rTc60&S=&#-_ zE8xe17ZzBNwL1|hq>Z6w>zz@fImCDyLSIwKv`E`9-*Z@X&g}^|Gn~U|cO`%rybeBg z1W-M3rDB=L%dD~XYo*9l-4=K!lCewvF$uuAHCm#w1|9=)Ao%Z-1XH7C@+%Cz#?W2{t>*?YNK~JrY8v zdxCyPjoE&gHP4g!L$Y*7X;o;?F7I-co-Eo$3juIND+x z9KAVn{U=Iwp{xF42wmj~l1qGf&^~+KeVOlJ3N6A_sFy(KUQdu}qzXx<*&O#V)Y`~A z3;bPA#xuqNf{|YAE-GT_A0b%}^NFo`Rq52J$LKxaZbIEmDV?Cx%hRL2Wlz?*n}@N? zk-$&)WGZc^NWbbHk9pNtj6w2-G}5*?@@NCL{_LAD93RSftC!u0dj%?8e|GJ1kg|tE z8w$C_a7)#Htp{51<%~vqTcO|oKtnZsU6jB%PtAtO3kYgnQnIR zXD3*hlStu{wLACaUh<{ub@>Q!(OO+!#6IIq4iY2lYi0JyyJd}4s@n_LP|u@L5qkMX zv`jxrcE588_GWXs_JDHcu?RqP=H9r;a5B42!q!D*zmv7f%pCnIbTY5+i+lCVH%4GJ zQkk14Xcg0$AKeY&WJZ2cDi+9m4(mWHGxJw8dMuRr!YYt(=Fgo#ps|!>pz>W?gdIAw zT?5=+s?1ATVQb3C9Jz$RK<0$7HebSDBXijPu#CS6s{563+C>>Vm0TPOHJ$lJ3wlQS z&S&J}>_Oz>g@<8xJoCkQA3;7{c9&6A zJVR6)I8LkxwSVogn_ zd!K;r&B@eP!02lbtV zQI<2nasl1@RP=bxFg+JnEgIq+G(_(pxC4H?$+cid}t z9{#Z5Mr|-;%vXktb+feU(W1Lj=QmfXhdKXUe-J-6T2BbAI7xtF=W0Lx!iupQcaG;P^>w`n6cu?$)i|2 zZy(HV_?WVD`zicck;GgP=>fREC$cYz>^R4Dc^muhUDhu{h}{sC)MrBB98psHm!QGB zT;C3xl?J^6$n}EeQc5+UN8L61(Zs2Z2VKTq1rLn)Y6z_J#Azu}UEaV=X_x)~gAqg` z&c}ei#;5BdToKro=L%6uby+w8|5gQV=hADS@f+Y{>uiFS<`|f&uq}dwF8k<7m|0A@ zMG%U3f|Sao@t~T}1NfT#*EsMsQu-d0_V3Zs>NsN|Wt^aAytV{NVRL=ZAgzwTgxRkE zHkzNVX$>(%u?ggc0*KA7adO zY)3XvcASqO^PR}0*xN~ut=IxjkGWv9Qf;XPTf?=^_!#H=!C~W)Eh=KXSuqx~ukmIO zV0vTIa$2I$f((gQqk#sD2awJ|d{LG@|NQNchXz`5yVd z2)2`ft9mrR9_q>DdjXc<#v|NyAp3#Wh4@E_{G-+)&>*MPel$uOFLg`}`uA-Oh06my z=V^7U$l>De7CizzUc1|fXVI>;yPfu`AtOIGWR%LL%+d7?IlY4+WBMC1_E;*%nylcqR z?+uyJ2-|42yItPWkeR(eLI(nAf9k9N>e2mzi3D`N@D4*R&aOq=G z%*J&}+9BEXkSj5g8=$Mbe`>(wF*uo1a-hKP91Pg|rv@B%2*G0nzWr@X5#B#FaQ0OM z8^bvvXnOx}f@>=7igfE^k7%RR0gV^nvHOWs>{>EK0Vy#%@yPh54(Njjq4kO6$hV?E zj8X91OL6poE!bkS3N28eDdCNcTxX*|T(0>?tQvG{O;R9-jj%~j19?@bQklWHFVd}_ zej2t1+zyXgKR<_xAqC@Ct3^1ChKs@+ZrhF!#`;ECx!+QG1KZq1T3%Cit)f9wzAeva zoJJa|c8`Nw!oAu(jvQjh(IX5w@j^p}&o<BfsJq5pUqeFbwHD_Tt z%O3hmJEWsaDSdb`mb)ARRg3eZIOcRDWvCXvV2EcQMd{2IEe}O{7^Oo)NGto8dPq0H zC;wdX%4VL>4jJ7gGj{?ZL+_jm@lmf~4LHCnpRZuDgciXSZYAp zZp)rH{1>GzMCPmbyybyIn*IxBFWG{OuPD=)vze2&AtMuwWioT;k*z$kVBslE0k!d9 zI&a0uj2_4xTm`Y(Lz+-ww;T;9DzNRp)`xZhvh=r;m7b-)e;)*q6>|q@l?p{+Yq&3BkIU1ix@?2$GzBt9eGbki?! zPnNw^-`*bQU+~FaM16FS$;JJ_W5{||vU3-k{<{*q6=SnE5A-_m4+n-(N%t4cQ>k&AW1X(>4@KGXS)jQL3 zx$O7#D%=n1F~BBxxaWyIFp%BYX@zUzF!-adgV1~tWVnTMDQ+WAAh-<-SdsjU4npw~QY3wL)`ti<6Y(*6q2_nx*nFp%BPnK)9Za|y169?ZkXHnW9?INOS~ z8clEqKwStnWt#&7*~QL{t62MBKu1(+(|LmIG}g(7w{Sa2>l{Eb{{lXNWT*j+r>gT?qtFfw+@6yW?#=?XpejyJ{IlD+{g1}- zPbSI$KSCmvt{9O%?t&>?%Bz6it7@gN{T!4s#BF^KoB0X&Hj*(Hl!Xs>w_uqzj@C!5 zo8rSgojVboajY9@$93%vs5ik@+rX!|xtPC=_Ao#vRB9iCSs;6yyAs7Uqbi&SXkw+d zfiG~c>#9{df@cF-;AwZJNAua!-Aj%Hv>e&1Mbli#s&kVF@H^a#@#I0j1ngD8RTp}6 z+~myHXY#f2Ignok&83TtO^{sncDLqPC?bToq7^>2eT`7%#oC3Q@iv*!rG>WFYF`Kr zts<6|s**<{E9u~O#NccS+0;Qf1%_sIaO7^J02_u2u2J9}uRpE&(50+)5$9cY_^dq0DAXx3!hS9__(`POEC>~F2H2d>KkV$ z4W)+2XogSz^|&!m2i*?wRxw8xBI`iOHYZtUz|*930+Cu6cp1sR0GDh%NA!M|{?2O|W&6J#-x|Hwk1LVHM3GPy$)XkU*Bw z639|o0@?Ra_QzEIHu8!C+3%3?yJY6N2&p8HU5nvU3+hHZH;WJnWE(sU-wMdI4P>{0 z=RkHLY)K$X4ssydZ!+#8Vd7LMjUl7;$Q}o>C+v?`h`>(*FrC0A2DE`}rxL9q$XtZa zVh`j%_C91hNSVeQ2eMBi;}yxw-G^-Dkp&K9Hz8T!!6sI;$c*jCt%FuJ*6gboMw=NweP)kRE9xM`70@=hfH~|P`oQINpl|VN1GFo8@@L8UWaSp*Ml?p

HdCIpt{?67{c= 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 z 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 &mO?@-_9D{+*qf{#rY~¨oG^>pZc%D^7&PM^M6Ho}1gamLYgiP_ zTy=r%lX9U_KGfvBhE&kHJR7ZN@TulnHd8m(zR#mEdh~%w9jnWo;$m%-h;-PRew{bQ z>+udQCg@^2a8@7`++G>TPdG_XTeNn@Mp=?hKT&KivrtE0rCBLg>R^=}ubNN<&1!M9 zach(FlV!j#+|V{c@Lu09e#qHFl7?<365u>v9xZ?6x)(HYo5ZafIJwDAgF8>zuk7r` z7in%=kQ=tt_rl z8I!2GsQ?{e=#)vSiJdItEz(C49SdVg#*QN|St_6L3N;~*3*B)Y3Ul(XDTPU3hTEC3 z$R>|=$Gu>ZeLAtPIWvA^lgE6_*Ai68eC$5Ip8PG6#_#jX$>)+ZVc%a3Ch5w3e+5%| zthS9ZVPt+^+-7@ii?~8NDf;K6)7PD;AfVol&qS@OFqX~V0(+BFCrte`hQf%2bt8}CiQcBr7E&V*8Rw& z_TDS?9Ym_E`=LpFUE)=@a#x$wT_&|-uhjoCsUMis-|v>1)q!a6Jj#aRXv}~>>C!6%~0!=ppLU_(_y07^J+u1uQozg8isF_(1$mSyX5Nc% zD075k4KS~bS zRNS1%eFNQTYKVB5R{k*Y=AHR$ON*dZq~G>FAZVt_w|e4)LR1g$Jr?+)J*Jf-uzpG| z;98vI*XS~ddmKlwgovY;$NQSc_mP!?tu)AYhZT||0l{j51Iz8XTGTCJI(C>;h2-_s zJm6IXr9P&=7a+3ETFn7}| z2O|m^&C=?XUOO+Sf~m*()aykpIUmI6gXdC!?H6wokIA%m1aJVqo!gr)F0YOc4EVL* zKfMb{u`LRQ5cFH`p>?tM_)4##nk07hb#Bqo0n+fyFkI~3ndzTuy66hyW&1rfoGUe7 zVM}K78(QhE-k@E6{^Xs*!c~R{BeiaS2}gz+A;_DeXg#5KqM?;hQHZ?yj{AhWkONT~ zpK+$H`xL~ynTQ{&&dy#q?<2STc|%M@eNidE+xC}~1WV7K>dT|!RtnHN;|UV7?(PH! zb71gd)#R5dl@~t7siu@a^?Ee*1ewdxXgQ)=cb-l^`cm5G{YDqw10PD zZaCJd)JfbvZq=dPLQkb1;|m}l?4DcA)m%kQo2QD;Kk2KNL)hzc3z|*5rj(|FCLA05 zyA=EEJH748m3sL)tmO;}#-+D&Gt39B)11ds5KOi2|7m|S)k5T=sdp9k-cj6?l=yvR zB0v&Ccg{7r$n3-(%MDbm?T5W7^}62rdN5x*$u=Z(%YS%_4MB(iPw*nU0lh`~1(6fY z++S;j^?Pdv&~whrx0#=a?q-QpD5G1BAr}eSdt^#^RP!Vp$~(ycOoU+FYfi5)=) zGWO9u&o0;~nD^>j;?uH0K5Q}*rB^qj^()L0i#f;Cx3zJT zliWgeq^n|?G13=0I^&M?b;Yb`<2LrU;?z2nt9Z2$vjnhsv8=Ux({--^M2>_yB1b$= zwNssBV-|RUf=UlpRKN?NoG{xA zW-PC6wiuACsN(yYeY3Wm^O-SUfP8?_YoetIN3ingH|`E4`#2ZW!$BLZ@Kh?FDLmnK}GOaJ8o`dc%9>torEJS@dk{bW8nw;;VE~= zt#nd1z_mF}g@L;5S>+IZXt-+g5SJ1n^$6+wHJrG*U2bom^lv-u?O*)cHTL#r{_O^P z+veZq?Cm%G+pYHYT>o~bz5TU+D-Evvh*djQB^LF?3>P-end=W^VTbjgeuka9*?m6U zunnl8hLu|cVX8fDYc95tRkQ>83nVl*dqywT-S6}gp*0v!z-UAZS-#okMn5+cTp(ey zzb=>$){mk0V%v~gpMC@P4|^5%{=oYyNs6zygDn%79HX7yG|pw!+M~g4r+wmiT7#U_ zos^AD&`HeXf=K#imIA$qav+No?{{=4B_O;T^p%z~DOyqI@io%+W^>)lfi&2>BIDLI zhhB0+>kW6aNt3_rv-8C*+3*9Mc80219e`)dL3zTR;1mQb#Ff2(tNzeXC8{3O15 zj!0Y`E53RuytpS*wW-dG;iLs+F?}gcG4%Wj=Vuzc$KztCHZdI961?4#+A{h1W63IiQKH?!rC8 zG5F6hqF88K_IpPVFmjLXoO73zFQ=nto(<8=Z9`z5rCVibN;b+`HefpxepC&% zGkZ3Jv^kO;3aM&i^v@5$dgEJHqttVN$X}5%lFzEyllzsLCQUoWy&H6#LWn&1GVS;* z?cg9Cram^@6WnnGGp4lkiy-uSvo)f(o5fj)u0r_J?8yho#>$~#3me(2Tw>wi`X7NQ zj*0eS@9fu+-Nm^Y zpLb^5!OQ4X(adzihoj@x8m4e=<~Gxm&IWv}u zae}csi=9E@LZNN>V+_~g{BJ$k0MEnemqe9nVH;uK+iQ_;?-)7U>S${I??HE%5y0NL zMGe+K{iKbZgLw|3R7{5@G%@_BsNHA~-aULP?TZ~R3WMCl7q2^y;L#=!GkT7q4s3z@ zb{g&M8*RIenE3M0ug6{-8j=Wq%{@AqU<48wTWu=b?8Amf0;FGMFc$-IXFW#)hTLl& z^MUk$>J|Y@dLfNe1NuWhD4|gcC0~%w$r_JOf)xS7xGe4o6bk!M^PKf>^LW0Rol*x z6(iy_FY|OBLojcNH*hCSFj7lUGt>EaCFe>VXVRf{m(IDvRm&5syb?8YPFl;a048`d z_%ja~5&%1On@1-R@k&=rae`#%N~7leURSV%GVfQqg7nI~+qoic`V4-e*=yTN=7z$z z&gK_-sQZ=lc3U`LrQRCg)qxAwghAZ*Fc^U*Jzo{?mTVT>}vccsxj~*=Dn30lgIa5`$L5hS1AISdZdf6(;II zehd6nk@@#CP=SftyuUNEB_)FkS{M7WzWM1`gM6yY@S9)RtX;*pU*#BEqU0;dDnCzG zU$vRH=kM3u82ed!{+D*`P%qoHqwNCLj^BPWSX92jkl2JfwWv%d!PqJ0SSI0f346kt zC9Li~(S@6P8NcXAv6gKA#~Fw+?`3rgnlGVK%LF`G$-}0Golfe{>zM)?+`x`+@d7tg zz;16RO%sQYhW2R!2lT4hcUHc{y8upUoAJY9GlY(N`3gq3aXj)9fhq zK`HF6fH_UMo5!%YX?N)|!E&0UzPqs>xQ$3(v9WIB;_F+`j(~;n@47nYk%mb2qVnu{ zouCY&&Y9a(PnXqiQ)_xheV2E+6apV|tF4FiI%U&4PfrU9e?7I9!XMIa@HF+f*5*g~ zga0{R=H1V7W1IG;LerWwLcM94O=xDS*b%z#LJ~G#9wb~_NN`7yu(FWw&BB;ItTCNK z0uoL^o&@n_BQ~hB!%XD#I(Q+FmEndzpGw~Y5n+^?8(xTi&kolC>VOs@UE;MewG0%h zw2zP_o9rkp2Ac65jHv)y)0^{;7`tOMz0N!7C5%bhiSN&h?FFQumSd6Xe_duN{P+BN z_i7knfDO$uWUTYv{zuT-4TVO%p+>zrK1f(p=(u)u+!KX_zruHH$5n|~{!GGgU0uV= z;DhZq{T?F#hMEYg6Ere_ityJvjoUeORLnP-YA<;(&I1@{)wkT%x82)W7&{lvWlI{T zx}8<1!i+){b}Qi|65PzBkdv{whd>=&@@QycoABu z;ISoy0}JDQqcVGCT##^2p$B%Vq00*iPZtu(L^=-^5?(6Q>(lz;jzU6Hp^PSdaU%&V zMcz*^qnJuuF>g$TZRrfv;j+SqClrRKQ^eRzLi&Ag01J!A4W**Yn~oN4TcRT|Z7w_Y z^5KPC?kZIHA=PWoe?UBnP~{WP3ZHmlhiV|MOjve0mS68X(3u`yU>~-7U*!Szah-+f z-Lf{YCkPMw|9gD*;RgyQ@xPDnKJEW)e0O!fpc_68-+kKuCcgVVbh_M8W0?~M_}v5F z-Mf%b#CMx7Hh&#j?h!vZlKv$4Zdo*(TVCX^!FP`@#dmk|6i8_=#I+m0%EjN2ew^&{ zdfG#zagwuG8n!XjYJR#uzn4^2^IM8D24h^bU)nr$4e;LE4Bne`?2-k% zw+b?NZ+$mS-<9CK_3{5S-rGsuOm9ve=mVr%a58-y!UU=_e zd*i*2H+XL%s4OcFwuaUqjT07K(9&I$2id5lu_Hiw|H6!)aN^6;FVD))@a*)#|QTOy>Z|tQ>?e#q&AE2_JITcTQBsjLW3iH*`q@TX!#7~WLoz<0h!4L4Ym|}Sftj-B9fXI$hra-)u;TJQ z@Zr*K`DSl?_^(Nj;4L3HXb7^_wr&JO@Zs&U4iDr2ug_5P^jaX|^CU_kt^*Mt>O;gY z4QI~+BEG8t5qHQ#0N4`@L_AFOg@HBnAThrAw4=a>AJ1ci_%XtVuZzE-P4S;nCY)GB z5rO}y8$NsiYPNml7c%ZpM=Xo^~ODVKP*IlB)V90>6v z=oGF%h<|~rNY)Gi4b%n1}hcW`toI!{?yzkCYU`zg4gm~SN*eXoCF9nG|T-!#G*o=c0iy(2%!?Pf9(R1Vb&h$?o zA(l|d-*6%iPJEr4t$0M?2m#@rA)}G90w;d7ZGmv&9MA)c6i)o*;Du70xTZ2V@!x&5 zfD`{NEfr3D4ZjxJVsu@D6TiX-iZg*rfZ~P@g%fW>2~p&+e-|hIfqD;|_#ws@d?&dV z`Fo&fYqN5L!HeI8u3@$^_;~TSsP4v6ym(W?;P?)d-q`1x8h%(Fe-lb&8)cHdQIpL6 zjvjb%&61x`3*|d)Iz}-$RND0VJpSk(_I>c;E1judgM^97B5On)hT;g@7t{W`*^?XH z@^|foN~@MZCYb%FJ@6@Y&fa+OQ=l0iFWyEuuJGbbOgwj(VX4!9`)Q_{MU3CY3^$1J zNj#IQ$9#~Ta)!umnEpCbFC$6Dy5}iQGdKAszgel@axv#rim2Z%*!VWV#=)+4Hm7%W zhmAMaUTrYr#8q3ijGF*3-UeS2V7#*jU>rxOH6(>Y@Am|Z!^5$hb_0xavU)T1{dl~1 zn)48f;O>71FMiWUm9T+Qy!dg3B>xFseBfSq@yms_VXhNZ+{cTXZk82F=0-Og1sm#v z#V2FlGpIK_XZJ5r2Z_HAh$P-0E{{{au~`|n6WF6Yxdk6ok~REDHmz%Tu7`inLntKm zQ{jD-P=XX!(QGDWK{813RE3$90-G?|DK471w{{x8&dl!vTZsBT-&W$D-*P(?AWFyp z^$yQFg^V;#v-k~%FcB?{9oL**X~YC`%qKerFT|~X6txMm(Jqr}d~&Vn4xB%U-KRJ+ zk2bp=b`(J-t&MLu$t$qHM2U2PS0KG6fS7bzfUhsFM;jLva3+faoXJ*;Gud$6D-^*# zvPh^sa>NT%I@Lms25NG@E_^JhIwOFZtP#{?VKnq2)sj0|Y0iu^Z_mXg%`gBp`N}EH zp%uPEQtdXbygK@cCE;p30>^QQs|ZJRPn=07Eia%R-_Cs#w20SR_G3KMZR7;%aU8d1 zY4K5yab(lh%;*XEFI)Q70P$iG_jr-PJ?a_f87VIx7j~q{H^4n^1NV4c5%;(o`<2bF z8}9KdSjMfKych2Ab0ihzpAy{TQ2^P@qc+Y5M*y2lz<@rWI&J= zQxZ9#pZVYTLQ!fr(w|vxey$12GMYMy>h?e__T|wW0WUx;Mzj4aYH>4_FRAa|^TyyQ zZ4=)TWd?X*T?cr|ZHc$)INafSA5Xc=P;e0mIT|G7hd@{N;0P-sA-8hpeS|K>d@14} zr$9Rr2Ze(iQ(MGAZUXSt<2f}i^Pc9pU1?csOw0FFiyanlkZ*Gvo~w1f6;wN2lU~Co z_42!WZ*x@wOALUJk9^t!A%6&ge|*bN9d z+~nc|A-kxW1wx+FTVHQZ3JBS07O4OOsp=C1%X>q=umQ7oY&N~peeKkeSwvwW6Ic{h zli*txh1F)h8PD2Bg=f5O?pSc$Ed182s$+B@2#BTdXqsP6)`U(Aa+%r3RRmxyH2^HODg*$m8w326s;5wh(d;+DUp+hdHrL;x7T~X_ z!H!%R#pP%21+ZdE+Orm5MSF?>t9v;AiRgf}Xz-gBZW6*O`P6L65tK5tjGgz$!Rhy% znS)`mi9M{naH05xNz6e3pXE`tvDpH0Z^7Z4w&|?lbxh?4RAHsnej{3 zLY;mzQ+v&_?o)QT_r(CVY|0NzrG~OrZ&b|FleS4fkqA-%S%^yX6Mv%C}ZB9Yo#i?NK=7&nTB` z%z>utlbdZCN6#S#UBkGx61gsWrbO=arq<9hNi+UFIh`->mUGJC2aL*1+z55!q#j~5 z6<#FhC(H{IlqdTw%_cd{t!z%WPX-Kz1Q;3D87A$%PwGtJsV~1ROU1n2MQa?7`yjpDMR}r_x+=YKN_7wDH48#}X}A zh5cOwsyKajWqmw5YVVPJw3@*;&yUoDr1{uZPa6Kl~ zKAA0doNcTkT(!I@*Lf&h*KBH13Hk>vQEZzTlzf+qi1YXoK?vGNdc280c4yPh&{8@v zw5yva`ZVunn@)jvj6llP23-Bs^w0!RlHJZEN^!H6Vwiq*XVawm$hfBvGz}4y#gBzO zG>0~^btZqXR=xaMc7R|ny75#VT&+EG`91wjYm6ra(9AT z@lMt(GFyip(z-QA5ia=$kb0prbvi^H&8D?xc_$bwiIg56NIhG%)+F&RV8#nYy^A%) zo%62E!J?=up}}*r{T}}kOv}rGqRw9QWcr1~M!=zq7Is;1Xor(pCN-HoTLB3faH#DN z$=WK4LHJ!?-eS}S609fDZq6asuOgu)ChaVXZG$a-EPzvas3*+kqsJ`Hcii^etssrO zFVZ%D{_Wm=;|0<5y(V2aM8(`Na`gSRZRB9^-KPXEfOkb~U~GfYGlR(2%69x}E4DClMzAK3m13U+2Zi>54mcO*;9MjxK6 z_w4Fx$!U^A_2P8!9-<2c0pE_bVlN2zAIUI)zRo5iV-JxgoC=FQ3;No?#Xo_*PSIDA zkFu(V4}ERpdT;0}DyCKZCSUEVmq1^yL%m#EguM2c%rK4a=-1}`nWHVCt(t<~-PGRb zF&ZC(f7R!ryNj5FJv-6%wlm{2r4E0M=9*2+v$+Vw4X>POgf@@)yN1!h58$Ns125=(iaYG} z+8wJ9Ht1$P!!|7cSJ*Gm$+Er0u)pk)g$0{l%S-;{i!>uL?uo!tg-sObGuo+lnap4Y zX1dUs`Cp791ZnC7lu;zHP}4^}=jkL#A*WvTR@W+X$;VV_%A8DKcr0&Y&b1b?OHZ(c6vn(rg2#{1X-n}8I3s?#BPewA=VA1<~ zem|oJehjYkj>P6tT&XmoHP;JQ`WCz|z?DiC6Ry~p_M`h&*n{{ z+kjtnSHF>7X|Tc17;LZ|RcFQnnp=bgbj88_MFHGt#*AeVmbywzBpBO-*Tf1Y_<9@p z`!nS>Civr5a37v)2=N(KX*)BUD8fRF43O#J(;-Xi1c@}Rc4lnjMGbyzBJyJawz)3A z7d00^m{)4#PMv6x4xi^YShqULIbhw#ZMtT{X>B+V3c>T>Rr0Il5FqEO*s03n#Zzq_ zPw<;>&s@pT|YIdC%B38oW348&Fef&TBO2 z5&qz^0xbF~)(_jX9#FvNhXm_R(Sl~U^j5^qg88DGZ_40y@lPpmEo!A?nlkSqzfNEi z!R^MrVlcZklxi1DQHl@FjfF%2;nP6w#@_ID1AMg=>jBUmM#TaYZ;C|%xQ(=i{M+{J z9tcf`w{1cZ2e?xxsqIKIHlYX9@ufmS4;=H7LP8Ie>>mpWJy5bgDI|<3unvQ9{5}cr zGEb)g+e-96b&f84*#o0GypT`?Jk}vLuFf1Ah(v^TJa6=WMkFtS0RF#=J0z7Ag$3`zUS}OQ6%1|3V7SGwlfh3yQ2G98nl`?s)LXIRi}vYtgO0yM(RX+6Ok(?Bf56@aRXn(!mtyk%b0==nH`-9!uYX z)|}%%2lN-)+IK5L#b!42Iy3b;JP`Z9H@>hIy~W2jmbC@=#wO?}Ifn@ZzVU0p zxGUfLc+hGdG@&qmf;hjQrEW-zexorB*Z^GxeCMqcB3vX5`KS2KFH+BFrV!^Ba#5UL zLnPkwi7SR=9FHb&>&OXi_A(Z7t8&s? z0X{S8%s&>*Vu>HWH{AA-jo&+s5#;6sw9{(ydh#F)z=+JljVdz)fKIppG~rezzTw9C z!wd6CQml>NyNXo4>EDMvORi~T zT=fw;v%f`(HDRSJjz=W@GJD$na-3T(*H;G8a0XYxU(`U{cL4G-p5_C5gyxn2p$X{GP+>Ic zFv41V<}QoRe1d?U<*m;A&xbMTb`mkAPP=fQp{t(F^taZM%8Bi=R7^XE`j)~oYer-$ zW(%J=nTZRCMs3moQ)r`K^WmBQp%FLmOaT%j*~tpv)eW6_cH!I9-{^hXW6+tSmHvGqU4NA9RU@G_vrcUXjp}e}&FOR>f$C0}m)C4heN5 z4%72)a3oUy(|cahg;KIyrFdTZ-_@%9DAn!Uip9v5((zqqw zSA(1yjFzSDP_$Nq*3{GF&`O?yc}U*QOosly%>SFp^ZkPLN9)BW$7}ZS%+wuf+Aisq~*{leKL$$>24G%XNqS0h)8BKgTr@4xm;tfYqfEEW+xpTkg?YMbzd+!Wj?ZXBySaICA0oFCv5APk zIiWSF(bCCP9Li{*n?$3@;<-={u?e#&)EQnN{6zRMCQlhWya7+I_9hbg*Ueh{GK_$r z8kWB=&VMP80}NiX4`c#0Y*EVs2t;melkl3afkY#|?-t=TUsrtJ*BSpv=Bz?|-##Y3 z?>qQv3tv97N>bUyCGmYPV;JNgHSv9eEa8bbG~)jm9TH>FVS+T_vr+FsZF{3MYmCph z6s5Ta3zC~{>B7fz?-JV=d>Bc*2T1cZ3(_3ejI)`3#Zr1C7&B1|CE?>V&-dgi^$>et z>K#VYB)H=^$IBj0Z7rDWfiUxKH>aH=Z8CEN)4bPqJ^_ZNF$m6#F<>(kZsZb>(og7g$Q|#?zatO(2F38Q^OS(8HjWpu zYXW@b2H`8+a!+x*wgRqnk63BWds;7mhz{DDtxQYMl{So54rFB*IA>^cIK4Z(V{JHu z5!!ma!-?HZ&J0CYM@5m-h{$=Xb1m5mnlvHQ2$62;q$0@j*pCNUdgqu9gFg8VNacKV ze6t!vvS)V1zU&>wrva8O0!4@_Tr6`zWt`-6z6kJOZMueAnfQ7=@L=Ofv;Cx%JX3Lt zA3ySsm>c}(iKSZ1u3*RWvU1ja@B1W~^?PwS%i~xrKh>HvUJPtmalMYFw|E0EB()@& zv8{+JT2qN1xs>C_44#t517+lpeX5I1@gu8chaS4Ct849B zYd3hOa8X(>?=|eL#rgo>Q~bzVh#&c9BLk?6!p;*!n;1)c5l^W=3xR3r_R-iJ#LX;l(WC;!zfQJ8Tz?Rbo)FLqx9ool(nA}Mu{}A z-=Pdr0HeH5FiJyL{_Y754LMLVQ!q-9>Qro@!B3vg(^CAT{l<69CJ!U^{|rC5l&N62 z{`bhraQ$iOf;mQvA-0PVWa2!UQwEU{vZH{XoI&r16WXYcHW-R?%flGs3v_Veyqny+=l0B zZEOvB2IKe>K4G_jK#uouxo^l}b?&KcuXR~aR<)Bl3(^Z9hXnejC)QT}bquBinx{pA zty#Pwz~LA9Ey*&#O-?qsIjKFAr~qeGfCv6*0LfPKfolRto)1)rI~(!4+UNM&+O zG&{)zX`iib=3kV>_?k%L+s^chG&56ALD(&+uE{4x#yul%XbrnH0-y0d-NpUhdCjO= zvrTr!Q~Z(YrGMvU9{XrEzkwvpnpjQ*?^eQ%vD|BgG{CSXmY5s&WMf$4kA#}*YfRvC}h2#?Iod;7I6D@>O-;5n0r@i9~4+gtz)1B79hNFNhs5MgE! z58>prNr|qe^iF4nRJrV#O|0$y!k>Oe!LE_UG^2{pu+)}xZqi`EQ45H#6!2ix1`qZMN_z<&Oi|>#mxSf=L&>RIjHD`&C3Ptb$KYws=YlRl1l>EF zT%rpGNIbdQ^r>cQo{LgYjUP;|g;?I9_08!gn?uBwvP*yBLu87#kSS#EOM|Q#+q8q2 za#kqP#<^mbAXDxWRkJ~;8i=Ag2vyyc`wN~ouMe#<>zi*LvZy^tPtS3rMNmdK^pPaN zFCgss=0oB-cIB!;r!Nvq|8}GZ2c_1Gba8F%~av%&jGYrtdmRJ8;P+tCV z7E|Be?2Ao_jwbIx>@$HaLdaRvWHJp0#jsZ(`dE7HWX@N6@*#=pcE1-eBQ6Wv!XjHS}3 z6)s!Fz-WHhntm#OZh+4=dcY=OHlLw`C3W`};#h~}@{2a9K+n1?l$=I>{Rarvmh$b= zGI%w1dSu+w3X}O}By&@Dly)B?z!F{UxydsFJp(YWu%r_2*XJ&!%>0j9IfHr#y1KN9 zDxDS5fC<2Yw1N2qAnm7fy9fUZkaiPl6zhyL^KhWni9HbVr;!q~7q#yL?6^=`!M_AM zo@q1;>}LVkv5lF8s91`3M4$Xuc*p7xk>%<~N< zMrT$)P2ite&JA`+aOr)(KNVuVbR&${$ZF}%*-9b&vm(nLx&<8Q1H*N#X#w-7LG||&h@}_8zU4a5D3$aSibeUP3 zoEc{uO~NiF2vcCS_)iesrCV?dd`gVrBwS%9#Ef3XhG{gAVui^QI(@LZOsXMsFlr0 zj^KGvY9XvKuzJI4f7@PJCe#V0j8YV0P=NOi4Yzu3fzP%lb~Xh;b)A{hAX&<(@_vYX zhTJYacg6?Q!f<@~)6$z;LNCTnD*|3suyAm`G4#a zy|_t~Y+#Y{AEI*k{L8Sy8v|G*4fp1QcnNThGroX-;r{?K_iHj1WUiOh=Y5FfKj2Sm zD<3@%)gy}hf)N2L`R}QafpM-E5C6G_QX5TAHF$`^ez}5uq-3Azl|mo+`{l;!+S*6Z z-+SycJ%dE)IiX#7PW>&K{5g`RJBBha`Qrz{C zqA?0#xs)%$k6i(02Tj<-_#G{zXdqXrz5((~(%z?3+Y9K2IlO92t(I>c%m4)+6(V{X zrnU7^aY+<5Z%cvyx}juk8{Y>ymiG^mJ{AsJ30t#vmGEN<(r;C0?|R1BPAmg?GZU+t zd6t`hsK!vhNjNbvaHpHHg4%gsqpJ2h19>vv8OYNue8-YiA`=>W6#IhkJsfFd$5V(J z5{rZz7ROtyPYv&tvHuGdc41{#oP(8E2ym#$2A{Jau%(#HF2`iHlo$aU@_#eH!Myi0 z05>1ElV2xWleUKEy}$9;*3Q7hOzlh{zg+(y!C;U~f(c{yOd-L59!W6&${;RH z873~{`II4;*jX@I`+~u$nHNl0zItA8P0&?B&o(dhnk7|f*|1={kPUp^fq|POBQ1)B}(sZ3OH_PGbHUf@}q&YO*+Xdo~g}*?Or$OP0LIQlmGZF+35c6#q^W!-E4Z zs|4>bWV|)Yy@L(xu^V)5D3sA1I(IxzygL3sx;_@~4Po)jf@bi2rgKMX-ktd=wZee# z{Z`a|`2bo$EU&U-C^+_`b%T!K39Y!jFq{U#X!0=XphhVoh2{iZ6pO z{*-=$r>O|KjFkoAgV4`N;Mgm~m)#$(WLxXWN z=_Ybztni`1Q@~XnGHM>CdM;Y;GgmCI+<+9^{eKO zT`;q30fIZiPI|Lhi5R*WMj2;2tZGLwW5p@B}E4RaL4sW8t#l$A$-*F zau=l9&y=q7Bq_H*C!_vU=;oi_p?*X8lcyOG6Xe-@pj7nhLE z?|IaBO>9_DYGT;-2b8_KbC}6aCq$_`zi95h&K-QN4nTq^A89MehIkn2}j+Pj_{ zvGF_-*h zDX?ALK)mj{XsFSJiJ-)tE85RZ;FHp9au@TUTZdes2bn|9y6a@~yl%m<5LMxZLi8rejoIq*0V|WHt6T&XBq{?}uo&BrBzDBW3@HUnAm-i@d$`W0Bcgh!= z9X7lqd2vbda+_RJk{l~Z{xl`=b$Lm0swDYZo4oPXV%evbBsZ&l*Xn>P6oF~nxt1n<} z&b|7@a)hh(c;@J!Xm%`h{9#us0i&aAUz)1384$%=%g)PId?EkoVi6IHp;9>`jk}!W zHN4f*;C2bm)>01kG88_oX-}Lma4o%}=|voiJ+ardO8skMqd2du)3>+Pf|O zP2B&|PrNIrGUG$0*AKNB#!gU9@vDMdaG^9I&vyU*JpX%D=9aU_LyaYvOG$eTKaOyY zti~qFkfy$>?g{N|ZCrX|XB6hFpikan1XK1qYwXN>?7g~y_ws)dghRP^@P6!LR6S}*$jn|#fy#{>Y zgzRZ#PRKvCBV-R)aFdI2qvAPbVQ1};#APe;mXzd9w8G9c$E{@s)%s>WjQ z-~ZR^lip2q)c=R-(+EJTP#?~O`!M&@zg1|xs`c5eS%Fxo4~>6H9*3WqRBUuG%^hoy zmkPnE81Fgf)6Eh9$|V3Ke$ltGtmK6&W{q+=f_)Tct%om^C>7Ag?M))hG|mJmsi~3X zha-4!yMEpYrN(mMgtFI|pHXd2=(1T(=8+z9GbT$z*)S2I}Ho0Qb7>sw0Z|~qye;!5B{qA7Tg#hI7yqmpUg(~E0g$5m` zPxkWMrQtE*%PtdSUUE?Jl~c*)zbKkXOym3U(M-SN)biFLZdI(&hzN;cpZl$Zngh3noj=z( zsU>`u-``%(F)Y=5>gSL-B${@s!ilDe^7P8|a|>TTa^dcy+cwoWDe6 zR^r~r8A)F+ z%^cu;22{2$Qr3xKfBuaccfi)J{W+_OC;2K}{gx~51zz3J zTVqDVjQGiZS7t_3FdtGY(q~u1Yl``Nt0bSBl}|<2{_z_i++5QGd%(Ih1Om)E`Qkc1 zh!PMYK1&}3$*W3||I;RSk#&&#YDuzKzneWRNLpT!Wae!#>4B1@Z$bM0{-5xLqtamU zk-a!eX6X0W=f`jiz1~UwR=?lCfMl&H_<+!JiIB&PTY?96L&-8_>1m$eLgD!p`n#Zl z7y0DTGA^_j4<-8T5aoE4lU&R%#tGKvC`rAPq%9vxx|3g?pUm^#dVYZaywg5Eisu!2 z{w~=My-KqIS*AH>=4*ZXe31$>dgJenw(2C)ypUd$*a#^8m#UDW>zqj2(N_9yUs6F> zYhGB;fGD5)?DMotj$uRr?N4&EZ5zxd094ILkVW!K%>F3%1OTT&!$v$1zucFgcouJe4k)`=i&qd&T5q?Y; zJXeT?AiqK@Hr&>&6}4)`*q>fe=AA+z#U&(cOfud#Ocu?QXYU(>`?jYlOg++Xrx(?? z=PtX?4npc~^Fouz!D~0-zip5IeTZZk*iA3y{x+UYqO;atYJdBzV;U{B{5aL6CD2L! zk+x*|SVnrDoB64j8;rEVFw*Fd5mm8Md`7zFSDM)UFj9PpqpNu>-`8CJg-h3RV1GtO z(@j;05f$Kdf|2VQIktY4bn8VsUbGw_KFH1dRfQ$KTT!lgf2MjB{&B4-rq9-{gW?mJ z^9RMRk(`z8ywvciOTAUsmX#HmNZme|$WcWmQX6Epf4tc+kkiFLy6)RkI?o?^qsTx8 zGfHmu^ne8{ElG--qyl&NLoq4;hgsXtiUEGu8LQjgrz&^D|9T zhUuko?yytGP0vzyVq19VJ4##cc9`DR6v_>AncD(Z5zp4lpQG&jiJi0kj959f?yXwi z+D-T=_hK|+HaezOPh7YS;UQ{I%UO%odJs=h)Si1sn?h;N z6ED!74Z(be(=$#?p?7l&KZk~xUXtl;C(-$VG~#CZn@JQIGO{Z6Wq%UgdbcJ~AdS3E z)dOi{tvbR^BR>Z>J<`e|fiw~SR)>)*AVf^gW>^Xh?;6=au!MNj0HOZH6g$XNf+hMO zCv~H$plNpfrI)c~Zj3Ll$uM>IJQbAx%O{>~kNjMXW9oLBZ9o2Px8-`oYsJ~tPYo%~ zwu?)WgwZNli-#7I@_&HdBwH8e%loeL;AS&j%-)qwnv^MzD8$^8g)y0;$uWMPW736r zrZ^@W)giuw$TIeEV*)HGnkI($`rOKI6dBT@_^G9AjrBfYYj>GKY@cf?BNoy7v$(SS zxbZnq6fq`MC$Wb(?VAZ!m|gG(-PgDKPd@R09A^scIUr^Cb{mjCZ!8XoR>G12SyqxX zs{4Tav6z(q1N)x~;}LZp+{oN`-;9R|!MA}%{yXDw_0LMjV<7W87>}dGdj9zwiM5Dy z&#vEIzsjEl{r%|_PE4pMk4?1lRkU$q>{22O#V@j~j9$N#4H}5UVPn_a*F>}9%|w&g z7SvsnbKA1~UB3KZIzF-oaL<7H1BN}Jqsd?2evEy*ELOEO+*K9-cD_*2^s2-&z0yPSE9~>c8@tIV zJY{(q@-Nvor+df$h==Ga46NiAfdYTnfU0K{i4wVJf-Pg(vAjsTZ0>yR9sci-#89m4 zdvo5yXLlosn#Uv(ru>K{eEtu%!y^PBRnf+J?Ej66w zX6`VYHqgbRL(Z;>4f0pN+cCq7_K_Ro*W@ep^DTcq7eq(bh>jQ?+2OW6w`6?4T+@r< zUn(8%by2;jvjHj5j?2GA6U!KQoW9T=%6T5ezP4izW_JoXkB|Wjan3SJeoCM(u zvGhgKAJwm55cV3(ILX3702F?mrSkKzg*})B$sS*({D&3SCXW^_Mah+oivfJ zpg3)iBQ^KSZx~aVauLT^e8sFCeadR+s_M*H*QDAf^_7&^Mk<~GvzBwc5c3M8?vn56aWf=nM6ou%o2t`;r)Nl9lal8)b*vVHXI%s?$Vqskp} zM)h?~CWdkP0;~nq|Dq!=HKiC5kC~4At~ydPWW*@bi3>h)Csqepb?e0Z&%1Tv-7gk9 z@zm~}_~(+O>$`X29mOO%vD9ArZ_(#>e_Ya~|Eu&_VM;RHx)1vN^7;QJeg4-hpWM53 z?X0`Hb!~WUv1@zK=S3w+J?L{tF{zup_0a-2WSJGXro6e6>)h-mP@Zpn>Cd7E=c->} zSe9j1>F#`L%4NKsUOP|uSdP?;Yq7N6Fe8*BcHV zQiZcF9jE_sEsX(0^nea!ixe#kw?FZUNGCYbG1*% zbc#PcwJQEMA>Y^_(7!f+zbP!YAF1gau-#e4)}Q}*VLg-n{l1jC?1SRMl5%9ma~rR2 zh@IeO&Kela{-+#e#M4k;Y{YVv8-0Q5{hb>Avqkhf$a~|!3w&oF|LX$zov0xQl*q@p z8vW=%&yJEuK$&r>ggP)-F=9W6W+x(8?#484#*FD*9JbtAYsCo$rwu!~*(4H-ltKui?_3A%(kGD0`n1??^Lt)yO|Sx&38gk^Zi*?b0g4vAEk&usxRS` z1-gXSclug=)OO)j}fDGa;{m?jP!9U&+(=>GqbNU4D*{B5}4*?i$5`^+%&x~ zol6Amg?Dt5s=oJJaXRU8LpXz;7VXt(@{ z{Et5IfQ$c(H|ZtuolUs+uokbHMBcY8^aF#aWDvaXmU{yJ(wOjbLbco)mvW|0C? zX-B*1mT5ei?WRXP?qP)L+a{6!V0s^WdM_ll z1yjj2H)*D^<`TTYNxsK7(Qz9xEp3UNUvzHSt}HU6C}9M)fR<^|%$IaT#bu5hb#K;1 zaL3Q>uXpeWJ3Ogzvtx9D-!Ad$)@b@mZki7}MyM(<#KCU*3=? z`%!Fjq>*sOm1PGEE}MG{@3a4X*39L|56A+y57ID~fL< z-4Qzxc@TCo*v(F=XinGUCZADGVO=mqcj~YySK(a&j?yRd<=p#sS15YOb^>1L(AKhC z`q9_Aau1>eg&*ss5+B!JZx6$SYoWc$?LBH%x~0vl6!R&Kcf#}CYJA1NJ}sXYf~ebx+2IyH&Roa8r22iR_6*=9ujXgAj_asjCHTU^4IEF@{#kd&_Q<&B-Gv(~%#+ZPdiJM` zuXQ4c*S4|`Dgvf!tKf^w^GN10{9CDGEAf}2;~r3VS-K4R z16YgM#rt-F+Gs`0%iOMEVr?FY2Y8L~5Qo1O{`zH$i{0E|I$vaA&WchDw2VPuFrS{N z-|pQ_iui|S;YjAlsA+~;pyP(B!N@u*@X(mm-H@~pogDFa;(msZImGd;T=*_a$oS3W zXpgltrw7t26%28N6|zbvsLHAiIzEzEQl0xX2Je=}-8X2>cQcRc8>sx}-!4+QLypAK zZG2f4q0H^-jf|nk++9SD&9x8X3-*5_Pt5<-fC*)0Cg9W&+A8QTm~Sk6A?J}m=({h7 zeJ9h)O|NDvVA#0j%(?C1^peDe_32(NLziav`ucFTH5X>ChCz1fQ&ZMEK7FyR)!ig>r$7PMY=h)C4R ztwMg!*O}Q%5c}!p_t%$)W@qM{IdjhYywCgnKJVLkb$uhG+8x;WyeS{vwuamQSS~t? z4s(%yb#eq#M8M$@;~uyNINHw6?kQpX2O<%o?Bb&g6&Nz9%D%kIcHI@G#uod(?A-^z zt6p}9wCFDXJ0V5Kt_=shYM~y09D~dxhZf(i5W}y9>xq!piPM5-@CX{9`OLhEm}}$v zGLvG$*lf39Bz>_F1iPnHCHM4-A3+|$_`^XbI-O*{Fchrw+XaEe&(DZ}7Yu2n+xtEa zKWzpUw!377=~1PPrruiA4({2?ZZm2s3DL~JtwkT3hvWF{IM%^91~pFctX4|tt|79+ z_`in#!@0gE=M5vWWhLmhyR;WCTdCX4M~2?9@6-}^ieQ=ZU%13}?=o^zvDuBoy=Xbm zn|wVb9vblct?YnJw z8RJ_^`JKzvtI(K0#?U#Oj{nTPbA^gsb+ zOw4>YC&zV^Or{sCo8s3@e@!2O#^ma-)~6P#kYHMV*_=x^r)qkLFqvnjDCW>z)@yF9 zY6kN&CBXrNvzhB2lhxNoQ)neG7V!*uFELW_*#NDLyG{CBRIdfwuHC9d;X9hVeI#qb zIGX&GEANX`^x>otDJhpuspvUYGdS=1{C9e}h&KmKjlMsxLBdSG>?XD>ttaU01#L#& zoz}a=lWT2GK6Y=h{d)i1qu$S0Y|J8bgN48}@_&{0XZg{(lYrYTBZ<+>TKALu!&F*r zm-3i8_7LD?>QAcl?lkq6NPV~p@N{=itTL{?&=Buv`tW!gQson0Vu-7jbM@p8BxH`? zdH_Z!F#|d7%j}_|B%i5kBX>V|Mtbx;awHAy&#taRSnyYkA;M<4A&0o*naf$MPn=?H z_k2b`DECp-N++llC!nVJw!ic+LvPZ#WLES8yL5Jim!KrMA?)-nz&x+7^!Ay;Ztnwr z17ak9ppn5`7yARD)X(`9UAV9?-2)hwKi%?!l=b6eoHUB%MMLkM&GPS!I4}6>5w`TL z?`{AfdDMlh)j{6enV_N_#-B^Xyl(UC<4pF?`wxRr_VYa}E`BE(GpZ5?TiOx3Hp$x{wA0Rm;|At*pH1jo53y7$^)TPy zibXm|7#kQ06f{5!-OHC#EUxpk+IF@EDO<9uSiC`9Bbds>-@Uwr%CWj^d;+*OGI_#I zb0|epO_;@p-jQFh4b`qQDa`-FatqQO&*#Qd)K?-Y|5G}?ivMfS9SDMX)0U(+c7)Kc zKT1Mi6A&vzq^6pCu_t@@v750!LZ5^I%J+OsE zz%47K_C-5HW){D*Y&xveYZ`Hg@X0r6oR~E$bt4Ob4x90?JGD~xsY>z|vSy_e2w}Fk zi7z5WfV-RRA+sy(&`X@hJ%1osCamwgNtJ?pAYtG)TH9KN@V2PjBuHxWl5!6QvvAyd z(ORUum!#w+U|w4R-leP}{T!92`Y+(F8X#;_fe0(X0p&2sA z2+TKpIl>nl0wDs#;=hR%UIoqj>&b1bwofeSDk-TqvPt?2`f%xW)zjqY)R!LT=xh$L zbI_JxX3iJi$8;dR>$4)1wmW;Ivf(z6EOsmR&@C+r(j9l`Fvexq(qNXR)4Bgd2r{xlF08b0}5_2ciDEknhnbxw~%u@AH+C4994>=E!m?L&T zYIbMH!+XKp*boGq(9=F|TJDw#OH_FyGz@6EX;!g0r} z3vUON^YVt|vDy#3DrTB7_=EBOBF2F#)tSJoOsKJyHF5$IHDQq z6XikRkKbcPFL!>rUfgF?;o6G$l2D`AQpLP)y6^o8%n53Ems6BuN?vcl zp{M>N*!R@<`yQXUELj2MY&Y2V{KVY&`yM;k_awF3HWWdCK++X|0vtvR)I3hh0Xiqb z{~Ix|uw}DZ?z|11$f2I;!>r>9;sP8k5Jzh+Hlmu`G8#&ZTw7ye&swNalAZJg*=S4+ z0$|8lCi&9foY%-&$l*spj_ZZLVu6TNPtEgUPoY+a5L(PmQsB!j8BCw{bSHXYc?&x3 zY`xfaTZ~Jb+Ys(9_=lPE0F0N|i#gC^lgRBSQ-W*EJ+~%ScP>i3e_E+$^&m65Mk#h1 zRW_j}>ijwQOf+-&Zv)}%4dgSOsO#^A@`yKuQO^!DdPp$|@;f9}-glhoZu}cYMzghJ z*@o)Z(52cJag2?V%DS7~&_ceA2BZ`mJ#0=w`=S^?v8cdwtqjpD2iWP)Umvj>9p zH-2O%voSXuCAd9xydg`Q)T;qOuQqCkULP|@4KPeely?zm(YaXjoZF{YfUgzt;|?(` zX3F_AZc^A+cA?wX5%&Or5JT@oPpfa5W4HDa( z4fF)X*(~STEPF%-!;WWHIqO?DmsFIL{7QRy=d?Jy(K*_}L00$xC$+z3AR5t8QI zuZNk5)H*Nh)VQZL>{{O|J}T$OXDxftymTYr+X_rHBiT(XW|8>sw&AlqLjyA-G^pNC z()zX>OPs8g62y}Gaj7riqVu-_Uv%9znk4J+vi~+s`>a>gMzSrG+yE;0mUk)N^68|L z^&W!+E%$vtl~L)L;;wZC_>w)jsCQQSQa)WYW{(i_Jl)M>p(gu8R;NEG?~AIF-=F5O zm3{$)i@#27Z#N0+b9~-C7dec1bIzq)TTF?hMjZ7dz+|tTq=oBm_LH}SxmJa|%!;c$ zZ@Z=5;Z)9l%s@N4oX-TEIzHHVm366Q!>eO>)9!YqUqjfd*kQo&=Y)C8ZX#82lPU#3Kz5*3l z1MA;}jIdRUbhGnD=e7Wrh)`-h&_zR%a6Ty>#Ow0k0CCyeNSsEN?EJxUtwgrzhyWjC zmqW%(*Su+(6Mwzt)T2c;xFaL+M#kyYx=oE4DRm4Ycei5}sR26n~K1(~qDkYw?wO1#^yF*I{SI zRa$qhChN9!XIllyMUYpsKSy?-#vnDtht>_~O9^!P&{|m58zNa*_w3y590TdR zkN&(@V=Y?tvd`F|?PKe@;>S0-y&?|Q6OX(qCG!S0vXxEl<+`CPewcfHg{CA^_J=a{ zGSq<_6Ll7ZN#@d2`%xkyddx^u)n?!Y1dChD8F*lb#LtzLhAdaLBy!0)h?*@Jtr!bE zw&{1WJID7fiPo;`{B2?W0O3eMs+QyJ0hU5Gb#gF5){i9WCRcKkyy@e|H)f5%= zApuiSQU9W%zY!VofAHsd|N0RHUF#aUALv>i)2toRzM5Nf7$|UmGm^|~QX7mfa|e*~ z_J48gS!6zUD94`KvAyLT^`ATTd^Oip59{cFc|EM7YaS`Ub13sweIKh}&h_sm-}P_Sp~0EkCTB-}wRg!Abg{ec#rWZV z*uu}TUOTJ*7m%J}K4n09lCd~*yl7zhFG7(gSchmcT9{VP_qEAKeLPbr>Rjv7$N!W6 z(*ImnghGGj0|5%Pb9wNXbN+Qc-@*N*2~LI-F}`N@7&{X|f*2icbf6*s+o)4Bndk;b?#^C9xnppe_FUMn0c=I`Cx` zej!jxAP@vb8EI5=Y6&7d)+{fUFWHDcEyfVoe5^%h=`Oht+kNU1E{)7*rTp0&`rNkv z(0+3@uLky;A7U)b+i%K`%Ok|Tus(Z`{pLnK@M-p&{R}-&nJRwLn2n?xPkgDMC>>@# z=Ig~D<^#T>^w(U8-hvFvPtsRsBkW8<&P7D@6($HSfw0Rj@&f{JAP~#2liX8s>(>yE zB&!r#b+!a^Bw2$5T0UD^Lp}o;AdGBo5LxtaCVl}M6O#%O~XD2rRyYH&THS99x8BTFB{ z=X~ytzNyi`d8%_UV_LtWJ*^sbLqb zYEZPWvQgN90Y1Gp8tBz>qNqqARvNWgPPu%LW;rDAgizepaUnks>6hQNQpcL^7+sg0 zWTI0B^?m(vnt>brGLh(93T8@;j*8C?y>Hh&J^yMH%?qZ3mC0?`zL1Y=pDDnOz@$mT zSPG$MZG}mt;yD_3z$di)KaW(L0=mlS2T_sB>00Qzo(7}7x-&FeR z4+T$Eu|9V`h0^B^1Hc~su(@#^JS)B{P zV+i!Ut_!|k94&k-4mcp&%r$zW^B)CxU?=s}4T1lj3}>X){sbX2)Yo?2&QX^{WzU(8 zUl2r*D(sXfQU!Gr`-<&9(8>pj2|tR|=R8F*j15R+A}YRtyeOlFY{tV_E%6o1kiQTK z^D4LN*3Vzo=#H6b{C*0D1ZFRp102}o3$IgGo0UuhKol4)|1ZHv?XhPAop)x>QSHJ$ z+#AUY(adDhJ8i^c2t3PP_a$MY;eNy0d}T{aZoe3wIHZ2{6D#hzvV@bIjF16DhDD{M zHXTiGd@Kwss9pJ~fbc#5gL>#|ZRZ1b?o6{Y@>X1l6J0L8?qehuf3tk+Y_`X?^L*zK zW*@aidhzsYw@!)dYOId;iYURU@sEBlaZdK>84NJpcGD}7!`EqkbEm~R8P#ZQodgaCi7s;+=KjAglz{eAMUGYAIQJW zCAvGavMSB5v$YsEeWg!REo{@r(vC&a=n8k)RCiBoh=sa32O7St-lDYugk9367GrB* z3iat9=d0nIL6+>ObvAw}+hu8QK1ObN*FrqkcRp#{OGroiPBvm5Z;jUOpdfo^Sjyj9 z0NJ$y8STtj=IJzoKu?49fOUZRQz(;tYnD(Mkf0kv6G6ULd-q@D9d_KNDB(c6U&0#S zprdk*+l;QtTGYbmttCI?Z!B}hDKY1k2FYzAgml#|H3%E4Wy=5;uImagctOMt?J-M7 z=*>%&*`~YoUBt&BFg{Y(EzETpI^y@*TKobX#OcNRGrzoKUL3xo^B;ETW$dciSA(uc z$>v?kA#e0o{qe44?G0};OF4VCJ|k6Ks*FZ3-I<#70NO@HJk@eLmTPQJ}n1j^y`S@ip$-X=~F>eOit{rdTR!f1#}K`v}O zo^Osam=^Z>7RI07-)U+j@92mW=cD)yM3W}^A%ugvc=L&5a?s^6D&#o-a|cOA)>0!b zxf2?EDQ~kc&dHPD)@W{Gjhy83C1|U^@d^5kuiy|w|IoV5@0$IKxv#WKmlS9%_6szK zvh%yOg57WD&vO^|l5e6{qC&giJHA;~GLeg{E-td~@%{4;tzV5#S6JJA zDD;Waq1O9~)GcQ8vb!#Eo@ony{SsT)V>r`|}bqrWrgQ34*IePdcp* z>(O)zL%S0FMV}@mtr6P!8M_z=XQbll3?aeL=S+c+OkoD5gm1k_gKVnZk52>l!>q+R zU%-p!zmK0ZwiEKJAnGi!-Hf1a*RBt22RplO*Ef9`%h;9pN#_qT z^T@WmkKSeRv6W&2E7f>vIC<4YKU?&#l1r8L(@b0(iqG3Wm` zQmG-o;XH@W#kJ(*(Es^_9D47e^ilNDdW+>mi3y``^f+GDDg9ESBJ)mN-L?tDHSR3Z9(E zVa z$*7h6!_@-$e=aZGM&GO@zf})Igymh^01tqkOA+#(U23)id2xyTsClqpk{#N|3>!#8 z)7f!+p16`Camh-#v?$k9314yqt=nQP`mw)geSVtr7WTfwQ_(5pMm5;^b|60eAU6`i z1+}l1xJUntek&(F_10$%VZF($?RBOmYb_9;%nK(8$9xnqU7<_fbv!%Bf5h%s$3v4e zO8bvi>+ouT;yfU7kzK`!L(a9xDn{d{^&6RtBEebfqmi?lWIVl`mz+&LRm)y~Q5hNK z(mUqObNk`27-@Y|iOyQzIGn$<)B5^{*lhZ2inM;L=gvR^)sQcm`3fAy*hq8SdY6e1 z)Y;$^Aurh)Z{pb;`%I1;9AC@Ay8BWhG}??Z--jt8?z%47e?ZfGf?iJ`I8*p;hpo=$ps~Y z<8O20fB)jIWB)YCcKrJY3Al6KBL4O+akvjolaWOE0DuG{tDHql{xzdilvNkXev<9p zR!rFgvL5)w7+LZ6dGC9F(U>4n12UM;I_uG73m_EpDTl!&runW4AcSE&=&u6dgkOmE zr0}g@7CsX+=xn{0{i*yOAU|cW&_EVK|D3Q~f4sI!5avv~YgTEiqIrlRNwXJVdu#>|C%wIqMB4fa(_D}F7kSxsk(yE$l<1a>Y z*rTs-NX~1(`b6FA2O|_lN|=xY?Cj((7TgGes5!es*aS)PJ&*Yf2lrLMuaSrgY1Srw zMzs%;pA7+H%1qHAMd+-31byVJz>d?0O}D;8+zTP zGz!`(K}a5--0!vVH2vJI_`4cToOk>{PbT-0YhR;5XRY^iKu?PN0a{Q?sp$8n$j3(% zKg8Sl7JBUQ(mB*5nHK^JZNO+qQvQ3-|P~3 zyn%^~;1e2;WyTx^<-mL&BCm4G-pj4jkWz+m+eg%B*-H+@Gq`Qp`%RK3a*^7&Jl@a8 zLp{oiKx?aVEqRTX53%O1Oc5CC5Vni@vq957nG3Y|Ago+AOf zvuFH;4O=Zco(B9{_I@M&mCQ{qG_-X0nlrRz@7LlrEqhO~Qr7{HC}1LJ)9y}fjGq+1mAuaz zNAD^luj;zd?%~T+Md@Fcj@LmKs+ss3M-GP~nem~8N7H_?-IT8%-F*teHolLy?jZ7< zQ|fz_BoNH||MPc!A;<;!ne5Y(%gf!PZjUU*YlPNG22Ebs1rNrYUD>Tyl**8i{tBJ5 zlM5chWo?3gxq-_I)#bo%V%3TduPS-`7{SfO*`lMNS(9etZtNOQ)^M&OMblK2zt2pZ zAqChyraJqRDUW?<|Gc9`)?5ASXxYMF=AOou-=`mU%7Yy(8ww8}%0;Fcm zcp;wU=}U4Go-KOXiAG!N&spPbGnYQS0MmU2wPqF5QR1yNWyk?78(UQO;ov^GDde{! zCu`b?fJ7ipDJC&Kx4zdY!Yc1(|I>{OWu;b**;%okS=-(aUL>D_4sC~ep!fAY%M;Oq zo?`^rjS|Vbk;b&(ekI?T9@}c@lJi$@8lGB@H?RnwxEX-0x?K@8M`%q}{PsXla7(_R zS_M0a6v#ewo>~3geqJYEjEE!LDt=PV9qiWFr%>Y8U+nJQRocK24{)ws7klS@uA~J2 zte*5eC_A09K#qme2mV`IcH{WBvZs7z{L_?~t6^6M5pQ3o!@E1gB++?bE5IpF=0)TG zgpa6kT>LC`?7B$}R?4{i;d`SUS;Nwkuqk0s{5J62wYFEhkDLutvT`+8kF3k{Bl+C< z_D8A8_!g~MX=SBFsBJ(f@%3pEDSdT0jSqA7wEP(+Z1fz66oI>?^8v|!ORd|K`n~lX zKUnf2u4RG_luR_*!>{mZA|NCfq-Rji7%n^|do9qDoCM&X9}9F>FaUshFk77bg5Qw5 zE)$Q?+Zv;bU#_aPA854RWqgbI!JcBw;vaZQdK(~8@|mzRsyG>wQPrCDu{C?2C1A`R z>5`ufhdAH3Ug;@+{BpSoB7T$ytly5zMa zQBgEYpj7m3Gd#P2jkl0Po{5qOKbZ67JQ{xMQ_%3D=Y0o74IIDO*=%cOSCZelAb-eC zl#^Ej{0#I42q7(kCsSbd^UNt;hHEu${0oPD6trA)K4Na+Ng%&Burw7p;|#rnol5Ik zHR^T#UCTM|05-a)Xw=poMPDi^x^7$X^fO=Odrwt_c3Zp-D+3KHTbvP{jK4%tU|C7D zVB=38pR@7b!c}tUE3^?xoMLyBKf{&&CF{4?s;>mxkMhh)U#E9S!2K(8cPV!tt}*$b z1C8@XMy@w$p=)sY#tUHFw5D24!ELirqUkX*8941ZK6`ltUe$+V45HS#uW%?uf+*QU zv+XXho1A|}YdKE$19V#0a_7braF^zwwwJA?<+Ni|z<;8P(Gc_w^<7)cSuio~p9fbv zlV$~u#79uQgB`XTN}|XI(-qDFp2p>y&*9gN)fL&vEPT_`GOg_NYtmN`6-_;B>7#rL zIc0h@Gvc$xhKEzXWR(^I-E=e=UtD0v6y%-FETXC&$(-hnon{Y7RFOEtj+OEeE}Fe2 z78UrTw%Fm)T((ZlkZh-PfvxI#&HIv;o;w$KEVMbmBU(!ezg?Ci#V=qq>+V%M^!Hc@ zJIJfqM`tUpQeUE!LlU>zYOD5x&Y#9I(=g7fs*Z?P7vT_1Fo}nuV`g|JUI+uj=IrnO z7!1cOe4p4n!LsXNuamu$?Fk!5?cUtMfBgeqLPHl16AHeT80RV5p|966bbb{bhQ6_3 zmEzMK^mQuw`6lXK1lhjEt^UO$G<7>okpzM?+h_Wk6WbX)m%9;{i(`4!vPZ0zvd zdud?rDSiWt+P!#&c{_n=VenYmq9rT!Jgt)r^<){}V@)nb-^WD=7p#-w{G1oh(2&wH7HAX7xp1P} zejZPl5%h3OjkQD>56$VT{{E8v&h0$O(Kls#$j-H4>GGyYiLH18`I9S8ZXlcWq>(sn zxaBQhW>%fSH<_P1CHJ8}xzBVP&L=BQ@-gnbuN1vs0GgF*;JF{rtQxs}X0m>6qaf!y z8+`>Ib>G?OWUh=-+Vop#wLN+68unk{cfO*9P1>&BEmmqCa8(!NVUup-EKrn>A8C@F zTh*4)=|S&gKliPlb?4LJ+M@=2ICMlwe1s9SbRt>j81=;*QSdA!R=N%2jya-WwYmKr zx3)8AB{%MA$?^yJMSK{X=GW=+{Xtoz22l>3P5j&D13^lIMQYs7CO%gUf5Od{Z!qwn zW!oLJ;P=Ag=i;ZM+z;dzcRXmYF@Azw_f%q#7h<$#z2(bs&vDPA3j2zNmbVv@sO&Vc z1k=TXS;CIdg_#JcZzi;SH@es4&~+zks2$~Z^Q(XHV=+ebl{VoW^tT)mW{7KUKT5^B zf{MxdyG^s=91D16rQ2yxoZ|*__mJ)$3h*0bn~^LZO95aVwCs1MmUvPI=jCx6sb`?b zoS~s4%Ll8TEChAVX(Y9vqNj)(e2`~!{>A1HDKqPYhgGP@o{XuVhCgoa`&z8@$5cDK zW%v%Kw?U&k65ZbuiC(&U(c6&7Yk7m?j_jXzDbZv#({EWE~B(FDG;cfAzWzIH|O2 zmF)PC69V)0EnnL>wYl|6eg=f8hzR3Y;Zxzu<80fR%KtP)W|W*=fEuo9oNKpQ+8j{F zuWvG_AO`vG2dBQ|h>-?Lqw?XI?2U!KglrBMnDiPLWYK%zAzS7UPrW|NZEpHxR9L-YW;-=~3 zMz)ZVjbT*ebqIV6vmG}vjE*t35RKpF;CG^ab9vDaOgdk>a(PbtPW0_q(nhhm5%dWk zwyN%J2d%$J{tJvA5$*iKJ908)KPP`fNCKEM8)Lx-v%W>o6Ql5+oQBwtRUw;+rAF>f zd=`|`*m*>3q92r~c&GS7f!yuOA>>|jC)pajGn-37+)9be0EWOo`rg@$TN|~_bM8Ui zm(T0Q4v9pt;koCi2hdOYqZz7u$xIT~W!XkvYI&1+GTXdi{Dw(qEb1lsO!H*o>X@s) z6yw(+Grtx4J z688pUkN@~TANQcS|7P5i&6K1V36=cqKQ7!%wV9`2p3nY2&hy_PFQ1&}OZbK;f#sMALckM{4af>q$l3i7Z z3kJs;*v+70As1-v0lRg5w|3*u*)Gh0m!5+avXouS;T#B1-FZLyBxQyQyn^C=11$&m z20QFUg2bG5-7c)H?uj#4REZa4PK;%KDlpoa-z51d^tD!EBOSzLw!tY4T5X{U`=(#| zZ#{r}c?`KGLLql84&QS6bwc7tj)sON^dc-4-}cc-cfgsD#20BmkPH-;oR0 z_Q|2+CGAwEOtMm4d>75W??dSQj62Zm47? z(T0^v$FYyX|0O$M-f`R?N$G&4yZRozjtDpZ-oNleU{C^eKCg&ZB%cP6I`rr=j=_<+WoP*PO{l_s| zJt&Q7mfaprXW#iiLu{HHD?dbm9L`vRPymZN(%^u&4uFVCe%DYB0<0kesn-W4<< z{^)zUx(y9x{T6vQ22QcA0#l`LVT0X(B5kv^*hKx-ZjRNx7q!NbO6mX+h`X#M8^ryj zev?Wqc>wS&>m_7ir(d^Dur_gs?Li#kEXn{aTG0cQtH4=q7LH{nXgw0CTspS05z#0+ zz*>3>)p&Fy)dnmbd!&`R#(yw?2S+U(JHXeAQ)8fvvn5N%4g>`2cboKxR{C*DAm0HGdf!@90i;yQ@Zw)F)R&~5%3;r?TT8a{t)SOd>JMg2V*-{mrb@j>yXyCG0=#Pi z!B?fePms@lP`@af)#mKCSwOMSY{s(A`$P9b<-3D!9~`Uo3eY zW5U6s%HS6qHC3wg8<5%t$qOTs+xAC8@6t}L`LFdL%bha50Y1aqd`%yl(jIM$7y+%2w{lfUnAF~)@x!~b-yY{X zbAWI08lUN`Pwx7tkjBrQ=HIA^8nTutJZE3w~EROIrAW z3NGcx`KsM9ZX_2>!MKLt*T9*LA&&ykj|-+^TsWxW&sN8{VD`q%2%g))@5JD@IryEX z-}oT08HkXqJ^EsUX}%y5<65wS0_KF>&64|6iGSue^J4h_KRzDqu8R2c|MT!qKj#=B zXkNm0Zd(Ds?T$z=uaN*XBEkH_4@|L{H>&xV(h&&<&ufC;hTzu@ehoUroYn>!D4tov zUq5BibL)#draj=PMI*Vqz{Y3T|SOxJqQ>*42)-ZBbcl_95E;mdf zTq$nExqYP0fwmsO6Mt$&XIAov@xiOoxaJH%%!AlZMa*mHHt$ew=*ud7w0ojjOT3K) zn5WmV%U4H3U9r0LvrmY$%~_g z=w9Rdf}s6Hc=V6BtN~izddy6nEE&fleiYP;kw1j8k2m*J4&DCQ9?Bs{N?%{YcmpLw zF!n_d)*-0V%QuS|>K@n}u@@yU^?AwK-e*Oa-jc{Lt%Vm2eq>CdIB_Ri%`uzt!{2470nuR`nVTf~0OGb{aU1${)j_C0gAMt669 zQW3RH0!0r0{79#}{YR|N$P|NGVB7E=#`!3(g2WM~2+^{WF6fD6L-=Nq9{U8-HKWJw zV|p`Ly%Cn}J6c^G%Pm;;5jSpmCx1b*@V%#&G`c5lM9aO|1_j(rD(Z63$A^`=X{#_&Zh55}<>K8}^1 zSiusjR~jJl3iF)+X+BMdU28t!Bh7#53kGR!U4u8icy zEq{%2Uk6#fg-fGT?FimU)^Ct@)!0EF;F*;sHG`S;pP0J{cLn^qe{xQzY78@?X9vrr zfm!`vU3D0&MLt6xU`|_SnB`VO1N&hr~i;%M+@%bTRsvP;ckC|pWW0})yr^y&( zGy>og5l%Y15#V0HKH!4z+%u)us6~~?oE4evoOYOu}i$268(lutfF4+7UD^Ua0a!xG;{`k zO!opmpA-QeiF*6;vnyRJbMx$7>q7CZAZ1^8Ixpuq_$Sn~ z{yr_|+gOz4oQ>@bq`keNs?q%_Zmn~tM|Q6lY_0T9OmEO6iqXBH8^JjU*9(L5w~pzyh&qVtC_w5m@@s;e4E}=*A zChUk`JU(;sFcWG*9P7?#=)LUg_Y%QFn0F)_uX>m z?o&(h?H~L;>tO~GU|!xKqrC*e{C%;hv*O4eETZH~qGN_dyj>|m_H#(AVG%Ez+q=1i zMLfq%vb=-8A=X!N=t^A~lK3!J`j@Q#!xwWT@m`);>6_IOjBuH`lW!&CGW@fnd`|FI zNBPX)3hsS%a9MmZ_G7+gGguU&!if;j9d6<_V}XWq$$q3&h#!Sdi-_sW?9jj zk6mAAc-R{%&cFG?qN3}27X7}c=siMdSQKQBfFQtfHb#MMZa+qWX>_ z3gi4uQSs-cGRoB7S5$mSQSrT|I6sg`QBmcd9^bs6sOSPyR6nVx(XSR2ukedU6cuN$ zD~xjjk`!GUR8+jTs5l`(E5A4lJ;(m$l4q}O!yJq_GK973@PLxTjki62=V!~vk--S5R$3Gun8KS8KutDn$Ew9z8}1v4?%CCv%Sfy!J#wjBD>lu;>SjkAIa}{ z-EJJUrOVIxtBT(=I&CMaFZCs5l7IaCrKHc4Tb@f;jDDsaidV~%} zlH2eR=0Fq_u8l*dOXDiXCTqz)_1@{|zH^%{46(FQZ*h%B5gCLOAAwE3Bm4XB$qi|D z_nleQ>libVABL@iLI|P8?q9n-d+Te#Bja%@Cv6Ty2<^*$fURM(0l1(&gp{cAU#p0PHf2{q1XR6(Elv#K@G=d-K!1aO zMb+SnMuMxFrn-M>4q_%id(5!;m*Is5I~_iJR}8Pl?{h%6_gTXsfwM{HVQx~whZ4Wp zaG|mM70fsH(ZUB162??6`0?WpavJCp@A3YsrCdFEyAB7vec=K0vHp4R#bz*k0k3v@ z?^;`CrSyjE!l?`wG54y4HehFn#p9645M0JAkd(|DrsXtJ%wtci3!kEaS~ zzwI=w2y8W_CIGWWD~?-#(ZSz(G|G%u5p%w)J(L)ke7#q|%jwTug@qdMwcLCDLQs!_ zm({8GjpH+u^Bvl5I@G2S)V;OvR-}9pZ z{ITs*7A`6a^zj&NYggN$7dw~xa%WJFyf2+*YvI2iIJSa%TV*!PzKc&e^03({}{>?cnslB7CTjlSZ@rj&^2`__;ZPUfD|C2>SO&ShGTvi_RyEk0uF84SID@ zk|5BIE?u&Zu$4`I8{L|%dlDEOlj~jSwH<)36ytSBYd+!Z3uNjecHnpwvv9kh^cDlLk&+QZ2nwFJB z%sS<;$wp^0EH+vH;pgTaV+K6MZr!I>6C|fDKb=k^ww}b#gNJh* zs8jy@VaP~s`Mc%(bd)L5;ruN%B;Z-^DZSgu{tok@=JJ5i$CWj?#}e@uHx&Dsjuv(>o#<#I>02d zW~PRrO?QhKP`w!suGNE1=f#flQT)}vj`G`SLH~m874V%f3(HFT@f7FoiDkxh?P|w= zR(>LG`A^jgB$DJCd!EfEyF!Q{@#>h{e=g6P>NZ%5zAP$S+JEPNai2M=vZ-#9l{`iS zIl1o()?x(*?P|yCNBKo|HGYNzi&7ucaPoC7KvSx%?%m|9ZX)$n=J3jB`}Tg(c8_!W zp0ysS8*4qX5yf#wtZqYm3^*R-EzEEnPu-^3pZ8?nmAt2tUvh1ml4q?Y-`7p;YPCo+ zK@*9Wi9Xo8=3$sr$Po_3JCo~%_(;3Hh400O+4b5zW6&~+t$3KuBm8{8Qf`k08gwr^WwJ^JCe59Vu(IvOR>JvHR?cr8gzw(rGt2YXB2Ku86jG24MON zV&c~VIK3PL_Nm*{44RpUow*q}?VWv$Co*W@^jtiNa|};6SWD&z32UE?X39{#j|4_~ zJ@K0NDuf@PP(Qc7Lk9wl1uMG z$HpGB8p(w`_WhQxA;IF>HD7M-mykN%8Bx8e>PO^Muo^cE$L^bL;xHAC4tp zxp>GNPENDp{c~h8%j#u5#R<75k-0}7v0MMa&Bsya zuZTDaPW${Lx99=uozMusld;;jvnTUvu^o72NekkjJj8wZ*>3IDYb*7~TCB_=Sb#61 zIJZwyvZA-MZ`Cqf{|lWz)x77r>a;z6d_xW>KUOUtDDlS(B>Z$w;8!rtt=S(?hfnC_ zOtoX?=d0h-{4h7ZwaGn&3~rq1xQF0XD<$XorcBw%QNhrtlQNgoRA_=iAKJ&QiPpV> z<4^6*z>lBch#1+Z*2VmukOw+*MvYJOR?v`5h&F)+z%v}O)(jH@?#{S&7>+!WeL>fMZz^7F+ zzK=BA0ET7Lkcr%#PcU3D*&{Q&1C z65SbrrS;wBBcWLC`L-4dImd5qz%MT1jJ8=LSHE6f;IK~}mE)5*T<^KY=aXFS;L^^- zIM_Oqs+Jo*0;P@Pbr_&&(~$cBqg*t>SbN2hT6WK#4-r!+8H!3KPY~vXReYMM95Z9+Gt(_ZVnR}~S z=u0f~aP>3>2-00?-7sir7csc6#WE9{6_0&><&_a@;iN9;pf38w=S1tCi{BVU=#IL# zbTzr9QFrzp*hQ$b9Dd54)g2AzJ-;#`EBRUT0rbi#0XS1i9ew81lB6UsOGA9eT<-cCy%XfG1!Q{{(AD>o& zo+ix=O7|{8A5#x%I0h?77VqoWG15 zcGl9dTlY7d2e1p=55}!-{0}<;tnv$e{dTZcP zr+p4<2&{dXv&H50v7QLJlI&IWU|}5uXx$vVbQxvGs$qJ&_Kg_FFW9v&XQyn?tBuv& zMhV6VZ{?SxkbYt%$Z3w2czx9h@Y{FFKyulV{6{HXX`IiI23?CgLDz_cRN1O#Yeq@- zuT=1+KoPR%uSarO&LrjSg?6(365z;E`X73e-y~I_A`bNa=TMB9=L)burs1>9?H$~L zi^ppUkPVNp-9`Ssq1@sT_D^)HzWr18R=QQMgG3>7H(PJ>+L`(9-DBzpTPqa@TdNtW z>2Gihva=b7qzC7|0HJ61r~@$VCk0ElJd`$*Z>8@u_k(Usohph@H)tCd)}jSGg+5C{ zBdbtSk)e!YzG;L^$dYc%rf+z6=P?C*$gPo4gU+XBdtF9smG zc6uH}({!0Ka&kxc{ku;q5oI*wz#C?`fZ3RKK8gtWV@idQe5si)nFBD5VuoNSmc^Fo z$umx@qP!#?k{r_iG%6{BM z0c$ifF&xb_%zGR$81!X1G$4?QZ?{#l^+@atcFI=j6lzD3c6F~P#~4R552`ucfGk~&d+wJ5=#$sbCHM0@vXb5Xa zniU1_efe-rTmZ(iF3*E;1ebYO_c4`>j^JFnV5NtvqR_v=+#b&@z!>F1x}BD#^oITM zQ0|iToBQQ3e~_tqwB7{sdz-roy@=i?eJY|`=U{;N)kUY4JZV7qhY#~0OzX&z9<$Ni z{}-*G@^ju^1U07eg6@75L8uGSqfMd1U?ZnSZ)_=|P$rk~B{!RL0M1UV~ zl^^kEOcgWY{d~wu-=lgO@q6ah;nt`NWZ$dz`sN0?#gu+ql^Nt}b2ncNs|PWs!@Er> zAk4qKNyQf|6;tqTnC;M8yo6`T-GGmtk32_w{j+9ej;pw@SK>%fOSA=M|G#7lV|IuB zx`nXcEHv5><@r=@z{qZ;KcF=E7K9lyZi#qGyQ3Le3)LmLx|LYKq^;*&J2OE!jLX8% z+d=Hbp10YY*RDYx?H;s@R}3Z-7g}$+F=)s?eKOap`?=VVp-yaTp#FvEEVhLc^k5N@(USeNTRZ<*R+HpzE-QRf=fnJ+4l&nbd^$~SzOIOFVw zCv`kPN?<98OeN245mL;6DeeByFs0Xfv2u&3Qu5p~A{t?+OpNJ&gI%it^~|}=vCKCn z#xheY@Yj7Uy5tz+*7aR#c|)md;1)&Hg<6=C?5kpYw7i`R9%4>^XKPg=> znMqr3J13J$=_k}vP6On4`6PgscJi%#u}t+4#cfnXlW*<0FO+Do@sk1_(GeiGns9+p z&Ga^@uZ+5=5z1Fifc1ySnp=UR00^12 z`B*vy9CgXAS{kA3R!CXE=NjFi@6X45tgv!7($|RGV>oP&Wt+NJXtlg^Q=m5huO~_u z{*IBOq@D?zGz>9GdWcmMOR|+C*bT72L1hGT9{ULjT&j{3WX^f!G{q>JPLxLP7>P^G zpy+4gp=OvSOkvnpu!OvveGV0Z_9Q%LtUfD7D_Bugla@KAV1vI>{)`ILtdmA(rYG&n3o-fN=k3O0(0UPWMY%CkZ$F;RBVwapx&%7tRs880d)B->p zamSSrC4jSj)H$~~;*2XhXp%$}0G@%IY=AvS?E~-mQw6-XJn%RP)C`tkN9)?=kRXl) zBX3v;c^-Bn1v_jUldEe4J4onJSPa>$34ph+^a03I13(@NiX+wVFpa&&K(P&avl#U; z+o%cy$(}GQo*q}kxB$b-TYMN6b=5lpUTW7}R6|}KAY;tIqb>|v>C1JOoEL_ld_|X> zO2~Sm*Av6ut74<>EY6sG+e%A46{UwYu~C=t-X<+G|GgjTlJ`V9{1^Aa&)~n4cl!L- zEr0H2WHu$01sk3)sF0_F1$;2bkezh%ClTORv}eGOf0e|6JtqsAnym_6EgrXyH;>i5 zL41*pqjfI`BlghA(ToyDK4)~;i_!Sw6CXlzG#0tf*Bnj!3F@A|Y-bcs1GO5$-WLy1 zt4g&VQmwjIdpwrj=57g&B(8Vq#JC9cnF4&-gZxnxdGOr)BA5mPi zbU*J3^3n*C#_BbUFt)Q-itO=j<2r5l;>Q)s=cF@3CzM=IUbQ#&L}BOb2)!r{sw5fj zn|LagX=;vz{t|gY!f50{f_PfEV9Fy^(Yp5d7jkmA(xMT79Fb?MB#zLt6eqILWP4>4 zpYz0K+r4WZ!k#ZO77jX>dJWX`#PjO`@_hT}-08QV0SWM30*B&+WNADt2J0DXQ5U_Z0 zEWx`rqq8iC#G=1cN%Y&yV^RBVE+YQN!?4C6lExsju^|So_*XKE85>H zOTNe6Rgqd7ioe2UfWO>ebnEz%|*OP^ivtSmX`5p#3F?j#^6q< z7ZDqd@~6GA8foEVLg?v7F9xJjAVPA9RvC4tAi2yy78pdu*r;o0u^(5_)&&R21Jv~8ft3I{7WzmOYz9+P-E5DV$opq% z)8dOVzE8oVLx?g_2+<5lIr4@ufnn$$5oGitMAKUAGjN~>#1^ZMtsiR%1UFFrX6bla z-vRENTX|Mf-8)u#fgpe#G9l6Y6?wg&rz`*7LL^ow;OSn3Eb|rEpyGt9#nr8#&Na z%Fa2m%%8I}?IEA*DQA62jhfjStgBC-t*3zP_)OUeb{dJtO24EYvlvTBLXLhRU8%P- zV-Yl7my~68rgiKxIMm3`*XWY59KT?HbY*>WgL^g@+_y}7I}Maxw4JByA>=QRC`pCa zAx|5Ofil^~(UE)3w3eJmbs_{4rFLmQl*~9B{MoLDF_l_N)RGDF#nEa5vAnZxLdjkk ztu^c1t}Tyd+2LfC03nW`EdR|r+Vj51t8lvSbEALWI_`b=!Awge8YJttp%g5MAJG-D zem9~TEzxB5f&GG;?{eciKWXLZ9j{d!%Vl=h>mxJ(iv4CJ5Q#8L-W~!jM4ipC%nX!% z9MSPg^tg5C4Ch}FbEi}`)ozbs1HQG{?SJzu^rIWCr3(QtL?zWWJ~MxiFLBWcCglkV zxPLFZ#VSMPESalz=yXPc7jTRm@zLbwP*d##TFZF&R`~KJ)he|&H!PVhiw#|ggqp11 ziypNk-oGo-eK@0hc@m@S>t8>`^+6qChoFZj*yY52Z=KP^wu&PEbF3$sm0ptT_zBd zZs(UDum$@TH+(m#c3pC-7}{R`ryHdUI|7=_?)y=0o@l;cS;;ExytBh#&*uEmnDfla z8UKByf<4Zl3eI&oVgF}~e!+wJf-5P_-k&d6 zlP{?G83o^^z^(uMOikLWt0cc=+dV$9T|$xh#3T6^w*8dS%kwR*%@@p2OXF40txmm5 zRJ$*y-J)*~r@$9eVRy1WMBOH&)T_gZ3yg%yk#t5n9b03h+M}2XxBfdf=#a$ieveL3 zk3MG5vAXS6ia1s}`zg}mO9GAQ#l87n7-{i0+vtT6uz#TUz&)=EIM=W4x5jz{|SxHv_*mz?)T*A8Sb9F27=$j5SXATi?QJ zdnL@JqU6aH%&IT*-}kZd^BNK~k3&m2;J|G4Wb$TDsZDhDqy435_R?+aK-j+W^wz$^ zpKIaRpHr>xu671xXxF}c?_-eg606)TU%)-2>8>`f3`BG5f2i`zq{>xoLZ!2CtM%TI zPd3`)BEfwo7^0m)Ah@3`Xc-)B&!eIN_LG1AWPt(WFDS?ZyEm_|>|&2FHq{+Jsga&n zj>YFOjQ$hFWPwy}IHy1=|HQSOxuwz*eJ%EQIF*5kR}bmfD(I)$r7F}AU6FrZp|vOz8FF&&uF#b>h*U?+(>?cQ!FyjA0~>c>me zFuGKqEpGfsK*+Pjzc&@J#b>$6iQIFJ5J`@X!W<4Kn$_3;+@sLVWPRGSk>fd!s)>N- z{Dy1q3cjD)wtt(3%dpuk1-lV#=i3WuHjl$F@5%(1{O!Zn~Wu*$sAi zE2MPBAIGo;@;78gAd!^!odZhMZjzwU=Y7Mg((Q@k;ZVQ2R_i*)p?+iTUiOAmn7re} zXF2=a`u;pMxad7ZC<6B5K(%MAPEz@*yO#*-Bojy{|9$kUfwifHm#y?$F-9xp^Nr^A zC2oCB#Gm|y?xGKHklec@9l_Nk?jJ{UzA|l3Za4J2wd6NQ0=w3*8TxN7{LN4W!lyPv zB@#kM4ZVFUlFs65^|m|c5f$4FK)hI$WoKKi4HzOZ+_}lV$Mms%9mVyDt7MF5;Gg+ zo4G3zT6%NKd9a`i_J^xK5W>htJyDO-FN_CYus@78ck8)BW(w!Fg*kt`Wc~2`dsU|9 zAA|S$n!Ee;o;)l#7n*G!c$NCd;8>}|x7rS!6-Rui5z>t4COe|Uw=A{j%XelJFOFs0 zWsfX3;#+Z78u&)zkYLB%q4s^L>;Q6vm3)K;?&;hAsvY+jv*Z3fPm1@#$rHap%lR$0 z?H;}^%R*--@BeD!odry*AZFd27VFRKb6@09u;1?EMk?B~Wto|TVtndWdlOr2E2T7` zbst$NhhLO{KGD5{rnJuvbjokD7tE{4Q!jFdMjbx-O*&qrRr{J5s?o;v(`65>+K+iF zZ%;rfJ?^R=Qt9`%!qmzQS-ie0H}zAfW2HY6^{0NEx$DE7JJ`Jv<;p8Ld9@8HvujN# z5s}G0^$)(39sf)0;CcOuFuQnvJ9rXpd6!eskkITUVyV|~8yH&fDlanZFB@DAgttL` zdWf>dus_2X_UGTna1muO>=S7r!~VA!gtIk}WV4TpuN_jBJ^o6*Je)66*;LA_7PGxo zbTmbpmOxOy^NJpVy1Yk>pnkM3s4MThiA~J$4WyBtcB9qD24m?dmKQlGJowA}SlFXT zEMJ8t^gj^Gr(VIwN7I8(h~@PvsnJd)&*P2ZI>*-Q^+}ec_i#=QFzo$s(A&IWSiF4w zh^l2-X=A*J9MIOH@wxhj&Hq(3^aY76-saq$Vc%`JJ0k|@tdGb0{0M1W+Ad!jH*R%5 zeNpn((CIAmyu9_y-{}1^BZlO}g;}OGi3=UsmS3<4oHp-kjL)tA;BrxjV6SkO-fX6i zbT)pT#A1IH1v*yUNM;Lri>Pz3{5z3BWCzlpgA0scyzd3ZniGu2@VZ++mrvus?{5l@ z(Wi$9JUxZPoccHr68|V6(QF6~lE}YL`v(^oA+fdi!}EDvbRy>;gvGb@UDg5=@4%Bv zrA?&Sg}u3Tx>knuSdKPrpYiRzNF;m0LEwxBg2) z7;{_2OjgDZ<8gIGnOok65k-@0E9JU!v8Z9|S^2Ed^jvBp$pA0S@D$m3A7oS`(9xuqG%jdh+j$~H>cv*Zat z*_Lb@#t&$wM}72YShDS6en$F_kRCCtCEKp&XQKaz*!#w6=4mcJll@109hGXbZ9YFU z?M$k=MYCCpARSp%`6YzaiQE_Ht@A#xG@!i4&dgtfI(urRv)Q<0wI3*dew%&yu0E-U znvsYj$@j2t;V2oEx;y546A#I&Dy`IiNgi=8pV?IRv6cFck!ZlCCg!yY+(IJzk>sIK z4@s)FmfWrz>2ZB^=iEL`@-M$Y46*JbOtmwcoSSI$Pi7tt$hd1QZWeVx&=sJPdxp)u zIAagXG?rXScntW*xpQk~AjC_}7r%j+em=W76vJb@p9eNzDKq(yVU@h zFsT{*Ka>BbH3@h1r)tiCC}BK}tR)XoBa&$fK{ke#IL`=a zn%j4lJA2%RlfrI;@y~Bdw-M&Mh9J`KwMQxt-ukHFaiQd%(z#Qd)$YT0s;>4DV?gxG zxL$NOenyXilT1OW3Qp)za3lr97aZX}G(Biz15a2vBw&~VyFvTF0cYCCM0NahC$vxG z1Rr=Kp>54x_V@gF8gWplvKF5tkS5XB4%34gYq2?Dh6lrr(u0xK;)S*>>o~_!3uEaYN_Ktk~ zm=tS|t0UeC^j*{CQ+XB#D||KPV@EL9u?^mty`b`9Y>(B!7^DOs zJZBUd2d6zj?&O9_bn!Z*ReP=|Drn<;@-kK<-}&Teu0FBtDt10us|v{jU$B;Zo~sGP z%*9Io5c+_M?zh&&gy(yLJ3c~A1kUzbn(i6K1+ruxST zJnl(>`a=Jl$o4o=b++p%z~D~8@>O zA;hDPX~zUGS&LekB)7izMW>e3)$ixAmAQc@^5Y1ji7y8gK~3UXu&aQs)}p6bVj>3- zg8{_^0aM+%nGq-ZhFZ;rwfH6~%QSkUUP`lfAjnUbqeK{zqq)qH>C}7XtB~_1=j|wo zg;75>x#v{IYCUZ$m%SmV5(_ACSet0_t|}O+Jr>#sUQh_Wp-2UhZiVA-Q#{y`7u7z9 z=Fm*&{TPSDgigQXY4*vruZt0s-YI79JAazXDBJ|u?@k31%qG&`T!;-CE#N3%Xf1k8 zq^frNaK35;HR~=8iXTzq^B97ynN~3ryU){pPEwBNa4x7o-Xr@q`a`!oLI=cX&fw0w zgUQl7;jQ4wffMh}3!52XWu$c?-$nmOuZf8^VGMa5qFF}@am%kaE#sggs14KGc#mJlCvV>*&&)QG z@USR+0C#UOpcUI6#_%}bfR{_4!p@+9TqyxX>FKwB1LL#uvY)<$tHkuNsn_D)I5%_D zDMBT;{Cp}#<+~@b!g~~^jzh@+vv}|&!*mteYo8$BCn0MkR!;pT$H3lL-F|D)UkvgO z8cNHwbr@}Vahljw{)-EwO-x@%xv~r2)kYVrB?lNY9t}{TEymVG6w~SNU#gKmn|$4} zQi?G#uG+Xx#WEv$#X{M0GDnS!g`P9#sSs&;YBA2LS`k2$Bu=x#KGp`t6AdN_0`B3v02`nH$pwv3|Z@rCPht=XsoB z1xX}cHSE_|<3!N2^EL~m26aHq|BJBu{&ixDFR`d~ zOb&(%6L?t&q2xm#Rrav=OCdjs)LBRkDOrGkbgq;icBfCm>5p4ag6mN&`4=t>$#IfoLOh z+d!W8SZKE)Ao4S08_KHBZr>>*npylJnGIHY1#JqKWsGAtPE8m?mG>GXxR~81E+kY; za>l`|{{O(;%_gIWyN?*=jp_nfNB;auc##^hV@u|)`?aaf~%fYs22A`_HoGu{EXoO5n zTc0w8CE5KIfmdg$x`o<}5W;DK&P7H`xu}^2LdY)Q{3)bw&8mp(tr&I2ntM3$9 z;HlJ?3w21DX=$F?jORT$|MZ$PfG-<$rcq-)zKC_Bo=vk4a^F1fJc*2P-%WR#cO{_W zO=F{fLN6IZy?HbH#hz6Ka<~3>6N{iac@t259;PHG$bY9mTaB&EXI%aAjO#H#ntiVQ zlLbpv@Hho|1zIxy`VINlv#NC`wR~MSa0+I$?y_*=2H!B=*i*+{n`fU}ddjG=d@t7K z3w|WZbDG-!U&i+TarY+hQC3&ue-bhzVSA#o#FePg5|sgjNw-ad}