ITK  5.4.0
Insight Toolkit
itkIOCommon.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 * https://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#include "ITKIOImageBaseExport.h"
21
22
23#include "itkIntTypes.h"
24#include "itkProcessObject.h"
26
27namespace itk
28{
34{
35public:
41 enum class AtomicPixel : uint8_t
42 {
43 ITK_UCHAR, // aka uint8_t
44 ITK_CHAR,
45 ITK_USHORT, // aka uint16_t
46 ITK_SHORT,
47 ITK_UINT, // aka uint32_t
48 ITK_INT,
49 ITK_ULONG, // aka uint64_t
50 ITK_LONG,
51 ITK_FLOAT,
52 ITK_DOUBLE
53 };
54};
55// Define how to print enumeration
56extern ITKIOImageBase_EXPORT std::ostream &
57 operator<<(std::ostream & out, const IOCommonEnums::AtomicPixel value);
67class ITKIOImageBase_EXPORT IOCommon
68{
69public:
71 {
73 MAX_FILENAMELIST_SIZE = 512
74 };
75
77#if !defined(ITK_LEGACY_REMOVE)
79 static constexpr AtomicPixelEnum ITK_UCHAR = AtomicPixelEnum::ITK_UCHAR;
80 static constexpr AtomicPixelEnum ITK_CHAR = AtomicPixelEnum::ITK_CHAR;
81 static constexpr AtomicPixelEnum ITK_USHORT = AtomicPixelEnum::ITK_USHORT;
82 static constexpr AtomicPixelEnum ITK_SHORT = AtomicPixelEnum::ITK_SHORT;
83 static constexpr AtomicPixelEnum ITK_UINT = AtomicPixelEnum::ITK_UINT;
84 static constexpr AtomicPixelEnum ITK_INT = AtomicPixelEnum::ITK_INT;
85 static constexpr AtomicPixelEnum ITK_ULONG = AtomicPixelEnum::ITK_ULONG;
86 static constexpr AtomicPixelEnum ITK_LONG = AtomicPixelEnum::ITK_LONG;
87 static constexpr AtomicPixelEnum ITK_FLOAT = AtomicPixelEnum::ITK_FLOAT;
88 static constexpr AtomicPixelEnum ITK_DOUBLE = AtomicPixelEnum::ITK_DOUBLE;
89#endif
90
91
93 static std::string
95
97 static unsigned int
99};
100
101extern ITKIOImageBase_EXPORT const char * const ITK_OnDiskStorageTypeName;
102extern ITKIOImageBase_EXPORT const char * const ITK_ImageFileBaseName;
103extern ITKIOImageBase_EXPORT const char * const ITK_VoxelUnits;
104extern ITKIOImageBase_EXPORT const char * const ITK_OnDiskBitPerPixel;
105extern ITKIOImageBase_EXPORT const char * const SPM_ROI_SCALE;
106extern ITKIOImageBase_EXPORT const char * const ITK_FileNotes;
107extern ITKIOImageBase_EXPORT const char * const ITK_Origin;
108extern ITKIOImageBase_EXPORT const char * const ITK_Spacing;
109extern ITKIOImageBase_EXPORT const char * const ITK_ZDirection;
110extern ITKIOImageBase_EXPORT const char * const ITK_FileOriginator;
111extern ITKIOImageBase_EXPORT const char * const ITK_OriginationDate;
112extern ITKIOImageBase_EXPORT const char * const ITK_PatientID;
113extern ITKIOImageBase_EXPORT const char * const ITK_ExperimentDate;
114extern ITKIOImageBase_EXPORT const char * const ITK_ExperimentTime;
115extern ITKIOImageBase_EXPORT const char * const ITK_InputFilterName;
116extern ITKIOImageBase_EXPORT const char * const ITK_NumberOfDimensions;
117extern ITKIOImageBase_EXPORT const char * const ITK_ImageType;
118extern ITKIOImageBase_EXPORT const char * const ITK_PatientName;
119extern ITKIOImageBase_EXPORT const char * const ITK_ScanID;
120extern ITKIOImageBase_EXPORT const char * const ROI_NAME;
121extern ITKIOImageBase_EXPORT const char * const ROI_X_SIZE;
122extern ITKIOImageBase_EXPORT const char * const ROI_X_RESOLUTION;
123extern ITKIOImageBase_EXPORT const char * const ROI_Y_SIZE;
124extern ITKIOImageBase_EXPORT const char * const ROI_Y_RESOLUTION;
125extern ITKIOImageBase_EXPORT const char * const ROI_Z_SIZE;
126extern ITKIOImageBase_EXPORT const char * const ROI_Z_RESOLUTION;
127extern ITKIOImageBase_EXPORT const char * const ROI_NUM_SEGMENTS;
128extern ITKIOImageBase_EXPORT const char * const ROI_PLANE;
129extern ITKIOImageBase_EXPORT const char * const ROI_SCAN_ID;
130} // end namespace itk
131
132#endif // itkIOCommon_h
Contains all enum classes used by IOCommon class.
Definition: itkIOCommon.h:34
Centralized functionality for IO classes.
Definition: itkIOCommon.h:68
static std::string AtomicPixelTypeToString(const AtomicPixelEnum pixelType)
static unsigned int ComputeSizeOfAtomicPixelType(const AtomicPixelEnum pixelType)
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
ITKIOImageBase_EXPORT const char *const ROI_Y_SIZE
ITKIOImageBase_EXPORT const char *const ITK_Origin
ITKIOImageBase_EXPORT const char *const ROI_NAME
ITKIOImageBase_EXPORT const char *const ITK_ExperimentDate
ITKIOImageBase_EXPORT const char *const ITK_OnDiskStorageTypeName
ITKIOImageBase_EXPORT const char *const ITK_FileNotes
ITKIOImageBase_EXPORT const char *const ROI_NUM_SEGMENTS
ITKIOImageBase_EXPORT const char *const ROI_X_SIZE
ITKIOImageBase_EXPORT const char *const ROI_Z_RESOLUTION
ITKIOImageBase_EXPORT const char *const ITK_OnDiskBitPerPixel
ITKIOImageBase_EXPORT const char *const ITK_ScanID
ITKIOImageBase_EXPORT const char *const ITK_PatientID
ITKIOImageBase_EXPORT const char *const ITK_VoxelUnits
ITKIOImageBase_EXPORT const char *const ITK_PatientName
ITKIOImageBase_EXPORT const char *const ROI_X_RESOLUTION
ITKIOImageBase_EXPORT const char *const ITK_NumberOfDimensions
ITKIOImageBase_EXPORT const char *const ROI_SCAN_ID
ITKIOImageBase_EXPORT const char *const ROI_PLANE
std::ostream & operator<<(std::ostream &os, const Array< TValue > &arr)
Definition: itkArray.h:216
ITKIOImageBase_EXPORT const char *const ROI_Y_RESOLUTION
ITKIOImageBase_EXPORT const char *const ITK_Spacing
ITKIOImageBase_EXPORT const char *const ROI_Z_SIZE
ITKIOImageBase_EXPORT const char *const ITK_ZDirection
ITKIOImageBase_EXPORT const char *const ITK_OriginationDate
ITKIOImageBase_EXPORT const char *const ITK_ImageType
ITKIOImageBase_EXPORT const char *const ITK_InputFilterName
ITKIOImageBase_EXPORT const char *const SPM_ROI_SCALE
ITKIOImageBase_EXPORT const char *const ITK_ImageFileBaseName
ITKIOImageBase_EXPORT const char *const ITK_FileOriginator
ITKIOImageBase_EXPORT const char *const ITK_ExperimentTime