From d3ac759ff0db335335904e997ec7d82083e57ff5 Mon Sep 17 00:00:00 2001 From: Mark Jenkinson <mark@fmrib.ox.ac.uk> Date: Tue, 22 Nov 2011 14:04:34 +0000 Subject: [PATCH] Added some more trigonometry functions --- fslmaths.cc | 41 +++++++++++++++++++++++++++++++++++++++++ 1 file changed, 41 insertions(+) diff --git a/fslmaths.cc b/fslmaths.cc index 47be3d1..8d5f6bb 100755 --- a/fslmaths.cc +++ b/fslmaths.cc @@ -52,6 +52,10 @@ int printUsage(const string& programName) cout << " -log : natural logarithm" << endl; cout << " -sin : sine function" << endl; cout << " -cos : cosine function" << endl; + cout << " -tan : tangent function" << endl; + cout << " -asin : arc sine function" << endl; + cout << " -acos : arc cosine function" << endl; + cout << " -atan : arc tangent function" << endl; cout << " -sqr : square" << endl; cout << " -sqrt : square root" << endl; cout << " -recip : reciprocal (1/current image)" << endl; @@ -670,6 +674,43 @@ if (!separatenoise) for(int x=0;x<inputVolume.xsize();x++) inputVolume.value(x,y,z,t)=(T)sin((double)inputVolume.value(x,y,z,t)); } + /***************************************************************/ + else if (string(argv[i])=="-tan") + { + for(int t=0;t<inputVolume.tsize();t++) + for(int z=0;z<inputVolume.zsize();z++) + for(int y=0;y<inputVolume.ysize();y++) + for(int x=0;x<inputVolume.xsize();x++) + inputVolume.value(x,y,z,t)=(T)tan((double)inputVolume.value(x,y,z,t)); + } + /***************************************************************/ + else if (string(argv[i])=="-asin") + { + for(int t=0;t<inputVolume.tsize();t++) + for(int z=0;z<inputVolume.zsize();z++) + for(int y=0;y<inputVolume.ysize();y++) + for(int x=0;x<inputVolume.xsize();x++) + inputVolume.value(x,y,z,t)=(T)asin((double)inputVolume.value(x,y,z,t)); + } + /***************************************************************/ + else if (string(argv[i])=="-acos") + { + for(int t=0;t<inputVolume.tsize();t++) + for(int z=0;z<inputVolume.zsize();z++) + for(int y=0;y<inputVolume.ysize();y++) + for(int x=0;x<inputVolume.xsize();x++) + inputVolume.value(x,y,z,t)=(T)acos((double)inputVolume.value(x,y,z,t)); + } + /***************************************************************/ + else if (string(argv[i])=="-atan") + { + for(int t=0;t<inputVolume.tsize();t++) + for(int z=0;z<inputVolume.zsize();z++) + for(int y=0;y<inputVolume.ysize();y++) + for(int x=0;x<inputVolume.xsize();x++) + inputVolume.value(x,y,z,t)=(T)atan((double)inputVolume.value(x,y,z,t)); + } + /***************************************************************/ /* Uncorrected nonparametric P-value, assuming t-dim is perm-dim */ else if (string(argv[i])=="-pval" || string(argv[i])=="-pval0") { -- GitLab