]> Creatis software - creaMaracasVisu.git/commitdiff
*** empty log message ***
authorEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Tue, 5 Jan 2010 12:06:37 +0000 (12:06 +0000)
committerEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Tue, 5 Jan 2010 12:06:37 +0000 (12:06 +0000)
bbtk/bbs/appli/ExampleSurfaceRendering.bbs
bbtk/src/bbmaracasvisuTransferFunctionView.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxMaracasSurfaceRenderingManagerDataMhd.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/wxVtk2DBaseView.cxx

index 2540f20b0489dddc89fbbfae8fbb576eb3491833..a09f6713621e6369c2bee21024574ee6e8bcc7dd 100644 (file)
@@ -1,3 +1,7 @@
+description "Surface rendering"
+author "info-dev@creatis.insa-lyon.fr"
+category "demo"
+
 load vtk
 load wxvtk
 load creaMaracasVisu
index 4a251079c787e37a1d2ba3772a0198dc429d93df..cef78ac1773d70427ed140a63dcaa8a80390a23c 100644 (file)
@@ -60,9 +60,31 @@ void TransferFunctionView::onColorChange(){
                std::cout<<"TransferFunctionView::Process()transfer function "<<greylevel[i]<<" "<< value[i]<<std::endl;
        }
        _ctfun->RemoveAllPoints();
-       for(int i = 0; i < greylevelcolors.size();i++){
+       _ctfun->SetScaleToLinear ();
+       _ctfun->ClampingOff();
+       _ctfun->AllowDuplicateScalarsOn();
+       double w=mwxwidget->GetWindowLevel();
+       double c=mwxwidget->GetColorLevel();
+
+       if (greylevelcolors.size()>1)
+       {
+           double min = greylevelcolors[0];
+               double max = greylevelcolors[greylevelcolors.size()-1];
+               double dif = max-min;
+               if (dif==0) dif=0.0001;
+               double nc;
+               int i;
+               i=0;
                _ctfun->AddRGBPoint(greylevelcolors[i], red[i],green[i], blue[i]);
-       std::cout<<"TransferFunctionView::Process()transfer color function "<<greylevelcolors[i]<<" "<<red[i]<<" "<<green[i]<<" "<<blue[i]<<std::endl;
+               for(i = 0; i < greylevelcolors.size();i++)
+               {
+                       nc = ((greylevelcolors[i]-min)/dif)*w + c-w/2;
+//                     _ctfun->AddRGBPoint(greylevelcolors[i], red[i],green[i], blue[i]);
+                       _ctfun->AddRGBPoint( nc , red[i],green[i], blue[i]);
+               std::cout<<"EED TransferFunctionView::Process()transfer color function <<"<<nc<<" "<<red[i]<<" "<<green[i]<<" "<<blue[i]<<std::endl;
+               }
+               i=greylevelcolors.size()-1;
+               _ctfun->AddRGBPoint( greylevelcolors[i] , red[i],green[i], blue[i]);
        }               
 
        bbSignalOutputModification();
@@ -74,13 +96,13 @@ void TransferFunctionView::onColorChange(){
 
 void TransferFunctionView::onSliderChange(){
        
-
-
+//EED
+onColorChange();
 
        bbSignalOutputModification();
 
-       bbSetOutputWindowLevel(mwxwidget->GetWindowLevel());
-       bbSetOutputColorLevel(mwxwidget->GetColorLevel());
+//     bbSetOutputWindowLevel(mwxwidget->GetWindowLevel());
+//     bbSetOutputColorLevel(mwxwidget->GetColorLevel());
 
 }
 
index cb6734ccdfb13f6c87cb0cbe20a08dd39789de07..2c6a6cdb161606476d312a60c7a670de6c3739e5 100644 (file)
@@ -26,6 +26,7 @@ wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd
        _dataMapper->ImmediateModeRenderingOn();
        vtkActor* dataActor = vtkActor::New();
 
+       //if(_boxWidgetS1){
        if(interactor){
 
                _boxWidgetS1 = vtkBoxWidget::New();
@@ -47,6 +48,9 @@ wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd
                _boxWidgetS1->SetInput(striper->GetOutput());
                _boxWidgetS1->PlaceWidget();
 
+               _boxWidgetS1->HandlesOn ();
+               _boxWidgetS1->On();
+
                _tissuePlanes  = vtkPlanes::New();
    
                int x1,x2,y1,y2,z1,z2;
@@ -83,13 +87,16 @@ wxMaracasSurfaceRenderingManagerDataMhd::wxMaracasSurfaceRenderingManagerDataMhd
 
 }
 
-wxMaracasSurfaceRenderingManagerDataMhd::~wxMaracasSurfaceRenderingManagerDataMhd(){   
+
+wxMaracasSurfaceRenderingManagerDataMhd::~wxMaracasSurfaceRenderingManagerDataMhd()
+{
        _cubesFilter->Delete();
        _cleanFilter->Delete();
        _dataMapper->Delete();
 }
        
-void wxMaracasSurfaceRenderingManagerDataMhd::UpdateSurface(){
+void wxMaracasSurfaceRenderingManagerDataMhd::UpdateSurface()
+{
        _cubesFilter->Update();    
        _cleanFilter->Update();
        _dataMapper->Update();  
index 18bdf5ac83534fa7bc754a2c3c72e19dfc918a8d..33accb3a4dc960b35e03140ee00f81ea3df53fea 100644 (file)
@@ -252,12 +252,16 @@ void wxVtk2DBaseView::setColorTransferFunction(vtkColorTransferFunction* colorta
 }
 
 void wxVtk2DBaseView::setWindowLevel(double level){
-       _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow(level);  
-       
+//     _imageViewer2XYZ->GetVtkImageViewer2()->SetColorWindow(level);  
+
+       vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel();
+       imagemaptowindowlevel->SetWindow(level);
        this->Refresh();
 }
 
 void wxVtk2DBaseView::setColorLevel(double level){
-       _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel(level);
+//     _imageViewer2XYZ->GetVtkImageViewer2()->SetColorLevel(level);
+       vtkImageMapToWindowLevelColors* imagemaptowindowlevel = _imageViewer2XYZ->GetVtkImageViewer2()->GetWindowLevel();
+       imagemaptowindowlevel->SetLevel(level);
        this->Refresh();
 }