newimage
 
Loading...
Searching...
No Matches
fmribmain2.h
1/* General call feature for templated image classes
2
3 Mark Jenkinson, FMRIB Image Analysis Group
4
5 Copyright (C) 2000 University of Oxford */
6
7/* CCOPYRIGHT */
8
9#if !defined(__fmribmain2_h)
10#define __fmribmain2_h
11
12#include <iostream>
13
14#include "NewNifti/NewNifti.h"
15
16template <class T, class S>
17int fmrib_main(int argc, char* argv[]);
18
19template <class T>
20int call_fmrib_main(short datatype, int argc, char* argv[])
21{
22 datatype=NEWIMAGE::closestTemplatedType(datatype);
23 if ( datatype==NiftiIO::DT_UNSIGNED_CHAR ) return fmrib_main<T,char>(argc, argv);
24 else if ( datatype==NiftiIO::DT_SIGNED_SHORT ) return fmrib_main<T,short>(argc, argv);
25 else if ( datatype==NiftiIO::DT_SIGNED_INT ) return fmrib_main<T,int>(argc, argv);
26 else if ( datatype==NiftiIO::DT_FLOAT ) return fmrib_main<T,float>(argc, argv);
27 else if ( datatype==NiftiIO::DT_DOUBLE ) return fmrib_main<T,double>(argc, argv);
28 return -1;
29}
30
31int call_fmrib_main(short datatype1, short datatype2, int argc, char* argv[])
32{
33 datatype1=NEWIMAGE::closestTemplatedType(datatype1);
34 if ( datatype1==NiftiIO::DT_UNSIGNED_CHAR ) return call_fmrib_main<char>(datatype2, argc, argv);
35 else if ( datatype1==NiftiIO::DT_SIGNED_SHORT ) return call_fmrib_main<short>(datatype2, argc, argv);
36 else if ( datatype1==NiftiIO::DT_SIGNED_INT ) return call_fmrib_main<int>(datatype2, argc, argv);
37 else if ( datatype1==NiftiIO::DT_FLOAT ) return call_fmrib_main<float>(datatype2, argc, argv);
38 else if ( datatype1==NiftiIO::DT_DOUBLE ) return call_fmrib_main<double>(datatype2, argc, argv);
39 return -1;
40}
41
42#endif