MPR Reslice Window fix.
This commit is contained in:
@@ -254,6 +254,10 @@ void ResliceImageViewer::InitOrthogonalCursor() const {
|
||||
cursor2->SetSliceDirectionVector(sliceDirection2);
|
||||
}
|
||||
|
||||
/**
|
||||
* SetDefaultSliceOrientation
|
||||
* @param orientation 0 Sagittal , 1 Coronal, 2 Axial
|
||||
*/
|
||||
void ResliceImageViewer::SetDefaultSliceOrientation(int orientation) {
|
||||
double position[4] = {.0, .0, .0, 1.};
|
||||
double ViewUp[4] = {.0, .0, .0, 1.};
|
||||
|
||||
@@ -17,15 +17,15 @@ ResliceImageManager::ResliceImageManager(QObject *parent) : QObject(parent) {
|
||||
void ResliceImageManager::SetViewer(int index, ResliceImageViewer *viewer) {
|
||||
if (!viewer) return;
|
||||
switch (index){
|
||||
case 0:{
|
||||
case 2:{
|
||||
viewerA = viewer;
|
||||
break;
|
||||
}
|
||||
case 1:{
|
||||
case 0:{
|
||||
viewerC = viewer;
|
||||
break;
|
||||
}
|
||||
case 2:{
|
||||
case 1:{
|
||||
viewerS = viewer;
|
||||
}
|
||||
}
|
||||
@@ -56,15 +56,15 @@ void ResliceImageManager::RollCallback(vtkObject *sender, unsigned long eventID,
|
||||
auto viewer = ResliceImageViewer::SafeDownCast(sender);
|
||||
if (viewer){
|
||||
if (viewer==viewerA){
|
||||
viewerC->ChangeSliceNormal(viewer->GetCursorSliceDirection1());
|
||||
viewerC->ChangeSliceNormal(viewer->GetCursorSliceDirection2());
|
||||
viewerC->Render();
|
||||
viewerS->ChangeSliceNormal(viewer->GetCursorSliceDirection2());
|
||||
viewerS->ChangeSliceNormal(viewer->GetCursorSliceDirection1());
|
||||
viewerS->Render();
|
||||
}
|
||||
if (viewer==viewerC){
|
||||
viewerA->ChangeSliceNormal(viewer->GetCursorSliceDirection1());
|
||||
viewerA->ChangeSliceNormal(viewer->GetCursorSliceDirection2());
|
||||
viewerA->Render();
|
||||
viewerS->ChangeSliceNormal(viewer->GetCursorSliceDirection2());
|
||||
viewerS->ChangeSliceNormal(viewer->GetCursorSliceDirection1());
|
||||
viewerS->Render();
|
||||
}
|
||||
if (viewer==viewerS){
|
||||
|
||||
@@ -64,9 +64,9 @@ MPRResliceWindow::MPRResliceWindow(QWidget *parent, Qt::WindowFlags f) : QDialog
|
||||
mWidgetSagittal->setRenderWindow(window3);
|
||||
|
||||
manager = new ResliceImageManager(this);
|
||||
manager->SetViewer(0,mViewerA);
|
||||
manager->SetViewer(1,mViewerC);
|
||||
manager->SetViewer(2,mViewerS);
|
||||
manager->SetViewer(2,mViewerA);
|
||||
manager->SetViewer(0,mViewerC);
|
||||
manager->SetViewer(1,mViewerS);
|
||||
manager->InitEvents();
|
||||
|
||||
connect(toolBar, &ResliceMPRToolBar::modeButtonClicked,manager,&ResliceImageManager::SetMode);
|
||||
@@ -213,19 +213,19 @@ void MPRResliceWindow::loadData(SeriesImageSet *series) {
|
||||
mViewerC->SetRenderWindow(mWidgetCoronal->renderWindow());
|
||||
mViewerC->SetInputData(series->GetData());
|
||||
mViewerC->SetCoordsTransformMatrix(series->GetProperty()->GetOrientationMatrix());
|
||||
mViewerC->SetDefaultSliceOrientation(2);
|
||||
mViewerC->SetDefaultSliceOrientation(1);
|
||||
mViewerC->SetWindowLevel(mWindowLevel);
|
||||
mViewerC->Render();
|
||||
mViewerS->SetRenderWindow(mWidgetSagittal->renderWindow());
|
||||
mViewerS->SetInputData(series->GetData());
|
||||
mViewerS->SetCoordsTransformMatrix(series->GetProperty()->GetOrientationMatrix());
|
||||
mViewerS->SetDefaultSliceOrientation(1);
|
||||
mViewerS->SetDefaultSliceOrientation(0);
|
||||
mViewerS->SetWindowLevel(mWindowLevel);
|
||||
mViewerS->Render();
|
||||
mViewerA->SetRenderWindow(mWidgetAxial->renderWindow());
|
||||
mViewerA->SetInputData(series->GetData());
|
||||
mViewerA->SetCoordsTransformMatrix(series->GetProperty()->GetOrientationMatrix());
|
||||
mViewerA->SetDefaultSliceOrientation(0);
|
||||
mViewerA->SetDefaultSliceOrientation(2);
|
||||
mViewerA->SetWindowLevel(mWindowLevel);
|
||||
mViewerA->Render();
|
||||
}
|
||||
@@ -238,13 +238,13 @@ void MPRResliceWindow::SetDefaultWindowLevel(double* windowLevel) {
|
||||
}
|
||||
|
||||
void MPRResliceWindow::Reset() {
|
||||
mViewerC->SetDefaultSliceOrientation(2);
|
||||
mViewerC->SetDefaultSliceOrientation(1);
|
||||
mViewerC->InitOrthogonalCursor();
|
||||
mViewerC->SetWindowLevel(mWindowLevel);
|
||||
mViewerS->SetDefaultSliceOrientation(1);
|
||||
mViewerS->SetDefaultSliceOrientation(0);
|
||||
mViewerS->InitOrthogonalCursor();
|
||||
mViewerS->SetWindowLevel(mWindowLevel);
|
||||
mViewerA->SetDefaultSliceOrientation(0);
|
||||
mViewerA->SetDefaultSliceOrientation(2);
|
||||
mViewerA->InitOrthogonalCursor();
|
||||
mViewerA->SetWindowLevel(mWindowLevel);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user