1 /*
2  *
3  *  Copyright (C) 1996-2011, OFFIS e.V.
4  *  All rights reserved.  See COPYRIGHT file for details.
5  *
6  *  This software and supporting documentation were developed by
7  *
8  *    OFFIS e.V.
9  *    R&D Division Health
10  *    Escherweg 2
11  *    D-26121 Oldenburg, Germany
12  *
13  *
14  *  Module:  dcmimage
15  *
16  *  Author:  Joerg Riesmeier
17  *
18  *  Purpose: DicomPaletteImage (Header)
19  *
20  */
21 
22 
23 #ifndef DIPALIMG_H
24 #define DIPALIMG_H
25 
26 #include "dcmtk/config/osconfig.h"
27 
28 #include "dcmtk/dcmimage/dicoimg.h"
29 
30 
31 /*------------------------*
32  *  forward declarations  *
33  *------------------------*/
34 
35 class DiLookupTable;
36 
37 
38 /*---------------------*
39  *  class declaration  *
40  *---------------------*/
41 
42 /** Class for PALETTE COLOR images
43  */
44 class DCMTK_DCMIMAGE_EXPORT DiPaletteImage
45   : public DiColorImage
46 {
47 
48  public:
49 
50     /** constructor
51      *
52      ** @param  docu    pointer to dataset (encapsulated)
53      *  @param  status  current image status
54      */
55     DiPaletteImage(const DiDocument *docu,
56                    const EI_Status status);
57 
58     /** destructor
59      */
60     virtual ~DiPaletteImage();
61 
62     /** process next couple of frames
63      *
64      ** @param  fcount  number of frames to be processed (0 = same number as before)
65      *
66      ** @return status, true if successful, false otherwise
67      */
68     virtual int processNextFrames(const unsigned long fcount);
69 
70 
71  protected:
72 
73     /** initialize internal data structures and member variables
74      */
75     void Init();
76 
77 
78  private:
79 
80     /// three color palettes for R, G and B
81     DiLookupTable *Palette[3];
82 
83  // --- declarations to avoid compiler warnings
84 
85     DiPaletteImage(const DiPaletteImage &);
86     DiPaletteImage &operator=(const DiPaletteImage &);
87 };
88 
89 
90 #endif
91