Skip to content
Snippets Groups Projects
Commit 13c99690 authored by Mark Jenkinson's avatar Mark Jenkinson
Browse files

Finished version, including complexpolar

parent 235f3017
No related branches found
No related tags found
No related merge requests found
......@@ -21,6 +21,8 @@ void print_usage(const string& progname) {
<< " imagvol [start [end]]" << endl;
cerr << " " << progname << " -complex realvol imagvol"
<< " complexvol [start [end]]" << endl;
cerr << " " << progname << " -complexpolar absvol phasevol"
<< " complexvol [start [end]]" << endl;
cerr << " " << progname << " -complexsplit source dest"
<< " [start [end]]" << endl;
cerr << " " << progname << " -complexmerge source1 source2 dest"
......@@ -107,6 +109,25 @@ void complexsave(const string& freal, const string& fimag,
}
void complexpolar(const string& fabsvol, const string& fphasevol,
const string& fcomplex, int start, int end)
{
volume4D<float> vabs, vphase;
read_volume4D(vabs, fabsvol);
read_volume4D(vphase, fphasevol);
fix_start_and_end(start,end,Max(vabs.mint(),vphase.mint()),
Min(vabs.maxt(),vphase.maxt()));
if (fcomplex.size()>0) {
volume4D<float> vre, vim;
for (int n=start; n<=end; n++) {
vre.addvolume(real(vabs[n],vphase[n]));
vim.addvolume(imag(vabs[n],vphase[n]));
}
save_complexvolume4D(vre,vim,fcomplex);
}
}
void complexsplit(const string& fsource, const string& fdest,
int start, int end)
{
......@@ -194,6 +215,11 @@ int main(int argc,char *argv[])
if (argc>=6) start=atoi(argv[5]);
if (argc>=7) end=atoi(argv[6]);
complexsave(argv[2],argv[3],argv[4],start,end);
} else if (arg=="-complexpolar") {
if (argc<5) { print_usage(progname); return -1; }
if (argc>=6) start=atoi(argv[5]);
if (argc>=7) end=atoi(argv[6]);
complexpolar(argv[2],argv[3],argv[4],start,end);
} else if (arg=="-complexsplit") {
if (argc<4) { print_usage(progname); return -1; }
if (argc>=5) start=atoi(argv[4]);
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment