00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00030 #ifndef __itkSiemensVisionImageIO_h
00031 #define __itkSiemensVisionImageIO_h
00032
00033 #ifdef _MSC_VER
00034 #pragma warning ( disable : 4786 )
00035 #endif
00036
00037 #include "itkIPLCommonImageIO.h"
00038
00039 namespace itk
00040 {
00048 class ITK_EXPORT SiemensVisionImageIO : public IPLCommonImageIO
00049 {
00050 public:
00052 typedef SiemensVisionImageIO Self;
00053 typedef IPLCommonImageIO Superclass;
00054 typedef SmartPointer<Self> Pointer;
00055
00057 itkNewMacro(Self);
00058
00060 itkTypeMacro(SiemensVisionImageIO, Superclass);
00061
00062
00063
00070 virtual bool CanReadFile(const char* FileNameToRead);
00071
00073
00074
00075
00077
00078
00079
00081
00082
00083
00087
00088
00089
00090
00091
00098
00099
00100
00102
00103
00104
00107
00108
00109 protected:
00110 SiemensVisionImageIO();
00111 ~SiemensVisionImageIO();
00112
00113
00114 virtual GEImageHeader *ReadHeader(const char *FileNameToRead);
00115 private:
00116 typedef enum {
00117 HDR_STUDY_YEAR= 0,
00118 HDR_STUDY_YEAR_LEN= 4,
00119 HDR_STUDY_MONTH= 4,
00120 HDR_STUDY_MONTH_LEN= 4,
00121 HDR_STUDY_DAY= 8,
00122 HDR_STUDY_DAY_LEN= 4,
00123 HDR_ACQ_YEAR= 12,
00124 HDR_ACQ_YEAR_LEN= 4,
00125 HDR_ACQ_MONTH= 16,
00126 HDR_ACQ_MONTH_LEN= 4,
00127 HDR_ACQ_DAY= 20,
00128 HDR_ACQ_DAY_LEN= 4,
00129 HDR_IMAGE_YEAR= 24,
00130 HDR_IMAGE_YEAR_LEN= 4,
00131 HDR_IMAGE_MONTH= 28,
00132 HDR_IMAGE_MONTH_LEN= 4,
00133 HDR_IMAGE_DAY= 32,
00134 HDR_IMAGE_DAY_LEN= 4,
00135 HDR_STUDY_HOUR= 36,
00136 HDR_STUDY_HOUR_LEN= 4,
00137 HDR_STUDY_MIN= 40,
00138 HDR_STUDY_MIN_LEN= 4,
00139 HDR_STUDY_SEC= 44,
00140 HDR_STUDY_SEC_LEN= 4,
00141 HDR_ACQ_HOUR= 52,
00142 HDR_ACQ_HOUR_LEN= 4,
00143 HDR_ACQ_MIN= 56,
00144 HDR_ACQ_MIN_LEN= 4,
00145 HDR_ACQ_SEC= 60,
00146 HDR_ACQ_SEC_LEN= 4,
00147 HDR_IMAGE_HOUR= 68,
00148 HDR_IMAGE_HOUR_LEN= 4,
00149 HDR_IMAGE_MIN= 72,
00150 HDR_IMAGE_MIN_LEN= 4,
00151 HDR_IMAGE_SEC= 76,
00152 HDR_IMAGE_SEC_LEN= 4,
00153 HDR_MANUFAC= 96,
00154 HDR_MANUFAC_LEN= 7,
00155 HDR_INSTUTE_NAME= 105,
00156 HDR_INSTUTE_NAME_LEN= 25,
00157 HDR_ANNOTATION= 186,
00158 HDR_ANNOTATION_LEN= 32,
00159 HDR_MODEL_NAME= 281,
00160 HDR_MODEL_NAME_LEN= 12,
00161 HDR_LMOVE_YEAR= 412,
00162 HDR_LMOVE_YEAR_LEN= 4,
00163 HDR_LMOVE_MONTH= 416,
00164 HDR_LMOVE_MONTH_LEN= 4,
00165 HDR_LMOVE_DAY= 420,
00166 HDR_LMOVE_DAY_LEN= 4,
00167 HDR_LMOVE_HOUR= 424,
00168 HDR_LMOVE_HOUR_LEN= 4,
00169 HDR_LMOVE_MIN= 428,
00170 HDR_LMOVE_MIN_LEN= 4,
00171 HDR_LMOVE_SEC= 432,
00172 HDR_LMOVE_SEC_LEN= 4,
00173 HDR_PAT_NAME= 768,
00174 HDR_PAT_NAME_LEN= 25,
00175 HDR_PAT_ID= 795,
00176 HDR_PAT_ID_LEN= 12,
00177 HDR_DOB_YEAR= 808,
00178 HDR_DOB_YEAR_LEN= 4,
00179 HDR_DOB_MONTH= 812,
00180 HDR_DOB_MONTH_LEN= 4,
00181 HDR_DOB_DAY= 816,
00182 HDR_DOB_DAY_LEN= 4,
00183 HDR_PAT_AGE= 851,
00184 HDR_PAT_AGE_LEN= 3,
00185 HDR_AGE_UNIT= 854,
00186 HDR_AGE_UNIT_LEN= 1,
00187 HDR_REG_YEAR= 1052,
00188 HDR_REG_YEAR_LEN= 4,
00189 HDR_REG_MONTH= 1056,
00190 HDR_REG_MONTH_LEN= 4,
00191 HDR_REG_DAY= 1060,
00192 HDR_REG_DAY_LEN= 4,
00193 HDR_REG_HOUR= 1064,
00194 HDR_REG_HOUR_LEN= 4,
00195 HDR_REG_MIN= 1068,
00196 HDR_REG_MIN_LEN= 4,
00197 HDR_REG_SEC= 1072,
00198 HDR_REG_SEC_LEN= 4,
00199 HDR_SLICE_THCK= 1544,
00200 HDR_SLICE_THCK_LEN= 8,
00201 HDR_TR= 1560,
00202 HDR_TR_LEN= 8,
00203 HDR_TE= 1568,
00204 HDR_TE_LEN= 8,
00205 HDR_FREQ= 1592,
00206 HDR_FREQ_LEN= 8,
00207 HDR_STATION= 1639,
00208 HDR_STATION_LEN= 5,
00209 HDR_CAL_YEAR= 1712,
00210 HDR_CAL_YEAR_LEN= 4,
00211 HDR_CAL_MONTH= 1716,
00212 HDR_CAL_MONTH_LEN= 4,
00213 HDR_CAL_DAY= 1720,
00214 HDR_CAL_DAY_LEN= 4,
00215 HDR_CAL_HOUR= 1724,
00216 HDR_CAL_HOUR_LEN= 4,
00217 HDR_CAL_MIN= 1728,
00218 HDR_CAL_MIN_LEN= 4,
00219 HDR_CAL_SEC= 1732,
00220 HDR_CAL_SEC_LEN= 4,
00221 HDR_COIL= 1767,
00222 HDR_COIL_LEN= 16,
00223 HDR_IMAGE_NUC= 1828,
00224 HDR_IMAGE_NUC_LEN= 4,
00225 HDR_FLIP_ANGLE= 2112,
00226 HDR_FLIP_ANGLE_LEN= 8,
00227 HDR_FIELD= 2560,
00228 HDR_FIELD_LEN= 8,
00229 HDR_DISPLAY_SIZE= 2864,
00230 HDR_DISPLAY_SIZE_LEN= 4,
00231 HDR_SEQPROG_NAME= 2944,
00232 HDR_SEQPROG_NAME_LEN= 65,
00233 HDR_WKC_NAME= 3009,
00234 HDR_WKC_NAME_LEN= 65,
00235 HDR_AUTHOR= 3074,
00236 HDR_AUTHOR_LEN= 9,
00237 HDR_SEQUENCE_TYPE= 3083,
00238 HDR_SEQUENCE_TYPE_LEN= 8,
00239 HDR_FOV_ROW= 3744,
00240 HDR_FOV_ROW_LEN= 8,
00241 HDR_FOV_COLUMN= 3752,
00242 HDR_FOV_COLUMN_LEN= 8,
00243 HDR_CENTER_X= 3768,
00244 HDR_CENTER_X_LEN= 8,
00245 HDR_CENTER_Y= 3776,
00246 HDR_CENTER_Y_LEN= 8,
00247 HDR_CENTER_Z= 3784,
00248 HDR_CENTER_Z_LEN= 8,
00249 HDR_NORMV_X= 3792,
00250 HDR_NORMV_X_LEN= 8,
00251 HDR_NORMV_Y= 3800,
00252 HDR_NORMV_Y_LEN= 8,
00253 HDR_NORMV_Z= 3808,
00254 HDR_NORMV_Z_LEN= 8,
00255 HDR_DIST_ISO= 3816,
00256 HDR_DIST_ISO_LEN= 8,
00257 HDR_ROWV_X= 3832,
00258 HDR_ROWV_X_LEN= 8,
00259 HDR_ROWV_Y= 3840,
00260 HDR_ROWV_Y_LEN= 8,
00261 HDR_ROWV_Z= 3848,
00262 HDR_ROWV_Z_LEN= 8,
00263 HDR_COLMNV_X= 3856,
00264 HDR_COLMNV_X_LEN= 8,
00265 HDR_COLMNV_Y= 3864,
00266 HDR_COLMNV_Y_LEN= 8,
00267 HDR_COLMNV_Z= 3872,
00268 HDR_COLMNV_Z_LEN= 8,
00269 HDR_ORNT_SET1X= 3880,
00270 HDR_ORNT_SET1X_LEN= 3,
00271 HDR_ORNT_SET1Y= 3884,
00272 HDR_ORNT_SET1Y_LEN= 3,
00273 HDR_ORNT_SET1Z= 3888,
00274 HDR_ORNT_SET1Z_LEN= 3,
00275 HDR_ORNT_SET2X= 3892,
00276 HDR_ORNT_SET2X_LEN= 3,
00277 HDR_ORNT_SET2Y= 3896,
00278 HDR_ORNT_SET2Y_LEN= 3,
00279 HDR_ORNT_SET2Z= 3900,
00280 HDR_ORNT_SET2Z_LEN= 3,
00281 HDR_PROTOCOL_NAME= 2944,
00282 HDR_PROTOCOL_NAME_LEN= 64,
00283 HDR_PIXELSIZE_ROW= 5000,
00284 HDR_PIXELSIZE_ROW_LEN= 8,
00285 HDR_PIXELSIZE_CLMN= 5008,
00286 HDR_PIXELSIZE_CLMN_LEN= 8,
00287 TEXT_PAT_ID= 5504,
00288 TEXT_PAT_ID_LEN= 12,
00289 TEXT_PAT_SEX= 5517,
00290 TEXT_PAT_SEX_LEN= 1,
00291 TEXT_PAT_AGE= 5518,
00292 TEXT_PAT_AGE_LEN= 3,
00293 TEXT_AGE_UNIT= 5521,
00294 TEXT_AGE_UNIT_LEN= 1,
00295 TEXT_PAT_POS= 5529,
00296 TEXT_PAT_POS_LEN= 7,
00297 TEXT_IMG_FLAG= 5541,
00298 TEXT_IMG_FLAG_LEN= 5,
00299 TEXT_IMG_NUMBER= 5546,
00300 TEXT_IMG_NUMBER_LEN= 4,
00301 TEXT_IMG_DAY= 5559,
00302 TEXT_IMG_DAY_LEN= 2,
00303 TEXT_IMG_MONTH= 5562,
00304 TEXT_IMG_MONTH_LEN= 3,
00305 TEXT_IMG_YEAR= 5566,
00306 TEXT_IMG_YEAR_LEN= 4,
00307 TEXT_IMG_HOUR= 5571,
00308 TEXT_IMG_HOUR_LEN= 2,
00309 TEXT_IMG_MIN= 5574,
00310 TEXT_IMG_MIN_LEN= 2,
00311 TEXT_ACQ_FLAG= 5577,
00312 TEXT_ACQ_FLAG_LEN= 2,
00313 TEXT_ACQ_MIN= 5583,
00314 TEXT_ACQ_MIN_LEN= 2,
00315 TEXT_ACQ_SEC= 5586,
00316 TEXT_ACQ_SEC_LEN= 2,
00317 TEXT_ANNOTATION= 5601,
00318 TEXT_ANNOTATION_LEN= 32,
00319 TEXT_ORGANIZATION= 5655,
00320 TEXT_ORGANIZATION_LEN= 25,
00321 TEXT_STATION= 5682,
00322 TEXT_STATION_LEN= 5,
00323 TEXT_ACQ_MTRX_PHASE= 5695,
00324 TEXT_ACQ_MTRX_PHASE_LEN= 3,
00325 TEXT_ACQ_PHASE_DIR= 5698,
00326 TEXT_ACQ_PHASE_DIR_LEN= 1,
00327 TEXT_ACQ_MTRX_FREQ= 5700,
00328 TEXT_ACQ_MTRX_FREQ_LEN= 3,
00329 TEXT_ACQ_MTRX_FREQO= 5703,
00330 TEXT_ACQ_MTRX_FREQO_LEN= 1,
00331 TEXT_ACQ_MTRX_FREQS= 5704,
00332 TEXT_ACQ_MTRX_FREQS_LEN= 1,
00333 TEXT_SEQUENCE= 5706,
00334 TEXT_SEQUENCE_LEN= 8,
00335 TEXT_FLIP_ANGLE= 5714,
00336 TEXT_FLIP_ANGLE_LEN= 3,
00337 TEXT_SCAN_FLAG= 5718,
00338 TEXT_SCAN_FLAG_LEN= 4,
00339 TEXT_SCANA_NUM= 5723,
00340 TEXT_SCANA_NUM_LEN= 3,
00341 TEXT_SCANB_NUM= 5726,
00342 TEXT_SCANB_NUM_LEN= 3,
00343 TEXT_TR_FLAG= 5730,
00344 TEXT_TR_FLAG_LEN= 2,
00345 TEXT_TR= 5734,
00346 TEXT_TR_LEN= 7,
00347 TEXT_TE_FLAG= 5742,
00348 TEXT_TE_FLAG_LEN= 2,
00349 TEXT_TE= 5746,
00350 TEXT_TE_LEN= 5,
00351 TEXT_ECHO_NUM= 5752,
00352 TEXT_ECHO_NUM_LEN= 1,
00353 TEXT_THCK_FLAG= 5790,
00354 TEXT_THCK_FLAG_LEN= 2,
00355 TEXT_SLICE_THCK= 5794,
00356 TEXT_SLICE_THCK_LEN= 7,
00357 TEXT_POS_FLAG= 5802,
00358 TEXT_POS_FLAG_LEN= 2,
00359 TEXT_SLICE_POS= 5806,
00360 TEXT_SLICE_POS_LEN= 7,
00361 TEXT_ANGLE_FLAG1= 5814,
00362 TEXT_ANGLE_FLAG1_LEN= 3,
00363 TEXT_ANGLE_FLAG2= 5817,
00364 TEXT_ANGLE_FLAG2_LEN= 1,
00365 TEXT_ANGLE_FLAG3= 5818,
00366 TEXT_ANGLE_FLAG3_LEN= 3,
00367 TEXT_ANGLE= 5821,
00368 TEXT_ANGLE_LEN= 4,
00369 TEXT_FOV_FLAG= 5838,
00370 TEXT_FOV_FLAG_LEN= 3,
00371 TEXT_FOVH= 5842,
00372 TEXT_FOVH_LEN= 3,
00373 TEXT_FOVV= 5846,
00374 TEXT_FOVV_LEN= 3,
00375 TEXT_TABLEPOS_FLAG= 5874,
00376 TEXT_TABLEPOS_FLAG_LEN= 2,
00377 TEXT_TABLE_POS= 5878,
00378 TEXT_TABLE_POS_LEN= 7,
00379 TEXT_STUDY_FLAG= 5938,
00380 TEXT_STUDY_FLAG_LEN= 5,
00381 TEXT_STUDY_NUM= 5943,
00382 TEXT_STUDY_NUM_LEN= 2,
00383 TEXT_DOB_DAY= 5956,
00384 TEXT_DOB_DAY_LEN= 2,
00385 TEXT_DOB_MONTH= 5959,
00386 TEXT_DOB_MONTH_LEN= 3,
00387 TEXT_DOB_YEAR= 5963,
00388 TEXT_DOB_YEAR_LEN= 4,
00389 TEXT_STUDY_FLAG2= 5992,
00390 TEXT_STUDY_FLAG2_LEN= 3,
00391 TEXT_IMAGE_FLAG2= 5996,
00392 TEXT_IMAGE_FLAG2_LEN= 3,
00393 TEXT_STUDY_NUM2= 5999,
00394 TEXT_STUDY_NUM2_LEN= 2,
00395 TEXT_IMAGE_NUM2= 6002,
00396 TEXT_IMAGE_NUM2_LEN= 2,
00397 TEXT_IMAGE_NUM3= 6013,
00398 TEXT_IMAGE_NUM3_LEN= 5,
00399 TEXT_MODEL_NAME= 6031,
00400 TEXT_MODEL_NAME_LEN= 15,
00401 TEXT_PAT_NAME= 6058,
00402 TEXT_PAT_NAME_LEN= 25,
00403 TEXT_START_HOUR= 6085,
00404 TEXT_START_HOUR_LEN= 2,
00405 TEXT_START_MIN= 6088,
00406 TEXT_START_MIN_LEN= 2,
00407 TEXT_START_SEC= 6091,
00408 TEXT_START_SEC_LEN= 2,
00409 HDR_TOTAL_LENGTH= 6144
00410 } SiemensVisionHeaderInfo;
00411 SiemensVisionImageIO(const Self&);
00412 void operator=(const Self&);
00413 };
00415
00416 }
00417
00418 #endif // __itkSiemensVisionImageIO_h
00419