00001 /* 00002 * 00003 * Copyright (C) 1997-2005, OFFIS 00004 * 00005 * This software and supporting documentation were developed by 00006 * 00007 * Kuratorium OFFIS e.V. 00008 * Healthcare Information and Communication Systems 00009 * Escherweg 2 00010 * D-26121 Oldenburg, Germany 00011 * 00012 * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY 00013 * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR 00014 * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR 00015 * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND 00016 * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. 00017 * 00018 * Module: dcmjpeg 00019 * 00020 * Author: Norbert Olges, Marco Eichelberg 00021 * 00022 * Purpose: enumerations, error constants and helper functions for dcmjpeg 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2005/12/08 16:59:38 $ 00026 * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmjpeg/include/dcmtk/dcmjpeg/djutils.h,v $ 00027 * CVS/RCS Revision: $Revision: 1.3 $ 00028 * Status: $State: Exp $ 00029 * 00030 * CVS/RCS Log at end of file 00031 * 00032 */ 00033 00034 #ifndef DJUTILS_H 00035 #define DJUTILS_H 00036 00037 #include "dcmtk/config/osconfig.h" 00038 #include "dcmtk/ofstd/ofcond.h" /* for class OFCondition */ 00039 #include "dcmtk/dcmimgle/diutils.h" /* for EP_Interpretation */ 00040 00041 class DcmItem; 00042 00045 enum EJ_Mode 00046 { 00048 EJM_baseline, 00049 00051 EJM_sequential, 00052 00054 EJM_spectralSelection, 00055 00057 EJM_progressive, 00058 00060 EJM_lossless 00061 }; 00062 00066 enum E_SubSampling 00067 { 00069 ESS_444, 00071 ESS_422, 00073 ESS_411 00074 }; 00075 00079 enum E_UIDCreation 00080 { 00084 EUC_default, 00085 00087 EUC_always, 00088 00090 EUC_never 00091 }; 00092 00096 enum E_PlanarConfiguration 00097 { 00101 EPC_default, 00102 00104 EPC_colorByPixel, 00105 00107 EPC_colorByPlane 00108 }; 00109 00114 enum E_CompressionColorSpaceConversion 00115 { 00120 ECC_lossyYCbCr, 00121 00125 ECC_lossyRGB, 00126 00129 ECC_monochrome 00130 }; 00131 00136 enum E_DecompressionColorSpaceConversion 00137 { 00141 EDC_photometricInterpretation, 00142 00146 EDC_lossyOnly, 00147 00151 EDC_always, 00152 00155 EDC_never 00156 }; 00157 00158 00159 // CONDITION CONSTANTS 00160 00162 extern const OFCondition EJ_Suspension; 00164 extern const OFCondition EJ_IJG8_FrameBufferTooSmall; 00166 extern const OFCondition EJ_IJG12_FrameBufferTooSmall; 00168 extern const OFCondition EJ_IJG16_FrameBufferTooSmall; 00170 extern const OFCondition EJ_UnsupportedPhotometricInterpretation; 00172 extern const OFCondition EJ_UnsupportedColorConversion; 00173 00174 // reserved condition codes for IJG error messages 00175 const unsigned short EJCode_IJG8_Compression = 0x0100; 00176 const unsigned short EJCode_IJG8_Decompression = 0x0101; 00177 const unsigned short EJCode_IJG12_Compression = 0x0102; 00178 const unsigned short EJCode_IJG12_Decompression = 0x0103; 00179 const unsigned short EJCode_IJG16_Compression = 0x0104; 00180 const unsigned short EJCode_IJG16_Decompression = 0x0105; 00181 00185 class DcmJpegHelper 00186 { 00187 public: 00188 00194 static EP_Interpretation getPhotometricInterpretation(DcmItem *item); 00195 }; 00196 00197 #endif 00198 00199 /* 00200 * CVS/RCS Log 00201 * $Log: djutils.h,v $ 00202 * Revision 1.3 2005/12/08 16:59:38 meichel 00203 * Changed include path schema for all DCMTK header files 00204 * 00205 * Revision 1.2 2005/11/30 14:13:13 onken 00206 * Added OFCondition constant for "unsupported color space conversions" 00207 * 00208 * Revision 1.1 2001/11/13 15:56:30 meichel 00209 * Initial release of module dcmjpeg 00210 * 00211 * 00212 */