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(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(nodes->at(x)->GetData()); + image3D = imageToCheck; } } } @@ -654,8 +659,10 @@ mitk::Point3D p; if(image3D.IsNotNull()) { - image3D->GetGeometry()->WorldToIndex(posEvent->GetWorldPosition(), p); - stream<<"Position: <"< mm"; + image3D->GetGeometry()->WorldToIndex(worldposition, p); + p+=0.5; + //stream<<"Position: <"< mm"; + stream<<"Position: <"< mm"; stream<<"; Time: " << baseRenderer->GetTime() << " ms; Pixelvalue: "<GetPixelValue(p, baseRenderer->GetTimeStep())<<" "; } else