Esempio n. 1
0
 void DrawContoursTest::testInPlace1()
 {
     m_operator->initialize();
     m_operator->activate();
     
     runtime::DataContainer img(new cvsupport::Image("lenna.jpg"));
     runtime::Data* contoursItem = 0;
     std::vector<runtime::Data*> contoursVector;
     contoursItem = new cvsupport::Matrix("contour_1.npy");
     contoursVector.push_back(contoursItem);
     contoursItem = new cvsupport::Matrix("contour_2.npy");
     contoursVector.push_back(contoursItem);
     runtime::DataContainer contours(new runtime::List(contoursVector));
     
     runtime::UInt8 ch1(255);
     runtime::UInt8 ch2(0);
     runtime::UInt8 ch3(0);
     runtime::Int32 thickness(-1);
     
     m_operator->setInputData(DrawContours::IMG, img);
     m_operator->setInputData(DrawContours::CONTOURS, contours);
     m_operator->setParameter(DrawContours::CH_1, ch1);
     m_operator->setParameter(DrawContours::CH_2, ch2);
     m_operator->setParameter(DrawContours::CH_3, ch3);
     m_operator->setParameter(DrawContours::THICKNESS, thickness);
     
     runtime::DataContainer imgResult = m_operator->getOutputData(DrawContours::IMG);
     
     runtime::ReadAccess imgAccess(imgResult);
     cvsupport::Image::save("DrawContoursTest_testInPlace1_img.png", imgAccess.get<runtime::Image>());
 }
