]> Creatis software - bbtk.git/blobdiff - packages/vtk/src/bbvtkRescaleSlopeIntercept.cxx
Feature #1654 Added a box refreshing a renderer.
[bbtk.git] / packages / vtk / src / bbvtkRescaleSlopeIntercept.cxx
index 911d6626c66cbce1b5d25077fb9b6f961ddfa889..3f4494eb978a272ea7e8294d3088b14de565e7ac 100644 (file)
@@ -30,6 +30,9 @@ void RescaleSlopeIntercept::Process()
 //    bbSetOutputOut( bbGetInputIn() );
 //    std::cout << "Output value = " <<bbGetOutputOut() << std::endl;
   
+       
+       printf("EED  RescaleSlopeIntercept::Process start\n");          
+       
 
        double range[2];
        double spc[3];
@@ -92,19 +95,28 @@ void RescaleSlopeIntercept::Process()
                        shift= A + (range[1]*newdifrange/difrange);
                } // if type 3
                
-               filter->SetInput( bbGetInputIn() );
-               filter->SetOutputScalarType( outputformat );
-               filter->SetScale( scale );
-               filter->SetShift( shift );
+               filter1->SetInput( bbGetInputIn() );
+               filter1->SetOutputScalarType( VTK_DOUBLE );
+               filter1->SetShift( 0 );
+               filter1->SetScale( scale );
+               
+               filter2->SetInput( filter1->GetOutput() );
+               filter2->SetOutputScalarType( outputformat );
+               filter2->SetShift( shift );
+               filter2->SetScale( 1 );
                
-               mchange->SetInput( filter->GetOutput() );
+               mchange->SetInput( filter2->GetOutput() );
                mchange->SetExtentTranslation( -ext[0], -ext[2], -ext[4] );
                mchange->SetOutputSpacing (spc);
                mchange->Update();    //important
-               
                bbSetOutputOut( mchange->GetOutput() );
                
-       } // if
+       } else  {
+               bbSetOutputOut( NULL );
+       }               // if bbGetInputIn
+       
+       printf("EED  RescaleSlopeIntercept::Process end\n");            
+       
 }
        
 //===== 
@@ -121,7 +133,8 @@ void RescaleSlopeIntercept::bbUserSetDefaultValues()
        bbSetInputB(0);
        bbSetInputOutputFormat("SAME");
 
-       filter  = NULL;
+       filter1 = NULL;
+       filter2 = NULL;
        mchange = NULL;
 }
 //===== 
@@ -135,7 +148,8 @@ void RescaleSlopeIntercept::bbUserInitializeProcessing()
 //    but this is where you should allocate the internal/output pointers 
 //    if any 
 
-       filter  = vtkImageShiftScale::New();
+       filter1 = vtkImageShiftScale::New();
+       filter2 = vtkImageShiftScale::New();
        mchange = vtkImageChangeInformation::New();
 
   
@@ -151,7 +165,8 @@ void RescaleSlopeIntercept::bbUserFinalizeProcessing()
 //    but this is where you should desallocate the internal/output pointers 
 //    if any
        mchange->Delete();              
-       filter->Delete();
+       filter1->Delete();
+       filter2->Delete();
 }
        
 }