1 /*=========================================================================
3 Copyright (c) CREATIS (Centre de Recherche et d'Applications en Traitement de
4 l'Image). All rights reserved. See Doc/License.txt or
5 http://www.creatis.insa-lyon.fr/Public/Gdcm/License.html for details.
7 This software is distributed WITHOUT ANY WARRANTY; without even
8 the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
9 PURPOSE. See the above copyright notices for more information.
11 =========================================================================*/
13 #ifndef CLITKIMAGEFILLREGIONGENERICFILTER_CXX
14 #define CLITKIMAGEFILLREGIONGENERICFILTER_CXX
17 -------------------------------------------------------------------
18 * @file clitkImageFillRegionGenericFilter.cxx
19 * @author David Sarrut <David.Sarrut@creatis.insa-lyon.fr>
23 -------------------------------------------------------------------*/
25 #include "clitkImageFillRegionGenericFilter.h"
27 //--------------------------------------------------------------------
28 clitk::ImageFillRegionGenericFilter::ImageFillRegionGenericFilter() {
33 //--------------------------------------------------------------------
36 //--------------------------------------------------------------------
37 void clitk::ImageFillRegionGenericFilter::SetSphericRegion(std::vector<double> & radius,
38 std::vector<double> & center)
41 mRadius.resize(radius.size());
42 std::copy(radius.begin(), radius.end(), mRadius.begin());
44 mCenter.resize(center.size());
45 std::copy(center.begin(), center.end(), mCenter.begin());
46 mSphericRegion = true;
50 void clitk::ImageFillRegionGenericFilter::SetSphericRegion(std::vector<double> & radius) {
52 mRadius.resize(radius.size());
53 std::copy(radius.begin(), radius.end(), mRadius.begin());
55 mSphericRegion = true;
57 //--------------------------------------------------------------------
60 //--------------------------------------------------------------------
61 void clitk::ImageFillRegionGenericFilter::Update () {
64 itk::ImageIOBase::Pointer header = clitk::readImageHeader(mInputFilenames[0]);
66 // Determine dim, pixel type, number of components
67 mDim = header->GetNumberOfDimensions();
68 mPixelTypeName = header->GetComponentTypeAsString(header->GetComponentType());
69 mNbOfComponents = header->GetNumberOfComponents();
71 // Switch by dimension
72 if (mDim == 2) { Update_WithDim<2>(); return; }
73 if (mDim == 3) { Update_WithDim<3>(); return; }
74 // if (mDim == 4) { Update_WithDim<4>(); return; }
76 std::cerr << "Error, dimension of input image is " << mDim << ", but I only work with 2,3,4." << std::endl;
79 //--------------------------------------------------------------------
81 #endif //define CLITKIMAGEFILLREGIONGENERICFILTER_CXX