/*************************************************************************** * E-Com Technology Ltd. * * ECOMPACS DICOM Network Transport Libraries * Version 0.1 Beta ***************************************************************************/ #ifndef _DICOM_IMAGE_ #define _DICOM_IMAGE_ class ImageProcess; class DICOMImageIcon; class RealImage; ////////////////////////////////////////////////////////////////////// // class DICOMImage class DICOM_API DICOMImage : public DICOMFile { public: DICOMImage (); DICOMImage (const DICOMImage & Image); DICOMImage (const DICOMFile & File); DICOMImage (const DICOMVRSet & VRSet); DICOMImage (const char * FullFileName); virtual ~DICOMImage (); BOOL IsValid (void) const ; virtual BOOL FixMe (void); BOOL ReleasePixelData (void); void * GetPixelAddress (int FrameNumber) const ; UINT32 GetPixelLength (int FrameNumber) const ; BOOL CopyToPixelBuffer (void * p, UINT32 l, int f, UINT32 w, UINT32 h, UINT16 ba, UINT16 bs, UINT16 hb); BOOL ConvertTo (const UID & TrnsynUID); BOOL ConvertToRaw (void); BOOL FormatTo (ImageProcess * pImgProc); BOOL FormatTo (RealImage * pRealImage); int GetNumberOfFrames (void) const; void AttachIcon (DICOMImageIcon * Icon); DICOMImageIcon * GetAttachedIcon (void) { return AttachedIcon ; }; public: long GetReferenceCount() const { return ReferenceCount; } void IncReferenceCount() { ReferenceCount++; } void DecReferenceCount() { ReferenceCount--; if (ReferenceCount<0) ReferenceCount=0; } protected: void Init (void) { AttachedIcon = NULL; ReferenceCount = 0; } BOOL ConvertToKnowFormat (const UID & TrnsynUID); BOOL ConvertToUnknowFormat (const UID & TrnsynUID); protected: DICOMImageIcon * AttachedIcon; long ReferenceCount; private: friend ImageProcess; friend DICOMImageIcon; friend void DumpDicomImage (const DICOMImage &); }; #endif