Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | Related Pages

dcpxitem.h

00001 /*
00002  *
00003  *  Copyright (C) 1994-2002, OFFIS
00004  *
00005  *  This software and supporting documentation were developed by
00006  *
00007  *    Kuratorium OFFIS e.V.
00008  *    Healthcare Information and Communication Systems
00009  *    Escherweg 2
00010  *    D-26121 Oldenburg, Germany
00011  *
00012  *  THIS SOFTWARE IS MADE AVAILABLE,  AS IS,  AND OFFIS MAKES NO  WARRANTY
00013  *  REGARDING  THE  SOFTWARE,  ITS  PERFORMANCE,  ITS  MERCHANTABILITY  OR
00014  *  FITNESS FOR ANY PARTICULAR USE, FREEDOM FROM ANY COMPUTER DISEASES  OR
00015  *  ITS CONFORMITY TO ANY SPECIFICATION. THE ENTIRE RISK AS TO QUALITY AND
00016  *  PERFORMANCE OF THE SOFTWARE IS WITH THE USER.
00017  *
00018  *  Module:  dcmdata
00019  *
00020  *  Author:  Gerd Ehlers, Andreas Barth
00021  *
00022  *  Purpose: Interface of class DcmPixelItem
00023  *
00024  *  Last Update:      $Author: joergr $
00025  *  Update Date:      $Date: 2002/12/06 12:49:12 $
00026  *  Source File:      $Source: /share/dicom/cvs-depot/dcmtk/dcmdata/include/dcpxitem.h,v $
00027  *  CVS/RCS Revision: $Revision: 1.18 $
00028  *  Status:           $State: Exp $
00029  *
00030  *  CVS/RCS Log at end of file
00031  *
00032  */
00033 
00034 #ifndef DCPXITEM_H
00035 #define DCPXITEM_H
00036 
00037 #include "osconfig.h"    /* make sure OS specific configuration is included first */
00038 #include "ofconsol.h"
00039 #include "dctypes.h"
00040 #include "dcvrobow.h"
00041 #include "dcofsetl.h"    /* for class DcmOffsetList */
00042 
00043 // CLASS DcmPixelItem
00044 // This is a pseudo item, that has a value with representation OB
00045 // and has no sub elements. Since a DcmOtherByteOtherWord is defined as a
00046 // Dicom structure with a value of representation OW/OB it is better to
00047 // derive this class from DcmOtherByteOtherWord.
00048 
00049 class DcmPixelItem : public DcmOtherByteOtherWord
00050 
00051 {
00052   protected:
00053     virtual OFCondition writeTagAndLength(DcmOutputStream & outStream,
00054                       const E_TransferSyntax oxfer,
00055                       Uint32 & writtenBytes) const;
00056   public:
00057     DcmPixelItem(const DcmTag &tag, const Uint32 len = 0);
00058     DcmPixelItem(const DcmPixelItem &old);
00059     virtual ~DcmPixelItem();
00060 
00061     DcmPixelItem &operator=(const DcmPixelItem &obj) { DcmOtherByteOtherWord::operator=(obj); return *this; }
00062 
00063     virtual DcmEVR ident(void) const { return EVR_pixelItem; }
00064 
00065     virtual void print(ostream &out,
00066                        const size_t flags = 0,
00067                        const int level = 0,
00068                        const char *pixelFileName = NULL,
00069                        size_t *pixelCounter = NULL);
00070 
00076     virtual OFCondition createOffsetTable(const DcmOffsetList& offsetList);
00077 
00083     virtual OFCondition writeXML(ostream &out,
00084                                  const size_t flags = 0);
00085 
00086 };
00087 
00088 
00089 #endif // DCPXITEM_H
00090 
00091 /*
00092 ** CVS/RCS Log:
00093 ** $Log: dcpxitem.h,v $
00094 ** Revision 1.18  2002/12/06 12:49:12  joergr
00095 ** Enhanced "print()" function by re-working the implementation and replacing
00096 ** the boolean "showFullData" parameter by a more general integer flag.
00097 ** Added doc++ documentation.
00098 ** Made source code formatting more consistent with other modules/files.
00099 **
00100 ** Revision 1.17  2002/08/27 16:55:38  meichel
00101 ** Initial release of new DICOM I/O stream classes that add support for stream
00102 **   compression (deflated little endian explicit VR transfer syntax)
00103 **
00104 ** Revision 1.16  2002/05/24 14:51:42  meichel
00105 ** Moved helper methods that are useful for different compression techniques
00106 **   from module dcmjpeg to module dcmdata
00107 **
00108 ** Revision 1.15  2002/04/25 09:41:46  joergr
00109 ** Added support for XML output of DICOM objects.
00110 **
00111 ** Revision 1.14  2001/11/16 15:54:39  meichel
00112 ** Adapted digital signature code to final text of supplement 41.
00113 **
00114 ** Revision 1.13  2001/09/25 17:19:28  meichel
00115 ** Adapted dcmdata to class OFCondition
00116 **
00117 ** Revision 1.12  2001/06/01 15:48:43  meichel
00118 ** Updated copyright header
00119 **
00120 ** Revision 1.11  2000/04/14 15:31:33  meichel
00121 ** Removed default value from output stream passed to print() method.
00122 **   Required for use in multi-thread environments.
00123 **
00124 ** Revision 1.10  2000/03/08 16:26:17  meichel
00125 ** Updated copyright header.
00126 **
00127 ** Revision 1.9  2000/03/03 14:05:25  meichel
00128 ** Implemented library support for redirecting error messages into memory
00129 **   instead of printing them to stdout/stderr for GUI applications.
00130 **
00131 ** Revision 1.8  2000/02/10 10:50:53  joergr
00132 ** Added new feature to dcmdump (enhanced print method of dcmdata): write
00133 ** pixel data/item value fields to raw files.
00134 **
00135 ** Revision 1.7  1999/03/31 09:24:45  meichel
00136 ** Updated copyright header in module dcmdata
00137 **
00138 ** Revision 1.6  1998/11/12 16:47:43  meichel
00139 ** Implemented operator= for all classes derived from DcmObject.
00140 **
00141 ** Revision 1.5  1997/05/22 16:57:10  andreas
00142 ** - Corrected errors for writing of pixel sequences for encapsulated
00143 **   transfer syntaxes.
00144 **
00145 ** Revision 1.4  1996/01/29 13:38:13  andreas
00146 ** - new put method for every VR to put value as a string
00147 ** - better and unique print methods
00148 **
00149 ** Revision 1.3  1996/01/05 13:22:58  andreas
00150 ** - changed to support new streaming facilities
00151 ** - more cleanups
00152 ** - merged read / write methods for block and file transfer
00153 **
00154 */


Generated on 26 Apr 2005 for OFFIS DCMTK Version 3.5.3 by Doxygen 1.4.2