/* FDCT3D (Fast 3d Curvelet Transform) Copyright (C) 2004 Caltech Written by Lexing Ying */ #include "fdct3d.hpp" #include "fdct3dinline.hpp" int optionsCreate(const char* optfile, map& options) { options.clear(); ifstream fin(optfile); assert(fin.good()); string name; fin>>name; while(fin.good()) { char cont[100]; fin.getline(cont, 99); options[name] = string(cont); fin>>name; } fin.close(); return 0; } int main(int argc, char** argv) { time_t tm0, tm1; assert(argc==2); map opts; optionsCreate(argv[1], opts); map::iterator mi; int m; mi = opts.find("-m"); assert(mi!=opts.end()); { istringstream ss((*mi).second); ss>>m; } int n; mi = opts.find("-n"); assert(mi!=opts.end()); { istringstream ss((*mi).second); ss>>n; } int p; mi = opts.find("-p"); assert(mi!=opts.end()); { istringstream ss((*mi).second); ss>>p; } int nbscales; mi = opts.find("-nbscales"); assert(mi!=opts.end()); { istringstream ss((*mi).second); ss>>nbscales; } int nbdstz_coarse; mi = opts.find("-nbdstz_coarse"); assert(mi!=opts.end()); { istringstream ss((*mi).second); ss>>nbdstz_coarse; } int ac = 0; srand48( (long)time(NULL) ); CpxNumTns x(m,n,p); for(int i=0; i > fxs,fys,fzs; vector< vector > nxs,nys,nzs; fdct3d_param(m, n, p, nbscales, nbdstz_coarse,ac,fxs,fys,fzs,nxs,nys,nzs); tm1 = time(NULL); cout<<"fdct3d_param "< > c; fdct3d_forward(m, n, p, nbscales, nbdstz_coarse, ac, x, c); tm1 = time(NULL); cout<<"fdct3d_forward "<