DCMTK  Version 3.6.4
OFFIS DICOM Toolkit
Public Member Functions | Private Attributes | List of all members
FGPixelValueTransformation Class Reference

Class representing the Identity Pixel Value Transformation as well as the Pixel Value Transformation Functional Group Macro. More...

+ Inheritance diagram for FGPixelValueTransformation:

Public Member Functions

 FGPixelValueTransformation ()
 Constructor, creates (Identity) Pixel Value Transformation Functional Group. More...
 
virtual ~FGPixelValueTransformation ()
 Destructor, frees memory.
 
virtual void setUseAsIdentityPixelValueTransformation ()
 Tell this class that it should behave like the Identity Pixel Value Transformation Functional Group. More...
 
virtual FGBaseclone () const
 Returns a deep copy of this object. More...
 
virtual DcmFGTypes::E_FGSharedType getSharedType () const
 Get shared type of this functional group (can be both, per-frame and shared) More...
 
virtual void clearData ()
 Clears all data.
 
virtual OFCondition check () const
 Check whether functional group contains valid data. More...
 
virtual OFCondition read (DcmItem &item)
 Read functional group from given item, i.e. read (Identity) Pixel Value Transformation Sequence. More...
 
virtual OFCondition write (DcmItem &item)
 Write functional group to given item, i.e. write (Identity) Pixel Value Transformation Sequence. More...
 
virtual OFCondition getRescaleIntercept (OFString &value, const signed long pos=0) const
 Get RescaleIntercept. More...
 
virtual OFCondition getRescaleSlope (OFString &value, const signed long pos=0) const
 Get RescaleSlope. More...
 
virtual OFCondition getRescaleType (OFString &value, const signed long pos=0) const
 Get RescaleType. More...
 
virtual int compare (const FGBase &rhs) const
 Comparison operator that compares the normalized value of this object with a given object of the same type, i.e. the elements within both functional groups (this and rhs parameter) are compared by value! Both objects (this and rhs) need to have the same type (i.e. both FGUnknown) to be comparable. More...
 
virtual OFCondition setRescaleIntercept (const OFString &value, const OFBool checkValue=OFTrue)
 Set RescaleIntercept. More...
 
virtual OFCondition setRescaleSlope (const OFString &value, const OFBool checkValue=OFTrue)
 Set RescaleSlope. More...
 
virtual OFCondition setRescaleType (const OFString &value, const OFBool checkValue=OFTrue)
 Set RescaleType. More...
 
- Public Member Functions inherited from FGBase
 FGBase (const DcmFGTypes::E_FGType fgType)
 Constructor, creates new functional group of given type. More...
 
virtual DcmFGTypes::E_FGType getType () const
 Return the type of this functional group. More...
 
virtual ~FGBase ()
 Virtual destructor.
 

Private Attributes

DcmDecimalString m_RescaleIntercept
 RescaleIntercept (DS, VM 1, Required type 1)
 
DcmDecimalString m_RescaleSlope
 RescaleSlope (DS, VM 1, Required type 1)
 
DcmLongString m_RescaleType
 RescaleType (LO, VM 1, Required type 1)
 
OFBool m_UseAsIdentityPixelValueTransformationFG
 If OFTrue, tells this class that it should behave like the Identity Pixel Value Transformation Functional Group. More...
 

Additional Inherited Members

- Protected Member Functions inherited from FGBase
virtual OFCondition getItemFromFGSequence (DcmItem &source, const DcmTagKey &seqKey, const unsigned long itemNum, DcmItem *&result)
 Get the item containing the payload of a functional group sequence, identified by the functional group's sequence key provided and the desired item number. More...
 
virtual OFCondition createNewFGSequence (DcmItem &destination, const DcmTagKey &seqKey, const unsigned long numItems, DcmItem *&firstItem)
 Create functional group sequence specified by given sequence tag key. More...
 

Detailed Description

Class representing the Identity Pixel Value Transformation as well as the Pixel Value Transformation Functional Group Macro.

The former just differs in a way that Rescale Slope, Intercept and Type have fixed values (1, 0 and "US" respectively). Rescale Intercept to 0. Right now the

Constructor & Destructor Documentation

◆ FGPixelValueTransformation()

FGPixelValueTransformation::FGPixelValueTransformation ( )

Constructor, creates (Identity) Pixel Value Transformation Functional Group.

All values (Rescale Slope, Intercept and Type) are initialized as if the class is used as the Identity Pixel Value Transformation FG, i.e. Rescale Slope is set to 1, Intercept to 0 and Type to "US".

Member Function Documentation

◆ check()

virtual OFCondition FGPixelValueTransformation::check ( ) const
virtual

Check whether functional group contains valid data.

Returns
EC_Normal if data is valid, error otherwise

Implements FGBase.

◆ clone()

virtual FGBase* FGPixelValueTransformation::clone ( ) const
virtual

Returns a deep copy of this object.

Returns
Deep copy of this object

Implements FGBase.

◆ compare()

virtual int FGPixelValueTransformation::compare ( const FGBase rhs) const
virtual

