OFFIS DCMTK  Version 3.6.0
dcrlecce.h
1 /*
2  *
3  * Copyright (C) 2002-2010, OFFIS e.V.
4  * All rights reserved. See COPYRIGHT file for details.
5  *
6  * This software and supporting documentation were developed by
7  *
8  * OFFIS e.V.
9  * R&D Division Health
10  * Escherweg 2
11  * D-26121 Oldenburg, Germany
12  *
13  *
14  * Module: dcmdata
15  *
16  * Author: Marco Eichelberg
17  *
18  * Purpose: encoder codec class for RLE
19  *
20  * Last Update: $Author: joergr $
21  * Update Date: $Date: 2010-10-14 13:15:41 $
22  * CVS/RCS Revision: $Revision: 1.7 $
23  * Status: $State: Exp $
24  *
25  * CVS/RCS Log at end of file
26  *
27  */
28 
29 #ifndef DCRLECCE_H
30 #define DCRLECCE_H
31 
32 #include "dcmtk/config/osconfig.h"
33 #include "dcmtk/dcmdata/dccodec.h" /* for class DcmCodec */
34 
35 class DcmItem;
36 
42 {
43 public:
44 
47 
49  virtual ~DcmRLECodecEncoder();
50 
61  virtual OFCondition decode(
62  const DcmRepresentationParameter * fromRepParam,
63  DcmPixelSequence * pixSeq,
64  DcmPolymorphOBOW& uncompressedPixelData,
65  const DcmCodecParameter * cp,
66  const DcmStack& objStack) const;
67 
93  virtual OFCondition decodeFrame(
94  const DcmRepresentationParameter * fromParam,
95  DcmPixelSequence * fromPixSeq,
96  const DcmCodecParameter * cp,
97  DcmItem *dataset,
98  Uint32 frameNo,
99  Uint32& startFragment,
100  void *buffer,
101  Uint32 bufSize,
102  OFString& decompressedColorModel) const;
103 
118  virtual OFCondition encode(
119  const Uint16 * pixelData,
120  const Uint32 length,
121  const DcmRepresentationParameter * toRepParam,
122  DcmPixelSequence * & pixSeq,
123  const DcmCodecParameter *cp,
124  DcmStack & objStack) const;
125 
140  virtual OFCondition encode(
141  const E_TransferSyntax fromRepType,
142  const DcmRepresentationParameter * fromRepParam,
143  DcmPixelSequence * fromPixSeq,
144  const DcmRepresentationParameter * toRepParam,
145  DcmPixelSequence * & toPixSeq,
146  const DcmCodecParameter * cp,
147  DcmStack & objStack) const;
148 
156  virtual OFBool canChangeCoding(
157  const E_TransferSyntax oldRepType,
158  const E_TransferSyntax newRepType) const;
159 
174  const DcmRepresentationParameter *fromParam,
175  DcmPixelSequence *fromPixSeq,
176  const DcmCodecParameter *cp,
177  DcmItem *dataset,
178  OFString &decompressedColorModel) const;
179 
180 private:
181 
184 
187 
195  DcmItem *dataset,
196  double ratio);
197 };
198 
199 #endif
200 
201 /*
202  * CVS/RCS Log
203  * $Log: dcrlecce.h,v $
204  * Revision 1.7 2010-10-14 13:15:41 joergr
205  * Updated copyright header. Added reference to COPYRIGHT file.
206  *
207  * Revision 1.6 2009-11-17 16:36:51 joergr
208  * Added new method that allows for determining the color model of the
209  * decompressed image.
210  *
211  * Revision 1.5 2009-11-04 09:58:07 uli
212  * Switched to logging mechanism provided by the "new" oflog module
213  *
214  * Revision 1.4 2008-05-29 10:46:13 meichel
215  * Implemented new method DcmPixelData::getUncompressedFrame
216  * that permits frame-wise access to compressed and uncompressed
217  * objects without ever loading the complete object into main memory.
218  * For this new method to work with compressed images, all classes derived from
219  * DcmCodec need to implement a new method decodeFrame(). For now, only
220  * dummy implementations returning an error code have been defined.
221  *
222  * Revision 1.3 2005/12/08 16:28:34 meichel
223  * Changed include path schema for all DCMTK header files
224  *
225  * Revision 1.2 2003/03/21 13:06:46 meichel
226  * Minor code purifications for warnings reported by MSVC in Level 4
227  *
228  * Revision 1.1 2002/06/06 14:52:35 meichel
229  * Initial release of the new RLE codec classes
230  * and the dcmcrle/dcmdrle tools in module dcmdata
231  *
232  *
233  */


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2