98 lines
2.5 KiB
C
98 lines
2.5 KiB
C
|
/*
|
||
|
*
|
||
|
* Copyright (C) 1997-2011, OFFIS e.V.
|
||
|
* All rights reserved. See COPYRIGHT file for details.
|
||
|
*
|
||
|
* This software and supporting documentation were developed by
|
||
|
*
|
||
|
* OFFIS e.V.
|
||
|
* R&D Division Health
|
||
|
* Escherweg 2
|
||
|
* D-26121 Oldenburg, Germany
|
||
|
*
|
||
|
*
|
||
|
* Module: dcmjpls
|
||
|
*
|
||
|
* Author: Martin Willkomm
|
||
|
*
|
||
|
* Purpose: representation parameters for JPEG-LS
|
||
|
*
|
||
|
*/
|
||
|
|
||
|
#ifndef DCMJPLS_DJRPARAM_H
|
||
|
#define DCMJPLS_DJRPARAM_H
|
||
|
|
||
|
#include "dcmtk/config/osconfig.h"
|
||
|
#include "dcmtk/dcmdata/dcpixel.h" /* for class DcmRepresentationParameter */
|
||
|
#include "dcmtk/dcmjpls/dldefine.h"
|
||
|
|
||
|
/** representation parameter for JPEG-LS
|
||
|
*/
|
||
|
class DCMTK_DCMJPLS_EXPORT DJLSRepresentationParameter: public DcmRepresentationParameter
|
||
|
{
|
||
|
public:
|
||
|
|
||
|
/** constructor
|
||
|
* @param nearlosslessDeviation used as parameter NEAR in JPEG-LS nearlossless-encoding process
|
||
|
* @param losslessProcess true if lossless process is requested
|
||
|
*/
|
||
|
DJLSRepresentationParameter(
|
||
|
Uint16 nearlosslessDeviation = 2,
|
||
|
OFBool losslessProcess = OFTrue);
|
||
|
|
||
|
/// copy constructor
|
||
|
DJLSRepresentationParameter(const DJLSRepresentationParameter& arg);
|
||
|
|
||
|
/// destructor
|
||
|
virtual ~DJLSRepresentationParameter();
|
||
|
|
||
|
/** this methods creates a copy of type DcmRepresentationParameter *
|
||
|
* it must be overweritten in every subclass.
|
||
|
* @return copy of this object
|
||
|
*/
|
||
|
virtual DcmRepresentationParameter *clone() const;
|
||
|
|
||
|
/** returns the class name as string.
|
||
|
* can be used in operator== as poor man's RTTI replacement.
|
||
|
*/
|
||
|
virtual const char *className() const;
|
||
|
|
||
|
/** compares an object to another DcmRepresentationParameter.
|
||
|
* Implementation must make sure that classes are comparable.
|
||
|
* @param arg representation parameter to compare with
|
||
|
* @return true if equal, false otherwise.
|
||
|
*/
|
||
|
virtual OFBool operator==(const DcmRepresentationParameter &arg) const;
|
||
|
|
||
|
/** returns the desired NEAR parameter
|
||
|
* @return return desired NEAR-Parameter
|
||
|
*/
|
||
|
Uint16 getnearlosslessDeviation() const
|
||
|
{
|
||
|
return nearlosslessDeviation_;
|
||
|
}
|
||
|
|
||
|
/** returns true if lossless compression is desired
|
||
|
* @return true if lossless compression is desired
|
||
|
*/
|
||
|
OFBool useLosslessProcess() const
|
||
|
{
|
||
|
return losslessProcess_;
|
||
|
}
|
||
|
|
||
|
private:
|
||
|
|
||
|
/** desired NEAR parameter
|
||
|
* Default is 0 (lossless compression).
|
||
|
* Ignored during lossless compression.
|
||
|
*/
|
||
|
Uint16 nearlosslessDeviation_;
|
||
|
|
||
|
/// true if lossless process should be used even in lossy transfer syntax
|
||
|
OFBool losslessProcess_;
|
||
|
|
||
|
};
|
||
|
|
||
|
|
||
|
#endif
|