1 /*=========================================================================
4 =========================================================================*/
5 #include "marImageData.h"
7 // ----------------------------------------------------------------------------------------------
8 marImageData::marImageData(vtkImageData *imagedata)
19 AddImageData(imagedata);
21 // ----------------------------------------------------------------------------------------------
22 marImageData::~marImageData()
24 int i,size=_imagedataLST.size();
27 _imagedataLST[i]->Delete();
29 _imagedataLST.clear();
32 // ----------------------------------------------------------------------------------------------
33 void marImageData::SetSpcOriginal(double spc[3])
35 this->_spcOriginal[0]=spc[0];
36 this->_spcOriginal[1]=spc[1];
37 this->_spcOriginal[2]=spc[2];
39 // ----------------------------------------------------------------------------------------------
40 void marImageData::SetVoiOriginal(int voi[6])
45 this->_voiOriginal[i] = voi[i];
48 // ----------------------------------------------------------------------------------------------
49 void marImageData::AddImageData(vtkImageData *imagedata)
52 _imagedataLST.push_back( imagedata );
55 // ----------------------------------------------------------------------------------------------
56 void marImageData::GetSpcOriginal(double spc[3])
58 spc[0] = this->_spcOriginal[0];
59 spc[1] = this->_spcOriginal[1];
60 spc[2] = this->_spcOriginal[2];
62 // ----------------------------------------------------------------------------------------------
63 void marImageData::GetVoiOriginal(int voi[6])
68 voi[i] = this->_voiOriginal[i];
71 // ----------------------------------------------------------------------------------------------
72 vtkImageData *marImageData::GetImageDataT(int t)
74 return _imagedataLST[t];
76 // ----------------------------------------------------------------------------------------------
77 vtkImageData *marImageData::GetImageData()
79 return _imagedataLST[0];
81 // ----------------------------------------------------------------------------------------------
82 int marImageData::GetXOriginal(int value)
84 double min=_spcOriginal[0];
85 if (_spcOriginal[1]<min)
87 min = _spcOriginal[1];
89 if (_spcOriginal[2]<min)
91 min = _spcOriginal[2];
93 double result = value / ( _spcOriginal[0] / min ) ;
94 result=result + _voiOriginal[0];
97 // ----------------------------------------------------------------------------------------------
98 int marImageData::GetYOriginal(int value)
100 double min=_spcOriginal[0];
101 if (_spcOriginal[1]<min)
103 min = _spcOriginal[1];
105 if (_spcOriginal[2]<min)
107 min = _spcOriginal[2];
109 double result = value / ( _spcOriginal[1] / min ) ;
110 result=result + _voiOriginal[2];
113 // ----------------------------------------------------------------------------------------------
114 int marImageData::GetZOriginal(int value)
116 double min=_spcOriginal[0];
117 if (_spcOriginal[1]<min)
119 min = _spcOriginal[1];
121 if (_spcOriginal[2]<min)
123 min = _spcOriginal[2];
125 double result = value / ( _spcOriginal[2] / min ) ;
126 result=result + _voiOriginal[4];
129 // ----------------------------------------------------------------------------------------------
130 int marImageData::GetMaxT()
132 return _imagedataLST.size();