Example #1
0
IpeMsk *
Ipe::Setup(){

	IpeMsk *msk;
	Big omega, *Delta1, *Delta2;
	Delta1 = new Big[2];
	Delta2 = new Big[2];
	G1 g;
	G2 g2;
	IpeBMsk ***bmsk = new IpeBMsk**[len];
	
	pfc->random(omega);
	pfc->random(Delta1[0]);
	pfc->random(Delta1[1]);
	pfc->random(Delta2[0]);
	pfc->random(Delta2[1]);
	pfc->random(g);
	pfc->random(g2);

	for(int i=0;i<len;i++){
		bmsk[i] = new IpeBMsk*[2];
		bmsk[i][0] = BasicSetup(omega,Delta1[0],Delta1[1]);
		bmsk[i][1] = BasicSetup(omega,Delta2[0],Delta2[1]);
	}

	msk = new IpeMsk(g,g2,omega,Delta1,Delta2,bmsk);
	return msk;
}
Example #2
0
IpeMsk *
Ipe::Setup(G1 g, G2 g2, Big omega, Big *Delta1, Big *Delta2){

	IpeMsk *msk;
	IpeBMsk ***bmsk = new IpeBMsk**[len];

	for(int i=0;i<len;i++){
		bmsk[i] = new IpeBMsk*[2];
		bmsk[i][0] = BasicSetup(omega,Delta1[0],Delta1[1]);
		bmsk[i][1] = BasicSetup(omega,Delta2[0],Delta2[1]);
	}

	msk = new IpeMsk(g,g2,omega,Delta1,Delta2,bmsk);
	return msk;
}
Example #3
0
int main(int argc, char **argv) try
{
    ConfigFile params;
    if (BasicSetup(argc,argv,params,"findstars")) return EXIT_FAILURE;

    // Setup Log
    std::string logFile = ""; // Default is to stdout
    if (params.keyExists("log_file") || params.keyExists("log_ext"))
        logFile = MakeName(params,"log",false,false);
    std::string starsFile=MakeName(params,"stars",false,false);
    std::auto_ptr<FindStarsLog> log(
        new FindStarsLog(params,logFile,starsFile));

    try {
        bool timing = params.read("timing",false);
        timeval tp;
        double t1=0.,t2=0.;

        if (timing) {
            gettimeofday(&tp,0);
            t1 = tp.tv_sec + tp.tv_usec/1.e6;
        }

        // Read image, transformation
        std::auto_ptr<Image<double> > weight_image;
        Image<double> im(params,weight_image);

        if (timing) {
            gettimeofday(&tp,0);
            t2 = tp.tv_sec + tp.tv_usec/1.e6;
            std::cout<<"Time: Open imgae = "<<t2-t1<<std::endl;
            t1 = t2;
        }

        // Read distortion function
        Transformation trans(params);

        if (timing) {
            gettimeofday(&tp,0);
            t2 = tp.tv_sec + tp.tv_usec/1.e6;
            std::cout<<"Time: Read Transformation = "<<t2-t1<<std::endl;
            t1 = t2;
        }

        // Read input catalog
        InputCatalog incat(params,&im);
        incat.read();

        if (timing) {
            gettimeofday(&tp,0);
            t2 = tp.tv_sec + tp.tv_usec/1.e6;
            std::cout<<"Time: Read InputCatalog = "<<t2-t1<<std::endl;
            t1 = t2;
        }

        std::auto_ptr<StarCatalog> starcat;
        DoFindStars(params,*log,im,weight_image.get(),trans,incat,starcat);
    }
#if 0
    // Change to 1 to let gdb see where the program bombed out.
    catch(int) {}
#else
    CATCHALL;
#endif

    if (dbgout && dbgout != &std::cout) {
        delete dbgout;
        dbgout=0;
    }
    return EXIT_SUCCESS;
} catch (std::exception& e) {
    std::cerr<<"Fatal error: Caught \n"<<e.what()<<std::endl;
    std::cout<<"STATUS5BEG Fatal error: "<<e.what()<<" STATUS5END\n";
    return EXIT_FAILURE;
} catch (...) {
    std::cerr<<"Fatal error: Cought an exception.\n";
    std::cout<<"STATUS5BEG Fatal error: unknown exception STATUS5END\n";
    return EXIT_FAILURE;
}
int main(int argc, char **argv) try 
{
    ConfigFile params;
    if (BasicSetup(argc,argv,params,"measureshear")) return EXIT_FAILURE;

    // Setup Log
    std::string log_file = ""; // Default is to stdout
    if (params.keyExists("log_file") || params.keyExists("log_ext")) 
        log_file = MakeName(params,"log",false,false);
    std::string shear_file = MakeName(params,"shear",false,false);
    std::auto_ptr<ShearLog> log (
        new ShearLog(params,log_file,shear_file)); 

    try {
        bool timing = params.read("timing",false);
        timeval tp;
        double t1=0.,t2=0.;

        if (timing) {
            gettimeofday(&tp,0);
            t1 = tp.tv_sec + tp.tv_usec/1.e6;
        }

        // Load image:
        std::auto_ptr<Image<double> > weight_image;
        Image<double> im(params,weight_image);

        if (timing) {
            gettimeofday(&tp,0);
            t2 = tp.tv_sec + tp.tv_usec/1.e6;
            std::cout<<"Time: Open image = "<<t2-t1<<std::endl;
            t1 = t2;
        }

        // Read distortion function
        Transformation trans(params);

        if (timing) {
            gettimeofday(&tp,0);
            t2 = tp.tv_sec + tp.tv_usec/1.e6;
            std::cout<<"Time: Read Transformation = "<<t2-t1<<std::endl;
            t1 = t2;
        }

        // Read input catalog
        InputCatalog incat(params,&im);
        incat.read();

        if (timing) {
            gettimeofday(&tp,0);
            t2 = tp.tv_sec + tp.tv_usec/1.e6;
            std::cout<<"Time: Read InputCatalog = "<<t2-t1<<std::endl;
            t1 = t2;
        }

        bool nostars = params.read("cat_no_stars",false);
        if (!nostars) {
            // Read star catalog info
            StarCatalog starcat(params);
            starcat.read();

            if (timing) {
                gettimeofday(&tp,0);
                t2 = tp.tv_sec + tp.tv_usec/1.e6;
                std::cout<<"Time: Read StarCatalog = "<<t2-t1<<std::endl;
                t1 = t2;
            }

            // Flag known stars as too small to bother trying to measure 
            // the shear.
            incat.flagStars(starcat);

            if (timing) {
                gettimeofday(&tp,0);
                t2 = tp.tv_sec + tp.tv_usec/1.e6;
                std::cout<<"Time: Flag stars = "<<t2-t1<<std::endl;
                t1 = t2;
            }
        }

        // Read the fitted psf file
        FittedPsf fitpsf(params);
        fitpsf.read();

        if (timing) {
            gettimeofday(&tp,0);
            t2 = tp.tv_sec + tp.tv_usec/1.e6;
            std::cout<<"Time: Read FittedPSF = "<<t2-t1<<std::endl;
            t1 = t2;
        }

        std::auto_ptr<ShearCatalog> shearcat;
        DoMeasureShear(
            params,*log,im,weight_image.get(),trans,incat,fitpsf,
            shearcat);
    }
#if 0
    // Change to 1 to let gdb see where the program bombed out.
    catch(int) {}
#else
    CATCHALL;
#endif

    if (dbgout && dbgout != &std::cout) {delete dbgout; dbgout=0;}
    return EXIT_SUCCESS; // = 0 typically.  Defined in <cstdlib>
} catch (std::exception& e) {
    std::cerr<<"Fatal error: Caught \n"<<e.what()<<std::endl;
    std::cout<<"STATUS5BEG Fatal error: "<<e.what()<<" STATUS5END\n";
    return EXIT_FAILURE;
} catch (...) {
    std::cerr<<"Fatal error: Cought an exception.\n";
    std::cout<<"STATUS5BEG Fatal error: unknown exception STATUS5END\n";
    return EXIT_FAILURE;
}