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 #include "itkIOCommon.h" 19 20 namespace itk 21 { 22 const char *const ITK_OnDiskStorageTypeName = "ITK_OnDiskStorageTypeName"; 23 const char *const ITK_ImageFileBaseName = "ITK_ImageFileBaseName"; 24 const char *const ITK_VoxelUnits = "ITK_VoxelUnits"; 25 const char *const ITK_OnDiskBitPerPixel = "ITK_OnDiskBitPerPixel"; 26 const char *const SPM_ROI_SCALE = "SPM_ROI_SCALE"; 27 const char *const ITK_FileNotes = "ITK_FileNotes"; 28 const char *const ITK_Origin = "ITK_Origin"; 29 const char *const ITK_Spacing = "ITK_Spacing"; 30 const char *const ITK_ZDirection = "ITK_ZDirection"; 31 const char *const ITK_FileOriginator = "ITK_FileOriginator"; 32 const char *const ITK_OriginationDate = "ITK_OriginationDate"; 33 const char *const ITK_PatientID = "ITK_PatientID"; 34 const char *const ITK_ExperimentDate = "ITK_ExperimentDate"; 35 const char *const ITK_ExperimentTime = "ITK_ExperimentTime"; 36 const char *const ITK_InputFilterName = "ITK_InputFilterName"; 37 const char *const ITK_NumberOfDimensions = "ITK_NumberOfDimensions"; 38 const char *const ITK_PatientName = "ITK_PatientName"; 39 const char *const ITK_ScanID = "ITK_ScanID"; 40 const char *const ITK_ImageType = "ITK_ImageType"; 41 const char *const ROI_NAME = "ROI_NAME"; 42 const char *const ROI_X_SIZE = "ROI_X_SIZE"; 43 const char *const ROI_X_RESOLUTION = "ROI_X_RESOLUTION"; 44 const char *const ROI_Y_SIZE = "ROI_Y_SIZE"; 45 const char *const ROI_Y_RESOLUTION = "ROI_Y_RESOLUTION"; 46 const char *const ROI_Z_SIZE = "ROI_Z_SIZE"; 47 const char *const ROI_Z_RESOLUTION = "ROI_Z_RESOLUTION"; 48 const char *const ROI_NUM_SEGMENTS = "ROI_NUM_SEGMENTS"; 49 const char *const ROI_PLANE = "ROI_PLANE"; 50 const char *const ROI_SCAN_ID = "ROI_SCAN_ID"; 51 52 std::string IOCommon AtomicPixelTypeToString(const AtomicPixelType pixelType)53::AtomicPixelTypeToString(const AtomicPixelType pixelType) 54 { 55 switch ( pixelType ) 56 { 57 case ITK_UCHAR: 58 return "unsigned char"; 59 60 case ITK_CHAR: 61 return "char"; 62 63 case ITK_USHORT: 64 return "unsigned short"; 65 66 case ITK_SHORT: 67 return "short"; 68 69 case ITK_UINT: 70 return "unsigned int"; 71 72 case ITK_INT: 73 return "int"; 74 75 case ITK_ULONG: 76 return "unsigned long"; 77 78 case ITK_LONG: 79 return "long"; 80 81 case ITK_FLOAT: 82 return "float"; 83 84 case ITK_DOUBLE: 85 return "double"; 86 87 default: 88 return "unknown"; 89 } 90 } 91 92 unsigned int IOCommon ComputeSizeOfAtomicPixelType(const AtomicPixelType pixelType)93::ComputeSizeOfAtomicPixelType(const AtomicPixelType pixelType) 94 { 95 switch ( pixelType ) 96 { 97 case ITK_CHAR: 98 return static_cast< unsigned int >( sizeof( char ) ); 99 100 case ITK_UCHAR: 101 return static_cast< unsigned int >( sizeof( unsigned char ) ); 102 103 case ITK_SHORT: 104 return static_cast< unsigned int >( sizeof( short ) ); 105 106 case ITK_USHORT: 107 return static_cast< unsigned int >( sizeof( unsigned short ) ); 108 109 case ITK_INT: 110 return static_cast< unsigned int >( sizeof( int ) ); 111 112 case ITK_UINT: 113 return static_cast< unsigned int >( sizeof( unsigned int ) ); 114 115 case ITK_LONG: 116 return static_cast< unsigned int >( sizeof( long ) ); 117 118 case ITK_ULONG: 119 return static_cast< unsigned int >( sizeof( unsigned long ) ); 120 121 case ITK_FLOAT: 122 return static_cast< unsigned int >( sizeof( float ) ); 123 124 case ITK_DOUBLE: 125 return static_cast< unsigned int >( sizeof( double ) ); 126 127 default: 128 return static_cast< unsigned int >( sizeof( char ) ); 129 130 } 131 } 132 } // namespace itk 133