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