Page MenuHomePhabricator

Patch.txt

Authored By
schwarzt
Aug 26 2009, 4:37 PM
Size
2 KB
Referenced Files
None
Subscribers
None

Patch.txt

Index: mitkSliceNavigationController.cpp
===================================================================
--- mitkSliceNavigationController.cpp (revision 18713)
+++ mitkSliceNavigationController.cpp (working copy)
@@ -636,14 +636,19 @@
// find image with largest layer, that is the image shown on top in the render window
for (unsigned int x = 0; x < nodes->size(); x++)
{
- if(nodes->at(x)->GetData()->GetGeometry()->IsInside(worldposition))
+ mitk::Image::Pointer imageToCheck;
+ imageToCheck = dynamic_cast<mitk::Image*>(nodes->at(x)->GetData());
+
+ mitk::Point3D localPosition = worldposition + (imageToCheck->GetGeometry()->GetSpacing() * .5);
+
+ if(imageToCheck->GetGeometry()->IsInside(localPosition))
{
int layer = 0;
if(!(nodes->at(x)->GetIntProperty("layer", layer))) continue;
if(layer > maxlayer)
{
maxlayer = layer;
- image3D = dynamic_cast<mitk::Image*>(nodes->at(x)->GetData());
+ image3D = imageToCheck;
}
}
}
@@ -654,8 +659,10 @@
mitk::Point3D p;
if(image3D.IsNotNull())
{
- image3D->GetGeometry()->WorldToIndex(posEvent->GetWorldPosition(), p);
- stream<<"Position: <"<<floor(p[0] * 100.0 + .5)/100.0<<"; "<<floor(p[1] * 100.0 + .5)/100.0<<"; "<<floor(p[2] * 100.0 + .5)/100.0<<"> mm";
+ image3D->GetGeometry()->WorldToIndex(worldposition, p);
+ p+=0.5;
+ //stream<<"Position: <"<<floor(p[0] * 100.0 + .5)/100.0<<"; "<<floor(p[1] * 100.0 + .5)/100.0<<"; "<<floor(p[2] * 100.0 + .5)/100.0<<"> mm";
+ stream<<"Position: <"<<p[0] <<"; "<<p[1]<<"; "<<p[2]<<"> mm";
stream<<"; Time: " << baseRenderer->GetTime() << " ms; Pixelvalue: "<<image3D->GetPixelValue(p, baseRenderer->GetTimeStep())<<" ";
}
else

File Metadata

Mime Type
text/plain
Storage Engine
blob
Storage Format
Raw Data
Storage Handle
279
Default Alt Text
Patch.txt (2 KB)