X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=filters%2FclitkImageFillRegionGenericFilter.cxx;h=dd5a51ab667d6db2b32b9bdff2d889ef577932fc;hb=98ea80060898483885ba3a20dee210053331d5f3;hp=85b60802f96442f6e1f3a896f28daaa905253191;hpb=0083c3fb2c66812489631c7551709d121de51625;p=clitk.git diff --git a/filters/clitkImageFillRegionGenericFilter.cxx b/filters/clitkImageFillRegionGenericFilter.cxx index 85b6080..dd5a51a 100644 --- a/filters/clitkImageFillRegionGenericFilter.cxx +++ b/filters/clitkImageFillRegionGenericFilter.cxx @@ -1,3 +1,20 @@ +/*========================================================================= + 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 +======================================================================-====*/ #ifndef CLITKIMAGEFILLREGIONGENERICFILTER_CXX #define CLITKIMAGEFILLREGIONGENERICFILTER_CXX /** @@ -6,26 +23,28 @@ * @author David Sarrut * @date 23 Feb 2008 - * @brief + * @brief -------------------------------------------------------------------*/ #include "clitkImageFillRegionGenericFilter.h" //-------------------------------------------------------------------- clitk::ImageFillRegionGenericFilter::ImageFillRegionGenericFilter(): - clitk::ImageToImageGenericFilter("ImageFillRegion") { + clitk::ImageToImageGenericFilter("ImageFillRegion") +{ InitializeImageType<2>(); - InitializeImageType<3>(); + InitializeImageType<3>(); mPixelValue = 0; m_IsCentered=false; - mSphericRegion=false; + mSphericRegion=false; } //-------------------------------------------------------------------- //-------------------------------------------------------------------- template -void clitk::ImageFillRegionGenericFilter::InitializeImageType() { +void clitk::ImageFillRegionGenericFilter::InitializeImageType() +{ // ADD_IMAGE_TYPE(Dim, char); ADD_IMAGE_TYPE(Dim, short); // ADD_IMAGE_TYPE(Dim, unsigned short); @@ -39,7 +58,8 @@ void clitk::ImageFillRegionGenericFilter::InitializeImageType() { //-------------------------------------------------------------------- template -void clitk::ImageFillRegionGenericFilter::UpdateWithInputImageType() { +void clitk::ImageFillRegionGenericFilter::UpdateWithInputImageType() +{ // Typedef typedef typename ImageType::PixelType PixelType; @@ -52,7 +72,7 @@ void clitk::ImageFillRegionGenericFilter::UpdateWithInputImageType() { typename ImageType::Pointer input = GetInput(0); // Get pixel value in correct type - PixelType value = PixelTypeDownCast(mPixelValue); + PixelType value = PixelTypeDownCast(mPixelValue); // Get region typedef typename ImageType::RegionType RegionType; @@ -84,7 +104,8 @@ void clitk::ImageFillRegionGenericFilter::UpdateWithInputImageType() { //-------------------------------------------------------------------- template -void clitk::ImageFillRegionGenericFilter::Update_WithDimAndPixelType_SphericRegion() { +void clitk::ImageFillRegionGenericFilter::Update_WithDimAndPixelType_SphericRegion() +{ // Read input typedef itk::Image ImageType; @@ -92,48 +113,46 @@ void clitk::ImageFillRegionGenericFilter::Update_WithDimAndPixelType_SphericRegi typename ImageType::Pointer input = GetInput(0); // Get pixel value in correct type - PixelType value = PixelTypeDownCast(mPixelValue); + PixelType value = PixelTypeDownCast(mPixelValue); // Centered? - if(m_IsCentered) - { - typename ImageType::SizeType size= input->GetLargestPossibleRegion().GetSize(); - typename ImageType::SpacingType spacing= input->GetSpacing(); - typename ImageType::PointType origin= input->GetOrigin(); - mCenter.resize(Dim); - for (unsigned int i=0; iGetLargestPossibleRegion().GetSize(); + typename ImageType::SpacingType spacing= input->GetSpacing(); + typename ImageType::PointType origin= input->GetOrigin(); + mCenter.resize(Dim); + for (unsigned int i=0; i IteratorType; IteratorType it(input, input->GetLargestPossibleRegion()); it.GoToBegin(); - typename ImageType::PointType point; - //typename itk::Vector distance; + typename ImageType::PointType point; + //typename itk::Vector distance; typename ImageType::IndexType index; //bool inside; double distance; - - while (!it.IsAtEnd()) - { - // inside=true; - index=it.GetIndex(); - input->TransformIndexToPhysicalPoint(index, point); - distance=0.0; - for(unsigned int i=0; iTransformIndexToPhysicalPoint(index, point); + distance=0.0; + for(unsigned int i=0; i(input); @@ -144,10 +163,10 @@ void clitk::ImageFillRegionGenericFilter::Update_WithDimAndPixelType_SphericRegi //-------------------------------------------------------------------- -void clitk::ImageFillRegionGenericFilter::SetSphericRegion(std::vector & radius, - std::vector & center) +void clitk::ImageFillRegionGenericFilter::SetSphericRegion(std::vector & radius, + std::vector & center) { - mRadius.clear(); + mRadius.clear(); mRadius.resize(radius.size()); std::copy(radius.begin(), radius.end(), mRadius.begin()); mCenter.clear(); @@ -157,8 +176,9 @@ void clitk::ImageFillRegionGenericFilter::SetSphericRegion(std::vector & m_IsCentered=false; } -void clitk::ImageFillRegionGenericFilter::SetSphericRegion(std::vector & radius) { - mRadius.clear(); +void clitk::ImageFillRegionGenericFilter::SetSphericRegion(std::vector & radius) +{ + mRadius.clear(); mRadius.resize(radius.size()); std::copy(radius.begin(), radius.end(), mRadius.begin()); m_IsCentered=true;