DCMTK
Version 3.6.5
OFFIS DICOM Toolkit
|
Class to handle color palette look-up tables. More...
Public Member Functions | |
DiLookupTable (const DiDocument *docu, const DcmTagKey &descriptor, const DcmTagKey &data, const DcmTagKey &explanation, const EL_BitsPerTableEntry descripMode=ELM_UseValue, EI_Status *status=NULL) | |
constructor More... | |
DiLookupTable (const DiDocument *docu, const DcmTagKey &sequence, const DcmTagKey &descriptor, const DcmTagKey &data, const DcmTagKey &explanation, const EL_BitsPerTableEntry descripMode=ELM_UseValue, const unsigned long pos=0, unsigned long *card=NULL) | |
constructor More... | |
DiLookupTable (const DcmUnsignedShort &data, const DcmUnsignedShort &descriptor, const DcmLongString *explanation=NULL, const EL_BitsPerTableEntry descripMode=ELM_UseValue, const signed long first=-1, EI_Status *status=NULL) | |
constructor More... | |
DiLookupTable (Uint16 *buffer, const Uint32 count, const Uint16 bits) | |
constructor More... | |
virtual | ~DiLookupTable () |
destructor | |
int | invertTable (const int flag=0x1) |
invert all LUT values. More... | |
int | mirrorTable (const int flag=0x1) |
mirror the order of all LUT entries. More... | |
DiLookupTable * | createInverseLUT () const |
create an inverse copy of the current LUT. More... | |
int | compareLUT (const DcmUnsignedShort &data, const DcmUnsignedShort &descriptor) |
compares current LUT with specified LUT More... | |
virtual OFBool | operator== (const DiBaseLUT &lut) |
compares current LUT with specified LUT More... | |
virtual OFBool | operator== (const DiLookupTable &lut) |
compares current LUT with specified LUT More... | |
![]() | |
DiBaseLUT (const Uint32 count=0, const Uint16 bits=0) | |
constructor More... | |
virtual | ~DiBaseLUT () |
destructor | |
Uint32 | getCount () const |
get number of LUT entries More... | |
Uint16 | getBits () const |
get number of bits per entry More... | |
Uint32 | getFirstEntry (const Uint32=0) const |
get index of first LUT entry. More... | |
Sint32 | getFirstEntry (const Sint32) const |
get index of first LUT entry. More... | |
Uint32 | getLastEntry (const Uint32=0) const |
get index of last LUT entry. More... | |
Sint32 | getLastEntry (const Sint32) const |
get index of last LUT entry. More... | |
Uint16 | getValue (const Uint16 pos) const |
get value of specified LUT entry More... | |
Uint16 | getValue (const Uint32 pos) const |
get value of specified LUT entry. More... | |
Uint16 | getValue (const Sint32 pos) const |
get value of specified LUT entry. More... | |
Uint16 | getFirstValue () const |
get value of first LUT entry. More... | |
Uint16 | getLastValue () const |
get value of last LUT entry. More... | |
const Uint16 * | getData () const |
get pointer to LUT data More... | |
Uint16 | getMinValue () const |
get minimum value of the LUT. More... | |
Uint16 | getMaxValue () const |
get maximum value of the LUT. More... | |
Uint32 | getAbsMaxRange () const |
get absolute value range of the LUT entries. More... | |
int | isValid () const |
check whether LUT is valid More... | |
const char * | getExplanation () const |
get LUT explanation string More... | |
![]() | |
void | addReference () |
add a reference. More... | |
void | removeReference () |
remove a reference. More... | |
Protected Member Functions | |
void | Init (const DiDocument *docu, DcmItem *item, const DcmTagKey &descriptor, const DcmTagKey &data, const DcmTagKey &explanation, const EL_BitsPerTableEntry descripMode=ELM_UseValue, EI_Status *status=NULL) |
initialize lookup table More... | |
void | checkTable (unsigned long count, Uint16 bits, const EL_BitsPerTableEntry descripMode=ELM_UseValue, EI_Status *status=NULL) |
check (and possibly correct) lookup table for consistency More... | |
void | checkBits (const Uint16 bits, const Uint16 rightBits, const Uint16 wrongBits=0, const EL_BitsPerTableEntry descripMode=ELM_UseValue) |
check (and possibly correct) value for bits per LUT entry. More... | |
![]() | |
DiBaseLUT (Uint16 *buffer, const Uint32 count=0, const Uint16 bits=0) | |
constructor More... | |
int | compare (const DiBaseLUT *lut) |
compares current LUT with specified LUT More... | |
![]() | |
DiObjectCounter () | |
constructor. More... | |
virtual | ~DiObjectCounter () |
destructor | |
Private Attributes | |
int | OriginalBitsAllocated |
number of bits originally allocated for a LUT entry | |
void * | OriginalData |
pointer to original data buffer (where the LUT data is created from) | |
Additional Inherited Members | |
![]() | |
Uint32 | Count |
number of LUT entries | |
Uint16 | FirstEntry |
first input value mapped (FIV) | |
Uint16 | Bits |
number of bits per entry | |
Uint16 | MinValue |
minimum LUT value | |
Uint16 | MaxValue |
maximum LUT value | |
int | Valid |
status code, indicating whether LUT is valid | |
OFString | Explanation |
LUT explanation string. | |
const Uint16 * | Data |
pointer to lookup table data | |
Uint16 * | DataBuffer |
pointer to data buffer (will be deleted in the destructor) | |
Class to handle color palette look-up tables.
DiLookupTable::DiLookupTable | ( | const DiDocument * | docu, |
const DcmTagKey & | descriptor, | ||
const DcmTagKey & | data, | ||
const DcmTagKey & | explanation, | ||
const EL_BitsPerTableEntry | descripMode = ELM_UseValue , |
||
EI_Status * | status = NULL |
||
) |
constructor
docu | pointer to dataset (encapsulated) |
descriptor | tag key containing the LUT descriptor |
data | tag key containing the LUT data |
explanation | tag key containing the LUT explanation |
descripMode | mode specifying the use of the bits per table entry value |
status | pointer to image status variable (optional) |
DiLookupTable::DiLookupTable | ( | const DiDocument * | docu, |
const DcmTagKey & | sequence, | ||
const DcmTagKey & | descriptor, | ||
const DcmTagKey & | data, | ||
const DcmTagKey & | explanation, | ||
const EL_BitsPerTableEntry | descripMode = ELM_UseValue , |
||
const unsigned long | pos = 0 , |
||
unsigned long * | card = NULL |
||
) |
constructor
docu | pointer to dataset (encapsulated) |
sequence | tag key containing the LUT sequence |
descriptor | tag key containing the LUT descriptor |
data | tag key containing the LUT data |
explanation | tag key containing the LUT explanation |
descripMode | mode specifying the use of the bits per table entry value |
pos | position in the LUT sequence which should be used (optional) |
card | pointer to storage area where the number of sequence entries should be stored (optional) |
DiLookupTable::DiLookupTable | ( | const DcmUnsignedShort & | data, |
const DcmUnsignedShort & | descriptor, | ||
const DcmLongString * | explanation = NULL , |
||
const EL_BitsPerTableEntry | descripMode = ELM_UseValue , |
||
const signed long | first = -1 , |
||
EI_Status * | status = NULL |
||
) |
constructor
data | element containing the LUT data |
descriptor | element containing the LUT descriptor |
explanation | element containing the LUT explanation (optional) |
descripMode | mode specifying the use of the bits per table entry value |
first | expected value for "first input value mapped" (optional) |
status | pointer to image status variable (optional) |
DiLookupTable::DiLookupTable | ( | Uint16 * | buffer, |
const Uint32 | count, | ||
const Uint16 | bits | ||
) |
constructor
buffer | pointer to array with LUT entries |
count | number of LUT entries |
bits | number of bits per entry |
|
protected |
check (and possibly correct) value for bits per LUT entry.
Be very lenient with the value stored in the LUT descriptor and therefore perform some addition (heuristical tests) to assume the most probable value.
bits | actual value for bits per entry |
rightBits | right value (8 or 16) |
wrongBits | wrong value (8 or 16) |
descripMode | mode specifying the use of the bits per table entry value |
|
protected |
check (and possibly correct) lookup table for consistency
count | number of LUT entries |
bits | bits per LUT entry |
descripMode | mode specifying the use of the bits per table entry value |
status | pointer to image status variable (optional) |
int DiLookupTable::compareLUT | ( | const DcmUnsignedShort & | data, |
const DcmUnsignedShort & | descriptor | ||
) |
compares current LUT with specified LUT
data | element containing the LUT data |
descriptor | element containing the LUT descriptor |
DiLookupTable* DiLookupTable::createInverseLUT | ( | ) | const |
create an inverse copy of the current LUT.
(input values become output values and vice versa) This function is used for DICOM print (mainly 8<->12 bit).
|
protected |
initialize lookup table
docu | pointer to dataset (encapsulated) |
item | pointer to item in dataset where to start (maybe NULL) |
descriptor | tag key containing the LUT descriptor |
data | tag key containing the LUT data |
explanation | tag key containing the LUT explanation |
descripMode | mode specifying the use of the bits per table entry value |
status | pointer to image status variable (optional) |
int DiLookupTable::invertTable | ( | const int | flag = 0x1 | ) |
invert all LUT values.
(new_value = max_value - old_value, e.g. used for presentation LUTs)
flag | if bit 0 is set (0x1, default) the internal copy of the LUT data is modified or a copy of the original data is created (if not already existing), if bit 1 is set (0x2) the original LUT data is modified, a combination of both modes is also supported. |
int DiLookupTable::mirrorTable | ( | const int | flag = 0x1 | ) |
mirror the order of all LUT entries.
i.e. the last one becomes the first etc. (value[i] = value[last - i], e.g. used for presentation LUTs)
flag | if bit 0 is set (0x1, default) the internal copy of the LUT data is modified or a copy of the original data is created (if not already existing), if bit 1 is set (0x2) the original LUT data is modified, a combination of both modes is also supported. |
compares current LUT with specified LUT
lut | LUT to be compared with the current one |
Reimplemented from DiBaseLUT.
|
virtual |
compares current LUT with specified LUT
lut | LUT to be compared with the current one |