DicomImage.hpp 1.9 KB

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374
  1. /***************************************************************************
  2. * E-Com Technology Ltd.
  3. *
  4. * ECOMPACS DICOM Network Transport Libraries * Version 0.1 Beta
  5. ***************************************************************************/
  6. #ifndef _DICOM_IMAGE_
  7. #define _DICOM_IMAGE_
  8. class ImageProcess;
  9. class DICOMImageIcon;
  10. class RealImage;
  11. //////////////////////////////////////////////////////////////////////
  12. // class DICOMImage
  13. class DICOM_API DICOMImage : public DICOMFile
  14. {
  15. public:
  16. DICOMImage ();
  17. DICOMImage (const DICOMImage & Image);
  18. DICOMImage (const DICOMFile & File);
  19. DICOMImage (const DICOMVRSet & VRSet);
  20. DICOMImage (const char * FullFileName);
  21. virtual ~DICOMImage ();
  22. BOOL IsValid (void) const ;
  23. virtual BOOL FixMe (void);
  24. BOOL ReleasePixelData (void);
  25. void * GetPixelAddress (int FrameNumber) const ;
  26. UINT32 GetPixelLength (int FrameNumber) const ;
  27. BOOL CopyToPixelBuffer (void * p, UINT32 l, int f, UINT32 w, UINT32 h, UINT16 ba, UINT16 bs, UINT16 hb);
  28. BOOL ConvertTo (const UID & TrnsynUID);
  29. BOOL ConvertToRaw (void);
  30. BOOL FormatTo (ImageProcess * pImgProc);
  31. BOOL FormatTo (RealImage * pRealImage);
  32. int GetNumberOfFrames (void) const;
  33. void AttachIcon (DICOMImageIcon * Icon);
  34. DICOMImageIcon * GetAttachedIcon (void) { return AttachedIcon ; };
  35. public:
  36. long GetReferenceCount() const { return ReferenceCount; }
  37. void IncReferenceCount() { ReferenceCount++; }
  38. void DecReferenceCount() { ReferenceCount--; if (ReferenceCount<0) ReferenceCount=0; }
  39. protected:
  40. void Init (void)
  41. {
  42. AttachedIcon = NULL;
  43. ReferenceCount = 0;
  44. }
  45. BOOL ConvertToKnowFormat (const UID & TrnsynUID);
  46. BOOL ConvertToUnknowFormat (const UID & TrnsynUID);
  47. protected:
  48. DICOMImageIcon * AttachedIcon;
  49. long ReferenceCount;
  50. private:
  51. friend ImageProcess;
  52. friend DICOMImageIcon;
  53. friend void DumpDicomImage (const DICOMImage &);
  54. };
  55. #endif