From 751a13db71f5bc35fcc88739598affb42ae3181f Mon Sep 17 00:00:00 2001
From: Matthew Webster <mwebster@fmrib.ox.ac.uk>
Date: Fri, 9 Jan 2015 13:50:00 +0000
Subject: [PATCH] Current Version Jan 15

---
 fslnvols.cc  | 25 +++++--------------------
 fslorient.cc | 11 +++++------
 fslroi.cc    | 11 ++++-------
 3 files changed, 14 insertions(+), 33 deletions(-)

diff --git a/fslnvols.cc b/fslnvols.cc
index 78b3ad5..2557dcb 100755
--- a/fslnvols.cc
+++ b/fslnvols.cc
@@ -4,7 +4,6 @@
 //     CCOPYRIGHT  
 
 #include "newimage/newimageall.h"
-#include "newimage/fmribmain.h"
 
 using namespace NEWIMAGE;
 
@@ -14,19 +13,6 @@ void print_usage(const string& progname)
   cout << "Usage: fslnvols <input>" << endl;
 }
 
-
-template <class T>
-int fmrib_main(int argc, char *argv[])
-{
-
-  NiftiIO reader;
-  NiftiHeader header(reader.loadHeader(string(argv[1])));
-  cout << header.dim[4] << endl;
-  return 0;
-}
-
-
-
 int main(int argc,char *argv[])
 {
   string progname=argv[0];
@@ -35,15 +21,14 @@ int main(int argc,char *argv[])
     print_usage(progname);
     return 1;
   }
-  if (!FslFileExists(argv[1])) 
+  if (!FslFileExists(string(argv[1]))) 
   { 
     cout << "0" << endl;
     return 0; // the intended usage is to return "0" and not show an error
   }
-  else 
-  { 
-    string iname=string(argv[1]);
-    return call_fmrib_main(dtype(iname),argc,argv); 
-  }
+  NiftiIO reader;
+  NiftiHeader header(reader.loadHeader(return_validimagefilename(string(argv[1]))));
+  cout << header.dim[4] << endl;
+  return 0;
 }
 
diff --git a/fslorient.cc b/fslorient.cc
index 5918551..192c39a 100644
--- a/fslorient.cc
+++ b/fslorient.cc
@@ -94,9 +94,9 @@ int fmrib_main(int argc,char *argv[])
 {
   bool modified(false);
   string option(argv[1]), filename(argv[argc-1]);
-  volume4D<T> invol;
+  volume<T> invol;
 
-  read_orig_volume4D(invol,filename);
+  read_orig_volume(invol,filename);
 
   if ( argc==2 || option=="-getorient") {
     getorient(invol);
@@ -167,10 +167,9 @@ int fmrib_main(int argc,char *argv[])
 
 
   if (modified) {
-    if ( FslBaseFileType(fslFileType(filename)) != FSL_TYPE_ANALYZE ) {
-      FslSetOverrideOutputType(fslFileType(filename));
-      save_orig_volume4D(invol,filename);
-      FslSetOverrideOutputType(-1);  // restore to default
+    int filetype( fslFileType(filename) );
+    if ( filetype != FSL_TYPE_ANALYZE ) {
+      save_orig_volume(invol,filename,filetype);
     } else {
       cerr << "Cannot modify orientation for Analyze files" << endl;
       cerr << "  All Analyze files are treated as radiological" << endl;
diff --git a/fslroi.cc b/fslroi.cc
index 90dc853..3becf22 100755
--- a/fslroi.cc
+++ b/fslroi.cc
@@ -7,6 +7,8 @@
 #include "newimage/fmribmain.h"
 
 using namespace NEWIMAGE;
+using namespace MISCMATHS;
+
 
 void print_usage(const string& progname) {
   cout << endl;
@@ -21,9 +23,7 @@ template <class T>
 int fmrib_main(int argc, char *argv[])
 {
   volume4D<T> input_vol,output_vol;
-  string input_name(string(argv[1]));
-  string output_name(string(argv[2]));
-  read_volume4D(input_vol, string(argv[1])  );
+  read_volume4D(input_vol,string(argv[1]));
 
   int minx(-1),miny(-1),minz(-1),mint(-1),maxx(-1),maxy(-1),maxz(-1),maxt(-1),argindex(3);
   //Note there is currently no explicit bounds testing e.g. if maxx>inputvol.maxx() etc
@@ -99,16 +99,13 @@ int fmrib_main(int argc, char *argv[])
   if (minx>maxx) { int tmpx=maxx; maxx=minx; minx=tmpx; }
   if (miny>maxy) { int tmpy=maxy; maxy=miny; miny=tmpy; }
   if (minz>maxz) { int tmpz=maxz; maxz=minz; minz=tmpz; }
-  save_volume4D(input_vol.ROI(minx,miny,minz,mint,maxx,maxy,maxz,maxt),"foo2");
+  save_volume4D(input_vol.ROI(minx,miny,minz,mint,maxx,maxy,maxz,maxt),string(argv[2]));
   return 0;
 }
 
 
 int main(int argc,char *argv[])
 {
-
-  Tracer tr("main");
-
   try {
     string progname=argv[0];
     if (argc !=5 && argc !=9 && argc !=11) 
-- 
GitLab