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
|