コード例 #1
0
ファイル: runLocal.C プロジェクト: bartbutler/ProofAna
void runLocal(TString dataset, TString treename = "", Long64_t nentries=TChain::kBigNumber,  Long64_t firstentry = 0)
{
	ProofAna* ana = new ProofAna();

	//Need to provide a TList for local running
	TList* list = new TList();
	ana->SetInputList(list);

	// Load dataset manager stuff, uses same local datasets as PROOF-Lite by design
	TString defaultdir(gSystem->HomeDirectory());
	defaultdir.Append("/.proof");
	TString dsetdir(gEnv->GetValue("ProofLite.Sandbox",defaultdir.Data()));
	dsetdir.Append("/datasets");
	dsetdir.Prepend("dir:");
	TDataSetManagerFile mgr(dsetdir);

	TString dsetfile(dataset);
	dsetfile.Append(".txt");
	dsetfile.Prepend("../filelists/");

	//Register dataset, if non-existent
	if(!mgr.ExistsDataSet(dataset)) {
		TFileCollection* dset = new TFileCollection(dataset,"",dsetfile);
		mgr.RegisterDataSet(dataset,dset,"V"); //This seems to return true regardless of success or failure at the moment
		if(treename.CompareTo("")!=0) {
			cout << "Setting default tree to " << treename << " (local and lite running)" << endl;
			TProof* lite = TProof::Open("lite://");
			if(lite->SetDataSetTreeName(dataset,treename)) {
				cout << "Failure to set default tree to " << treename << endl;
				return;
			}
			delete lite;
		}
	}
	mgr.ShowDataSets();

	// And yes, all this dataset garbage was to get the default tree name
	TFileCollection* dset = mgr.GetDataSet(dataset);
	TString defaultTree = dset->GetDefaultTreeName();

	// Make TChain from TFileCollection...doesn't seem like there is a more direct way
	if(defaultTree.First("/")==0) defaultTree.Remove(0,1);
	TChain* T = new TChain(defaultTree);
	TList* filelist = (TList*)dset->GetList();
	TIter next(filelist);
	TFileInfo* fileinfo = 0;
	while ((fileinfo = (TFileInfo*)next())) T->AddFile(fileinfo->GetCurrentUrl()->GetUrl());

	// Process TChain
	T->Process(ana,"", nentries, firstentry);
}
コード例 #2
0
ファイル: intra.c プロジェクト: Algomorph/pycvmpeg7
/* central function for intra related functions*/
void intra_proc(MomVop *resvop, MomVop *invop,MomImage *aux,
	       int reschanels,int inchanels,
	       int connect,int scanmode,
	       TChan ahold,TChan yhold,TChan uhold,TChan vhold,TChan axhold,
	       TCoor winx,TCoor winy,TCoor resposx,TCoor resposy,
	       TCoor inposx,TCoor inposy,TSizeConv inconv,
	       void (*operation)(TPixel *,TPixel *, TCoor, TCoor))

