00001
00002
00003
00004
00005
00006
00007 #ifndef _AFNI_WARP_HEADER_
00008 #define _AFNI_WARP_HEADER_
00009
00010 #include "mrilib.h"
00011
00012
00013
00014 extern MRI_IMAGE * AFNI_dataset_slice( THD_3dim_dataset * , int,int,int,int ) ;
00015 extern MRI_IMAGE * FD_warp_to_mri( int,int , FD_brick * ) ;
00016
00017 extern MRI_IMAGE * AFNI_slice_flip(int,int,int,int,int,int, THD_3dim_dataset *);
00018
00019
00020
00021
00022
00023
00024 #define AFNI_GOOD_DTYPE(dt) ((dt)==MRI_short || (dt)==MRI_float || \
00025 (dt)==MRI_byte || (dt)==MRI_complex || \
00026 (dt)==MRI_rgb )
00027
00028
00029
00030 #define AFNI_GOOD_FUNC_DTYPE(dt) ((dt)==MRI_short || (dt)==MRI_rgb || \
00031 (dt)==MRI_float || (dt)==MRI_byte )
00032
00033
00034
00035
00036 #undef WTYPE
00037 #undef LMAP_XNAME
00038 #undef LMAP_YNAME
00039 #undef LMAP_ZNAME
00040 #undef B2SL_NAME
00041 #define WTYPE short
00042 #define LMAP_XNAME TWO_TWO(AFNI_lmap_to_xslice_,WTYPE)
00043 #define LMAP_YNAME TWO_TWO(AFNI_lmap_to_yslice_,WTYPE)
00044 #define LMAP_ZNAME TWO_TWO(AFNI_lmap_to_zslice_,WTYPE)
00045 #define B2SL_NAME TWO_TWO(AFNI_br2sl_,WTYPE)
00046
00047 extern void LMAP_XNAME( THD_linear_mapping * , int ,
00048 THD_dataxes * , WTYPE * ,
00049 THD_dataxes * new_daxes , int , WTYPE * ) ;
00050
00051 extern void LMAP_YNAME( THD_linear_mapping * , int ,
00052 THD_dataxes * , WTYPE * ,
00053 THD_dataxes * new_daxes , int , WTYPE * ) ;
00054
00055 extern void LMAP_ZNAME( THD_linear_mapping * , int ,
00056 THD_dataxes * , WTYPE * ,
00057 THD_dataxes * new_daxes , int , WTYPE * ) ;
00058
00059 extern void B2SL_NAME( int nxx, int nyy, int nzz ,
00060 int fixed_axis , int fixed_index ,
00061 WTYPE * bold , WTYPE * bslice ) ;
00062
00063 #undef WTYPE
00064 #undef LMAP_XNAME
00065 #undef LMAP_YNAME
00066 #undef LMAP_ZNAME
00067 #undef B2SL_NAME
00068 #define WTYPE float
00069 #define LMAP_XNAME TWO_TWO(AFNI_lmap_to_xslice_,WTYPE)
00070 #define LMAP_YNAME TWO_TWO(AFNI_lmap_to_yslice_,WTYPE)
00071 #define LMAP_ZNAME TWO_TWO(AFNI_lmap_to_zslice_,WTYPE)
00072 #define B2SL_NAME TWO_TWO(AFNI_br2sl_,WTYPE)
00073
00074 extern void LMAP_XNAME( THD_linear_mapping * , int ,
00075 THD_dataxes * , WTYPE * ,
00076 THD_dataxes * new_daxes , int , WTYPE * ) ;
00077
00078 extern void LMAP_YNAME( THD_linear_mapping * , int ,
00079 THD_dataxes * , WTYPE * ,
00080 THD_dataxes * new_daxes , int , WTYPE * ) ;
00081
00082 extern void LMAP_ZNAME( THD_linear_mapping * , int ,
00083 THD_dataxes * , WTYPE * ,
00084 THD_dataxes * new_daxes , int , WTYPE * ) ;
00085
00086 extern void B2SL_NAME( int nxx, int nyy, int nzz ,
00087 int fixed_axis , int fixed_index ,
00088 WTYPE * bold , WTYPE * bslice ) ;
00089
00090 #undef WTYPE
00091 #undef LMAP_XNAME
00092 #undef LMAP_YNAME
00093 #undef LMAP_ZNAME
00094 #undef B2SL_NAME
00095 #define WTYPE byte
00096 #define LMAP_XNAME TWO_TWO(AFNI_lmap_to_xslice_,WTYPE)
00097 #define LMAP_YNAME TWO_TWO(AFNI_lmap_to_yslice_,WTYPE)
00098 #define LMAP_ZNAME TWO_TWO(AFNI_lmap_to_zslice_,WTYPE)
00099 #define B2SL_NAME TWO_TWO(AFNI_br2sl_,WTYPE)
00100
00101 extern void LMAP_XNAME( THD_linear_mapping * , int ,
00102 THD_dataxes * , WTYPE * ,
00103 THD_dataxes * new_daxes , int , WTYPE * ) ;
00104
00105 extern void LMAP_YNAME( THD_linear_mapping * , int ,
00106 THD_dataxes * , WTYPE * ,
00107 THD_dataxes * new_daxes , int , WTYPE * ) ;
00108
00109 extern void LMAP_ZNAME( THD_linear_mapping * , int ,
00110 THD_dataxes * , WTYPE * ,
00111 THD_dataxes * new_daxes , int , WTYPE * ) ;
00112
00113 extern void B2SL_NAME( int nxx, int nyy, int nzz ,
00114 int fixed_axis , int fixed_index ,
00115 WTYPE * bold , WTYPE * bslice ) ;
00116
00117 #undef WTYPE
00118 #undef LMAP_XNAME
00119 #undef LMAP_YNAME
00120 #undef LMAP_ZNAME
00121 #undef B2SL_NAME
00122 #define WTYPE complex
00123 #define LMAP_XNAME TWO_TWO(AFNI_lmap_to_xslice_,WTYPE)
00124 #define LMAP_YNAME TWO_TWO(AFNI_lmap_to_yslice_,WTYPE)
00125 #define LMAP_ZNAME TWO_TWO(AFNI_lmap_to_zslice_,WTYPE)
00126 #define B2SL_NAME TWO_TWO(AFNI_br2sl_,WTYPE)
00127
00128 extern void LMAP_XNAME( THD_linear_mapping * , int ,
00129 THD_dataxes * , WTYPE * ,
00130 THD_dataxes * new_daxes , int , WTYPE * ) ;
00131
00132 extern void LMAP_YNAME( THD_linear_mapping * , int ,
00133 THD_dataxes * , WTYPE * ,
00134 THD_dataxes * new_daxes , int , WTYPE * ) ;
00135
00136 extern void LMAP_ZNAME( THD_linear_mapping * , int ,
00137 THD_dataxes * , WTYPE * ,
00138 THD_dataxes * new_daxes , int , WTYPE * ) ;
00139
00140 extern void B2SL_NAME( int nxx, int nyy, int nzz ,
00141 int fixed_axis , int fixed_index ,
00142 WTYPE * bold , WTYPE * bslice ) ;
00143
00144 #undef WTYPE
00145 #undef LMAP_XNAME
00146 #undef LMAP_YNAME
00147 #undef LMAP_ZNAME
00148 #undef B2SL_NAME
00149 #define WTYPE rgbyte
00150 #define LMAP_XNAME TWO_TWO(AFNI_lmap_to_xslice_,WTYPE)
00151 #define LMAP_YNAME TWO_TWO(AFNI_lmap_to_yslice_,WTYPE)
00152 #define LMAP_ZNAME TWO_TWO(AFNI_lmap_to_zslice_,WTYPE)
00153 #define B2SL_NAME TWO_TWO(AFNI_br2sl_,WTYPE)
00154
00155 extern void LMAP_XNAME( THD_linear_mapping * , int ,
00156 THD_dataxes * , WTYPE * ,
00157 THD_dataxes * new_daxes , int , WTYPE * ) ;
00158
00159 extern void LMAP_YNAME( THD_linear_mapping * , int ,
00160 THD_dataxes * , WTYPE * ,
00161 THD_dataxes * new_daxes , int , WTYPE * ) ;
00162
00163 extern void LMAP_ZNAME( THD_linear_mapping * , int ,
00164 THD_dataxes * , WTYPE * ,
00165 THD_dataxes * new_daxes , int , WTYPE * ) ;
00166
00167 extern void B2SL_NAME( int nxx, int nyy, int nzz ,
00168 int fixed_axis , int fixed_index ,
00169 WTYPE * bold , WTYPE * bslice ) ;
00170
00171 #undef WTYPE
00172 #undef LMAP_XNAME
00173 #undef LMAP_YNAME
00174 #undef LMAP_ZNAME
00175 #undef B2SL_NAME
00176
00177
00178 #endif