int PastDevlop_main(int argc,char ** argv) { MMD_InitArgcArgv(argc,argv); std::string aFullName; int aSz1 = -1; int aSz2 = -1; bool aCoul8B = false; ElInitArgMain ( argc,argv, LArgMain() << EAMC(aFullName, "Full Directory (Dir+Pattern)", eSAM_IsPatFile), LArgMain() << EAM(aSz1,"Sz1",true) << EAM(aSz2,"Sz2",true) << EAM(aCoul8B,"Coul8B",true) ); if (!MMVisualMode) { cInterfChantierNameManipulateur::BasicAlloc(DirOfFile(aFullName)); Tiff_Im::StdConvGen(aFullName,1,true,true); Tiff_Im::StdConvGen(aFullName,1,false,true); if (aCoul8B) { Tiff_Im::StdConvGen(aFullName,3,false,true); } cTplValGesInit<std::string> aTName; cInterfChantierNameManipulateur::StdAlloc(argc,argv,DirOfFile(aFullName),aTName); DoSimplePastisSsResol(aFullName,-1); if (aSz1 >0) DoSimplePastisSsResol(aFullName,aSz1); if (aSz2 >0) DoSimplePastisSsResol(aFullName,aSz2); } return EXIT_SUCCESS; }
cElNuage3DMaille * NuageWithoutData(const cXML_ParamNuage3DMaille & aParam,const std::string & aName) { return cElNuage3DMaille::FromParam ( aParam, DirOfFile(aName), "", 1.0, (cParamModifGeomMTDNuage *) 0, true ); }
Tiff_Im cMMTP::FileEnv(const std::string & aPref,bool Bin) // Si pas Bin int2 { std::string aNameRes = DirOfFile(mNameTargetEnv) + aPref + "_DeZoom" + ToString( mAppli.CurEtape()->DeZoomTer()) + ".tif"; bool isNew; return Tiff_Im::CreateIfNeeded ( isNew, aNameRes.c_str(), mSzTargetEnv, Bin ? GenIm::bits1_msbf : GenIm::real4, Tiff_Im::No_Compr, Tiff_Im::BlackIsZero ); }
bool code_file(const char * name,bool coder,std::string * ResNewName=0) { std::string aStrName(name); bool dcdpost = false; string NewName (name); if (IsPostfixed(name)) { dcdpost = (StdPostfix(name)=="dcd"); } else { } if (coder == dcdpost) return false; if (coder) NewName = name + string(".dcd"); else NewName = StdPrefix(name); if (ResNewName) * ResNewName = NewName; std::string aSauv = DirOfFile(aStrName) + "Dup_" + NameWithoutDir(aStrName) + ".dup"; std::string aCp = "cp " + aStrName + " " + aSauv; VoidSystem(aCp.c_str()); string MV = string(SYS_MV)+ " \"" + name + string("\" \"") + NewName +string("\""); INT NbOctet = sizeofile(name); Elise_File_Im F(name, Pt2di(NbOctet,1),GenIm::u_int1); Im1D_U_INT1 majic = ImMajic(); ELISE_COPY ( F.all_pts(), F.in()^majic.in()[FX%majic.tx()], F.out() ); // cout << MV.c_str() << "\n"; VoidSystem(MV.c_str()); ELISE_fp::RmFile(aSauv); return true; }
int LucasChCloud_main(int argc,char ** argv) { //===================== PARAMETRES EN DUR ============== std::string aNameNuage,aNameOut; ElInitArgMain ( argc,argv, LArgMain() << EAMC(aNameNuage,"Name input "), LArgMain() << EAM(aNameOut,"Out",true) ); if (! EAMIsInit(&aNameOut)) aNameOut = DirOfFile(aNameNuage) + "TestScale_" + NameWithoutDir(aNameNuage); cXML_ParamNuage3DMaille aXML = StdGetObjFromFile<cXML_ParamNuage3DMaille> ( aNameNuage, StdGetFileXMLSpec("SuperposImage.xml"), "XML_ParamNuage3DMaille", "XML_ParamNuage3DMaille" ); double aScale = 2; cRepereCartesien aRep; aRep.Ori() = Pt3dr(0,0,0); aRep.Ox() = Pt3dr(aScale,0,0); aRep.Oy() = Pt3dr(0,aScale,0); aRep.Oz() = Pt3dr(0,0,aScale); aXML.RepereGlob().SetVal(aRep); MakeFileXML(aXML,aNameOut); return 0; }
cAppliStephane::cAppliStephane(int argc,char ** argv) { ElInitArgMain ( argc,argv, LArgMain() << EAMC(mN1,"Name of camera 1") << EAMC(mN2,"Name of camera 2") << EAMC(mN3,"Name of camera 3"), LArgMain() << EAM(mCalib,"OriCalib",true,"Optionnal calibration") ); mNM = cVirtInterf_NewO_NameManager::StdAlloc(DirOfFile(mN1),mCalib); mNM->LoadTriplet(mN1,mN2,mN3,&mVP1,&mVP2,&mVP3); std::cout << " SIZE " << mVP1.size() << " " << mVP2.size() << " " << mVP3.size() << "\n"; std::cout << " SIZE " << mVP1[0] << " " << mVP2[0] << " " << mVP3[0] << "\n"; }
cElNuage3DMaille * NuageWithoutDataWithModel(const std::string & aName,const std::string & aModel) { cXML_ParamNuage3DMaille aParam = XML_Nuage(aName); if (aModel!="") { cXML_ParamNuage3DMaille aPMod = XML_Nuage(aModel); aParam.Image_Profondeur().Val().OrigineAlti() = aPMod.Image_Profondeur().Val().OrigineAlti(); aParam.Image_Profondeur().Val().ResolutionAlti() = aPMod.Image_Profondeur().Val().ResolutionAlti(); } return cElNuage3DMaille::FromParam ( aParam, DirOfFile(aName), "", 1.0, (cParamModifGeomMTDNuage *) 0, true ); }
cAppliOneReechMarqFid::cAppliOneReechMarqFid(int argc,char ** argv) : cAppliWithSetImage (argc-1,argv+1,TheFlagNoOri), mAffPixIm2ChambreMm (ElAffin2D::Id()), mBySingle (true), mNumKer (5), mPostMasq ("NONE") { ElInitArgMain ( argc,argv, LArgMain() << EAMC(mNamePat,"Pattern image", eSAM_IsExistFile) << EAMC(mResol,"Resolution"), LArgMain() << EAM(mBoxChambreMm,"BoxCh",true,"Box in Chambre (generally in mm)") << 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") ); if (mPostMasq!="NONE") mPostMasq = "_"+mPostMasq+"Masq"; const cInterfChantierNameManipulateur::tSet * aSetIm = mEASF.SetIm(); if (aSetIm->size()>1) { mBySingle = false; ExpandCommand(2,"",true); return; } mNameIm =(*aSetIm)[0]; mDir = DirOfFile(mNameIm); mICNM = cInterfChantierNameManipulateur::BasicAlloc(mDir); std::pair<std::string,std::string> aPair = mICNM->Assoc2To1("Key-Assoc-STD-Orientation-Interne",mNameIm,true); mSzIm = Tiff_Im::StdConvGen(mNameIm,-1,true).sz(); cMesureAppuiFlottant1Im aMesCam = StdGetFromPCP(mDir+aPair.first,MesureAppuiFlottant1Im); cMesureAppuiFlottant1Im aMesIm = StdGetFromPCP(mDir+aPair.second,MesureAppuiFlottant1Im); mPack = PackFromCplAPF(aMesCam,aMesIm); if (! EAMIsInit(&mBoxChambreMm)) { mBoxChambreMm._p0 = Pt2dr(1e20,1e20); mBoxChambreMm._p1 = Pt2dr(-1e20,-1e20); for (ElPackHomologue::const_iterator itC=mPack.begin() ; itC!=mPack.end() ; itC++) { mBoxChambreMm._p0 = Inf(mBoxChambreMm._p0,itC->P1()); mBoxChambreMm._p1 = Sup(mBoxChambreMm._p1,itC->P1()); } } mBoxChambrePix._p0 = ChambreMm2ChambrePixel(mBoxChambreMm._p0); mBoxChambrePix._p1 = ChambreMm2ChambrePixel(mBoxChambreMm._p1); /* mAffChambreMm2PixIm = ElAffin2D::L2Fit(mPack,&mResidu); mAffPixIm2ChambreMm = mAffChambreMm2PixIm.inv(); std::cout << "FOR " << mNameIm << " RESIDU " << mResidu << " \n"; */ }
int ConvertIm_main(int argc,char ** argv) { MMD_InitArgcArgv(argc,argv); Tiff_Im::SetDefTileFile(1000000); std::string aNameIn ; INT aReducX=0; INT aReducY=0; INT aReducXY=0; INT aVisu=0; GenIm::type_el aTypeOut ; std::string aNameTypeOut =""; Tiff_Im::PH_INTER_TYPE aPhInterpOut ; std::string aNamePITOut =""; std::string PITOut[] = {"RGB","BW"}; std::list<std::string> lOut(PITOut, PITOut + sizeof(PITOut) / sizeof(std::string) ); std::string aNameOut; std::string anExt; Pt2di aP0(0,0); Pt2di aSzOut ; Pt2di aSzTF(-1,-1); REAL aDyn=1.0; Pt2di aSzTileInterne(-1,-1); int aKCh = -1; std::vector<int> aVPermut; int aNoTile = 0; std::string aF2 =""; ElInitArgMain ( argc,argv, LArgMain() << EAMC(aNameIn, "Image", eSAM_IsExistFile), LArgMain() << EAM(aNameOut,"Out",true) << EAM(anExt,"Ext",true) << EAM(aSzOut,"SzOut",true, "Size out", eSAM_NoInit) << EAM(aP0,"P0",true) << EAM(aNameTypeOut,"Type",true, "TypeMNT", eSAM_None, ListOfVal(GenIm::bits1_msbf, "")) << EAM(aNamePITOut,"Col",true, "Col", eSAM_None,lOut) << EAM(aReducXY,"ReducXY",true) << EAM(aReducX,"ReducX",true) << EAM(aReducY,"ReducY",true) << EAM(aVisu,"Visu",true) << EAM(aSzTF,"SzTifTile",true) << EAM(aSzTileInterne,"SzTileInterne",true) << EAM(aDyn,"Dyn",true) << EAM(aKCh,"KCh",true) << EAM(aNoTile,"NoTile",true) << EAM(aVPermut,"Permut",true, "Permut", eSAM_NoInit) << EAM(aF2,"F2",true) ); if (!MMVisualMode) { // Tiff_Im aTifIn = Tiff_Im::BasicConvStd(aNameIn); Tiff_Im aTifIn = Tiff_Im::UnivConvStd(aNameIn); INT aNbChIn = aTifIn.nb_chan(); if (! EAMIsInit(&aTypeOut)) aTypeOut =aTifIn.type_el(); if (! EAMIsInit(&aPhInterpOut)) aPhInterpOut = aTifIn.phot_interp(); if (! EAMIsInit(&aSzOut)) aSzOut = aTifIn.sz(); if (aReducXY) { aReducX = 1; aReducY = 1; } if (aNameOut=="") { if (anExt=="") { if (aReducX && aReducY) anExt = "_RXY"; else if (aReducX) anExt = "_RX"; else if (aReducY) anExt = "_RY"; else anExt= "_Out"; } if (IsPostfixed(aNameIn)) aNameOut = StdPrefix(aNameIn) + anExt +"." + StdPostfix(aNameIn); else aNameOut = aNameIn + anExt + "tif"; } Pt2di aCoefReduc(aReducX != 0 ? 2 : 1, aReducY != 0 ? 2 : 1); aSzOut = aSzOut.dcbyc(aCoefReduc); if (aNameTypeOut != "") aTypeOut = type_im(aNameTypeOut); if (aKCh != -1) aNamePITOut="BW"; if ( aVPermut.size() !=0) { if ( aVPermut.size() ==1) aPhInterpOut = Tiff_Im::BlackIsZero; else if ( aVPermut.size() ==3) aPhInterpOut = Tiff_Im::RGB; else { ELISE_ASSERT(aNamePITOut=="","Nb Canaux incoherents"); } } else { if (aNamePITOut=="RGB") aPhInterpOut = Tiff_Im::RGB; else if (aNamePITOut=="BW") aPhInterpOut = Tiff_Im::BlackIsZero; else { ELISE_ASSERT(aNamePITOut=="","Mode Couleur Inconnu"); } } Tiff_Im::COMPR_TYPE aComprOut = Tiff_Im::No_Compr; L_Arg_Opt_Tiff aLArg = Tiff_Im::Empty_ARG; if (! aNoTile) { if (aSzTileInterne != Pt2di(-1,-1)) aLArg = aLArg + Arg_Tiff(Tiff_Im::ATiles(aSzTileInterne)); if (aSzTF != Pt2di(-1,-1)) aLArg = aLArg + Arg_Tiff(Tiff_Im::AFileTiling(aSzTF)); } else { aLArg = aLArg + Arg_Tiff(Tiff_Im::ANoStrip()); aLArg = aLArg + Arg_Tiff(Tiff_Im::AFileTiling(Pt2di(-1,-1))); } Tiff_Im aTifOut ( aNameOut.c_str(), aSzOut, aTypeOut, aComprOut, aPhInterpOut, aLArg ); INT aNbChOut = aTifOut.nb_chan(); Pt2di aSzROut = aSzOut; Output anOut = aTifOut.out(); Fonc_Num aFin = aTifIn.in_proj(); if (aF2!="") { Tiff_Im aT2 = Tiff_Im::BasicConvStd(DirOfFile(aNameIn)+aF2); aFin = Virgule(aFin,aT2.in(0)); } if (aVPermut.size() != 0) aFin = aFin.permut(aVPermut); if (type_im_integral( aTypeOut)) { } else { aFin = Rconv(aFin); } aFin = reduc_binaire_gen(aFin, aReducX != 0, aReducY != 0, 16, true, 0); anOut = Filtre_Out_RedBin_Gen(anOut, aReducX != 0, aReducY != 0); aSzROut = aSzOut.mcbyc(aCoefReduc); aFin = trans(aFin,aP0); if (aKCh!=-1) aFin = aFin.kth_proj(aKCh); else { if ((aNbChOut==1) && (aNbChIn==3)) aFin = (aFin.v0() + aFin.v1() + aFin.v2()) / 3.0; if ((aNbChOut==3) && (aNbChIn==1)) aFin = Virgule(aFin,aFin,aFin); } if (aVisu) anOut = anOut | Video_Win::WiewAv(aSzROut); if (aDyn != 1.0) aFin = aFin * aDyn; if (type_im_integral(aTypeOut) && (aTypeOut!=GenIm::int4)) { int aVMin,aVMax; min_max_type_num(aTypeOut,aVMin,aVMax); aFin = Max(aVMin,Min(aVMax-1,aFin)); } ELISE_COPY(rectangle(Pt2di(0,0),aSzROut),aFin,anOut); return EXIT_SUCCESS; } else return EXIT_SUCCESS; }