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