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: dcmjpeg 00015 * 00016 * Author: Norbert Olges, Marco Eichelberg 00017 * 00018 * Purpose: abstract base class for compression classes 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-10-14 13:17:17 $ 00022 * CVS/RCS Revision: $Revision: 1.3 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 #ifndef DJENCABS_H 00030 #define DJENCABS_H 00031 00032 #include "dcmtk/config/osconfig.h" 00033 #include "dcmtk/dcmdata/dctypes.h" 00034 #include "dcmtk/dcmimgle/diutils.h" /* for EP_Interpretation */ 00035 #include "dcmtk/dcmjpeg/djutils.h" /* for enums */ 00036 00039 class DJEncoder 00040 { 00041 public: 00042 00044 DJEncoder() 00045 { 00046 } 00047 00049 virtual ~DJEncoder() 00050 { 00051 } 00052 00065 virtual OFCondition encode( 00066 Uint16 columns, 00067 Uint16 rows, 00068 EP_Interpretation interpr, 00069 Uint16 samplesPerPixel, 00070 Uint16 *image_buffer, 00071 Uint8 *&to, 00072 Uint32 &length) = 0; 00073 00086 virtual OFCondition encode( 00087 Uint16 columns, 00088 Uint16 rows, 00089 EP_Interpretation interpr, 00090 Uint16 samplesPerPixel, 00091 Uint8 *image_buffer, 00092 Uint8 *&to, 00093 Uint32 &length) = 0; 00094 00097 virtual Uint16 bytesPerSample() const = 0; 00098 00101 virtual Uint16 bitsPerSample() const = 0; 00102 00103 }; 00104 00105 00106 #endif 00107 00108 /* 00109 * CVS/RCS Log 00110 * $Log: djencabs.h,v $ 00111 * Revision 1.3 2010-10-14 13:17:17 joergr 00112 * Updated copyright header. Added reference to COPYRIGHT file. 00113 * 00114 * Revision 1.2 2005-12-08 16:59:28 meichel 00115 * Changed include path schema for all DCMTK header files 00116 * 00117 * Revision 1.1 2001/11/13 15:56:25 meichel 00118 * Initial release of module dcmjpeg 00119 * 00120 * 00121 */