00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00031 #ifndef __itkGEAdwImageIO_h
00032 #define __itkGEAdwImageIO_h
00033
00034 #ifdef _MSC_VER
00035 #pragma warning ( disable : 4786 )
00036 #endif
00037
00038 #include <fstream>
00039 #include "itkImageIOBase.h"
00040 #include "itkIPLCommonImageIO.h"
00041 #include "itkGEImageHeader.h"
00042
00043
00044 namespace itk
00045 {
00053 class ITK_EXPORT GEAdwImageIO : public IPLCommonImageIO
00054 {
00055 public:
00057 typedef GEAdwImageIO Self;
00058 typedef IPLCommonImageIO Superclass;
00059 typedef SmartPointer<Self> Pointer;
00060
00062 itkNewMacro(Self);
00063
00065 itkTypeMacro(GEAdwImageIO, Superclass);
00066
00067
00068
00075 virtual bool CanReadFile(const char* FileNameToRead) ;
00076
00078
00079
00080
00082
00083
00084
00086
00087
00088
00092
00093
00094
00095
00096
00103
00104
00105
00107
00108
00109
00112
00113
00114 protected:
00115 GEAdwImageIO();
00116 ~GEAdwImageIO();
00117
00118
00119 virtual struct GEImageHeader *ReadHeader(const char *FileNameToRead);
00120 private:
00121 GEAdwImageIO(const Self&);
00122 void operator=(const Self&);
00123 enum GE_ADW_DEFINES {
00124 GE_ADW_SU_ID=0,
00125 GE_ADW_SU_ID_LEN=4,
00126 GE_ADW_SU_PRODID=7,
00127 GE_ADW_SU_PRODID_LEN=13,
00128 GE_ADW_EX_SUID=116,
00129 GE_ADW_EX_SUID_LEN=4,
00130 GE_ADW_EX_NO=124,
00131 GE_ADW_EX_NO_LEN=2,
00132 GE_ADW_EX_HOSPNAME=126,
00133 GE_ADW_EX_HOSPNAME_LEN=33,
00134 GE_ADW_EX_MAGSTRENGTH=200,
00135 GE_ADW_EX_MAGSTRENGTH_LEN=4,
00136 GE_ADW_EX_PATID=204,
00137 GE_ADW_EX_PATID_LEN=13,
00138 GE_ADW_EX_PATNAME=217,
00139 GE_ADW_EX_PATNAME_LEN=25,
00140 GE_ADW_EX_PATAGE=242,
00141 GE_ADW_EX_PATAGE_LEN=2,
00142 GE_ADW_EX_PATIAN=244,
00143 GE_ADW_EX_PATIAN_LEN=2,
00144 GE_ADW_EX_PATSEX=246,
00145 GE_ADW_EX_PATSEX_LEN=2,
00146 GE_ADW_EX_PATWEIGHT=248,
00147 GE_ADW_EX_PATWEIGHT_LEN=4,
00148 GE_ADW_EX_HIST=254,
00149 GE_ADW_EX_HIST_LEN=61,
00150 GE_ADW_EX_DATETIME=328,
00151 GE_ADW_EX_DATETIME_LEN=4,
00152 GE_ADW_EX_REFPHY=332,
00153 GE_ADW_EX_REFPHY_LEN=33,
00154 GE_ADW_EX_DIAGRAD=365,
00155 GE_ADW_EX_DIAGRAD_LEN=33,
00156 GE_ADW_EX_OP=398,
00157 GE_ADW_EX_OP_LEN=4,
00158 GE_ADW_EX_DESC=402,
00159 GE_ADW_EX_DESC_LEN=23,
00160 GE_ADW_EX_TYP=425,
00161 GE_ADW_EX_TYP_LEN=3,
00162 GE_ADW_EX_FORMAT=428,
00163 GE_ADW_EX_FORMAT_LEN=2,
00164 GE_ADW_EX_SYSID=444,
00165 GE_ADW_EX_SYSID_LEN=9,
00166
00167
00168 GE_ADW_SE_SUID=1156,
00169 GE_ADW_SE_SUID_LEN=4,
00170 GE_ADW_SE_UNIQ=1160,
00171 GE_ADW_SE_UNIQ_LEN=2,
00172 GE_ADW_SE_EXNO=1164,
00173 GE_ADW_SE_EXNO_LEN=2,
00174 GE_ADW_SE_NO=1166,
00175 GE_ADW_SE_NO_LEN=2,
00176 GE_ADW_SE_DATETIME=1168,
00177 GE_ADW_SE_DATETIME_LEN=4,
00178 GE_ADW_SE_DESC=1176,
00179 GE_ADW_SE_DESC_LEN=30,
00180 GE_ADW_SE_TYP=1224,
00181 GE_ADW_SE_TYP_LEN=2,
00182 GE_ADW_SE_PLANE=1228,
00183 GE_ADW_SE_PLANE_LEN=2,
00184 GE_ADW_SE_POSITION=1232,
00185 GE_ADW_SE_POSITION_LEN=4,
00186 GE_ADW_SE_ENTRY=1236,
00187 GE_ADW_SE_ENTRY_LEN=4,
00188 GE_ADW_SE_ANREF=1240,
00189 GE_ADW_SE_ANREF_LEN=3,
00190 GE_ADW_SE_CONTRAST=1274,
00191 GE_ADW_SE_CONTRAST_LEN=2,
00192 GE_ADW_SE_START_RAS=1276,
00193 GE_ADW_SE_START_RAS_LEN=1,
00194 GE_ADW_SE_START_LOC=1280,
00195 GE_ADW_SE_START_LOC_LEN=4,
00196 GE_ADW_SE_END_RAS=1284,
00197 GE_ADW_SE_END_RAS_LEN=1,
00198 GE_ADW_SE_END_LOC=1288,
00199 GE_ADW_SE_END_LOC_LEN=4,
00200 GE_ADW_SE_NUMIMAGES=1368,
00201 GE_ADW_SE_NUMIMAGES_LEN=4,
00202
00203
00204 GE_ADW_IM_SUID=2184,
00205 GE_ADW_IM_SUID_LEN=4,
00206 GE_ADW_IM_UNIQ=2188,
00207 GE_ADW_IM_UNIQ_LEN=2,
00208 GE_ADW_IM_EXNO=2192,
00209 GE_ADW_IM_EXNO_LEN=2,
00210 GE_ADW_IM_SENO=2194,
00211 GE_ADW_IM_SENO_LEN=2,
00212 GE_ADW_IM_NO=2196,
00213 GE_ADW_IM_NO_LEN=2,
00214 GE_ADW_IM_DATETIME=2200,
00215 GE_ADW_IM_DATETIME_LEN=4,
00216 GE_ADW_IM_ACTUAL_DT=2204,
00217 GE_ADW_IM_ACTUAL_DT_LEN=4,
00218 GE_ADW_IM_SCTIME=2208,
00219 GE_ADW_IM_SCTIME_LEN=4,
00220 GE_ADW_IM_SLTHICK=2212,
00221 GE_ADW_IM_SLTHICK_LEN=4,
00222 GE_ADW_IM_IMATRIX_X=2216,
00223 GE_ADW_IM_IMATRIX_X_LEN=2,
00224 GE_ADW_IM_IMATRIX_Y=2218,
00225 GE_ADW_IM_IMATRIX_Y_LEN=2,
00226 GE_ADW_IM_DFOV=2220,
00227 GE_ADW_IM_DFOV_LEN=4,
00228 GE_ADW_IM_DFOV_RECT=2224,
00229 GE_ADW_IM_DFOV_RECT_LEN=4,
00230 GE_ADW_IM_DIM_X=2228,
00231 GE_ADW_IM_DIM_X_LEN=4,
00232 GE_ADW_IM_DIM_Y=2232,
00233 GE_ADW_IM_DIM_Y_LEN=4,
00234 GE_ADW_IM_PIXSIZE_X=2236,
00235 GE_ADW_IM_PIXSIZE_X_LEN=4,
00236 GE_ADW_IM_PIXSIZE_Y=2240,
00237 GE_ADW_IM_PIXSIZE_Y_LEN=4,
00238 GE_ADW_IM_CONTMODE=2292,
00239 GE_ADW_IM_CONTMODE_LEN=2,
00240 GE_ADW_IM_PLANE=2300,
00241 GE_ADW_IM_PLANE_LEN=2,
00242 GE_ADW_IM_SCANSPACING=2304,
00243 GE_ADW_IM_SCANSPACING_LEN=4,
00244 GE_ADW_IM_LOC_RAS=2312,
00245 GE_ADW_IM_LOC_RAS_LEN=1,
00246 GE_ADW_IM_LOC=2316,
00247 GE_ADW_IM_LOC_LEN=4,
00248 GE_ADW_IM_ULHC_R=2344,
00249 GE_ADW_IM_ULHC_R_LEN=4,
00250 GE_ADW_IM_ULHC_A=2348,
00251 GE_ADW_IM_ULHC_A_LEN=4,
00252 GE_ADW_IM_ULHC_S=2352,
00253 GE_ADW_IM_ULHC_S_LEN=4,
00254 GE_ADW_IM_URHC_R=2356,
00255 GE_ADW_IM_URHC_R_LEN=4,
00256 GE_ADW_IM_URHC_A=2360,
00257 GE_ADW_IM_URHC_A_LEN=4,
00258 GE_ADW_IM_URHC_S=2364,
00259 GE_ADW_IM_URHC_S_LEN=4,
00260 GE_ADW_IM_BRHC_R=2368,
00261 GE_ADW_IM_BRHC_R_LEN=4,
00262 GE_ADW_IM_BRHC_A=2372,
00263 GE_ADW_IM_BRHC_A_LEN=4,
00264 GE_ADW_IM_BRHC_S=2376,
00265 GE_ADW_IM_BRHC_S_LEN=4,
00266 GE_ADW_IM_TR=2384,
00267 GE_ADW_IM_TR_LEN=4,
00268 GE_ADW_IM_TI=2388,
00269 GE_ADW_IM_TI_LEN=4,
00270 GE_ADW_IM_TE=2392,
00271 GE_ADW_IM_TE_LEN=4,
00272 GE_ADW_IM_NUMECHO=2400,
00273 GE_ADW_IM_NUMECHO_LEN=2,
00274 GE_ADW_IM_ECHONUM=2402,
00275 GE_ADW_IM_ECHONUM_LEN=2,
00276 GE_ADW_IM_NEX=2408,
00277 GE_ADW_IM_NEX_LEN=4,
00278 GE_ADW_IM_CONTIG=2412,
00279 GE_ADW_IM_CONTIG_LEN=2,
00280 GE_ADW_IM_HRTRATE=2414,
00281 GE_ADW_IM_HRTRATE_LEN=2,
00282 GE_ADW_IM_TDEL=2416,
00283 GE_ADW_IM_TDEL_LEN=4,
00284 GE_ADW_IM_XMTGAIN=2438,
00285 GE_ADW_IM_XMTGAIN_LEN=2,
00286 GE_ADW_IM_MR_FLIP=2444,
00287 GE_ADW_IM_MR_FLIP_LEN=2,
00288 GE_ADW_IM_CPHASE=2452,
00289 GE_ADW_IM_CPHASE_LEN=2,
00290 GE_ADW_IM_SWAPPF=2454,
00291 GE_ADW_IM_SWAPPF_LEN=2,
00292 GE_ADW_IM_OBPLANE=2464,
00293 GE_ADW_IM_OBPLANE_LEN=4,
00294 GE_ADW_IM_XMTFREQ=2472,
00295 GE_ADW_IM_XMTFREQ_LEN=4,
00296 GE_ADW_IM_PRESCAN_R1=2482,
00297 GE_ADW_IM_PRESCAN_R1_LEN=2,
00298 GE_ADW_IM_PRESCAN_R2=2484,
00299 GE_ADW_IM_PRESCAN_R2_LEN=2,
00300 GE_ADW_IM_IMODE=2494,
00301 GE_ADW_IM_IMODE_LEN=2,
00302 GE_ADW_IM_IOPT=2496,
00303 GE_ADW_IM_IOPT_LEN=4,
00304 GE_ADW_IM_PSEQ=2500,
00305 GE_ADW_IM_PSEQ_LEN=2,
00306 GE_ADW_IM_PSDNAME=2504,
00307 GE_ADW_IM_PSDNAME_LEN=33,
00308 GE_ADW_IM_CTYP=2558,
00309 GE_ADW_IM_CTYP_LEN=2,
00310 GE_ADW_IM_CNAME=2560,
00311 GE_ADW_IM_CNAME_LEN=17,
00312 GE_ADW_IM_SUPP_TECH=2592,
00313 GE_ADW_IM_SUPP_TECH_LEN=2,
00314 GE_ADW_IM_VBW=2596,
00315 GE_ADW_IM_VBW_LEN=4,
00316 GE_ADW_IM_SLQUANT=2600,
00317 GE_ADW_IM_SLQUANT_LEN=2,
00318 GE_ADW_IM_USER0=2608,
00319 GE_ADW_IM_USER0_LEN=4,
00320 GE_ADW_IM_USER1=2612,
00321 GE_ADW_IM_USER1_LEN=4,
00322 GE_ADW_IM_USER2=2616,
00323 GE_ADW_IM_USER2_LEN=4,
00324 GE_ADW_IM_USER3=2620,
00325 GE_ADW_IM_USER3_LEN=4,
00326 GE_ADW_IM_USER4=2624,
00327 GE_ADW_IM_USER4_LEN=4,
00328 GE_ADW_IM_USER5=2628,
00329 GE_ADW_IM_USER5_LEN=4,
00330 GE_ADW_IM_USER6=2632,
00331 GE_ADW_IM_USER6_LEN=4,
00332 GE_ADW_IM_USER7=2636,
00333 GE_ADW_IM_USER7_LEN=4,
00334 GE_ADW_IM_USER8=2640,
00335 GE_ADW_IM_USER8_LEN=4,
00336 GE_ADW_IM_USER9=2644,
00337 GE_ADW_IM_USER9_LEN=4,
00338 GE_ADW_IM_USER10=2648,
00339 GE_ADW_IM_USER10_LEN=4,
00340 GE_ADW_IM_USER11=2652,
00341 GE_ADW_IM_USER11_LEN=4,
00342 GE_ADW_IM_USER12=2656,
00343 GE_ADW_IM_USER12_LEN=4,
00344 GE_ADW_IM_USER13=2660,
00345 GE_ADW_IM_USER13_LEN=4,
00346 GE_ADW_IM_USER14=2664,
00347 GE_ADW_IM_USER14_LEN=4,
00348 GE_ADW_IM_USER15=2668,
00349 GE_ADW_IM_USER15_LEN=4,
00350 GE_ADW_IM_USER16=2672,
00351 GE_ADW_IM_USER16_LEN=4,
00352 GE_ADW_IM_USER17=2676,
00353 GE_ADW_IM_USER17_LEN=4,
00354 GE_ADW_IM_USER18=2680,
00355 GE_ADW_IM_USER18_LEN=4,
00356 GE_ADW_IM_USER19=2684,
00357 GE_ADW_IM_USER19_LEN=4,
00358 GE_ADW_IM_USER20=2688,
00359 GE_ADW_IM_USER20_LEN=4,
00360 GE_ADW_IM_USER21=2692,
00361 GE_ADW_IM_USER21_LEN=4,
00362 GE_ADW_IM_USER22=2696,
00363 GE_ADW_IM_USER22_LEN=4,
00364 GE_ADW_IM_USER23=2700,
00365 GE_ADW_IM_USER23_LEN=4,
00366 GE_ADW_IM_USER24=2704,
00367 GE_ADW_IM_USER24_LEN=4,
00368 GE_ADW_IM_SATBITS=2756,
00369 GE_ADW_IM_SATBITS_LEN=2,
00370 GE_ADW_IM_SCIC=2758,
00371 GE_ADW_IM_SCIC_LEN=2,
00372 GE_ADW_IM_FLAX=2778,
00373 GE_ADW_IM_FLAX_LEN=2,
00374 GE_ADW_IM_VENC=2780,
00375 GE_ADW_IM_VENC_LEN=2,
00376 GE_ADW_IM_THK_DISCLMR=2782,
00377 GE_ADW_IM_THK_DISCLMR_LEN=2,
00378 GE_ADW_IM_VAS_COLLAPSE=2790,
00379 GE_ADW_IM_VAS_COLLAPSE_LEN=2,
00380 GE_ADW_IM_X_AXIS_ROT=2816,
00381 GE_ADW_IM_X_AXIS_ROT_LEN=4,
00382 GE_ADW_IM_Y_AXIS_ROT=2820,
00383 GE_ADW_IM_Y_AXIS_ROT_LEN=4,
00384 GE_ADW_IM_Z_AXIS_ROT=2824,
00385 GE_ADW_IM_Z_AXIS_ROT_LEN=4,
00386 GE_ADW_IM_ECHO_TRN=2844,
00387 GE_ADW_IM_ECHO_TRN_LEN=2,
00388 GE_ADW_IM_FRAC_ECHO=2846,
00389 GE_ADW_IM_FRAC_ECHO_LEN=2,
00390 GE_ADW_IM_PREP_PULSE=2848,
00391 GE_ADW_IM_PREP_PULSE_LEN=2,
00392 GE_ADW_IM_CPHASENUM=2850,
00393 GE_ADW_IM_CPHASENUM_LEN=2,
00394 GE_ADW_IM_VAR_ECHO=2852,
00395 GE_ADW_IM_VAR_ECHO_LEN=2,
00396 GE_ADW_IM_FREQ_DIR=2948,
00397 GE_ADW_IM_FREQ_DIR_LEN=2,
00398 GE_ADW_IM_VMODE=2950,
00399 GE_ADW_IM_VMODE_LEN=2,
00400
00401 GE_ADW_FIXED_HDR_LENGTH=3228,
00402 GE_ADW_VARIABLE_HDR_LENGTH_LEN=4,
00403 GE_ADW_VARIABLE_HDR_LENGTH=3232
00404 };
00405
00406 };
00407
00408 }
00409
00410 #endif // __itkAnalyzeImageIO_h