Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019 #ifndef IMAGEDATAITEM_H
00020 #define IMAGEDATAITEM_H
00021
00022 #include "mitkCommon.h"
00023 #include "mitkPixelType.h"
00024
00025 class vtkImageData;
00026
00027 namespace mitk {
00028
00029
00030
00031
00032
00033
00034
00035
00036
00037
00038
00039
00040
00041
00042
00043 class MITK_CORE_EXPORT ImageDataItem : public itk::LightObject
00044 {
00045 public:
00046 mitkClassMacro(ImageDataItem, itk::LightObject);
00047
00048 ImageDataItem(const ImageDataItem& aParent, unsigned int dimension, void *data = NULL, bool manageMemory = false, size_t offset = 0);
00049
00050 ~ImageDataItem();
00051
00052 ImageDataItem(const mitk::PixelType& type, unsigned int dimension, unsigned int *dimensions, void *data, bool manageMemory);
00053
00054 void* GetData() const
00055 {
00056 return m_Data;
00057 }
00058
00059 bool IsComplete() const
00060 {
00061 return m_IsComplete;
00062 }
00063 void SetComplete(bool complete)
00064 {
00065 m_IsComplete = complete;
00066 }
00067
00068 int GetOffset() const
00069 {
00070 return m_Offset;
00071 }
00072
00073 PixelType GetPixelType() const
00074 {
00075 return m_PixelType;
00076 }
00077
00078 ImageDataItem::ConstPointer GetParent() const
00079 {
00080 return m_Parent;
00081 }
00082
00083 mitkIpPicDescriptor* GetPicDescriptor() const
00084 {
00085 return m_PicDescriptor;
00086 }
00087
00088
00089 vtkImageData* GetVtkImageData() const
00090 {
00091 if(m_VtkImageData==NULL)
00092 ConstructVtkImageData();
00093 return m_VtkImageData;
00094 }
00095
00096
00097 bool GetManageMemory() const
00098 {
00099 return m_ManageMemory;
00100 }
00101
00102 virtual void ConstructVtkImageData() const;
00103
00104 unsigned long GetSize() const
00105 {
00106 return m_Size;
00107 }
00108
00109 virtual void Modified() const;
00110
00111 protected:
00112 unsigned char* m_Data;
00113
00114 PixelType m_PixelType;
00115
00116 bool m_ManageMemory;
00117
00118 mitkIpPicDescriptor* m_PicDescriptor;
00119 mutable vtkImageData* m_VtkImageData;
00120 int m_Offset;
00121
00122 bool m_IsComplete;
00123
00124 unsigned long m_Size;
00125
00126 private:
00127 ImageDataItem::ConstPointer m_Parent;
00128
00129 template <class TPixeltype>
00130 unsigned char *ConvertTensorsToRGB() const;
00131
00132 };
00133
00134 }
00135
00136 #endif