X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=packages%2Fvtk%2Fsrc%2FbbvtkRescaleSlopeIntercept.cxx;h=dc4e0afc299a4effc6e758f5149a2087a4f67482;hb=29a64ec37c5dc46cc05277a4f7358a77026bfbda;hp=911d6626c66cbce1b5d25077fb9b6f961ddfa889;hpb=6adcfa9cb22b26df2122aa7bfef931a3bb847486;p=bbtk.git diff --git a/packages/vtk/src/bbvtkRescaleSlopeIntercept.cxx b/packages/vtk/src/bbvtkRescaleSlopeIntercept.cxx index 911d662..dc4e0af 100644 --- a/packages/vtk/src/bbvtkRescaleSlopeIntercept.cxx +++ b/packages/vtk/src/bbvtkRescaleSlopeIntercept.cxx @@ -1,4 +1,31 @@ -//===== +/* + # --------------------------------------------------------------------- + # + # Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image + # pour la SantÈ) + # Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton + # Previous Authors : Laurent Guigues, Jean-Pierre Roux + # CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil + # + # This software is governed by the CeCILL-B license under French law and + # abiding by the rules of distribution of free software. You can use, + # modify and/ or redistribute the software under the terms of the CeCILL-B + # license as circulated by CEA, CNRS and INRIA at the following URL + # http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html + # or in the file LICENSE.txt. + # + # As a counterpart to the access to the source code and rights to copy, + # modify and redistribute granted by the license, users are provided only + # with a limited warranty and the software's author, the holder of the + # economic rights, and the successive licensors have only limited + # liability. + # + # The fact that you are presently reading this means that you have had + # knowledge of the CeCILL-B license and that you accept its terms. + # ------------------------------------------------------------------------ */ + + +//===== // Don't edit this file. This file is generated from xml description.. //===== #include "bbvtkRescaleSlopeIntercept.h" @@ -30,7 +57,6 @@ void RescaleSlopeIntercept::Process() // bbSetOutputOut( bbGetInputIn() ); // std::cout << "Output value = " <GetScalarType(); - else if (bbGetInputOutputFormat()=="VTK_BIT") outputformat = VTK_BIT; - else if (bbGetInputOutputFormat()=="VTK_CHAR") outputformat = VTK_CHAR; - else if (bbGetInputOutputFormat()=="VTK_SIGNED_CHAR") outputformat = VTK_SIGNED_CHAR; - else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_CHAR") outputformat = VTK_UNSIGNED_CHAR; - else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_SHORT") outputformat = VTK_UNSIGNED_SHORT; - else if (bbGetInputOutputFormat()=="VTK_INT") outputformat = VTK_INT; - else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_INT") outputformat = VTK_UNSIGNED_INT; - else if (bbGetInputOutputFormat()=="VTK_LONG") outputformat = VTK_LONG; - else if (bbGetInputOutputFormat()=="VTK_UNSIGNED_LONG") outputformat = VTK_UNSIGNED_LONG; - else if (bbGetInputOutputFormat()=="VTK_FLOAT") outputformat = VTK_FLOAT; - else if (bbGetInputOutputFormat()=="VTK_DOUBLE") outputformat = VTK_DOUBLE; + 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 bbGetInputIn()->GetScalarRange(range); @@ -92,21 +119,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 ); - 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 - bbSetOutputOut( mchange->GetOutput() ); - } // if + } else { + bbSetOutputOut( NULL ); + } // if bbGetInputIn } + //===== // Don't edit this file. This file is generated from xml description.. //===== @@ -121,7 +155,8 @@ void RescaleSlopeIntercept::bbUserSetDefaultValues() bbSetInputB(0); bbSetInputOutputFormat("SAME"); - filter = NULL; + filter1 = NULL; + filter2 = NULL; mchange = NULL; } //===== @@ -135,7 +170,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 +187,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(); } }