@@ -40,7 +40,7 @@ Header-MicMac-eLiSe-25/06/2007*/
4040#include " StdAfx.h"
4141#include " ../uti_phgrm/Apero/cCameraRPC.h"
4242#include " general/ptxd.h"
43-
43+ # include " ../../include/im_tpl/cPtOfCorrel.h "
4444
4545void CheckBounds (Pt2dr & aPmin, Pt2dr & aPmax, const Pt2dr & aP, bool & IS_INI );
4646
@@ -1150,7 +1150,6 @@ int anAppli_PFM2Tiff::DoTif()
11501150
11511151 ReadPFMHeader (aFO);
11521152
1153- std::cout << " EEEEEEEEEE Sz=" << mSz << " \n " ;
11541153
11551154 SkipSpace (aFO);
11561155
@@ -1188,8 +1187,10 @@ int anAppli_PFM2Tiff::DoTif()
11881187 ELISE_ASSERT (false ," anAppli_PFM2Tiff::DoTif(): File is too short " );
11891188
11901189 for (int aK1=0 ; aK1<mSz .x ; aK1++)
1190+ {
1191+ // std::cout << aLine[aK1] << " " << "\n";
11911192 aRes.SetR (Pt2di (aK1,aK2),aLine[aK1]);
1192-
1193+ }
11931194
11941195 delete[] aLine;
11951196
@@ -1276,11 +1277,15 @@ class cImDir
12761277 ElSeg3D & OC ();
12771278 const ElSeg3D & OC ()const ;
12781279
1280+ Pt2dr & PP ();
1281+ const Pt2dr & PP ()const ;
1282+
12791283 std::vector<ElSeg3D> mDirs ;
12801284
12811285 private :
12821286 const std::string mName ;
12831287 ElSeg3D mOC ;
1288+ Pt2dr mPP ;
12841289};
12851290
12861291cImDir::cImDir (const std::string &aName) :
@@ -1294,6 +1299,12 @@ ElSeg3D & cImDir::OC()
12941299const ElSeg3D & cImDir::OC ()const
12951300{ return mOC ; }
12961301
1302+ Pt2dr & cImDir::PP ()
1303+ { return mPP ; }
1304+
1305+ const Pt2dr & cImDir::PP ()const
1306+ { return mPP ; }
1307+
12971308class Appli_ImPts2Dir
12981309{
12991310 public :
@@ -1325,14 +1336,14 @@ Appli_ImPts2Dir::Appli_ImPts2Dir(int argc,char ** argv) :
13251336 mSetIm (0 )
13261337{
13271338 std::string aPattern;
1328- std::vector<std::string> aCirc ;// not implemented for now
1339+ std::vector<std::string> aCircV = { " 100 " , " 500 " } ;// not implemented for now
13291340
13301341 ElInitArgMain
13311342 (
13321343 argc, argv,
13331344 LArgMain () << EAMC (aPattern," Pattern of images" )
13341345 << EAMC (mOri ," Orientation directory" ),
1335- LArgMain () << EAM (aCirc ," Circ" ,true ," Vector of circle radii" )
1346+ LArgMain () << EAM (aCircV ," Circ" ,true ," Vector of circle radii, Def=[100,500] px " )
13361347 << EAM (mOut ," Out" ,true ," Output file name" )
13371348 );
13381349
@@ -1346,9 +1357,22 @@ Appli_ImPts2Dir::Appli_ImPts2Dir(int argc,char ** argv) :
13461357 mSetIm = mICNM ->Get (mIms );
13471358 mNbIm = (int )mSetIm ->size ();
13481359
1349- mListPt2d .push_back (Pt2dr (100 ,100 ));
1350- mListPt2d .push_back (Pt2dr (200 ,200 ));
1360+ // circles wrt to "0"
1361+ for ( auto aCircRad : aCircV )
1362+ {
1363+ double aRadCur = RequireFromString<double >(aCircRad," Radius i" );
1364+
1365+ cFastCriterCompute * aCircRI = cFastCriterCompute::Circle (aRadCur);
1366+ const std::vector<Pt2di> & aVPt = aCircRI->VPt ();
1367+
1368+ for ( auto aFlux : aVPt )
1369+ mListPt2d .push_back (Pt2dr (aFlux.x ,aFlux.y ));
1370+
1371+ }
13511372 mNbPts = int (mListPt2d .size ());
1373+
1374+
1375+
13521376}
13531377
13541378int Appli_ImPts2Dir::DoCalc ()
@@ -1364,11 +1388,13 @@ int Appli_ImPts2Dir::DoCalc()
13641388 // optical center
13651389 CamStenope * aCam = aCG->DownCastCS ();
13661390 mMapImDirs [aNameIm]->OC () = aCam->Capteur2RayTer (aCam->PP ());
1391+ mMapImDirs [aNameIm]->PP () = aCam->PP ();
13671392
1368-
1393+
13691394 for (auto aKP : mListPt2d )
13701395 {
1371- ElSeg3D aDir = aCG->Capteur2RayTer (aKP);
1396+ // std::cout << aKP + mMapImDirs[aNameIm]->PP() << " 0.0 " << "\n";
1397+ ElSeg3D aDir = aCG->Capteur2RayTer (aKP + mMapImDirs [aNameIm]->PP ());
13721398
13731399 mMapImDirs [aNameIm]->mDirs .push_back (aDir);
13741400 }
@@ -1402,7 +1428,7 @@ int Appli_ImPts2Dir::Save()
14021428 for (int aP=0 ; aP<mNbPts ; aP++)
14031429 {
14041430 cXml_SingleDir aXmlDir;
1405- aXmlDir.PIm () = mListPt2d .at (aP);
1431+ aXmlDir.PIm () = mListPt2d .at (aP) + mMapImDirs [aNameIm]-> PP () ;
14061432 aXmlDir.P1 () = mMapImDirs [aNameIm]->mDirs .at (aP).P0 ();
14071433 aXmlDir.P2 () = mMapImDirs [aNameIm]->mDirs .at (aP).P1 ();
14081434
0 commit comments