X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=filters%2FclitkGuerreroVentilationGenericFilter.cxx;h=9d1ab2dc0273f293447395e8fe46cf6448f5c3c3;hb=6cbf5222a1eec625da8f4633094bfa8e0d9da967;hp=b54f0a21e1d587e17a6d9355b7cc762a5146c5ce;hpb=0083c3fb2c66812489631c7551709d121de51625;p=clitk.git diff --git a/filters/clitkGuerreroVentilationGenericFilter.cxx b/filters/clitkGuerreroVentilationGenericFilter.cxx index b54f0a2..9d1ab2d 100644 --- a/filters/clitkGuerreroVentilationGenericFilter.cxx +++ b/filters/clitkGuerreroVentilationGenericFilter.cxx @@ -1,10 +1,27 @@ +/*========================================================================= + Program: vv http://www.creatis.insa-lyon.fr/rio/vv + + Authors belong to: + - University of LYON http://www.universite-lyon.fr/ + - Léon Bérard cancer center http://oncora1.lyon.fnclcc.fr + - CREATIS CNRS laboratory http://www.creatis.insa-lyon.fr + + This software is distributed WITHOUT ANY WARRANTY; without even + the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR + PURPOSE. See the copyright notices for more information. + + It is distributed under dual licence + + - BSD See included LICENSE.txt file + - CeCILL-B http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html +======================================================================-====*/ /** ------------------------------------------------------------------- * @file clitkGuerreroVentilationGenericFilter.cxx * @author Joël Schaerer * @date 20 April 2009 - * @brief + * @brief -------------------------------------------------------------------*/ #include "clitkGuerreroVentilationGenericFilter.h" @@ -13,8 +30,9 @@ #include //-------------------------------------------------------------------- -clitk::GuerreroVentilationGenericFilter::GuerreroVentilationGenericFilter() - :ImageToImageGenericFilter("GuerreroVentilationGenericFilter") { +clitk::GuerreroVentilationGenericFilter::GuerreroVentilationGenericFilter() + :ImageToImageGenericFilter("GuerreroVentilationGenericFilter") +{ blood_mass_factor=1.; InitializeImageType<2>(); InitializeImageType<3>(); @@ -23,7 +41,8 @@ clitk::GuerreroVentilationGenericFilter::GuerreroVentilationGenericFilter() //-------------------------------------------------------------------- template -void clitk::GuerreroVentilationGenericFilter::InitializeImageType() { +void clitk::GuerreroVentilationGenericFilter::InitializeImageType() +{ ADD_IMAGE_TYPE(Dim, short); } //-------------------------------------------------------------------- @@ -31,30 +50,31 @@ void clitk::GuerreroVentilationGenericFilter::InitializeImageType() { //-------------------------------------------------------------------- template -void clitk::GuerreroVentilationGenericFilter::UpdateWithInputImageType() { - - // Input should be 2 - assert(mInputFilenames.size() == 2); - - // Reading input - typedef ImageType InputImageType; - typename InputImageType::Pointer input = this->template GetInput(0); - typename InputImageType::Pointer ref = this->template GetInput(1); - - typedef itk::Image OutputImageType; - // typename ImageType::Pointer input = clitk::readImage(mInputFilenames[0], mIOVerbose); - //typename ImageType::Pointer ref = clitk::readImage(mInputFilenames[1], mIOVerbose); - - typedef itk::BinaryGuerreroFilter GFilterType; - typename GFilterType::Pointer filter = GFilterType::New(); - filter->SetInput1(ref); - filter->SetInput2(input); - filter->SetBloodCorrectionFactor(blood_mass_factor); - filter->SetUseCorrectFormula(use_correct_formula); - filter->Update(); - - this->SetNextOutput(filter->GetOutput()); - //clitk::writeImage(filter->GetOutput(), mOutputFilename, mIOVerbose); - //std::cout << "Warning: removed " << filter->GetFunctor().aberant_voxels << " aberant voxels from the ventilation image" - //<< std::endl; +void clitk::GuerreroVentilationGenericFilter::UpdateWithInputImageType() +{ + + // Input should be 2 + assert(m_InputFilenames.size() == 2); + + // Reading input + typedef ImageType InputImageType; + typename InputImageType::Pointer input = this->template GetInput(0); + typename InputImageType::Pointer ref = this->template GetInput(1); + + typedef itk::Image OutputImageType; + // typename ImageType::Pointer input = clitk::readImage(mInputFilenames[0], mIOVerbose); + //typename ImageType::Pointer ref = clitk::readImage(mInputFilenames[1], mIOVerbose); + + typedef itk::BinaryGuerreroFilter GFilterType; + typename GFilterType::Pointer filter = GFilterType::New(); + filter->SetInput1(ref); + filter->SetInput2(input); + filter->SetBloodCorrectionFactor(blood_mass_factor); + filter->SetUseCorrectFormula(use_correct_formula); + filter->Update(); + + this->SetNextOutput(filter->GetOutput()); + //clitk::writeImage(filter->GetOutput(), mOutputFilename, mIOVerbose); + //std::cout << "Warning: removed " << filter->GetFunctor().aberant_voxels << " aberant voxels from the ventilation image" + //<< std::endl; }