ITK  4.3.0
Insight Segmentation and Registration Toolkit
itkIOCommon.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  *=========================================================================*/
18 #ifndef __itkIOCommon_h
19 #define __itkIOCommon_h
20 
21 
22 #include "itkIntTypes.h"
23 #include "itkProcessObject.h"
24 #include "itkSpatialOrientation.h"
25 
26 namespace itk
27 {
37 class ITK_EXPORT IOCommon
38 {
39 public:
40  typedef enum {
42  MAX_FILENAMELIST_SIZE = 512
43  } SysConstants;
44  typedef enum {
45  ITK_UCHAR, // aka uint8_t
47  ITK_USHORT, // aka uint16_t
49  ITK_UINT, // aka uint32_t
51  ITK_ULONG, // aka uint64_t
54  ITK_DOUBLE
55  } AtomicPixelType; // enumerated constants for the different data types
56 
58  static std::string AtomicPixelTypeToString(const AtomicPixelType pixelType);
59 
61  static unsigned int ComputeSizeOfAtomicPixelType(const AtomicPixelType pixelType);
62 };
63 
64 extern ITK_EXPORT const char *const ITK_OnDiskStorageTypeName;
65 extern ITK_EXPORT const char *const ITK_ImageFileBaseName;
66 extern ITK_EXPORT const char *const ITK_VoxelUnits;
67 extern ITK_EXPORT const char *const ITK_OnDiskBitPerPixel;
68 extern ITK_EXPORT const char *const SPM_ROI_SCALE;
69 extern ITK_EXPORT const char *const ITK_FileNotes;
70 extern ITK_EXPORT const char *const ITK_Origin;
71 extern ITK_EXPORT const char *const ITK_Spacing;
72 extern ITK_EXPORT const char *const ITK_FileOriginator;
73 extern ITK_EXPORT const char *const ITK_OriginationDate;
74 extern ITK_EXPORT const char *const ITK_PatientID;
75 extern ITK_EXPORT const char *const ITK_ExperimentDate;
76 extern ITK_EXPORT const char *const ITK_ExperimentTime;
77 extern ITK_EXPORT const char *const ITK_InputFilterName;
78 extern ITK_EXPORT const char *const ITK_NumberOfDimensions;
79 extern ITK_EXPORT const char *const ITK_ImageType;
80 extern ITK_EXPORT const char *const ITK_PatientName;
81 extern ITK_EXPORT const char *const ITK_ScanID;
82 extern ITK_EXPORT const char *const ROI_NAME;
83 extern ITK_EXPORT const char *const ROI_X_SIZE;
84 extern ITK_EXPORT const char *const ROI_X_RESOLUTION;
85 extern ITK_EXPORT const char *const ROI_Y_SIZE;
86 extern ITK_EXPORT const char *const ROI_Y_RESOLUTION;
87 extern ITK_EXPORT const char *const ROI_Z_SIZE;
88 extern ITK_EXPORT const char *const ROI_Z_RESOLUTION;
89 extern ITK_EXPORT const char *const ROI_NUM_SEGMENTS;
90 extern ITK_EXPORT const char *const ROI_PLANE;
91 extern ITK_EXPORT const char *const ROI_SCAN_ID;
92 } // end namespace itk
93 
94 #endif // __itkIOCommon_h
95