]> Creatis software - bbtk.git/commitdiff
no message
authorEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Fri, 17 Jun 2011 17:38:28 +0000 (17:38 +0000)
committerEduardo Davila <Eduardo.Davila@creatis.insa-lyon.fr>
Fri, 17 Jun 2011 17:38:28 +0000 (17:38 +0000)
packages/vtk/src/bbvtkRescaleSlopeIntercept.cxx
packages/vtk/src/bbvtkRescaleSlopeIntercept.h

index 911d6626c66cbce1b5d25077fb9b6f961ddfa889..cb1a77050240e041c2764afd6d908b74d0d23f95 100644 (file)
@@ -92,12 +92,17 @@ 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 );
                
-               mchange->SetInput( filter->GetOutput() );
+               filter2->SetInput( filter1->GetOutput() );
+               filter2->SetOutputScalarType( outputformat );
+               filter2->SetShift( shift );
+               filter2->SetScale( 1 );
+               
+               mchange->SetInput( filter2->GetOutput() );
                mchange->SetExtentTranslation( -ext[0], -ext[2], -ext[4] );
                mchange->SetOutputSpacing (spc);
                mchange->Update();    //important
@@ -121,7 +126,8 @@ void RescaleSlopeIntercept::bbUserSetDefaultValues()
        bbSetInputB(0);
        bbSetInputOutputFormat("SAME");
 
-       filter  = NULL;
+       filter1 = NULL;
+       filter2 = NULL;
        mchange = NULL;
 }
 //===== 
@@ -135,7 +141,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 +158,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();
 }
        
 }
index 140a0cf3a36f0d334446882ab401e96c99236018..22d087641e908ae62a5e842a2e539a67f6cb210e 100644 (file)
@@ -34,7 +34,8 @@ class bbvtk_EXPORT RescaleSlopeIntercept
   void Process();
        
        int                                                     outputformat;
-       vtkImageShiftScale                      *filter;
+       vtkImageShiftScale                      *filter1;
+       vtkImageShiftScale                      *filter2;
        vtkImageChangeInformation       *mchange;
 
 //=====