- if (X >= mSlicers[slicer]->GetInput()->GetWholeExtent()[0] &&\r
- X <= mSlicers[slicer]->GetInput()->GetWholeExtent()[1] &&\r
- Y >= mSlicers[slicer]->GetInput()->GetWholeExtent()[2] &&\r
- Y <= mSlicers[slicer]->GetInput()->GetWholeExtent()[3] &&\r
- Z >= mSlicers[slicer]->GetInput()->GetWholeExtent()[4] &&\r
- Z <= mSlicers[slicer]->GetInput()->GetWholeExtent()[5]) {\r
-\r
- value = this->GetScalarComponentAsDouble(mSlicers[slicer]->GetInput(), X, Y, Z);\r
-\r
- if (mSlicers[slicer]->GetVFActor() ) {\r
- displayVec = 1;\r
- unsigned int currentTime = mSlicers[slicer]->GetMaxCurrentTSlice();\r
- vtkImageData *vf = NULL;\r
-\r
- if (mSlicers[slicer]->GetVF()->GetVTKImages().size() > currentTime)\r
- vf = mSlicers[slicer]->GetVF()->GetVTKImages()[currentTime];\r
- else\r
- vf = mSlicers[slicer]->GetVF()->GetVTKImages()[0];\r
-\r
- if (vf) {\r
- double Xvf = (x - vf->GetOrigin()[0])/ vf->GetSpacing()[0];\r
- double Yvf = (y - vf->GetOrigin()[1])/ vf->GetSpacing()[1];\r
- double Zvf = (z - vf->GetOrigin()[2])/ vf->GetSpacing()[2];\r
- xVec = this->GetScalarComponentAsDouble( vf, Xvf, Yvf, Zvf, 0);\r
- yVec = this->GetScalarComponentAsDouble( vf, Xvf, Yvf, Zvf, 1);\r
- zVec = this->GetScalarComponentAsDouble( vf, Xvf, Yvf, Zvf, 2);\r
- valueVec = sqrt(xVec*xVec + yVec*yVec + zVec*zVec);\r
- }\r
- }\r
- if (mSlicers[slicer]->GetOverlayActor() ) {\r
- displayOver = 1;\r
- vtkImageData *overlay = dynamic_cast<vtkImageData*>(mSlicers[slicer]->GetOverlayMapper()->GetInput());\r
- double Xover = (x - overlay->GetOrigin()[0]) / overlay->GetSpacing()[0];\r
- double Yover = (y - overlay->GetOrigin()[1]) / overlay->GetSpacing()[1];\r
- double Zover = (z - overlay->GetOrigin()[2]) / overlay->GetSpacing()[2];\r
- valueOver = this->GetScalarComponentAsDouble(overlay, Xover, Yover, Zover);\r
- }\r
-\r
- if ( mSlicers[slicer]->GetFusionActor() ) {\r
- displayFus = 1;\r
- vtkImageData *fusion = dynamic_cast<vtkImageData*>(mSlicers[slicer]->GetFusionMapper()->GetInput());\r
- double Xover = (x - fusion->GetOrigin()[0]) / fusion->GetSpacing()[0];\r
- double Yover = (y - fusion->GetOrigin()[1]) / fusion->GetSpacing()[1];\r
- double Zover = (z - fusion->GetOrigin()[2]) / fusion->GetSpacing()[2];\r
- valueFus = this->GetScalarComponentAsDouble(fusion, Xover, Yover, Zover);\r
- }\r
- else if (this->IsInvolvedInFusionSequence()) { \r
- //if the cursor moves over the 'independent' version of the secondary sequence\r
- //do not update the panel, just keep it as it is.\r
- displayFus = 1;\r
- valueFus = std::numeric_limits<double>::quiet_NaN();\r
- }\r
-\r
- emit UpdatePosition(mSlicers[slicer]->GetCursorVisibility(),\r
- x,y,z,X,Y,Z,value);\r
- emit UpdateVector(displayVec,xVec, yVec, zVec, valueVec);\r
- emit UpdateOverlay(displayOver,valueOver,value);\r
- emit UpdateFusion(displayFus,valueFus);\r
- }\r