/*========================================================================= =========================================================================*/ #include "marImageData.h" // ---------------------------------------------------------------------------------------------- marImageData::marImageData(vtkImageData *imagedata) { _spcOriginal[0] = 1; _spcOriginal[1] = 1; _spcOriginal[2] = 1; _voiOriginal[0] = 0; _voiOriginal[1] = 0; _voiOriginal[2] = 0; _voiOriginal[3] = 0; _voiOriginal[4] = 0; _voiOriginal[5] = 0; if(imagedata!=NULL){ AddImageData(imagedata); } } // ---------------------------------------------------------------------------------------------- marImageData::~marImageData() { int i,size=_imagedataLST.size(); for (i=0;iDelete(); } _imagedataLST.clear(); } // ---------------------------------------------------------------------------------------------- void marImageData::SetSpcOriginal(double spc[3]) { this->_spcOriginal[0]=spc[0]; this->_spcOriginal[1]=spc[1]; this->_spcOriginal[2]=spc[2]; } // ---------------------------------------------------------------------------------------------- void marImageData::SetVoiOriginal(int voi[6]) { int i; for (i=0;i<6;i++) { this->_voiOriginal[i] = voi[i]; } } // ---------------------------------------------------------------------------------------------- void marImageData::AddImageData(vtkImageData *imagedata) { if (imagedata!=NULL){ _imagedataLST.push_back( imagedata ); } } // ---------------------------------------------------------------------------------------------- void marImageData::GetSpcOriginal(double spc[3]) { spc[0] = this->_spcOriginal[0]; spc[1] = this->_spcOriginal[1]; spc[2] = this->_spcOriginal[2]; } // ---------------------------------------------------------------------------------------------- void marImageData::GetVoiOriginal(int voi[6]) { int i; for (i=0;i<6;i++) { voi[i] = this->_voiOriginal[i]; } } // ---------------------------------------------------------------------------------------------- vtkImageData *marImageData::GetImageDataT(int t) { if(_imagedataLST.size() > t){ return _imagedataLST[t]; } return NULL; } // ---------------------------------------------------------------------------------------------- vtkImageData *marImageData::GetImageData() { if(_imagedataLST.size()>0){ return _imagedataLST[0]; } return NULL; } void marImageData::removeImageData(int index) { if(index < _imagedataLST.size()){ //vtkImageData* img = _imagedataLST[index]; for(int i = index; i < _imagedataLST.size()-1; i++){ _imagedataLST[i] = _imagedataLST[i+1]; } _imagedataLST.pop_back(); //delete img; } } // ---------------------------------------------------------------------------------------------- int marImageData::GetXOriginal(int value) { double min=_spcOriginal[0]; if (_spcOriginal[1]