{
  TCoor lineend;
  void (*pre)(TNhood *);
  void (*right)(TNhood *);
  void (*down)(TNhood *);
  void (*left)(TNhood *);
  void (*up)(TNhood *);
  void (*defaultdir)(TNhood *);
  TNhood regs;

#ifdef EVAL
  eval_BeginMeasureDur();
  eval_BeginAddrMode(SECTION_INTRA);
  eval_BeginRecMode(invop,resvop,inchanels,reschanels);
  eval_PictSize(invop,NULL,resvop,aux);
  eval_BeginScan(scanmode);
  eval_ScanWindow(winx,winy,inposx,inposy,0,0,resposx,resposy);
  eval_BeginConSC(connect);
  eval_BeginOpr((void*)operation);
  eval_StartAddr();
#endif

#ifdef PPTRACE
  PPTrace_StartOfTool();
  PPTrace_LogType((void*)operation,reschanels,connect);
  PPTrace_LogIntraReg(1);
#endif

  ConstructNhood (&regs,resvop,invop,aux,0,0,
	      reschanels,inchanels,connect,scanmode,
	      ahold,yhold,uhold,vhold,axhold,
	      winx,winy,resposx,resposy,inposx,inposy,inconv);
  if (regs.error) {
    DestructNhood(&regs);
    return;
  }

  /* select shift functions*/
  if ((regs._n_irepeatx | regs._n_irepeaty |
       regs._n_istepx | regs._n_istepy) > 1) {
    pre=PreloadSub;
    right=ShiftRightSubLineLoad;
    down=ShiftDownSubLineLoad;
    left=ShiftLeftSubLineLoad;
    up=ShiftUpSubLineLoad;
  }
  else {
    pre=Preload;
    right=ShiftRightLineLoad;
    down=ShiftDownLineLoad;
    left=ShiftLeftLineLoad;
    up=ShiftUpLineLoad;
  }



  /* loops for imagescan*/
  switch (scanmode) {
  case SCAN_HO:

    regs._n_cnty=resposy;
    regs._n_icnty=inposy;
    regs._n_irepcnty=regs._n_stirepcnty;

    regs._n_cntx=resposx;
    regs._n_icntx=inposx;
    regs._n_irepcntx=regs._n_stirepcntx; /*must be set before preload*/

    regs._n_ia.u=regs.stia.u;
    regs._n_iy.u=regs.stiy.u;
    regs._n_iu.u=regs.stiu.u;
    regs._n_iv.u=regs.stiv.u;
    regs._n_ax.u=regs.stax.u;
    regs._n_ra.u=regs.stra.u;
    regs._n_ry.u=regs.stry.u;
    regs._n_ru.u=regs.stru.u;
    regs._n_rv.u=regs.strv.u;

    /*preload linestart*/
#ifdef EVAL
    eval_LogPreload();
#endif
    pre(&regs);

    lineend= regs._n_maxx;
    while (1) {

#ifdef EVAL
      eval_LogOpr(regs._n_cntx,regs._n_cnty);
#endif
      /* execute embedded function*/
#ifdef PPTRACE
      PPTrace_LogIntraIn(regs.matrix, regs._n_cntx,regs._n_cnty);
#endif
      operation(&regs.result,regs.matrix,regs._n_cntx,regs._n_cnty);
#ifdef PPTRACE
      PPTrace_LogIntraOut(regs.result);
#endif

      if (regs._n_raes) regs._n_raset(regs._n_ra,regs.result.a.i);
      if (regs._n_ryes) regs._n_ryset(regs._n_ry,regs.result.y.i);
      if (regs._n_rues) regs._n_ruset(regs._n_ru,regs.result.u.i);
      if (regs._n_rves) regs._n_rvset(regs._n_rv,regs.result.v.i);
      if (regs._n_axs) regs._n_axset(regs._n_ax,regs.result.ax.i);

      if (regs._n_cntx==lineend) {

	/*check for frame end*/
	if (regs._n_cnty == regs._n_maxy) break;

	/* go to next result line*/
	regs._n_cnty++;

	regs.stra.u+=regs._n_rals;
	regs.stry.u+=regs._n_ryls;
	regs.stru.u+=regs._n_ruls;
	regs.strv.u+=regs._n_rvls;
	regs.stax.u+=regs._n_axls;

	/* go to input line start*/
	regs._n_irepcnty++;
	if (regs._n_irepcnty==regs._n_irepeaty) {
	  regs._n_irepcnty=0;
	  regs._n_icnty+=regs._n_istepy;
	  regs.stia.u+=regs._n_ials;
	  regs.stiy.u+=regs._n_iyls;
	  regs.stiu.u+=regs._n_iuls;
	  regs.stiv.u+=regs._n_ivls;
	}

	/* reset x counters and set pointer to linestart*/
	regs._n_cntx=resposx;
	regs._n_icntx=inposx;
	regs._n_irepcntx=regs._n_stirepcntx; /*must be set before preload*/

	regs._n_ia.u=regs.stia.u;
	regs._n_iy.u=regs.stiy.u;
	regs._n_iu.u=regs.stiu.u;
	regs._n_iv.u=regs.stiv.u;
	regs._n_ax.u=regs.stax.u;
	regs._n_ra.u=regs.stra.u;
	regs._n_ry.u=regs.stry.u;
	regs._n_ru.u=regs.stru.u;
	regs._n_rv.u=regs.strv.u;

	/*preload linestart*/
#ifdef EVAL
  eval_LogPreload();
#endif
	pre(&regs);

      }
      else {
	right(&regs);
      }

    }
    break;
  case SCAN_VE:

    regs._n_cntx=resposx;
    regs._n_icntx=inposx;
    regs._n_irepcntx=regs._n_stirepcntx;

    regs._n_cnty=resposy;
    regs._n_icnty=inposy;
    regs._n_irepcnty=regs._n_stirepcnty; /*must be set before preload*/

    regs._n_ia.u=regs.stia.u;
    regs._n_iy.u=regs.stiy.u;
    regs._n_iu.u=regs.stiu.u;
    regs._n_iv.u=regs.stiv.u;
    regs._n_ax.u=regs.stax.u;
    regs._n_ra.u=regs.stra.u;
    regs._n_ry.u=regs.stry.u;
    regs._n_ru.u=regs.stru.u;
    regs._n_rv.u=regs.strv.u;


    /*preload linestart*/
#ifdef EVAL
    eval_LogPreload();
#endif
    pre(&regs);

    lineend= regs._n_maxy;
    while (1) {


#ifdef EVAL
      eval_LogOpr(regs._n_cntx,regs._n_cnty);
#endif
      /* execute embedded function*/
#ifdef PPTRACE
      PPTrace_LogIntraIn(regs.matrix, regs._n_cntx,regs._n_cnty);
#endif
      operation(&regs.result,regs.matrix,regs._n_cntx,regs._n_cnty);
#ifdef PPTRACE
      PPTrace_LogIntraOut(regs.result);
#endif

      if (regs._n_raes) regs._n_raset(regs._n_ra,regs.result.a.i);
      if (regs._n_ryes) regs._n_ryset(regs._n_ry,regs.result.y.i);
      if (regs._n_rues) regs._n_ruset(regs._n_ru,regs.result.u.i);
      if (regs._n_rves) regs._n_rvset(regs._n_rv,regs.result.v.i);
      if (regs._n_axs) regs._n_axset(regs._n_ax,regs.result.ax.i);

      if (regs._n_cnty==lineend) {

	/*check for frame end*/
	if (regs._n_cntx == regs._n_maxx) break;

	/* go to next result line*/
	regs._n_cntx++;

	regs.stra.u+=regs._n_ras;
	regs.stry.u+=regs._n_rys;
	regs.stru.u+=regs._n_rus;
	regs.strv.u+=regs._n_rvs;
	regs.stax.u+=regs._n_axs;

	/* go to input line start*/
	regs._n_irepcntx++;
	if (regs._n_irepcntx==regs._n_irepeatx) {
	  regs._n_irepcntx=0;
	  regs._n_icntx+=regs._n_istepx;
	  regs.stia.u+=regs._n_ias;
	  regs.stiy.u+=regs._n_iys;
	  regs.stiu.u+=regs._n_ius;
	  regs.stiv.u+=regs._n_ivs;
	}

	/* reset x counters and set pointer to linestart*/
	regs._n_cnty=resposy;
	regs._n_icnty=inposy;
	regs._n_irepcnty=regs._n_stirepcnty; /*must be set before preload*/

	regs._n_ia.u=regs.stia.u;
	regs._n_iy.u=regs.stiy.u;
	regs._n_iu.u=regs.stiu.u;
	regs._n_iv.u=regs.stiv.u;
	regs._n_ax.u=regs.stax.u;
	regs._n_ra.u=regs.stra.u;
	regs._n_ry.u=regs.stry.u;
	regs._n_ru.u=regs.stru.u;
	regs._n_rv.u=regs.strv.u;

	/*preload linestart*/
#ifdef EVAL
    eval_LogPreload();
#endif
	pre(&regs);

      }
      else {
	down(&regs);
      }

    }
    break;
  case SCAN_HM:
    regs._n_cnty=resposy;
    regs._n_icnty=inposy;
    regs._n_irepcnty=regs._n_stirepcnty;

    regs._n_cntx=resposx;
    regs._n_icntx=inposx;
    regs._n_irepcntx=regs._n_stirepcntx;

    regs._n_ia.u=regs.stia.u;
    regs._n_iy.u=regs.stiy.u;
    regs._n_iu.u=regs.stiu.u;
    regs._n_iv.u=regs.stiv.u;
    regs._n_ax.u=regs.stax.u;
    regs._n_ra.u=regs.stra.u;
    regs._n_ry.u=regs.stry.u;
    regs._n_ru.u=regs.stru.u;
    regs._n_rv.u=regs.strv.u;

    /*preload linestart*/
#ifdef EVAL
    eval_LogPreload();
#endif
    pre(&regs);
    defaultdir=right;
    lineend=(regs._n_maxx);

    while (1) {

#ifdef EVAL
      eval_LogOpr(regs._n_cntx,regs._n_cnty);
#endif
      /* execute embedded function*/
#ifdef PPTRACE
      PPTrace_LogIntraIn(regs.matrix, regs._n_cntx,regs._n_cnty);
#endif
      operation(&regs.result,regs.matrix,regs._n_cntx,regs._n_cnty);
#ifdef PPTRACE
      PPTrace_LogIntraOut(regs.result);
#endif

      if (regs._n_raes) regs._n_raset(regs._n_ra,regs.result.a.i);
      if (regs._n_ryes) regs._n_ryset(regs._n_ry,regs.result.y.i);
      if (regs._n_rues) regs._n_ruset(regs._n_ru,regs.result.u.i);
      if (regs._n_rves) regs._n_rvset(regs._n_rv,regs.result.v.i);
      if (regs._n_axs) regs._n_axset(regs._n_ax,regs.result.ax.i);

      if (regs._n_cntx==lineend) {
	if (defaultdir==right) {
	  lineend=resposx;
	  defaultdir=left;
	}
	else {
	  lineend=regs._n_maxx;
	  defaultdir=right;
	}

	/*check for frame end*/
	if (regs._n_cnty == (regs._n_maxy)) break;
/*	for (i=1; i<regs._n_rsuby; i++) {*/
	  /* next row*/
	  /* shift down*/
/*	  down(&regs,0);
	}*/
	down(&regs);
      }
      else {
/*	for (i=1; i<regs._n_rsubx; i++) {*/
	  /* shift left or right*/
/*	  defaultdir(&regs,0);
	}*/
	defaultdir(&regs);
      }
    }
    break;
  case SCAN_VM:
    regs._n_cnty=resposy;
    regs._n_icnty=inposy;
    regs._n_irepcnty=regs._n_stirepcnty;

    regs._n_cntx=resposx;
    regs._n_icntx=inposx;
    regs._n_irepcntx=regs._n_stirepcntx;

    regs._n_ia.u=regs.stia.u;
    regs._n_iy.u=regs.stiy.u;
    regs._n_iu.u=regs.stiu.u;
    regs._n_iv.u=regs.stiv.u;
    regs._n_ax.u=regs.stax.u;
    regs._n_ra.u=regs.stra.u;
    regs._n_ry.u=regs.stry.u;
    regs._n_ru.u=regs.stru.u;
    regs._n_rv.u=regs.strv.u;

    /*preload linestart*/
#ifdef EVAL
    eval_LogPreload();
#endif
    pre(&regs);
    defaultdir=down;
    lineend=regs._n_maxy;

    while (1) {

#ifdef EVAL
      eval_LogOpr(regs._n_cntx,regs._n_cnty);
#endif
      /* execute embedded function*/
#ifdef PPTRACE
      PPTrace_LogIntraIn(regs.matrix, regs._n_cntx,regs._n_cnty);
#endif
      operation(&regs.result,regs.matrix,regs._n_cntx,regs._n_cnty);
#ifdef PPTRACE
      PPTrace_LogIntraOut(regs.result);
#endif

      if (regs._n_raes) regs._n_raset(regs._n_ra,regs.result.a.i);
      if (regs._n_ryes) regs._n_ryset(regs._n_ry,regs.result.y.i);
      if (regs._n_rues) regs._n_ruset(regs._n_ru,regs.result.u.i);
      if (regs._n_rves) regs._n_rvset(regs._n_rv,regs.result.v.i);
      if (regs._n_axs) regs._n_axset(regs._n_ax,regs.result.ax.i);

      if (regs._n_cnty==lineend) {
	if (defaultdir==up) {
	  lineend=regs._n_maxy;
	  defaultdir=down;
	}
	else {
	  lineend=resposy;
	  defaultdir=up;
	}

	if (regs._n_cntx == regs._n_maxx) break;
/*	for (i=1; i<regs._n_rsuby; i++) {*/
	  /* next culomn*/
	  /* shift right*/
/*	  right(&regs,0);
	}*/
	right(&regs);
      }
      else {
/*	for (i=1; i<regs._n_rsubx; i++) {*/
	  /* shift up or down*/
/*	  defaultdir(&regs,0);
	}*/
	defaultdir(&regs);
      }
    }
    break;
  case SCAN_LOOP:
  default :
    addlib_stop_here("Warning : scanmode not implemented\n",0,0);
    DestructNhood(&regs);
    return;
  }
  DestructNhood(&regs);

#ifdef PPTRACE
  PPTrace_LogIntraReg(1);
#endif

#ifdef EVAL
  eval_EndMeasureDur();
  eval_EndAddr();
  eval_EndOpr();
  eval_EndConSC();
  eval_EndScan();
  eval_EndRecMode();
  eval_EndAddrMode();
#endif

  return;
}