32 #include "dcmtk/config/osconfig.h"
33 #include "dcmtk/dcmdata/dcvrpobw.h"
34 #include "dcmtk/ofstd/oflist.h"
71 virtual const char *
className()
const = 0;
98 const E_TransferSyntax rt,
114 return !(*
this == x);
197 void clearRepresentationList(
198 DcmRepresentationListIterator leaveInList);
203 OFCondition findConformingEncapsulatedRepresentation(
206 DcmRepresentationListIterator & result);
216 DcmRepresentationListIterator & result);
220 DcmRepresentationListIterator insertRepresentationEntry(
246 if (current == repList.
end()) setTagVR(unencapsulatedVR);
247 else setTagVR(EVR_OB);
307 virtual DcmEVR
ident()
const {
return EVR_PixelData; }
316 virtual void print(STD_NAMESPACE ostream&out,
317 const size_t flags = 0,
319 const char *pixelFileName = NULL,
320 size_t *pixelCounter = NULL);
326 virtual OFBool canWriteXfer(
const E_TransferSyntax newXfer,
327 const E_TransferSyntax oldXfer);
334 virtual Uint32 calcElementLength(
const E_TransferSyntax xfer,
335 const E_EncodingType enctype);
342 virtual Uint32 getLength(
343 const E_TransferSyntax xfer = EXS_LittleEndianImplicit,
344 const E_EncodingType enctype = EET_UndefinedLength);
349 virtual void transferInit();
365 const E_TransferSyntax ixfer,
366 const E_GrpLenEncoding glenc = EGL_noChange,
367 const Uint32 maxReadLength = DCM_MaxReadLength);
376 const E_TransferSyntax oxfer,
377 const E_EncodingType enctype,
385 virtual OFCondition writeXML(STD_NAMESPACE ostream&out,
386 const size_t flags = 0);
397 const E_TransferSyntax oxfer,
398 const E_EncodingType enctype,
414 virtual void transferEnd();
418 OFBool canChooseRepresentation(
419 const E_TransferSyntax
repType,
428 const E_TransferSyntax
repType,
435 void putOriginalRepresentation(
436 const E_TransferSyntax
repType,
445 const Uint8 * byteValue,
446 const unsigned long length);
453 const Uint16 * wordValue,
454 const unsigned long length);
459 const Uint32 numBytes,
465 const Uint32 numWords,
482 const E_ByteOrder byteOrder);
489 const E_TransferSyntax
repType,
496 void getOriginalRepresentationKey(
503 void getCurrentRepresentationKey(
515 OFBool hasRepresentation(
516 const E_TransferSyntax
repType,
523 const E_TransferSyntax
repType,
528 void removeAllButOriginalRepresentations();
533 void removeAllButCurrentRepresentations();
540 const E_TransferSyntax
repType,
554 void setNonEncapsulationFlag(OFBool flag);
587 Uint32& startFragment,
a class representing a list of DICOM elements in which each element has a different tag and elements ...
DcmRepresentationListIterator original
Iterator to the original representation.
This class implements a simple container that stores an input stream, the position of that input stre...
virtual ~DcmRepresentationParameter()
destructor
abstract base class for codec representation parameter sets.
DcmPixelSequence * pixSeq
the compressed pixel sequence itself
The class DcmPixelData stores different pixel representations identified by a type (the transfer synt...
an object of this class maintains one compression "version" of a PixelData element within a DICOM dat...
DcmEVR unencapsulatedVR
value representation of unencapsulated data
OFIterator< T > end() const
returns an iterator which points to the past-to-end element of the list.
this class encapsulates an attribute tag (group, element) and a VR.
virtual DcmObject * clone() const
clone method
This class implements a buffering mechanism that is used when writing large elements that reside in f...
base class for output streams.
DcmRepresentationParameter(const DcmRepresentationParameter &)
copy constructor
DcmRepresentationListIterator repListEnd
Iterator to the last dummy element in representation lis.
Abstract base class for most classes in module dcmdata.
OFBool operator==(const DcmRepresentationEntry &x) const
comparison operator
virtual DcmRepresentationParameter * clone() const =0
this methods creates a copy of type DcmRepresentationParameter * it must be overweritten in every sub...
DcmPixelSequence * pixelSeqForWrite
in write function: pointer to current pixel sequence
this class implements a sequence of pixel items, i.e.
OFBool existUnencapsulated
shows if an unecapsulated representation is stored
DcmRepresentationParameter()
default constructor
virtual const char * className() const =0
returns the class name as string.
DcmRepresentationListIterator current
current list element for some operations
a class that allows for a lookup of Transfer Syntax properties and readable descriptions ...
singleton that keeps list of registered codecs for dcmdata.
this class manages a stack of pointers to DcmObject instances.
virtual DcmEVR ident() const
return identifier for this class.
DcmRepresentationEntry(const E_TransferSyntax rt, const DcmRepresentationParameter *rp, DcmPixelSequence *pixSeq)
constructor
DcmRepresentationParameter * repParam
representation parameter for this pixel sequence
void recalcVR()
set the current VR, which is always OB if the currently selected pixel representation is compressed...
DcmRepresentationEntry & operator=(const DcmRepresentationEntry &)
private undefined copy assignment operator
~DcmRepresentationEntry()
destructor
OFBool operator!=(const DcmRepresentationEntry &x) const
comparison operator
E_TransferSyntax repType
transfer syntax
abstract base class for a codec object that can be registered in dcmdata and performs transfer syntax...
a simple string class that implements a subset of std::string.
a class representing DICOM elements (such as uncompressed pixel data) that can be interpreted either ...
virtual OFBool operator==(const DcmRepresentationParameter &arg) const =0
compares an object to another DcmRepresentationParameter.
OFBool alwaysUnencapsulated
this flag indicates that this pixel data element will be written in uncompressed (defined length) for...
DcmRepresentationList repList
List of representations of pixel data.
General purpose class for condition codes.