djutils.h

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  */


Generated on 20 Dec 2005 for OFFIS DCMTK Version 3.5.4 by Doxygen 1.4.5