Comparison operator that compares the normalized value of this object with a given object of the same type, i.e. the elements within both functional groups (this and rhs parameter) are compared by value! Both objects (this and rhs) need to have the same type (i.e. both FGUnknown) to be comparable.

This function is used in order to decide whether a functional group already exists, or is new. This is used in particular to find out whether a given functional group can be shared (i.e. the same information already exists as shared functional group) or is different from the same shared group. In that case the shared functional group must be distributed into per-frame functional groups, instead. The exact implementation for implementing the comparison is not relevant. However, it must be a comparison by value.

Parameters
rhsthe right hand side of the comparison
Returns
0 if the object values are equal. -1 if either the value of the first component that does not match is lower in the this object, or all compared components match but this component is shorter. Also returned if this type and rhs type (DcmFGTypes::E_FGType) do not match. 1 if either the value of the first component that does not match is greater in this object, or all compared components match but this component is longer.

Implements FGBase.

◆ getRescaleIntercept()

virtual OFCondition FGPixelValueTransformation::getRescaleIntercept ( OFString value,
const signed long  pos = 0 
) const
virtual

Get RescaleIntercept.

Parameters
valueReference to variable in which the value should be stored
posIndex of the value to get (0..vm-1), -1 for all components
Returns
EC_Normal if successful, an error code otherwise

◆ getRescaleSlope()

virtual OFCondition FGPixelValueTransformation::getRescaleSlope ( OFString value,
const signed long  pos = 0 
) const
virtual

Get RescaleSlope.

Parameters
valueReference to variable in which the value should be stored
posIndex of the value to get (0..vm-1), -1 for all components
Returns
EC_Normal if successful, an error code otherwise

◆ getRescaleType()

virtual OFCondition FGPixelValueTransformation::getRescaleType ( OFString value,
const signed long  pos = 0 
) const
virtual

Get RescaleType.

Parameters
valueReference to variable in which the value should be stored
posIndex of the value to get (0..vm-1), -1 for all components
Returns
EC_Normal if successful, an error code otherwise

◆ getSharedType()

virtual DcmFGTypes::E_FGSharedType FGPixelValueTransformation::getSharedType ( ) const
inlinevirtual

Get shared type of this functional group (can be both, per-frame and shared)

Returns
Always returns EFGS_BOTH

Implements FGBase.

References DcmFGTypes::EFGS_BOTH.

◆ read()

virtual OFCondition FGPixelValueTransformation::read ( DcmItem item)
virtual

Read functional group from given item, i.e. read (Identity) Pixel Value Transformation Sequence.

Clears existing data before reading.

Parameters
itemThe item to read from
Returns
EC_Normal if reading was successful, error otherwise

Implements FGBase.

◆ setRescaleIntercept()

virtual OFCondition FGPixelValueTransformation::setRescaleIntercept ( const OFString value,
const OFBool  checkValue = OFTrue 
)
virtual

Set RescaleIntercept.

Parameters
valueValue to be set (single value only) or "" for no value
checkValueCheck 'value' for conformance with VR (DS) and VM (1) if enabled
Returns
EC_Normal if successful, an error code otherwise

◆ setRescaleSlope()

virtual OFCondition FGPixelValueTransformation::setRescaleSlope ( const OFString value,
const OFBool  checkValue = OFTrue 
)
virtual

Set RescaleSlope.

Parameters
valueValue to be set (single value only) or "" for no value
checkValueCheck 'value' for conformance with VR (DS) and VM (1) if enabled
Returns
EC_Normal if successful, an error code otherwise

◆ setRescaleType()

virtual OFCondition FGPixelValueTransformation::setRescaleType ( const OFString value,
const OFBool  checkValue = OFTrue 
)
virtual

Set RescaleType.

Parameters
valueValue to be set (single value only) or "" for no value
checkValueCheck 'value' for conformance with VR (LO) and VM (1) if enabled
Returns
EC_Normal if successful, an error code otherwise

◆ setUseAsIdentityPixelValueTransformation()

virtual void FGPixelValueTransformation::setUseAsIdentityPixelValueTransformation ( )
virtual

Tell this class that it should behave like the Identity Pixel Value Transformation Functional Group.

This does not make a difference when reading data, but when writing, it is assured that Rescale Slope, Intercept and Type are forced to be set to 1, 0 and "US" respectively.

◆ write()

virtual OFCondition FGPixelValueTransformation::write ( DcmItem item)
virtual

Write functional group to given item, i.e. write (Identity) Pixel Value Transformation Sequence.

Parameters
itemThe item to write to
Returns
EC_Normal if writing was successful, error otherwise

Implements FGBase.

Member Data Documentation

◆ m_UseAsIdentityPixelValueTransformationFG

OFBool FGPixelValueTransformation::m_UseAsIdentityPixelValueTransformationFG
private

If OFTrue, tells this class that it should behave like the Identity Pixel Value Transformation Functional Group.

This does not make a difference when reading data, but when writing, it is assured that Rescale Slope, Intercept and Type are forced to be set to 1, 0 and "US" respectively.


The documentation for this class was generated from the following file:


Generated on Thu Nov 29 2018 for DCMTK Version 3.6.4 by Doxygen 1.8.14