ITK  5.0.0
Insight Segmentation and Registration Toolkit
itkGEAdwImageIO.h
Go to the documentation of this file.
1 /*=========================================================================
2  *
3  * Copyright Insight Software Consortium
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  *=========================================================================*/
32 #ifndef itkGEAdwImageIO_h
33 #define itkGEAdwImageIO_h
34 #include "ITKIOGEExport.h"
35 
36 
37 #include "itkIPLCommonImageIO.h"
38 
39 namespace itk
40 {
49 class ITKIOGE_EXPORT GEAdwImageIO:public IPLCommonImageIO
50 {
51 public:
52  ITK_DISALLOW_COPY_AND_ASSIGN(GEAdwImageIO);
53 
55  using Self = GEAdwImageIO;
58 
60  itkNewMacro(Self);
61 
63  itkTypeMacro(GEAdwImageIO, Superclass);
64 
65  /*-------- This part of the interfaces deals with reading data. ----- */
66 
73  bool CanReadFile(const char *FileNameToRead) override;
74 
75  /* * Set the spacing and dimension information for the set filename. */
76  // Implemented in superclass
77  // virtual void ReadImageInformation();
78 
79  /* * Get the type of the pixel. */
80  // Implemented in superclass
81  // virtual const std::type_info& GetPixelType() const;
82 
83  /* * Reads the data from disk into the memory buffer provided. */
84  // Implemented in superclass
85  // virtual void Read(void* buffer);
86 
87  /* * Compute the size (in bytes) of the components of a pixel. For
88  * example, and RGB pixel of unsigned char would have a
89  * component size of 1 byte. */
90  // Implemented in superclass
91  // virtual unsigned int GetComponentSize() const;
92 
93  /*-------- This part of the interfaces deals with writing data. ----- */
94 
95  /* * Determine if the file can be written with this ImageIO implementation.
96  * \param FileNameToWrite The name of the file to test for writing.
97  * \author Hans J. Johnson
98  * \post Sets classes ImageIOBase::m_FileName variable to be FileNameToWrite
99  * \return Returns true if this ImageIO can write the file specified.
100  */
101  // Implemented in superclass
102  // virtual bool CanWriteFile(const char * FileNameToWrite);
103 
104  /* * Set the spacing and dimension information for the set filename. */
105  // Implemented in superclass
106  // virtual void WriteImageInformation();
107 
108  /* * Writes the data to disk from the memory buffer provided. Make sure
109  * that the IORegions has been set properly. */
110  // Implemented in superclass
111  // virtual void Write(const void* buffer);
112 
113 protected:
114  GEAdwImageIO();
115  ~GEAdwImageIO() override;
116  // Implemented in superclass
117  // void PrintSelf(std::ostream& os, Indent indent) const;
118  GEImageHeader * ReadHeader(const char *FileNameToRead) override;
119 
120 private:
123  GE_ADW_SU_ID_LEN = 4,
124 
126  GE_ADW_SU_PRODID_LEN = 13,
127 
129  GE_ADW_EX_SUID_LEN = 4,
130 
132  GE_ADW_EX_NO_LEN = 2,
133 
135  GE_ADW_EX_HOSPNAME_LEN = 33,
136 
138  GE_ADW_EX_MAGSTRENGTH_LEN = 4,
139 
141  GE_ADW_EX_PATID_LEN = 13,
142 
144  GE_ADW_EX_PATNAME_LEN = 25,
145 
147  GE_ADW_EX_PATAGE_LEN = 2,
148 
150  GE_ADW_EX_PATIAN_LEN = 2,
151 
153  GE_ADW_EX_PATSEX_LEN = 2,
154 
156  GE_ADW_EX_PATWEIGHT_LEN = 4,
157 
159  GE_ADW_EX_HIST_LEN = 61,
160 
162  GE_ADW_EX_DATETIME_LEN = 4,
163 
165  GE_ADW_EX_REFPHY_LEN = 33,
166 
168  GE_ADW_EX_DIAGRAD_LEN = 33,
169 
171  GE_ADW_EX_OP_LEN = 4,
172 
174  GE_ADW_EX_DESC_LEN = 23,
175 
177  GE_ADW_EX_TYP_LEN = 3,
178 
180  GE_ADW_EX_FORMAT_LEN = 2,
181 
183  GE_ADW_EX_SYSID_LEN = 9,
184 
190  GE_ADW_SE_SUID_LEN = 4,
191 
193  GE_ADW_SE_UNIQ_LEN = 2,
194 
196  GE_ADW_SE_EXNO_LEN = 2,
197 
199  GE_ADW_SE_NO_LEN = 2,
200 
202  GE_ADW_SE_DATETIME_LEN = 4,
203 
205  GE_ADW_SE_DESC_LEN = 30,
206 
208  GE_ADW_SE_TYP_LEN = 2,
209 
211  GE_ADW_SE_PLANE_LEN = 2,
212 
214  GE_ADW_SE_POSITION_LEN = 4,
215 
217  GE_ADW_SE_ENTRY_LEN = 4,
218 
220  GE_ADW_SE_ANREF_LEN = 3,
221 
223  GE_ADW_SE_CONTRAST_LEN = 2,
224 
227  GE_ADW_SE_START_RAS_LEN = 1,
228 
230  GE_ADW_SE_START_LOC_LEN = 4,
231 
234  GE_ADW_SE_END_RAS_LEN = 1,
235 
237  GE_ADW_SE_END_LOC_LEN = 4,
238 
241  GE_ADW_SE_NUMIMAGES_LEN = 4,
242 
248  GE_ADW_IM_SUID_LEN = 4,
249 
251  GE_ADW_IM_UNIQ_LEN = 2,
252 
254  GE_ADW_IM_EXNO_LEN = 2,
255 
257  GE_ADW_IM_SENO_LEN = 2,
258 
260  GE_ADW_IM_NO_LEN = 2,
261 
264  GE_ADW_IM_DATETIME_LEN = 4,
265 
268  GE_ADW_IM_ACTUAL_DT_LEN = 4,
269 
271  GE_ADW_IM_SCTIME_LEN = 4,
272 
274  GE_ADW_IM_SLTHICK_LEN = 4,
275 
278  GE_ADW_IM_IMATRIX_X_LEN = 2,
279 
282  GE_ADW_IM_IMATRIX_Y_LEN = 2,
283 
285  GE_ADW_IM_DFOV_LEN = 4,
286 
289  GE_ADW_IM_DFOV_RECT_LEN = 4,
290 
292  GE_ADW_IM_DIM_X_LEN = 4,
293 
295  GE_ADW_IM_DIM_Y_LEN = 4,
296 
298  GE_ADW_IM_PIXSIZE_X_LEN = 4,
299 
301  GE_ADW_IM_PIXSIZE_Y_LEN = 4,
302 
304  GE_ADW_IM_CONTMODE_LEN = 2,
305 
307  GE_ADW_IM_PLANE_LEN = 2,
308 
311  GE_ADW_IM_SCANSPACING_LEN = 4,
312 
314  GE_ADW_IM_LOC_RAS_LEN = 1,
315 
317  GE_ADW_IM_LOC_LEN = 4,
318 
321  GE_ADW_IM_ULHC_R_LEN = 4,
322 
325  GE_ADW_IM_ULHC_A_LEN = 4,
326 
329  GE_ADW_IM_ULHC_S_LEN = 4,
330 
333  GE_ADW_IM_URHC_R_LEN = 4,
334 
337  GE_ADW_IM_URHC_A_LEN = 4,
338 
341  GE_ADW_IM_URHC_S_LEN = 4,
342 
345  GE_ADW_IM_BRHC_R_LEN = 4,
346 
349  GE_ADW_IM_BRHC_A_LEN = 4,
350 
353  GE_ADW_IM_BRHC_S_LEN = 4,
354 
356  GE_ADW_IM_TR_LEN = 4,
357 
359  GE_ADW_IM_TI_LEN = 4,
360 
362  GE_ADW_IM_TE_LEN = 4,
363 
365  GE_ADW_IM_NUMECHO_LEN = 2,
366 
368  GE_ADW_IM_ECHONUM_LEN = 2,
369 
371  GE_ADW_IM_NEX_LEN = 4,
372 
374  GE_ADW_IM_CONTIG_LEN = 2,
375 
377  GE_ADW_IM_HRTRATE_LEN = 2,
378 
380  GE_ADW_IM_TDEL_LEN = 4,
381 
384  GE_ADW_IM_XMTGAIN_LEN = 2,
385 
388  GE_ADW_IM_MR_FLIP_LEN = 2,
389 
392  GE_ADW_IM_CPHASE_LEN = 2,
393 
395  GE_ADW_IM_SWAPPF_LEN = 2,
396 
398  GE_ADW_IM_OBPLANE_LEN = 4,
399 
401  GE_ADW_IM_XMTFREQ_LEN = 4,
402 
404  GE_ADW_IM_PRESCAN_R1_LEN = 2,
405 
407  GE_ADW_IM_PRESCAN_R2_LEN = 2,
408 
410  GE_ADW_IM_IMODE_LEN = 2,
411 
413  GE_ADW_IM_IOPT_LEN = 4,
414 
416  GE_ADW_IM_PSEQ_LEN = 2,
417 
419  GE_ADW_IM_PSDNAME_LEN = 33,
420 
422  GE_ADW_IM_CTYP_LEN = 2,
423 
425  GE_ADW_IM_CNAME_LEN = 17,
426 
429  GE_ADW_IM_SUPP_TECH_LEN = 2,
430 
432  GE_ADW_IM_VBW_LEN = 4,
433 
436  GE_ADW_IM_SLQUANT_LEN = 2,
437 
439  GE_ADW_IM_USER0_LEN = 4,
440 
442  GE_ADW_IM_USER1_LEN = 4,
443 
445  GE_ADW_IM_USER2_LEN = 4,
446 
448  GE_ADW_IM_USER3_LEN = 4,
449 
451  GE_ADW_IM_USER4_LEN = 4,
452 
454  GE_ADW_IM_USER5_LEN = 4,
455 
457  GE_ADW_IM_USER6_LEN = 4,
458 
460  GE_ADW_IM_USER7_LEN = 4,
461 
463  GE_ADW_IM_USER8_LEN = 4,
464 
466  GE_ADW_IM_USER9_LEN = 4,
467 
469  GE_ADW_IM_USER10_LEN = 4,
470 
472  GE_ADW_IM_USER11_LEN = 4,
473 
475  GE_ADW_IM_USER12_LEN = 4,
476 
478  GE_ADW_IM_USER13_LEN = 4,
479 
481  GE_ADW_IM_USER14_LEN = 4,
482 
484  GE_ADW_IM_USER15_LEN = 4,
485 
487  GE_ADW_IM_USER16_LEN = 4,
488 
490  GE_ADW_IM_USER17_LEN = 4,
491 
493  GE_ADW_IM_USER18_LEN = 4,
494 
496  GE_ADW_IM_USER19_LEN = 4,
497 
499  GE_ADW_IM_USER20_LEN = 4,
500 
502  GE_ADW_IM_USER21_LEN = 4,
503 
505  GE_ADW_IM_USER22_LEN = 4,
506 
508  GE_ADW_IM_USER23_LEN = 4,
509 
511  GE_ADW_IM_USER24_LEN = 4,
512 
514  GE_ADW_IM_SATBITS_LEN = 2,
515 
518  GE_ADW_IM_SCIC_LEN = 2,
519 
521  GE_ADW_IM_FLAX_LEN = 2,
522 
524  GE_ADW_IM_VENC_LEN = 2,
525 
527  GE_ADW_IM_THK_DISCLMR_LEN = 2,
528 
530  GE_ADW_IM_VAS_COLLAPSE_LEN = 2,
531 
533  GE_ADW_IM_X_AXIS_ROT_LEN = 4,
534 
536  GE_ADW_IM_Y_AXIS_ROT_LEN = 4,
537 
539  GE_ADW_IM_Z_AXIS_ROT_LEN = 4,
540 
542  GE_ADW_IM_ECHO_TRN_LEN = 2,
543 
545  GE_ADW_IM_FRAC_ECHO_LEN = 2,
546 
548  GE_ADW_IM_PREP_PULSE_LEN = 2,
549 
552  GE_ADW_IM_CPHASENUM_LEN = 2,
553 
555  GE_ADW_IM_VAR_ECHO_LEN = 2,
556 
558  GE_ADW_IM_FREQ_DIR_LEN = 2,
559 
561  GE_ADW_IM_VMODE_LEN = 2,
562 
565  GE_ADW_VARIABLE_HDR_LENGTH_LEN = 4,
566 
569  };
570 };
571 } // end namespace itk
572 
573 #endif // itkGEAdwImageIO_h
Light weight base class for most itk classes.
Class that defines how to read GE4 file format.
Class that defines how to read GEAdw file format.
This file was written as a modification to the itkMetaImageIO as a new method for reading in files fr...
Base class for most ITK classes.
Definition: itkObject.h:60