00001 /* 00002 * 00003 * Copyright (C) 2001-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: Joerg Riesmeier 00021 * 00022 * Purpose: Implements JPEG interface for plugable image formats 00023 * 00024 * Last Update: $Author: meichel $ 00025 * Update Date: $Date: 2005/12/08 16:59:10 $ 00026 * CVS/RCS Revision: $Revision: 1.4 $ 00027 * Status: $State: Exp $ 00028 * 00029 * CVS/RCS Log at end of file 00030 * 00031 */ 00032 00033 00034 #ifndef DIPIJPEG_H 00035 #define DIPIJPEG_H 00036 00037 #include "dcmtk/config/osconfig.h" 00038 00039 #include "dcmtk/dcmimgle/diplugin.h" 00040 #include "dcmtk/dcmjpeg/djutils.h" 00041 00042 00043 /*------------------------* 00044 * forward declarations * 00045 *------------------------*/ 00046 00047 class DiImage; 00048 00049 00050 /*---------------------* 00051 * class declaration * 00052 *---------------------*/ 00053 00056 class DiJPEGPlugin 00057 : public DiPluginFormat 00058 { 00059 00060 public: 00061 00064 DiJPEGPlugin(); 00065 00068 virtual ~DiJPEGPlugin(); 00069 00076 virtual int write(DiImage *image, 00077 FILE *stream, 00078 const unsigned long frame = 0) const; 00079 00083 void setQuality(const unsigned int quality); 00084 00091 void setSampling(const E_SubSampling sampling); 00092 00097 void outputMessage(void *arg) const; 00098 00103 static OFString getLibraryVersionString(); 00104 00105 00106 private: 00107 00109 unsigned int Quality; 00111 E_SubSampling Sampling; 00112 }; 00113 00114 00115 #endif 00116 00117 00118 /* 00119 * 00120 * CVS/RCS Log: 00121 * $Log: dipijpeg.h,v $ 00122 * Revision 1.4 2005/12/08 16:59:10 meichel 00123 * Changed include path schema for all DCMTK header files 00124 * 00125 * Revision 1.3 2003/12/05 10:42:54 joergr 00126 * Removed leading underscore characters from preprocessor symbols (reserved 00127 * symbols). Updated copyright date where appropriate. 00128 * 00129 * Revision 1.2 2002/09/19 08:36:18 joergr 00130 * Added static method getLibraryVersionString(). 00131 * 00132 * Revision 1.1 2001/11/27 18:25:39 joergr 00133 * Added support for plugable output formats in class DicomImage. First 00134 * implementation is JPEG. 00135 * 00136 * 00137 */