X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkRescaleSlopeIntercept.cxx;h=a1d5805b56c26eb450e3d1beb8333119a54590d2;hb=336df2924a7a1e1a4e18412a562a93f075970d0e;hp=dc4e0afc299a4effc6e758f5149a2087a4f67482;hpb=0dde94ea04d1505b73e3b57bb3d736363104642f;p=bbtk.git diff --git a/packages/vtk/src/bbvtkRescaleSlopeIntercept.cxx b/packages/vtk/src/bbvtkRescaleSlopeIntercept.cxx index dc4e0af..a1d5805 100644 --- a/packages/vtk/src/bbvtkRescaleSlopeIntercept.cxx +++ b/packages/vtk/src/bbvtkRescaleSlopeIntercept.cxx @@ -31,6 +31,7 @@ #include "bbvtkRescaleSlopeIntercept.h" #include "bbvtkPackage.h" +#include "bbtkStaticLecture.h" namespace bbvtk { @@ -42,7 +43,6 @@ BBTK_BLACK_BOX_IMPLEMENTATION(RescaleSlopeIntercept,bbtk::AtomicBlackBox); //===== void RescaleSlopeIntercept::Process() { - // THE MAIN PROCESSING METHOD BODY // Here we simply set the input 'In' value to the output 'Out' // And print out the output value @@ -65,29 +65,13 @@ void RescaleSlopeIntercept::Process() if (bbGetInputIn()!=0) { - if (bbGetInputOutputFormat()=="SAME") outputformat = bbGetInputIn()->GetScalarType(); - else if (bbGetInputOutputFormat()=="VTK_BIT") outputformat = VTK_BIT; // 1 - else if (bbGetInputOutputFormat()=="VTK_CHAR") outputformat = VTK_CHAR; // 2 - else if (bbGetInputOutputFormat()=="VTK_SIGNED_CHAR") outputformat = VTK_SIGNED_CHAR; // 15 - else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_CHAR") outputformat = VTK_UNSIGNED_CHAR; // 3 - else if (bbGetInputOutputFormat()=="VTK_SHORT") outputformat = VTK_SHORT; // 4 - else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_SHORT") outputformat = VTK_UNSIGNED_SHORT; // 5 - else if (bbGetInputOutputFormat()=="VTK_INT") outputformat = VTK_INT; // 6 - else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_INT") outputformat = VTK_UNSIGNED_INT; // 7 - else if (bbGetInputOutputFormat()=="VTK_LONG") outputformat = VTK_LONG; // 8 - else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_LONG") outputformat = VTK_UNSIGNED_LONG; // 9 - else if (bbGetInputOutputFormat()=="VTK_FLOAT") outputformat = VTK_FLOAT; // 10 - else if (bbGetInputOutputFormat()=="VTK_DOUBLE") outputformat = VTK_DOUBLE; // 11 - - + int outputformat = bbtkStaticLecture::GetTypeFormat( bbGetInputOutputFormat() , bbGetInputIn() ); bbGetInputIn()->GetScalarRange(range); bbGetInputIn()->GetSpacing(spc); bbGetInputIn()->GetExtent( ext ); - double range0plusrange1 = range[0]+range[1]; double difrange = range[1]-range[0]; double newdifrange = B-A; - double shift; double scale; @@ -119,28 +103,47 @@ void RescaleSlopeIntercept::Process() shift= A + (range[1]*newdifrange/difrange); } // if type 3 + +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 filter1->SetInput( bbGetInputIn() ); +#else + filter1->SetInputData( bbGetInputIn() ); +#endif + filter1->SetOutputScalarType( VTK_DOUBLE ); filter1->SetShift( 0 ); filter1->SetScale( scale ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 filter2->SetInput( filter1->GetOutput() ); +#else + filter2->SetInputData( filter1->GetOutput() ); +#endif + filter2->SetOutputScalarType( outputformat ); filter2->SetShift( shift ); filter2->SetScale( 1 ); +//EED 2017-01-01 Migration VTK7 +#if VTK_MAJOR_VERSION <= 5 mchange->SetInput( filter2->GetOutput() ); +#else + mchange->SetInputData( filter2->GetOutput() ); +#endif + mchange->SetExtentTranslation( -ext[0], -ext[2], -ext[4] ); mchange->SetOutputSpacing (spc); + filter1->Update(); //important + filter2->Update(); //important mchange->Update(); //important bbSetOutputOut( mchange->GetOutput() ); - } else { bbSetOutputOut( NULL ); } // if bbGetInputIn } - //===== // Don't edit this file. This file is generated from xml description.. //===== @@ -154,7 +157,6 @@ void RescaleSlopeIntercept::bbUserSetDefaultValues() bbSetInputA(1); bbSetInputB(0); bbSetInputOutputFormat("SAME"); - filter1 = NULL; filter2 = NULL; mchange = NULL; @@ -164,17 +166,13 @@ void RescaleSlopeIntercept::bbUserSetDefaultValues() //===== void RescaleSlopeIntercept::bbUserInitializeProcessing() { - // THE INITIALIZATION METHOD BODY : // Here does nothing // but this is where you should allocate the internal/output pointers // if any - filter1 = vtkImageShiftScale::New(); filter2 = vtkImageShiftScale::New(); mchange = vtkImageChangeInformation::New(); - - } //===== // Don't edit this file. This file is generated from xml description..