00001 /* 00002 * 00003 * Copyright (C) 2001-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: Marco Eichelberg 00017 * 00018 * Purpose: Implements TIFF interface for plugable image formats 00019 * 00020 * Last Update: $Author: joergr $ 00021 * Update Date: $Date: 2010-10-14 13:16:29 $ 00022 * CVS/RCS Revision: $Revision: 1.7 $ 00023 * Status: $State: Exp $ 00024 * 00025 * CVS/RCS Log at end of file 00026 * 00027 */ 00028 00029 00030 #ifndef DIPITIFF_H 00031 #define DIPITIFF_H 00032 00033 #include "dcmtk/config/osconfig.h" 00034 00035 #ifdef WITH_LIBTIFF 00036 00037 #include "dcmtk/ofstd/ofstring.h" 00038 00039 #include "dcmtk/dcmimgle/diplugin.h" 00040 00041 00042 /*------------------------* 00043 * forward declarations * 00044 *------------------------*/ 00045 00046 class DiImage; 00047 00048 00049 /*--------------------* 00050 * type definitions * 00051 *--------------------*/ 00052 00057 enum DiTIFFCompression 00058 { 00060 E_tiffPackBitsCompression, 00061 00063 E_tiffLZWCompression, 00064 00066 E_tiffNoCompression 00067 }; 00068 00071 enum DiTIFFLZWPredictor 00072 { 00074 E_tiffLZWPredictorDefault, 00075 00077 E_tiffLZWPredictorNoPrediction, 00078 00080 E_tiffLZWPredictorHDifferencing 00081 }; 00082 00083 00084 /*---------------------* 00085 * class declaration * 00086 *---------------------*/ 00087 00090 class DiTIFFPlugin 00091 : public DiPluginFormat 00092 { 00093 00094 public: 00095 00098 DiTIFFPlugin(); 00099 00102 virtual ~DiTIFFPlugin(); 00103 00110 virtual int write(DiImage *image, 00111 FILE *stream, 00112 const unsigned long frame = 0) const; 00113 00117 void setCompressionType(DiTIFFCompression ctype); 00118 00122 void setLZWPredictor(DiTIFFLZWPredictor pred); 00123 00129 void setRowsPerStrip(unsigned long rows = 0); 00130 00135 static OFString getLibraryVersionString(); 00136 00137 00138 private: 00139 00141 DiTIFFCompression compressionType; 00142 00144 DiTIFFLZWPredictor predictor; 00145 00147 unsigned long rowsPerStrip; 00148 }; 00149 00150 #endif 00151 #endif 00152 00153 00154 /* 00155 * 00156 * CVS/RCS Log: 00157 * $Log: dipitiff.h,v $ 00158 * Revision 1.7 2010-10-14 13:16:29 joergr 00159 * Updated copyright header. Added reference to COPYRIGHT file. 00160 * 00161 * Revision 1.6 2010-03-01 09:08:46 uli 00162 * Removed some unnecessary include directives in the headers. 00163 * 00164 * Revision 1.5 2005-12-08 16:01:43 meichel 00165 * Changed include path schema for all DCMTK header files 00166 * 00167 * Revision 1.4 2003/12/17 18:18:08 joergr 00168 * Removed leading underscore characters from preprocessor symbols (reserved 00169 * symbols). 00170 * 00171 * Revision 1.3 2002/09/19 08:34:53 joergr 00172 * Added static method getLibraryVersionString(). 00173 * 00174 * Revision 1.2 2001/12/06 10:10:59 meichel 00175 * Removed references to tiffconf.h which does not exist on all installations 00176 * 00177 * Revision 1.1 2001/11/30 16:47:56 meichel 00178 * Added TIFF export option to dcm2pnm and dcmj2pnm 00179 * 00180 * 00181 */