📄 dcrlecce.h
字号:
/* * * Copyright (C) 1994-2005, OFFIS * * This software and supporting documentation were developed by * * Kuratorium OFFIS e.V. * Healthcare Information and Communication Systems * Escherweg 2 * D-26121 Oldenburg, Germany * * THIS SOFTWARE IS MADE AVAILABLE, AS IS, AND OFFIS MAKES NO WARRANTY * REGARDING THE SOFTWARE, ITS PERFORMANCE, ITS MERCHANTABILITY OR * FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES OR * ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND * PERFORMANCE OF THE SOFTWARE IS WITH THE USER. * * Module: dcmdata * * Author: Marco Eichelberg * * Purpose: encoder codec class for RLE * * Last Update: $Author: meichel $ * Update Date: $Date: 2005/12/08 16:28:34 $ * Source File: $Source: /share/dicom/cvs-depot/dcmtk/dcmdata/include/dcmtk/dcmdata/dcrlecce.h,v $ * CVS/RCS Revision: $Revision: 1.3 $ * Status: $State: Exp $ * * CVS/RCS Log at end of file * */#ifndef DCRLECCE_H#define DCRLECCE_H#include "dcmtk/config/osconfig.h"#include "dcmtk/dcmdata/dccodec.h" /* for class DcmCodec */class DcmItem;/** encoder class for RLE. * This class only supports compression, it neither implements * decoding nor transcoding. */class DcmRLECodecEncoder: public DcmCodec{public: /// default constructor DcmRLECodecEncoder(); /// destructor virtual ~DcmRLECodecEncoder(); /** decompresses the given pixel sequence and * stores the result in the given uncompressedPixelData element. * @param fromRepParam current representation parameter of compressed data, may be NULL * @param pixSeq compressed pixel sequence * @param uncompressedPixelData uncompressed pixel data stored in this element * @param cp codec parameters for this codec * @param objStack stack pointing to the location of the pixel data * element in the current dataset. * @return EC_Normal if successful, an error code otherwise. */ virtual OFCondition decode( const DcmRepresentationParameter * fromRepParam, DcmPixelSequence * pixSeq, DcmPolymorphOBOW& uncompressedPixelData, const DcmCodecParameter * cp, const DcmStack& objStack) const; /** compresses the given uncompressed DICOM image and stores * the result in the given pixSeq element. * @param pixelData pointer to the uncompressed image data in OW format * and local byte order * @param length of the pixel data field in bytes * @param toRepParam representation parameter describing the desired * compressed representation (e.g. JPEG quality) * @param pixSeq compressed pixel sequence (pointer to new DcmPixelSequence object * allocated on heap) returned in this parameter upon success. * @param cp codec parameters for this codec * @param objStack stack pointing to the location of the pixel data * element in the current dataset. * @return EC_Normal if successful, an error code otherwise. */ virtual OFCondition encode( const Uint16 * pixelData, const Uint32 length, const DcmRepresentationParameter * toRepParam, DcmPixelSequence * & pixSeq, const DcmCodecParameter *cp, DcmStack & objStack) const; /** transcodes (re-compresses) the given compressed DICOM image and stores * the result in the given toPixSeq element. * @param fromRepType current transfer syntax of the compressed image * @param fromRepParam current representation parameter of compressed data, may be NULL * @param fromPixSeq compressed pixel sequence * @param toRepParam representation parameter describing the desired * new compressed representation (e.g. JPEG quality) * @param toPixSeq compressed pixel sequence (pointer to new DcmPixelSequence object * allocated on heap) returned in this parameter upon success. * @param cp codec parameters for this codec * @param objStack stack pointing to the location of the pixel data * element in the current dataset. * @return EC_Normal if successful, an error code otherwise. */ virtual OFCondition encode( const E_TransferSyntax fromRepType, const DcmRepresentationParameter * fromRepParam, DcmPixelSequence * fromPixSeq, const DcmRepresentationParameter * toRepParam, DcmPixelSequence * & toPixSeq, const DcmCodecParameter * cp, DcmStack & objStack) const; /** checks if this codec is able to convert from the * given current transfer syntax to the given new * transfer syntax * @param oldRepType current transfer syntax * @param newRepType desired new transfer syntax * @return true if transformation is supported by this codec, false otherwise. */ virtual OFBool canChangeCoding( const E_TransferSyntax oldRepType, const E_TransferSyntax newRepType) const;private: /// private undefined copy constructor DcmRLECodecEncoder(const DcmRLECodecEncoder&); /// private undefined copy assignment operator DcmRLECodecEncoder& operator=(const DcmRLECodecEncoder&); /** create Derivation Description. * @param dataset dataset to be modified * @param ratio image compression ratio. This is the real effective ratio * between compressed and uncompressed image, i. e. 2.5 means a 2.5:1 compression. * @return EC_Normal if successful, an error code otherwise */ static OFCondition updateDerivationDescription( DcmItem *dataset, double ratio); };#endif/* * CVS/RCS Log * $Log: dcrlecce.h,v $ * Revision 1.3 2005/12/08 16:28:34 meichel * Changed include path schema for all DCMTK header files * * Revision 1.2 2003/03/21 13:06:46 meichel * Minor code purifications for warnings reported by MSVC in Level 4 * * Revision 1.1 2002/06/06 14:52:35 meichel * Initial release of the new RLE codec classes * and the dcmcrle/dcmdrle tools in module dcmdata * * */
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -