ITK  5.2.0
Insight Toolkit
itkSiemensVisionImageIO.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright NumFOCUS
4  *
5  * Licensed under the Apache License, Version 2.0 (the "License");
6  * you may not use this file except in compliance with the License.
7  * You may obtain a copy of the License at
8  *
9  * http://www.apache.org/licenses/LICENSE-2.0.txt
10  *
11  * Unless required by applicable law or agreed to in writing, software
12  * distributed under the License is distributed on an "AS IS" BASIS,
13  * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14  * See the License for the specific language governing permissions and
15  * limitations under the License.
16  *
17  *=========================================================================*/
33 #ifndef itkSiemensVisionImageIO_h
34 #define itkSiemensVisionImageIO_h
35 #include "ITKIOSiemensExport.h"
36 
37 
38 #include "itkIPLCommonImageIO.h"
39 
40 namespace itk
41 {
51 class ITKIOSiemens_EXPORT SiemensVisionImageIO : public IPLCommonImageIO
52 {
53 public:
54  ITK_DISALLOW_COPY_AND_ASSIGN(SiemensVisionImageIO);
55 
60 
62  itkNewMacro(Self);
63 
65  itkTypeMacro(SiemensVisionImageIO, Superclass);
66 
67  /*-------- This part of the interfaces deals with reading data. ----- */
68 
75  bool
76  CanReadFile(const char * FileNameToRead) override;
77 
78  /* * Set the spacing and dimension information for the set filename. */
79  // Implemented in superclass
80  // virtual void ReadImageInformation();
81 
82  /* * Get the type of the pixel. */
83  // Implemented in superclass
84  // virtual const std::type_info& GetPixelType() const;
85 
86  /* * Reads the data from disk into the memory buffer provided. */
87  // Implemented in superclass
88  // virtual void Read(void* buffer);
89 
90  /* * Compute the size (in bytes) of the components of a pixel. For
91  * example, and RGB pixel of unsigned char would have a
92  * component size of 1 byte. */
93  // Implemented in superclass
94  // virtual unsigned int GetComponentSize() const;
95 
96  /*-------- This part of the interfaces deals with writing data. ----- */
97 
98  /* * Determine if the file can be written with this ImageIO implementation.
99  * \param FileNameToWrite The name of the file to test for writing.
100  * \author Hans J. Johnson
101  * \post Sets classes ImageIOBase::m_FileName variable to be FileNameToWrite
102  * \return Returns true if this ImageIO can write the file specified.
103  */
104  // Implemented in superclass
105  // virtual bool CanWriteFile(const char * FileNameToWrite);
106 
107  /* * Set the spacing and dimension information for the set filename. */
108  // Implemented in superclass
109  // virtual void WriteImageInformation();
110 
111  /* * Writes the data to disk from the memory buffer provided. Make sure
112  * that the IORegions has been set properly. */
113  // Implemented in superclass
114  // virtual void Write(const void* buffer);
115 
116 protected:
118  ~SiemensVisionImageIO() override;
119  // Implemented in superclass
120  // void PrintSelf(std::ostream& os, Indent indent) const;
121  GEImageHeader *
122  ReadHeader(const char * FileNameToRead) override;
123 
124 private:
125  using SiemensVisionHeaderInfo = enum
126 
127  {
128 
129  HDR_STUDY_YEAR = 0, // Study date year, u_int
130 
131  HDR_STUDY_YEAR_LEN = 4,
132 
133  HDR_STUDY_MONTH = 4, // Study date month, u_int
134 
135  HDR_STUDY_MONTH_LEN = 4,
136 
137  HDR_STUDY_DAY = 8, // Study date day, u_int
138 
139  HDR_STUDY_DAY_LEN = 4,
140 
141  HDR_ACQ_YEAR = 12, // Acquisition date year, u_int
142 
143  HDR_ACQ_YEAR_LEN = 4,
144 
145  HDR_ACQ_MONTH = 16, // Acquisition date month, u_int
146 
147  HDR_ACQ_MONTH_LEN = 4,
148 
149  HDR_ACQ_DAY = 20, // Acquisition date day, u_int
150 
151  HDR_ACQ_DAY_LEN = 4,
152 
153  HDR_IMAGE_YEAR = 24, // Image date year, u_int
154 
155  HDR_IMAGE_YEAR_LEN = 4,
156 
157  HDR_IMAGE_MONTH = 28, // Image date month, u_int
158 
159  HDR_IMAGE_MONTH_LEN = 4,
160 
161  HDR_IMAGE_DAY = 32, // Image date day, u_int
162 
163  HDR_IMAGE_DAY_LEN = 4,
164 
165  HDR_STUDY_HOUR = 36, // Study time hour, u_int
166 
167  HDR_STUDY_HOUR_LEN = 4,
168 
169  HDR_STUDY_MIN = 40, // Study time minute, u_int
170 
171  HDR_STUDY_MIN_LEN = 4,
172 
173  HDR_STUDY_SEC = 44, // Study time second, u_int
174 
175  HDR_STUDY_SEC_LEN = 4,
176 
177  HDR_ACQ_HOUR = 52, // Acquisition time second, u_int
178 
179  HDR_ACQ_HOUR_LEN = 4,
180 
181  HDR_ACQ_MIN = 56, // Acquisition time second, u_int
182 
183  HDR_ACQ_MIN_LEN = 4,
184 
185  HDR_ACQ_SEC = 60, // Acquisition time second, u_int
186 
187  HDR_ACQ_SEC_LEN = 4,
188 
189  HDR_IMAGE_HOUR = 68, // Image Creation time second, u_int
190 
191  HDR_IMAGE_HOUR_LEN = 4,
192 
193  HDR_IMAGE_MIN = 72, // Image Creation time second, u_int
194 
195  HDR_IMAGE_MIN_LEN = 4,
196 
197  HDR_IMAGE_SEC = 76, // Image Creation time second, u_int
198 
199  HDR_IMAGE_SEC_LEN = 4,
200 
201  HDR_MANUFAC = 96, // Scanner Manufacturer, char
202 
203  HDR_MANUFAC_LEN = 7,
204 
205  HDR_INSTUTE_NAME = 105, // Institution Name, char
206 
207  HDR_INSTUTE_NAME_LEN = 25,
208 
209  HDR_ANNOTATION = 186, // Annotation, char
210 
211  HDR_ANNOTATION_LEN = 32,
212 
213  HDR_MODEL_NAME = 281, // Scanner Model Name, char
214 
215  HDR_MODEL_NAME_LEN = 12,
216 
217  HDR_LMOVE_YEAR = 412, // Date of Last Image Move - year, u_int
218 
219  HDR_LMOVE_YEAR_LEN = 4,
220 
221  HDR_LMOVE_MONTH = 416, // Date of Last Image Move - month, u_int
222 
223  HDR_LMOVE_MONTH_LEN = 4,
224 
225  HDR_LMOVE_DAY = 420, // Date of Last Image Move - day, u_int
226 
227  HDR_LMOVE_DAY_LEN = 4,
228 
229  HDR_LMOVE_HOUR = 424, // Date of Last Image Move - hour, u_int
230 
231  HDR_LMOVE_HOUR_LEN = 4,
232 
233  HDR_LMOVE_MIN = 428, // Date of Last Image Move - minute, u_int
234 
235  HDR_LMOVE_MIN_LEN = 4,
236 
237  HDR_LMOVE_SEC = 432, // Date of Last Image Move - second, u_int
238 
239  HDR_LMOVE_SEC_LEN = 4,
240 
241  HDR_PAT_NAME = 768, // Patient Name, char
242 
243  HDR_PAT_NAME_LEN = 25,
244 
245  HDR_PAT_ID = 795, // Patient ID Number, char
246 
247  HDR_PAT_ID_LEN = 12,
248 
249  HDR_DOB_YEAR = 808, // Date of Birth year, u_int
250 
251  HDR_DOB_YEAR_LEN = 4,
252 
253  HDR_DOB_MONTH = 812, // Date of Birth month, u_int
254 
255  HDR_DOB_MONTH_LEN = 4,
256 
257  HDR_DOB_DAY = 816, // Date of Birth day, u_int
258 
259  HDR_DOB_DAY_LEN = 4,
260 
261  HDR_PAT_AGE = 851, // Patient Age, char
262 
263  HDR_PAT_AGE_LEN = 3,
264 
265  HDR_AGE_UNIT = 854, // Patient Age Unit, char
266 
267  HDR_AGE_UNIT_LEN = 1,
268 
269  HDR_REG_YEAR = 1052, // Registration Date year, u_int
270 
271  HDR_REG_YEAR_LEN = 4,
272 
273  HDR_REG_MONTH = 1056, // Registration Date month, u_int
274 
275  HDR_REG_MONTH_LEN = 4,
276 
277  HDR_REG_DAY = 1060, // Registration Date day, u_int
278 
279  HDR_REG_DAY_LEN = 4,
280 
281  HDR_REG_HOUR = 1064, // Registration Time hour, u_int
282 
283  HDR_REG_HOUR_LEN = 4,
284 
285  HDR_REG_MIN = 1068, // Registration Time minute, u_int
286 
287  HDR_REG_MIN_LEN = 4,
288 
289  HDR_REG_SEC = 1072, // Registration Time second, u_int
290 
291  HDR_REG_SEC_LEN = 4,
292 
293  HDR_SLICE_THCK = 1544, // Slice thickness, double
294 
295  HDR_SLICE_THCK_LEN = 8,
296 
297  HDR_TR = 1560, // TR, double
298 
299  HDR_TR_LEN = 8,
300 
301  HDR_TE = 1568, // TE, double
302 
303  HDR_TE_LEN = 8,
304 
305  HDR_FREQ = 1592, // Center Frequency, double
306 
307  HDR_FREQ_LEN = 8,
308 
309  HDR_STATION = 1639, // Station Name, char
310 
311  HDR_STATION_LEN = 5,
312 
313  HDR_CAL_YEAR = 1712, // Calibration Date - year, u_int
314 
315  HDR_CAL_YEAR_LEN = 4,
316 
317  HDR_CAL_MONTH = 1716, // Calibration Date - month, u_int
318 
319  HDR_CAL_MONTH_LEN = 4,
320 
321  HDR_CAL_DAY = 1720, // Calibration Date - day, u_int
322 
323  HDR_CAL_DAY_LEN = 4,
324 
325  HDR_CAL_HOUR = 1724, // Calibration Time - hour, u_int
326 
327  HDR_CAL_HOUR_LEN = 4,
328 
329  HDR_CAL_MIN = 1728, // Calibration Time - minute, u_int
330 
331  HDR_CAL_MIN_LEN = 4,
332 
333  HDR_CAL_SEC = 1732, // Calibration Time - second, u_int
334 
335  HDR_CAL_SEC_LEN = 4,
336 
337  HDR_COIL = 1767, // Receive Coil, char
338 
339  HDR_COIL_LEN = 16,
340 
341  HDR_IMAGE_NUC = 1828, // Imaged Nucleus, char
342 
343  HDR_IMAGE_NUC_LEN = 4,
344 
345  HDR_FLIP_ANGLE = 2112, // Flip Angle, double
346 
347  HDR_FLIP_ANGLE_LEN = 8,
348 
349  HDR_FIELD = 2560, // Field Strength, double
350 
351  HDR_FIELD_LEN = 8,
352 
353  HDR_DISPLAY_SIZE = 2864, // Displayed Matrix Size, u_int
354 
355  HDR_DISPLAY_SIZE_LEN = 4,
356 
357  HDR_SEQPROG_NAME = 2944, // Pulse Sequence Program Name, cha
358 
359  HDR_SEQPROG_NAME_LEN = 65,
360 
361  HDR_WKC_NAME = 3009, // Pulse Sequence Name, char
362 
363  HDR_WKC_NAME_LEN = 65,
364 
365  HDR_AUTHOR = 3074, // Pulse Sequence Author, char
366 
367  HDR_AUTHOR_LEN = 9,
368 
369  HDR_SEQUENCE_TYPE = 3083, // Pulse Sequence Type, char
370 
371  HDR_SEQUENCE_TYPE_LEN = 8,
372 
373  HDR_FOV_ROW = 3744, // Row FOV, double
374 
375  HDR_FOV_ROW_LEN = 8,
376 
377  HDR_FOV_COLUMN = 3752, // Column FOV, double
378 
379  HDR_FOV_COLUMN_LEN = 8,
380 
381  HDR_CENTER_X = 3768, // X Center Point, double
382 
383  HDR_CENTER_X_LEN = 8,
384 
385  HDR_CENTER_Y = 3776, // Y Center Point, double
386 
387  HDR_CENTER_Y_LEN = 8,
388 
389  HDR_CENTER_Z = 3784, // Z Center Point, double
390 
391  HDR_CENTER_Z_LEN = 8,
392 
393  HDR_NORMV_X = 3792, // Nornal Vector X, double
394 
395  HDR_NORMV_X_LEN = 8,
396 
397  HDR_NORMV_Y = 3800, // Nornal Vector Y, double
398 
399  HDR_NORMV_Y_LEN = 8,
400 
401  HDR_NORMV_Z = 3808, // Nornal Vector Z, double
402 
403  HDR_NORMV_Z_LEN = 8,
404 
405  HDR_DIST_ISO = 3816, // Distance from Isocenter, double
406 
407  HDR_DIST_ISO_LEN = 8,
408 
409  HDR_ROWV_X = 3832, // Row vector X, double
410 
411  HDR_ROWV_X_LEN = 8,
412 
413  HDR_ROWV_Y = 3840, // Row vector Y, double
414 
415  HDR_ROWV_Y_LEN = 8,
416 
417  HDR_ROWV_Z = 3848, // Row vector Z, double
418 
419  HDR_ROWV_Z_LEN = 8,
420 
421  HDR_COLMNV_X = 3856, // Column vector X, double
422 
423  HDR_COLMNV_X_LEN = 8,
424 
425  HDR_COLMNV_Y = 3864, // Column vector Y, double
426 
427  HDR_COLMNV_Y_LEN = 8,
428 
429  HDR_COLMNV_Z = 3872, // Column vector Z, double
430 
431  HDR_COLMNV_Z_LEN = 8,
432 
433  HDR_ORNT_SET1X = 3880, // Orientation Set 1 - X, char
434 
435  HDR_ORNT_SET1X_LEN = 3,
436 
437  HDR_ORNT_SET1Y = 3884, // Orientation Set 1 - Y, char
438 
439  HDR_ORNT_SET1Y_LEN = 3,
440 
441  HDR_ORNT_SET1Z = 3888, // Orientation Set 1 - Z, char
442 
443  HDR_ORNT_SET1Z_LEN = 3,
444 
445  HDR_ORNT_SET2X = 3892, // Orientation Set 2 - X, char
446 
447  HDR_ORNT_SET2X_LEN = 3,
448 
449  HDR_ORNT_SET2Y = 3896, // Orientation Set 2 - Y, char
450 
451  HDR_ORNT_SET2Y_LEN = 3,
452 
453  HDR_ORNT_SET2Z = 3900, // Orientation Set 2 - Z, char
454 
455  HDR_ORNT_SET2Z_LEN = 3,
456 
457  HDR_PROTOCOL_NAME = 2944, // Pulse Sequence Name, char
458 
459  HDR_PROTOCOL_NAME_LEN = 64,
460 
461  HDR_PIXELSIZE_ROW = 5000, // Row Pixel Size, double
462 
463  HDR_PIXELSIZE_ROW_LEN = 8,
464 
465  HDR_PIXELSIZE_CLMN = 5008, // Column Pixel Size, double
466 
467  HDR_PIXELSIZE_CLMN_LEN = 8,
468 
469  TEXT_PAT_ID = 5504, // Text Patient ID, char
470 
471  TEXT_PAT_ID_LEN = 12,
472 
473  TEXT_PAT_SEX = 5517, // Text Patient Sex, char
474 
475  TEXT_PAT_SEX_LEN = 1,
476 
477  TEXT_PAT_AGE = 5518, // Text Patient Age, char
478 
479  TEXT_PAT_AGE_LEN = 3,
480 
481  TEXT_AGE_UNIT = 5521, // Text Patient Age Unit (Y=year), char
482 
483  TEXT_AGE_UNIT_LEN = 1,
484 
485  TEXT_PAT_POS = 5529, // Text Patient Position, char
486 
487  TEXT_PAT_POS_LEN = 7,
488 
489  TEXT_IMG_FLAG = 5541, // Text Image Flag (IMAGE=image), char
490 
491  TEXT_IMG_FLAG_LEN = 5,
492 
493  TEXT_IMG_NUMBER = 5546, // Text Image Number, char
494 
495  TEXT_IMG_NUMBER_LEN = 4,
496 
497  TEXT_IMG_DAY = 5559, // Text Date - Day, char
498 
499  TEXT_IMG_DAY_LEN = 2,
500 
501  TEXT_IMG_MONTH = 5562, // Text Date - Month, char
502 
503  TEXT_IMG_MONTH_LEN = 3,
504 
505  TEXT_IMG_YEAR = 5566, // Text Date - Year, char
506 
507  TEXT_IMG_YEAR_LEN = 4,
508 
509  TEXT_IMG_HOUR = 5571, // Text Time - hour, char
510 
511  TEXT_IMG_HOUR_LEN = 2,
512 
513  TEXT_IMG_MIN = 5574, // Text Time - minute, char
514 
515  TEXT_IMG_MIN_LEN = 2,
516 
517  TEXT_ACQ_FLAG = 5577, // Text Acq. Time Flag (TA=time of acq), char
518 
519  TEXT_ACQ_FLAG_LEN = 2,
520 
521  TEXT_ACQ_MIN = 5583, // Text Acq Time - minute, char
522 
523  TEXT_ACQ_MIN_LEN = 2,
524 
525  TEXT_ACQ_SEC = 5586, // Text Acq Time - second, char
526 
527  TEXT_ACQ_SEC_LEN = 2,
528 
529  TEXT_ANNOTATION = 5601, // Text Annotation, char
530 
531  TEXT_ANNOTATION_LEN = 32,
532 
533  TEXT_ORGANIZATION = 5655, // Text Organization, char
534 
535  TEXT_ORGANIZATION_LEN = 25,
536 
537  TEXT_STATION = 5682, // Text Station Name, char
538 
539  TEXT_STATION_LEN = 5,
540 
541  TEXT_ACQ_MTRX_PHASE = 5695, // Acq. Matrix Phase Axis, char
542 
543  TEXT_ACQ_MTRX_PHASE_LEN = 3,
544 
545  TEXT_ACQ_PHASE_DIR = 5698, // Acq. phase direction (h=hor, v=vert), char
546 
547  TEXT_ACQ_PHASE_DIR_LEN = 1,
548 
549  TEXT_ACQ_MTRX_FREQ = 5700, // Acq. matrix Freq Axis, char
550 
551  TEXT_ACQ_MTRX_FREQ_LEN = 3,
552 
553  TEXT_ACQ_MTRX_FREQO = 5703, // Acq freq (o=o " "=blank), char
554 
555  TEXT_ACQ_MTRX_FREQO_LEN = 1,
556 
557  TEXT_ACQ_MTRX_FREQS = 5704, // Acq freq (s=s " "=blank), char
558 
559  TEXT_ACQ_MTRX_FREQS_LEN = 1,
560 
561  TEXT_SEQUENCE = 5706, // Sequence Type, char
562 
563  TEXT_SEQUENCE_LEN = 8,
564 
565  TEXT_FLIP_ANGLE = 5714, // Flip Angle, char
566 
567  TEXT_FLIP_ANGLE_LEN = 3,
568 
569  TEXT_SCAN_FLAG = 5718, // Scan flag ("SCAN"), char */
570 
571  TEXT_SCAN_FLAG_LEN = 4,
572 
573  TEXT_SCANA_NUM = 5723, // Scan Number A, char
574 
575  TEXT_SCANA_NUM_LEN = 3,
576 
577  TEXT_SCANB_NUM = 5726, // Scan Number B, char
578 
579  TEXT_SCANB_NUM_LEN = 3,
580 
581  TEXT_TR_FLAG = 5730, // TR flag ("TR"), char
582 
583  TEXT_TR_FLAG_LEN = 2,
584 
585  TEXT_TR = 5734, // TR, char
586 
587  TEXT_TR_LEN = 7,
588 
589  TEXT_TE_FLAG = 5742, // TE flag ("TE"), char
590 
591  TEXT_TE_FLAG_LEN = 2,
592 
593  TEXT_TE = 5746, // TE, char
594 
595  TEXT_TE_LEN = 5,
596 
597  TEXT_ECHO_NUM = 5752, // Echo number, char
598 
599  TEXT_ECHO_NUM_LEN = 1,
600 
601  TEXT_THCK_FLAG = 5790, // SLice thickness flag ("SL"), char
602 
603  TEXT_THCK_FLAG_LEN = 2,
604 
605  TEXT_SLICE_THCK = 5794, // Slice thickness
606 
607  TEXT_SLICE_THCK_LEN = 7,
608 
609  TEXT_POS_FLAG = 5802, // Slice position flag ("SP"), char
610 
611  TEXT_POS_FLAG_LEN = 2,
612 
613  TEXT_SLICE_POS = 5806, // Slice position, char
614 
615  TEXT_SLICE_POS_LEN = 7,
616 
617  TEXT_ANGLE_FLAG1 = 5814, // Angle flag 1 ("Sag","Cor",or,"Tra"), char
618 
619  TEXT_ANGLE_FLAG1_LEN = 3,
620 
621  TEXT_ANGLE_FLAG2 = 5817, // Angle flag 2 ("<", or ">"), char
622 
623  TEXT_ANGLE_FLAG2_LEN = 1,
624 
625  TEXT_ANGLE_FLAG3 = 5818, // Angle flag 3 ("Sag","Cor",or,"Tra"), char
626 
627  TEXT_ANGLE_FLAG3_LEN = 3,
628 
629  TEXT_ANGLE = 5821, // Angle, char
630 
631  TEXT_ANGLE_LEN = 4,
632 
633  TEXT_FOV_FLAG = 5838, // FOV flag ("FOV"), char
634 
635  TEXT_FOV_FLAG_LEN = 3,
636 
637  TEXT_FOVH = 5842, // Horizontal FOV, char
638 
639  TEXT_FOVH_LEN = 3,
640 
641  TEXT_FOVV = 5846, // Vertical FOV, char
642 
643  TEXT_FOVV_LEN = 3,
644 
645  TEXT_TABLEPOS_FLAG = 5874, // Table Position flag ("TP"), char
646 
647  TEXT_TABLEPOS_FLAG_LEN = 2,
648 
649  TEXT_TABLE_POS = 5878, // Table position
650 
651  TEXT_TABLE_POS_LEN = 7,
652 
653  TEXT_STUDY_FLAG = 5938, // Study flag ("STUDY"), char
654 
655  TEXT_STUDY_FLAG_LEN = 5,
656 
657  TEXT_STUDY_NUM = 5943, // Study number, char
658 
659  TEXT_STUDY_NUM_LEN = 2,
660 
661  TEXT_DOB_DAY = 5956, // Date of Birth - day, char
662 
663  TEXT_DOB_DAY_LEN = 2,
664 
665  TEXT_DOB_MONTH = 5959, // Date of Birth - month, char
666 
667  TEXT_DOB_MONTH_LEN = 3,
668 
669  TEXT_DOB_YEAR = 5963, // Date of Birth - year, char
670 
671  TEXT_DOB_YEAR_LEN = 4,
672 
673  TEXT_STUDY_FLAG2 = 5992, // Study flag 2 ("STU"), char
674 
675  TEXT_STUDY_FLAG2_LEN = 3,
676 
677  TEXT_IMAGE_FLAG2 = 5996, // Image flag 2 ("IMA"), char
678 
679  TEXT_IMAGE_FLAG2_LEN = 3,
680 
681  TEXT_STUDY_NUM2 = 5999, // Study number 2, char
682 
683  TEXT_STUDY_NUM2_LEN = 2,
684 
685  TEXT_IMAGE_NUM2 = 6002, // Image number 2, char
686 
687  TEXT_IMAGE_NUM2_LEN = 2,
688 
689  TEXT_IMAGE_NUM3 = 6013, // Image number 3, char
690 
691  TEXT_IMAGE_NUM3_LEN = 5,
692 
693  TEXT_MODEL_NAME = 6031, // Model Name, char
694 
695  TEXT_MODEL_NAME_LEN = 15,
696 
697  TEXT_PAT_NAME = 6058, // Patient Name, char
698 
699  TEXT_PAT_NAME_LEN = 25,
700 
701  TEXT_START_HOUR = 6085, // Scan start time - hour, char
702 
703  TEXT_START_HOUR_LEN = 2,
704 
705  TEXT_START_MIN = 6088, // Scan start time - minute, char
706 
707  TEXT_START_MIN_LEN = 2,
708 
709  TEXT_START_SEC = 6091, // Scan start time - second, char
710 
711  TEXT_START_SEC_LEN = 2,
712 
713  HDR_TOTAL_LENGTH = 6144 // Total length of Siemens Header
714 
715  };
716 };
717 } // end namespace itk
718 
719 #endif // itkSiemensVisionImageIO_h
itkIPLCommonImageIO.h
This file was written as a modification to the itkMetaImageIO as a new method for reading in files fr...
itk::SiemensVisionImageIO::SiemensVisionHeaderInfo
enum { HDR_STUDY_YEAR=0, HDR_STUDY_YEAR_LEN=4, HDR_STUDY_MONTH=4, HDR_STUDY_MONTH_LEN=4, HDR_STUDY_DAY=8, HDR_STUDY_DAY_LEN=4, HDR_ACQ_YEAR=12, HDR_ACQ_YEAR_LEN=4, HDR_ACQ_MONTH=16, HDR_ACQ_MONTH_LEN=4, HDR_ACQ_DAY=20, HDR_ACQ_DAY_LEN=4, HDR_IMAGE_YEAR=24, HDR_IMAGE_YEAR_LEN=4, HDR_IMAGE_MONTH=28, HDR_IMAGE_MONTH_LEN=4, HDR_IMAGE_DAY=32, HDR_IMAGE_DAY_LEN=4, HDR_STUDY_HOUR=36, HDR_STUDY_HOUR_LEN=4, HDR_STUDY_MIN=40, HDR_STUDY_MIN_LEN=4, HDR_STUDY_SEC=44, HDR_STUDY_SEC_LEN=4, HDR_ACQ_HOUR=52, HDR_ACQ_HOUR_LEN=4, HDR_ACQ_MIN=56, HDR_ACQ_MIN_LEN=4, HDR_ACQ_SEC=60, HDR_ACQ_SEC_LEN=4, HDR_IMAGE_HOUR=68, HDR_IMAGE_HOUR_LEN=4, HDR_IMAGE_MIN=72, HDR_IMAGE_MIN_LEN=4, HDR_IMAGE_SEC=76, HDR_IMAGE_SEC_LEN=4, HDR_MANUFAC=96, HDR_MANUFAC_LEN=7, HDR_INSTUTE_NAME=105, HDR_INSTUTE_NAME_LEN=25, HDR_ANNOTATION=186, HDR_ANNOTATION_LEN=32, HDR_MODEL_NAME=281, HDR_MODEL_NAME_LEN=12, HDR_LMOVE_YEAR=412, HDR_LMOVE_YEAR_LEN=4, HDR_LMOVE_MONTH=416, HDR_LMOVE_MONTH_LEN=4, HDR_LMOVE_DAY=420, HDR_LMOVE_DAY_LEN=4, HDR_LMOVE_HOUR=424, HDR_LMOVE_HOUR_LEN=4, HDR_LMOVE_MIN=428, HDR_LMOVE_MIN_LEN=4, HDR_LMOVE_SEC=432, HDR_LMOVE_SEC_LEN=4, HDR_PAT_NAME=768, HDR_PAT_NAME_LEN=25, HDR_PAT_ID=795, HDR_PAT_ID_LEN=12, HDR_DOB_YEAR=808, HDR_DOB_YEAR_LEN=4, HDR_DOB_MONTH=812, HDR_DOB_MONTH_LEN=4, HDR_DOB_DAY=816, HDR_DOB_DAY_LEN=4, HDR_PAT_AGE=851, HDR_PAT_AGE_LEN=3, HDR_AGE_UNIT=854, HDR_AGE_UNIT_LEN=1, HDR_REG_YEAR=1052, HDR_REG_YEAR_LEN=4, HDR_REG_MONTH=1056, HDR_REG_MONTH_LEN=4, HDR_REG_DAY=1060, HDR_REG_DAY_LEN=4, HDR_REG_HOUR=1064, HDR_REG_HOUR_LEN=4, HDR_REG_MIN=1068, HDR_REG_MIN_LEN=4, HDR_REG_SEC=1072, HDR_REG_SEC_LEN=4, HDR_SLICE_THCK=1544, HDR_SLICE_THCK_LEN=8, HDR_TR=1560, HDR_TR_LEN=8, HDR_TE=1568, HDR_TE_LEN=8, HDR_FREQ=1592, HDR_FREQ_LEN=8, HDR_STATION=1639, HDR_STATION_LEN=5, HDR_CAL_YEAR=1712, HDR_CAL_YEAR_LEN=4, HDR_CAL_MONTH=1716, HDR_CAL_MONTH_LEN=4, HDR_CAL_DAY=1720, HDR_CAL_DAY_LEN=4, HDR_CAL_HOUR=1724, HDR_CAL_HOUR_LEN=4, HDR_CAL_MIN=1728, HDR_CAL_MIN_LEN=4, HDR_CAL_SEC=1732, HDR_CAL_SEC_LEN=4, HDR_COIL=1767, HDR_COIL_LEN=16, HDR_IMAGE_NUC=1828, HDR_IMAGE_NUC_LEN=4, HDR_FLIP_ANGLE=2112, HDR_FLIP_ANGLE_LEN=8, HDR_FIELD=2560, HDR_FIELD_LEN=8, HDR_DISPLAY_SIZE=2864, HDR_DISPLAY_SIZE_LEN=4, HDR_SEQPROG_NAME=2944, HDR_SEQPROG_NAME_LEN=65, HDR_WKC_NAME=3009, HDR_WKC_NAME_LEN=65, HDR_AUTHOR=3074, HDR_AUTHOR_LEN=9, HDR_SEQUENCE_TYPE=3083, HDR_SEQUENCE_TYPE_LEN=8, HDR_FOV_ROW=3744, HDR_FOV_ROW_LEN=8, HDR_FOV_COLUMN=3752, HDR_FOV_COLUMN_LEN=8, HDR_CENTER_X=3768, HDR_CENTER_X_LEN=8, HDR_CENTER_Y=3776, HDR_CENTER_Y_LEN=8, HDR_CENTER_Z=3784, HDR_CENTER_Z_LEN=8, HDR_NORMV_X=3792, HDR_NORMV_X_LEN=8, HDR_NORMV_Y=3800, HDR_NORMV_Y_LEN=8, HDR_NORMV_Z=3808, HDR_NORMV_Z_LEN=8, HDR_DIST_ISO=3816, HDR_DIST_ISO_LEN=8, HDR_ROWV_X=3832, HDR_ROWV_X_LEN=8, HDR_ROWV_Y=3840, HDR_ROWV_Y_LEN=8, HDR_ROWV_Z=3848, HDR_ROWV_Z_LEN=8, HDR_COLMNV_X=3856, HDR_COLMNV_X_LEN=8, HDR_COLMNV_Y=3864, HDR_COLMNV_Y_LEN=8, HDR_COLMNV_Z=3872, HDR_COLMNV_Z_LEN=8, HDR_ORNT_SET1X=3880, HDR_ORNT_SET1X_LEN=3, HDR_ORNT_SET1Y=3884, HDR_ORNT_SET1Y_LEN=3, HDR_ORNT_SET1Z=3888, HDR_ORNT_SET1Z_LEN=3, HDR_ORNT_SET2X=3892, HDR_ORNT_SET2X_LEN=3, HDR_ORNT_SET2Y=3896, HDR_ORNT_SET2Y_LEN=3, HDR_ORNT_SET2Z=3900, HDR_ORNT_SET2Z_LEN=3, HDR_PROTOCOL_NAME=2944, HDR_PROTOCOL_NAME_LEN=64, HDR_PIXELSIZE_ROW=5000, HDR_PIXELSIZE_ROW_LEN=8, HDR_PIXELSIZE_CLMN=5008, HDR_PIXELSIZE_CLMN_LEN=8, TEXT_PAT_ID=5504, TEXT_PAT_ID_LEN=12, TEXT_PAT_SEX=5517, TEXT_PAT_SEX_LEN=1, TEXT_PAT_AGE=5518, TEXT_PAT_AGE_LEN=3, TEXT_AGE_UNIT=5521, TEXT_AGE_UNIT_LEN=1, TEXT_PAT_POS=5529, TEXT_PAT_POS_LEN=7, TEXT_IMG_FLAG=5541, TEXT_IMG_FLAG_LEN=5, TEXT_IMG_NUMBER=5546, TEXT_IMG_NUMBER_LEN=4, TEXT_IMG_DAY=5559, TEXT_IMG_DAY_LEN=2, TEXT_IMG_MONTH=5562, TEXT_IMG_MONTH_LEN=3, TEXT_IMG_YEAR=5566, TEXT_IMG_YEAR_LEN=4, TEXT_IMG_HOUR=5571, TEXT_IMG_HOUR_LEN=2, TEXT_IMG_MIN=5574, TEXT_IMG_MIN_LEN=2, TEXT_ACQ_FLAG=5577, TEXT_ACQ_FLAG_LEN=2, TEXT_ACQ_MIN=5583, TEXT_ACQ_MIN_LEN=2, TEXT_ACQ_SEC=5586, TEXT_ACQ_SEC_LEN=2, TEXT_ANNOTATION=5601, TEXT_ANNOTATION_LEN=32, TEXT_ORGANIZATION=5655, TEXT_ORGANIZATION_LEN=25, TEXT_STATION=5682, TEXT_STATION_LEN=5, TEXT_ACQ_MTRX_PHASE=5695, TEXT_ACQ_MTRX_PHASE_LEN=3, TEXT_ACQ_PHASE_DIR=5698, TEXT_ACQ_PHASE_DIR_LEN=1, TEXT_ACQ_MTRX_FREQ=5700, TEXT_ACQ_MTRX_FREQ_LEN=3, TEXT_ACQ_MTRX_FREQO=5703, TEXT_ACQ_MTRX_FREQO_LEN=1, TEXT_ACQ_MTRX_FREQS=5704, TEXT_ACQ_MTRX_FREQS_LEN=1, TEXT_SEQUENCE=5706, TEXT_SEQUENCE_LEN=8, TEXT_FLIP_ANGLE=5714, TEXT_FLIP_ANGLE_LEN=3, TEXT_SCAN_FLAG=5718, TEXT_SCAN_FLAG_LEN=4, TEXT_SCANA_NUM=5723, TEXT_SCANA_NUM_LEN=3, TEXT_SCANB_NUM=5726, TEXT_SCANB_NUM_LEN=3, TEXT_TR_FLAG=5730, TEXT_TR_FLAG_LEN=2, TEXT_TR=5734, TEXT_TR_LEN=7, TEXT_TE_FLAG=5742, TEXT_TE_FLAG_LEN=2, TEXT_TE=5746, TEXT_TE_LEN=5, TEXT_ECHO_NUM=5752, TEXT_ECHO_NUM_LEN=1, TEXT_THCK_FLAG=5790, TEXT_THCK_FLAG_LEN=2, TEXT_SLICE_THCK=5794, TEXT_SLICE_THCK_LEN=7, TEXT_POS_FLAG=5802, TEXT_POS_FLAG_LEN=2, TEXT_SLICE_POS=5806, TEXT_SLICE_POS_LEN=7, TEXT_ANGLE_FLAG1=5814, TEXT_ANGLE_FLAG1_LEN=3, TEXT_ANGLE_FLAG2=5817, TEXT_ANGLE_FLAG2_LEN=1, TEXT_ANGLE_FLAG3=5818, TEXT_ANGLE_FLAG3_LEN=3, TEXT_ANGLE=5821, TEXT_ANGLE_LEN=4, TEXT_FOV_FLAG=5838, TEXT_FOV_FLAG_LEN=3, TEXT_FOVH=5842, TEXT_FOVH_LEN=3, TEXT_FOVV=5846, TEXT_FOVV_LEN=3, TEXT_TABLEPOS_FLAG=5874, TEXT_TABLEPOS_FLAG_LEN=2, TEXT_TABLE_POS=5878, TEXT_TABLE_POS_LEN=7, TEXT_STUDY_FLAG=5938, TEXT_STUDY_FLAG_LEN=5, TEXT_STUDY_NUM=5943, TEXT_STUDY_NUM_LEN=2, TEXT_DOB_DAY=5956, TEXT_DOB_DAY_LEN=2, TEXT_DOB_MONTH=5959, TEXT_DOB_MONTH_LEN=3, TEXT_DOB_YEAR=5963, TEXT_DOB_YEAR_LEN=4, TEXT_STUDY_FLAG2=5992, TEXT_STUDY_FLAG2_LEN=3, TEXT_IMAGE_FLAG2=5996, TEXT_IMAGE_FLAG2_LEN=3, TEXT_STUDY_NUM2=5999, TEXT_STUDY_NUM2_LEN=2, TEXT_IMAGE_NUM2=6002, TEXT_IMAGE_NUM2_LEN=2, TEXT_IMAGE_NUM3=6013, TEXT_IMAGE_NUM3_LEN=5, TEXT_MODEL_NAME=6031, TEXT_MODEL_NAME_LEN=15, TEXT_PAT_NAME=6058, TEXT_PAT_NAME_LEN=25, TEXT_START_HOUR=6085, TEXT_START_HOUR_LEN=2, TEXT_START_MIN=6088, TEXT_START_MIN_LEN=2, TEXT_START_SEC=6091, TEXT_START_SEC_LEN=2, HDR_TOTAL_LENGTH=6144 } SiemensVisionHeaderInfo
Definition: itkSiemensVisionImageIO.h:715
itk::SmartPointer< Self >
GEImageHeader
Definition: itkGEImageHeader.h:41
itk::LightObject
Light weight base class for most itk classes.
Definition: itkLightObject.h:59
itk::IPLCommonImageIO
Class that defines how to read GE4 file format.
Definition: itkIPLCommonImageIO.h:51
itk::SiemensVisionImageIO
Class that defines how to read SiemensVision file format.
Definition: itkSiemensVisionImageIO.h:51
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition: itkAnnulusOperator.h:24
itk::Object
Base class for most ITK classes.
Definition: itkObject.h:62