00001 /* 00002 * 00003 * Copyright (C) 1997-2010, OFFIS e.V. 00004 * All rights reserved. See COPYRIGHT file for details. 00005 * 00006 * This software and supporting documentation were developed by 00007 * 00008 * OFFIS e.V. 00009 * R&D Division Health 00010 * Escherweg 2 00011 * D-26121 Oldenburg, Germany 00012 * 00013 * 00014 * Module: dcmjpls 00015 * 00016 * Author: Martin Willkomm, Uli Schlachter 00017 * 00018 * Purpose: enumerations, error constants and helper functions for dcmjp2k 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-10-14 13:17:19 $ 00022 * CVS/RCS Revision: $Revision: 1.6 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 #ifndef DCMJPLS_DJLSUTILS_H 00030 #define DCMJPLS_DJLSUTILS_H 00031 00032 #include "dcmtk/config/osconfig.h" 00033 #include "dcmtk/ofstd/ofcond.h" /* for class OFCondition */ 00034 #include "dcmtk/oflog/oflog.h" 00035 00036 00037 // global definitions for logging mechanism provided by the oflog module 00038 00039 OFLogger DCM_dcmjplsGetLogger(); 00040 00041 #define DCMJPLS_TRACE(msg) OFLOG_TRACE(DCM_dcmjplsGetLogger(), msg) 00042 #define DCMJPLS_DEBUG(msg) OFLOG_DEBUG(DCM_dcmjplsGetLogger(), msg) 00043 #define DCMJPLS_INFO(msg) OFLOG_INFO(DCM_dcmjplsGetLogger(), msg) 00044 #define DCMJPLS_WARN(msg) OFLOG_WARN(DCM_dcmjplsGetLogger(), msg) 00045 #define DCMJPLS_ERROR(msg) OFLOG_ERROR(DCM_dcmjplsGetLogger(), msg) 00046 #define DCMJPLS_FATAL(msg) OFLOG_FATAL(DCM_dcmjplsGetLogger(), msg) 00047 00048 00052 enum JLS_UIDCreation 00053 { 00057 EJLSUC_default, 00058 00060 EJLSUC_always, 00061 00063 EJLSUC_never 00064 }; 00065 00069 enum JLS_PlanarConfiguration 00070 { 00072 EJLSPC_restore, 00073 00077 EJLSPC_auto, 00078 00080 EJLSPC_colorByPixel, 00081 00083 EJLSPC_colorByPlane 00084 }; 00085 00089 enum JLS_CompressionBitDepth 00090 { 00092 EJLSBD_original, 00093 00097 EJLSBD_limit, 00098 00103 EJLSBD_force 00104 }; 00105 00106 00107 // CONDITION CONSTANTS 00108 00110 extern const OFCondition EC_JLSUncompressedBufferTooSmall; 00111 00113 extern const OFCondition EC_JLSCompressedBufferTooSmall; 00114 00116 extern const OFCondition EC_JLSCodecUnsupportedImageType; 00117 00119 extern const OFCondition EC_JLSCodecInvalidParameters; 00120 00122 extern const OFCondition EC_JLSCodecUnsupportedValue; 00123 00125 extern const OFCondition EC_JLSInvalidCompressedData; 00126 00128 extern const OFCondition EC_JLSUnsupportedBitDepthForTransform; 00129 00131 extern const OFCondition EC_JLSUnsupportedColorTransform; 00132 00134 extern const OFCondition EC_JLSUnsupportedBitDepth; 00135 00137 extern const OFCondition EC_JLSCannotComputeNumberOfFragments; 00138 00140 extern const OFCondition EC_JLSImageDataMismatch; 00141 00143 extern const OFCondition EC_JLSUnsupportedPhotometricInterpretation; 00144 00146 extern const OFCondition EC_JLSUnsupportedPixelRepresentation; 00147 00149 extern const OFCondition EC_JLSUnsupportedImageType; 00150 00152 extern const OFCondition EC_JLSTooMuchCompressedData; 00153 00154 #endif 00155 00156 /* 00157 * CVS/RCS Log: 00158 * $Log: djlsutil.h,v $ 00159 * Revision 1.6 2010-10-14 13:17:19 joergr 00160 * Updated copyright header. Added reference to COPYRIGHT file. 00161 * 00162 * Revision 1.5 2010-03-01 10:35:28 uli 00163 * Renamed include guards to avoid name clash with e.g. dcmjpeg. 00164 * 00165 * Revision 1.4 2010-02-25 08:50:38 uli 00166 * Updated to latest CharLS version. 00167 * 00168 * Revision 1.3 2009-10-07 13:16:47 uli 00169 * Switched to logging mechanism provided by the "new" oflog module. 00170 * 00171 * Revision 1.2 2009-07-31 09:05:43 meichel 00172 * Added more detailed error messages, minor code clean-up 00173 * 00174 * Revision 1.1 2009-07-29 14:46:46 meichel 00175 * Initial release of module dcmjpls, a JPEG-LS codec for DCMTK based on CharLS 00176 * 00177 * Revision 1.2 2007-06-20 12:37:37 meichel 00178 * Completed implementation of encoder, which now supports lossless 00179 * "raw" and "cooked" and near-lossless "cooked" modes. 00180 * 00181 * Revision 1.1 2007/06/15 14:35:45 meichel 00182 * Renamed CMake project and include directory from dcmjpgls to dcmjpls 00183 * 00184 * Revision 1.4 2007/06/15 10:39:15 meichel 00185 * Completed implementation of decoder, which now correctly processes all 00186 * of the NEMA JPEG-LS sample images, including fragmented frames. 00187 * 00188 * Revision 1.3 2007/06/14 12:36:14 meichel 00189 * Further code clean-up. Updated doxygen comments. 00190 * 00191 * Revision 1.2 2007/06/13 16:41:07 meichel 00192 * Code clean-up and removal of dead code 00193 * 00194 * 00195 */