diff --git a/src/src/Rendering/Viewer/ResliceImageViewer.cpp b/src/src/Rendering/Viewer/ResliceImageViewer.cpp index 307a2fd..b17cc49 100644 --- a/src/src/Rendering/Viewer/ResliceImageViewer.cpp +++ b/src/src/Rendering/Viewer/ResliceImageViewer.cpp @@ -396,14 +396,17 @@ void ResliceImageViewer::AdjustOrthogonalScale() { double * viewUp = camera->GetViewUp(); vtkImageData * data = Mapper->GetInput(); int index = abs(((int)viewUp[0]) * 0 + ((int)viewUp[1]) * 1 + ((int)viewUp[2]) * 2); - + double * proj = camera->GetDirectionOfProjection(); + int index2 = abs((int)proj[0]+(int)viewUp[0] -1) * 0 + + abs((int)proj[1]+(int)viewUp[1]-1) * 1 + abs((int)proj[2]+(int)viewUp[2]-1) * 2; double ratio = Renderer->GetTiledAspectRatio(); - double pixelScale = data->GetDimensions()[index]*data->GetSpacing()[index]; - if (ratio<1.0){ - camera->SetParallelScale(pixelScale/2/ratio+3); + double pixelScaleHeight = data->GetDimensions()[index] * data->GetSpacing()[index]; + double pixelScaleWidth = data->GetDimensions()[index2] * data->GetSpacing()[index2]; + if (ratioSetParallelScale(pixelScaleWidth / 2 / ratio + 1); } else{ - camera->SetParallelScale(pixelScale/2+3); + camera->SetParallelScale(pixelScaleHeight / 2 + 1); } }