OFFIS DCMTK  Version 3.6.0
Public Member Functions | Private Member Functions | Private Attributes | List of all members
DcmQuantColorHashTable Class Reference

this class implements a hash table for colors. More...

Collaboration diagram for DcmQuantColorHashTable:
[legend]

Public Member Functions

 DcmQuantColorHashTable ()
 constructor
 
 ~DcmQuantColorHashTable ()
 destructor
 
void add (const DcmQuantPixel &colorP, int value)
 adds a new color to the hash table.
 
int lookup (const DcmQuantPixel &colorP) const
 looks up the given color in the hash table.
 
unsigned long addToHashTable (DicomImage &image, unsigned long newmaxval, unsigned long maxcolors)
 adds all pixels of all frames of the given image (which must be a color image) to the hash table.
 
unsigned long countEntries () const
 counts the number of entries in the hash table
 
unsigned long createHistogram (DcmQuantHistogramItemPointer *&array)
 converts the contents of this hash table into a histogram array.
 

Private Member Functions

 DcmQuantColorHashTable (const DcmQuantColorHashTable &src)
 private undefined copy constructor
 
DcmQuantColorHashTableoperator= (const DcmQuantColorHashTable &src)
 private undefined copy assignment operator
 

Private Attributes

DcmQuantHistogramItemListPointertable
 hash array of lists for color/value pairs
 

Detailed Description

this class implements a hash table for colors.

Each entry of the hash table consists of an RGB color (DcmQuantPixel object) and an integer value (e. g. counter). This class is used during the quantization of a color image.

Definition at line 47 of file diqthash.h.

Member Function Documentation

void DcmQuantColorHashTable::add ( const DcmQuantPixel colorP,
int  value 
)
inline

adds a new color to the hash table.

The color must not yet be present (the caller is responsible for checking this).

Parameters
colorPcolor to be added to table
valueinteger value (counter) associated to color

Definition at line 61 of file diqthash.h.

References DcmQuantPixel::hash(), DcmQuantHistogramItemList::push_front(), and table.

Referenced by DcmQuantColorMapping< T1, T2 >::create().

unsigned long DcmQuantColorHashTable::addToHashTable ( DicomImage image,
unsigned long  newmaxval,
unsigned long  maxcolors 
)

adds all pixels of all frames of the given image (which must be a color image) to the hash table.

The counter (integer value associated to each color) counts the occurence of the color in the image. If more than maxcolors colors are found, the function returns zero.

Parameters
imageimage in which colors are to be counted
newmaxvalmaximum pixel value to which the contents of the image are scaled down (see documentation of class DcmQuantScaleTable) before counting colors. This is used by the caller to reduce the number of colors in the image if necessary.
maxcolorsmaximum number of colors allowed. If more colors are found, the method immediately returns with a return value of zero.
Returns
number of colors found, 0 if too many colors.
unsigned long DcmQuantColorHashTable::countEntries ( ) const

counts the number of entries in the hash table

Returns
number of entries in hash table
unsigned long DcmQuantColorHashTable::createHistogram ( DcmQuantHistogramItemPointer *&  array)

converts the contents of this hash table into a histogram array.

After a successful call to addToHashTable(), this object contains an image histogram stored in a hash table. This method creates a new array of DcmQuantHistogramItem pointers on the heap and moves the contents of the hash table into this array.

Parameters
arraythe hash table array is returned in this parameter
Returns
number of elements in array
int DcmQuantColorHashTable::lookup ( const DcmQuantPixel colorP) const
inline

looks up the given color in the hash table.

If found, the value associated to the color is returned, -1 otherwise.

Parameters
colorPcolor to look up in hash table
Returns
value associated to given color if found, -1 otherwise.

Definition at line 71 of file diqthash.h.

References DcmQuantPixel::hash(), DcmQuantHistogramItemList::lookup(), and table.

Referenced by DcmQuantColorMapping< T1, T2 >::create().


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


Generated on Thu Dec 20 2012 for OFFIS DCMTK Version 3.6.0 by Doxygen 1.8.2