Skip to content
Snippets Groups Projects
Commit a6d29838 authored by Christian Beckmann's avatar Christian Beckmann
Browse files

avwpspec created; transforms 4D files to power spectra

parent 1ab127f0
No related branches found
No related tags found
No related merge requests found
......@@ -10,16 +10,11 @@
#include "newmatap.h"
#include "newmatio.h"
#include "newimage/newimageall.h"
#include "newimage/fmribmain.h"
using namespace NEWIMAGE;
void print_usage(const string& progname) {
cout << "Usage: " << progname << " <input> [options] [output]" << endl;
cout << endl;
cout << " " << endl;
cout << " " << endl;
cout << " e.g. " << progname << " " << endl;
}
ReturnMatrix calcFFT(const Matrix& Mat)
......@@ -45,26 +40,19 @@ ReturnMatrix calcFFT(const Matrix& Mat)
return res;
} //Matrix calcFFT()
int generate_masks(volume4D<float> &mask, volume4D<float> &masknz, const volume4D<float> &vin, float& lthr, float& uthr)
int generate_masks(volume<float> &mask, const volume<float> &vin)
{
mask = binarise(vin,lthr,uthr,exclusive);
masknz = mask * (1.0f - binarise(vin,0.0f, 0.0f));
return 0;
}
int generate_masks(const volume4D<float> &mask, volume4D<float> &masknz, const volume4D<float> &vin)
{
masknz = mask * (1.0f - binarise(vin,0.0f, 0.0f));
mask = binarise(vin,vin.min(),vin.max());
return 0;
}
int fmrib_main_float(int argc, char* argv[])
int fmrib_main(int argc, char* argv[])
{
string inname=argv[1];
string maskname="";
string outname="";
cout << argc << endl;
if(argc>2)
outname=argv[2];
else
......@@ -72,25 +60,23 @@ int fmrib_main_float(int argc, char* argv[])
Matrix iMat, oMat;
volume4D<float> vout;
volume<float> smask, smasknz;
volume<float> mask;
volumeinfo volinfo;
float vinTR;
{
volume4D<float> vin, mask, masknz;
volume4D<float> vin;
read_volume4D(vin,argv[1],volinfo);
float lthr=0, uthr=0;
generate_masks(mask,masknz,vin,lthr,uthr);
smask=mask[0];
smasknz=masknz[0];
iMat = vin.matrix(smasknz);
}
generate_masks(mask,stddevvol(vin));
iMat = vin.matrix(mask);
vinTR=vin.TR();
}
oMat = calcFFT(iMat);
vout.setmatrix(oMat,smasknz);
vout.setmatrix(oMat,mask);
vout.setTR(vinTR);
int retval=0;
retval = save_volume4D(vout,outname,volinfo);
......@@ -103,12 +89,12 @@ int main(int argc,char *argv[])
Tracer tr("main");
string progname=argv[0];
if (argc<3) {
if (argc<2) {
print_usage(progname);
return 1;
}
return fmrib_main_float(argc,argv);
return fmrib_main(argc,argv);
}
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