Esempio n. 2
0
void lc_tankdlg::frontview(double height, double leng, double x, double CH,double r,double breadth,Document_Interface *doc)
{

    QPointF Coord_a,Coord_e(0.0,breadth+x), Coord_f(0.0,height);//front view
    Coord_a.setX(startxedit->text().toDouble());
    Coord_a.setY(startyedit->text().toDouble());
    Coord_e += Coord_a, Coord_f+= Coord_e;
    QPointF Coord_g(leng,0.0), Coord_h(0.0,0.0-height);
    Coord_g += Coord_f,Coord_h += Coord_g;

    QPointF mid1_l(leng/2-r,0.0), mid2_l(leng/2+r,0.0); //tank  front view
    mid1_l += Coord_f, mid2_l += Coord_f;

    QPointF ch1(0.0,CH), ch2(0.0,CH);
    ch1 += mid1_l, ch2 +=mid2_l;

    doc->addLine(&Coord_e, &Coord_f);//coord_e to coor_h for Front view
    doc->addLine(&Coord_f, &Coord_g );
    doc->addLine(&Coord_g, &Coord_h);
    doc->addLine(&Coord_h, & Coord_e);

    doc->addLine(&mid1_l,&ch1); // tank of front view
    doc->addLine(&mid2_l,&ch2);
    doc->addLine(&ch1,&ch2);
}
Esempio n. 3
0
File: main.cpp Progetto: CCJY/coliru
int main(int argc, char** argv)
{
    classTwo<double> ch2(0.5);
    std::ofstream ofs2("test2.xml");
    boost::archive::xml_oarchive oa2(ofs2);
    oa2 << BOOST_SERIALIZATION_NVP(ch2);
    ofs2.close();
}
Esempio n. 4
0
TEST(ChunkTests, HeightValuesMatchAcrossChunks) {
  const unsigned VOXELS_PER_CHUNK = Units::chunkToVoxel(1);
  DummyChunk ch1(0, 0, 0);
  DummyChunk ch2(1, 0, 0);
  DummyChunk ch3(0, 0, 1);
  
  ch1.generate();
  ch2.generate();
  ch3.generate();
  
  EXPECT_EQ(ch1.heightAt(VOXELS_PER_CHUNK, 0), ch2.heightAt(0, 0));
}
Esempio n. 5
0
void setPWM(int channel, int value) //set "channel" in PWM mode with duty = "value"
{
    float duty = ((float) value)/100;
    switch(channel)
    {
        case 0  :  PwmOut ch0(LED1);  ch0 = 1 - duty; ch0.period(pwmPeriod);
                   break;
        case 1  :  PwmOut ch1(LED2);  ch1 = 1 - duty; ch1.period(pwmPeriod);
                   break;
        case 2  :  PwmOut ch2(LED3);  ch2 = 1 - duty; ch2.period(pwmPeriod);
                   break;
        case 3  :  PwmOut ch3(D5);    ch3 = duty;     ch3.period(pwmPeriod);
                   break;
        case 4  :  PwmOut ch4(PTE29); ch4 = duty;     ch4.period(pwmPeriod);
                   break;
        case 5  :  PwmOut ch5(PTE21); ch5 = duty;     ch5.period(pwmPeriod);
                   break;
        //Define more outputs here. No need to change UI code upon addition of outputs
        default :  break;
    }
}
Esempio n. 6
0
TEST_F(test_core, transition_NNIS)
{
	// define additional node chains
	NodeChain<M1> ch1(4, 100), ch2(6, 200), ch3(2, 300);

	// define network
	entry. link(ch1[0], pass, atNegative, 1);		// N
	ch1. back(). link(term, digits, atSimple, -1);
	entry. link(ch2[0], pass, atNegative, 2);		// N
	ch2. back(). link(term, letters, atSimple, -2);
	entry. link(ch3[0], pass, atInvoke, 3);			// I
	ch3. back(). link(exit, alpha, atSimple, 4);
	ch3. back(). link(exit, _12345, atSimple, 5);
	ch3. back(). link(exit, pound, atSimple, 6);
	entry. link(exit, pass, atSimple, 7);			// S
	exit. link(term, end, atSimple, 8);

	// test parsing
	EXPECT_EQ( 0,	trace_count(entry, "alpha", 2048) );
	EXPECT_EQ( 0,	trace_count(entry, "12345", 2048) );
	EXPECT_EQ( 1,	trace_count(entry, "#", 2048) );
}
Esempio n. 7
0
void switchIO(int channel, int value) //Turn "channel" ON/OFF
{
    int signal = value;
    
    switch(channel)
    {
        case 0  :  DigitalOut ch0(LED1);  ch0 = 1 - signal;
                   break;
        case 1  :  DigitalOut ch1(LED2);  ch1 = 1 - signal;
                   break;
        case 2  :  DigitalOut ch2(LED3);  ch2 = 1 - signal;
                   break;
        case 3  :  DigitalOut ch3(D5);    ch3 = signal;
                   break;
        case 4  :  DigitalOut ch4(PTE29); ch4 = signal;
                   break;
        case 5  :  DigitalOut ch5(PTE21); ch5 = signal;
                   break;
        //Define more outputs here
        default :  break;
    }
}
Esempio n. 8
0
TCanvas* NVertex(){

  gStyle->SetOptStat(1111111);
  gStyle->SetPalette(1);
  gStyle->SetOptFit(111110);
  gStyle->SetOptFile(1);
  gStyle->SetMarkerStyle(20);
  gStyle->SetMarkerSize(.3);
  gStyle->SetMarkerColor(1);
  gStyle->SetFillColor(0);

  // HISTO & Canvas
  TCanvas* myc1 = new TCanvas("myc1", "myc1", 600, 600);
 
  TH1F* h_nvtx_MC = new TH1F("h_nvtx_MC","MC vtx",20, 0., 20.);
  h_nvtx_MC->Sumw2();
  TH1F* h_nvtx_Data = new TH1F("h_nvtx_Data","Data vtx",20, 0., 20.);
  h_nvtx_Data->Sumw2();
  TH1F* h_nvtx_Ratio = new TH1F("h_nvtx_Ratio","Data vtx",20, 0., 20.);
  h_nvtx_Ratio->Sumw2();
  // TChain

  TChain ch("Tree_NVertex");
  ch.Add("Output/MC/histosfiles_DYJetsToLL.root");
  ch.Add("Output/MC/histosfiles_SingleT_s.root");
  ch.Add("Output/MC/histosfiles_SingleT_t.root");
  ch.Add("Output/MC/histosfiles_SingleT_tW.root");
  ch.Add("Output/MC/histosfiles_SingleTbar_s.root");
  ch.Add("Output/MC/histosfiles_SingleTbar_t.root");
  ch.Add("Output/MC/histosfiles_SingleTbar_tW.root");
  ch.Add("Output/MC/histosfiles_TTJets.root");
  ch.Add("Output/MC/histosfiles_WJetsToLNu.root");
  ch.Add("Output/MC/histosfiles_WW.root");
  ch.Add("Output/MC/histosfiles_WZ.root");
  ch.Add("Output/MC/histosfiles_ZZTot.root");

  TChain ch2("Tree_NVertex");
  ch2.Add("Output/Data/histosDoubleData.root");

  float Nvtx, finWeight;
  ch.SetBranchAddress("Nvtx", &Nvtx);
  ch.SetBranchAddress("finWeight", &finWeight);

  float Nvtx_dat, finWeight_dat;
  ch2.SetBranchAddress("Nvtx", &Nvtx_dat);
  ch2.SetBranchAddress("finWeight", &finWeight_dat);

  for( int iEntry=0; iEntry<ch.GetEntries() ; iEntry++ ){
   ch.GetEntry(iEntry);
   h_nvtx_MC->Fill( Nvtx, finWeight*4615); //Per Lumi
  }

  for( int iEntry=0; iEntry<ch2.GetEntries() ; iEntry++ ){
   ch2.GetEntry(iEntry);
   h_nvtx_Data->Fill( Nvtx_dat, finWeight_dat);
  }

Float_t MC_vtx, Data_vtx; 
  for( int i=1; i<= h_nvtx_MC->GetNbinsX(); i++ ){
   MC_vtx = h_nvtx_MC->GetBinContent(i);
   Data_vtx = h_nvtx_Data->GetBinContent(i);
   h_nvtx_Ratio->SetBinContent(i,Data_vtx/MC_vtx);
   cout<<i<<" MC: "<<MC_vtx<<" Data: "<<Data_vtx<<" Ratio: "<<Data_vtx/MC_vtx<<endl;
  }

myc1->cd();
return myc1;
} //End
Esempio n. 9
0
int testIndividual(){
	Context context = createTestContext();
	Individual Lili;
	Individual Igor(&context, 'C', 3, 40, 2.3, 4, std::tuple<int, int, int>(-1, -1, -1));

	double sumCh = 0.0;
	for(int i = 0; i < 10000; i++){
		sumCh += context.random.poisson(Igor.getLambda());
	}
	sumCh = sumCh / 10000;

	if(sumCh > 2.5 or sumCh < 2.1){
		std::cerr << "WARNING: unexpected behavior of generator of Chiasmas, " << std::endl;
		std::cerr << "Change seed for random number and rerun tests, if this message occurs again"
		<< " something is wrong, please do not ignore it and report the issue." << std::endl;
		return 2;
	}

	// to test all computing functions on semi-known system, one gamete for the tested individual Stuart
	// will be a product of recombination and the second will be pure 'A' gamete. Therefore heterozygocity
	// will be equivalent to proportion of B in the sirt set
	std::vector<Chromosome> gamete1;
	std::vector<Chiasmata> chiasma1, chiasma2;
	Igor.makeGamete(gamete1, chiasma1);

	std::vector<Chromosome> gamete2;
	for(unsigned int i = 0; i < gamete1.size(); i++){
		gamete2.push_back(Chromosome('A',gamete1[i].getResolution()));
		chiasma2.push_back(Chiasmata());
	}
	Individual Stuart(&context, gamete1, chiasma1, gamete2, chiasma2, 1.6, Igor.getNumberOfSelectedLoci(), std::tuple<int, int, int>(-1, -1, -1));

	if(Igor.getSelectedHybridIndex() != 0.5){
		std::cerr << "f1 hybrid has selected hybrid index != 0.5!" << std::endl;
		return 1;
	}

	int count = 0;
	for(int i=0;i<Stuart.getNumberOfChromosomes();i++){
		count += gamete1[i].countB();
		count += gamete2[i].countB();
	}

	if(count != Stuart.getBcount()){
		std::cerr << "Discrepancy between B count of all Chromosomes and Individual \n";
		return 1;
	}

	double total_number_of_loci = (Stuart.getNumberOfChromosomes() * Stuart.getNumberOfLoci(0));
	if((count / (total_number_of_loci * 2)) != Stuart.getBprop()){
		std::cerr << "Discrepancy between B prop of all Chromosomes and Individual \n";
		return 1;
	}

	if((double)count / total_number_of_loci != Stuart.getHetProp()){
		std::cerr << "Manually comuted heterozygocity: "
				<< count << " / " << total_number_of_loci << " = " << (double)count / total_number_of_loci
				<< " !=  heterozygocity from function: " << Stuart.getHetProp() << std::endl;
		return 1;
	}

	if( 0 != Stuart.isPureA()){
		std::cerr << "Error: isPureA have not passed \n";
		return 1;
	}

	if( 0 != Stuart.isPureB()){
		std::cerr << "Warning: isPureB have not passed. Very very unlikely scenario, rerun test. \n";
		return 1;
	}

	// number of junctions independently derived from every chromosome compared to number of juctions derived from the method of individual
	int number_junction = 0;
	for(int i=0;i<Stuart.getNumberOfChromosomes();i++){
		number_junction += gamete1[i].getNumberOfJunctions();
		number_junction += gamete2[i].getNumberOfJunctions();
	}

	if(Stuart.getNumberOfJunctions(0, 0) != gamete1[0].getNumberOfJunctions()){
		std::cerr << "Number of junctions of st chromosome and st haplotype does not match number of junction in first gamete." << std::endl;
		return 1;
	}

	if(Stuart.getNumberOfJunctions() != number_junction){
		std::cerr << "Total number of junctions does not match number of junction in first gamete." << std::endl;
		return 1;
	}

	// neutral loci test 2
	Chromosome ch1('B', 40);
	Chromosome ch2('A', 40);
	ch1.write(13,'A'); ch2.write(14,'B');
	gamete1.clear(); gamete1.push_back(ch1);
	gamete2.clear(); gamete2.push_back(ch2);
	Individual Anna(&context, gamete1, chiasma1, gamete2, chiasma2, 1.6, 4, std::tuple<int, int, int>(-1, -1, -1));
	if(Anna.getSelectedHybridIndex() != 0.375){
		std::cerr << "Folowing individual :" << std::endl;
		Anna.readGenotype();
		std::cerr << "has unexpected selected hybrid index: " << Anna.getSelectedHybridIndex() << std::endl;
		std::cerr << "4 selected loci / chromosome of total 40 loci" << std::endl;
		std::cerr << "means that selected loci have indices 0, 13, 26 and 39" << std::endl;
		std::cerr << "therefore we expected 0.375 given the genotype..." << std::endl;
		return 1;
	}

	return 0;
}
Esempio n. 10
0
// ---------------------------------------------------------
// CMailToHandler::HandleUrlEmbeddedL()
// ---------------------------------------------------------
//
void CMailToHandler::HandleUrlEmbeddedL()
	{
	CLOG_ENTERFN( "CMailToHandler::HandleUrlEmbeddedL()" );

    //TPtrC path = iParsedUrl->Des();

	iTelService = CBrowserTelService::NewL();
	iTelService->AddObserver( this );

	TPtrC recipient = GetField( KMailto );
	TPtrC subject = GetField( KSubject );
	TPtrC msgBody = GetField( KBody );
	TPtrC cC = GetField( KCc );
    TPtrC tO = GetField( KTo );
    TPtrC bCC = GetField( KBcc );

    HBufC* rec = ChangeSeparationLC( recipient );
    HBufC* ccrec = ChangeSeparationLC( cC );
    HBufC* torec = ChangeSeparationLC( tO );
    HBufC* bccrec = ChangeSeparationLC( bCC );

    HBufC* allrec = HBufC::NewLC( ccrec->Length() +
                                  torec->Length() +
                                  bccrec->Length() + 3*KComma().Length() );
    if( ccrec->Length() != 0 )
        {
        if( allrec->Length() != 0 )
            {
            allrec->Des().Append( KComma() );
            }
        allrec->Des().Append( ccrec->Des() );
        }
    if( torec->Length() != 0 )
        {
        if( allrec->Length() != 0 )
            {
            allrec->Des().Append( KComma() );
            }
        allrec->Des().Append( torec->Des() );
        }
    if( bccrec->Length() != 0 )
        {
        if( allrec->Length() != 0 )
            {
            allrec->Des().Append( KComma() );
            }
        allrec->Des().Append( bccrec->Des() );
        }

    if( rec->Length() > 0 )
        {
        TChar ch1('?');
        TChar ch2('&');
        TChar recchar((*rec)[ rec->Length() - 1]);
        if( recchar == ch1 )
            {
            rec->Des().SetLength(rec->Length() - 1);
            }
        TChar recchar2((*rec)[ rec->Length() - 1]);
        if( recchar2 == ch2 )
            {
            rec->Des().SetLength(rec->Length() - 1);
            }
        }

    if( allrec->Length() > 0 )
        {
        TChar ch1('?');
        TChar ch2('&');
        TChar allrecchar1( (*allrec)[ allrec->Length() - 1] );
        if( allrecchar1 == ch1 )
            {
            allrec->Des().SetLength(allrec->Length() - 1);
            }
        TChar allrecchar2( (*allrec)[ allrec->Length() - 1] );
        if( allrecchar2 == ch2 )
            {
            allrec->Des().SetLength(allrec->Length() - 1);
            }
        }

 	TRAPD( err, iTelService->SendEmailMessageL( rec->Des(), allrec->Des(), subject, msgBody, ETrue) );

    CleanupStack::PopAndDestroy( 5 ); // rec, ccrec, torec, bccrec, allrec

    NotifyClient();

    ErrorHandlerL( err );

	CLOG_LEAVEFN( "CMailToHandler::HandleUrlEmbeddedL()" );
	}