dcmdata/include/dcxfer.h
00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032
00033
00034 #ifndef DCXFER_H
00035 #define DCXFER_H
00036
00037 #include "osconfig.h"
00038
00039 #include "dctypes.h"
00040 #include "dcvr.h"
00041
00042
00043
00044
00045
00046 typedef enum {
00047 EXS_Unknown = -1,
00048 EXS_LittleEndianImplicit = 0,
00049 EXS_BigEndianImplicit = 1,
00050 EXS_LittleEndianExplicit = 2,
00051 EXS_BigEndianExplicit = 3,
00052 EXS_JPEGProcess1TransferSyntax = 4,
00053 EXS_JPEGProcess2_4TransferSyntax = 5,
00054 EXS_JPEGProcess3_5TransferSyntax = 6,
00055 EXS_JPEGProcess6_8TransferSyntax = 7,
00056 EXS_JPEGProcess7_9TransferSyntax = 8,
00057 EXS_JPEGProcess10_12TransferSyntax = 9,
00058 EXS_JPEGProcess11_13TransferSyntax = 10,
00059 EXS_JPEGProcess14TransferSyntax = 11,
00060 EXS_JPEGProcess15TransferSyntax = 12,
00061 EXS_JPEGProcess16_18TransferSyntax = 13,
00062 EXS_JPEGProcess17_19TransferSyntax = 14,
00063 EXS_JPEGProcess20_22TransferSyntax = 15,
00064 EXS_JPEGProcess21_23TransferSyntax = 16,
00065 EXS_JPEGProcess24_26TransferSyntax = 17,
00066 EXS_JPEGProcess25_27TransferSyntax = 18,
00067 EXS_JPEGProcess28TransferSyntax = 19,
00068 EXS_JPEGProcess29TransferSyntax = 20,
00069 EXS_JPEGProcess14SV1TransferSyntax = 21,
00070 EXS_RLELossless = 22,
00071 EXS_JPEGLSLossless = 23,
00072 EXS_JPEGLSLossy = 24,
00073 EXS_DeflatedLittleEndianExplicit = 25,
00074 EXS_JPEG2000LosslessOnly = 26,
00075 EXS_JPEG2000 = 27,
00076 EXS_MPEG2MainProfileAtMainLevel = 28
00077 } E_TransferSyntax;
00078
00079
00080 typedef enum {
00081 EBO_unknown = 0,
00082 EBO_LittleEndian = 1,
00083 EBO_BigEndian = 2
00084 } E_ByteOrder;
00085
00086
00087 typedef enum {
00088 EVT_Implicit = 0,
00089 EVT_Explicit = 1
00090 } E_VRType;
00091
00092
00093 typedef enum {
00094 EJE_NotEncapsulated = 0,
00095 EJE_Encapsulated = 1
00096 } E_JPEGEncapsulated;
00097
00098 typedef enum
00099 {
00101 ESC_none = 0
00103 , ESC_unsupported = 1
00104 #ifdef WITH_ZLIB
00105
00106 , ESC_zlib = 2
00107 #endif
00108 } E_StreamCompression;
00109
00110
00111
00112
00113
00114 class DcmXfer {
00115 const char *xferID;
00116 const char *xferName;
00117 E_TransferSyntax xferSyn;
00118 E_ByteOrder byteOrder;
00119 E_VRType vrType;
00120 E_JPEGEncapsulated encapsulated;
00121 Uint32 JPEGProcess8;
00122 Uint32 JPEGProcess12;
00123 E_StreamCompression streamCompression;
00124
00125 public:
00126 DcmXfer( E_TransferSyntax xfer );
00127 DcmXfer( const char *xferName_xferID );
00128 DcmXfer( const DcmXfer &newXfer );
00129 ~DcmXfer();
00130
00131 DcmXfer & operator = ( const E_TransferSyntax xfer );
00132 DcmXfer & operator = ( const DcmXfer &newtag );
00133
00134 inline E_TransferSyntax getXfer() const { return xferSyn; }
00135 inline E_ByteOrder getByteOrder() const { return byteOrder; }
00136 inline const char* getXferName() const { return xferName; }
00137 inline const char* getXferID() const { return xferID; }
00138 inline OFBool isLittleEndian() const
00139 {
00140 return byteOrder == EBO_LittleEndian;
00141 }
00142 inline OFBool isBigEndian() const { return byteOrder == EBO_BigEndian; }
00143 inline OFBool isImplicitVR() const { return vrType == EVT_Implicit; }
00144 inline OFBool isExplicitVR() const { return vrType == EVT_Explicit; }
00145 inline OFBool isEncapsulated() const
00146 {
00147 return encapsulated == EJE_Encapsulated;
00148 }
00149 inline OFBool isNotEncapsulated() const
00150 {
00151 return encapsulated == EJE_NotEncapsulated;
00152 }
00153 inline Uint32 getJPEGProcess8Bit() const { return JPEGProcess8; }
00154 inline Uint32 getJPEGProcess12Bit() const { return JPEGProcess12;}
00155 inline E_StreamCompression getStreamCompression() const { return streamCompression;}
00156
00157
00158
00159
00160
00161 Uint32 sizeofTagHeader(DcmEVR evr);
00162
00163 };
00164
00165
00166 extern const E_ByteOrder gLocalByteOrder;
00167
00168 #endif // DCXFER_H
00169
00170
00171
00172
00173
00174
00175
00176
00177
00178
00179
00180
00181
00182
00183
00184
00185
00186
00187
00188
00189
00190
00191
00192
00193
00194
00195
00196
00197
00198
00199
00200
Generated on 4 Nov 2004 for OFFIS DCMTK Version 3.5.3 by Doxygen 1.3.8