X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FmanualInteractorWindowLevel.cxx;fp=lib%2FmaracasVisuLib%2Fsrc%2Finterface%2FwxWindows%2Fwidgets%2FmanualInteractorWindowLevel.cxx;h=f64909ec676b36ee75168fb100e551a5ec488ecc;hb=69c806e632999e11e12e8626609f4192d3aec364;hp=f058df7f60adf1a9693f76a39a496d44c7c3609f;hpb=00b3b34355fb96a6cdfcb3502950baac74d0fd0e;p=creaMaracasVisu.git diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx index f058df7..f64909e 100644 --- a/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx +++ b/lib/maracasVisuLib/src/interface/wxWindows/widgets/manualInteractorWindowLevel.cxx @@ -55,31 +55,33 @@ bool manualInteractorWindowLevel::OnMouseMove() // virtual wxVTKRenderWindowInteractor *wxVTKiren; wxVTKiren = _vtkInteractorStyleBaseView->GetWxVtk2DBaseView()->GetWxVTKRenderWindowInteractor(); wxVTKiren->GetEventPosition( tmpPx , tmpPy ); - double colorWin; double colorLev; - vtkImageData* imgrange = ((wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView())->GetVtkBaseData()->GetImageData(); - - if(imgrange != NULL){ + if(imgrange != NULL) + { double* scalarrange = imgrange->GetScalarRange(); - double scalarr = scalarrange[1] - scalarrange[0]; + double scalarr; + if (scalarrange[1] == scalarrange[0]) + { + scalarr=scalarrange[1]; + if (scalarrange[1]==0) {scalarr=100;} + } else { + scalarr = scalarrange[1] - scalarrange[0]; + } //std::cout<<"scalar r="<GetSize(&w, &h); - double dw=w,dh=h; double dx = (scalarr*( _backPx - tmpPx ))/dw; double dy = (scalarr*( _backPy - tmpPy ))/dh; - //colorWin=_backWindow - (scalarr)*( _backPx - tmpPx ); colorWin=_backWindow - dx; colorLev=_backLevel + dy; - }else{ + } else { colorWin=_backWindow - 2*( _backPx - tmpPx ); colorLev=_backLevel + 2*( _backPy - tmpPy ); } - if (colorWin<0) { colorWin=0; @@ -88,35 +90,26 @@ bool manualInteractorWindowLevel::OnMouseMove() // virtual { colorWin=100000; } - //EED 2 Nov 2012 This lets see negative values with the interaction of Window-Level Color // if (colorLev<0) // { // colorLev=0; -// } - +// } if (colorLev>100000) { colorLev=100000; } - wxVtk2DBaseView *wxvtk2Dbaseview = (wxVtk2DBaseView*)_vtkInteractorStyleBaseView->GetWxVtk2DBaseView(); vtkBaseData *vtkbasedata = wxvtk2Dbaseview->GetVtkBaseData(); - //EED Borrame // vtkImageViewer2 *vtkimageviewer2 = wxvtk2Dbaseview->_imageViewer2XYZ->GetVtkImageViewer2(); // vtkimageviewer2->SetColorWindow(colorWin); // vtkimageviewer2->SetColorLevel(colorLev); - vtkbasedata->SetColorWindow(colorWin); - vtkbasedata->SetColorLevel(colorLev); - + vtkbasedata->SetColorLevel(colorLev); this->_vtkInteractorStyleBaseView->SetParent_refresh_waiting(); - // vtkimageviewer2->Render(); } - - return true; }