1 #include "clitkImageToImageGenericFilter.h"
2 #include "clitkImageCommon.h"
4 //--------------------------------------------------------------------
5 clitk::ImageToImageGenericFilterBase::ImageToImageGenericFilterBase(std::string n)
8 mFailOnImageTypeError = true;
10 //--------------------------------------------------------------------
13 //--------------------------------------------------------------------
14 void clitk::ImageToImageGenericFilterBase::SetInputFilenames(const std::vector<std::string> & filenames) {
15 mInputFilenames=filenames;
17 //--------------------------------------------------------------------
20 //--------------------------------------------------------------------
21 void clitk::ImageToImageGenericFilterBase::SetInputFilename(const std::string & filename) {
22 std::vector<std::string> f;
23 f.push_back(filename);
26 //--------------------------------------------------------------------
29 //--------------------------------------------------------------------
30 void clitk::ImageToImageGenericFilterBase::AddInputFilename(const std::string & filename) {
31 mInputFilenames.push_back(filename);
33 //--------------------------------------------------------------------
36 //--------------------------------------------------------------------
37 void clitk::ImageToImageGenericFilterBase::SetOutputFilename(const std::string & filename) {
38 mOutputFilenames.clear();
39 mOutputFilenames.push_back(filename);
41 //--------------------------------------------------------------------
44 //--------------------------------------------------------------------
45 void clitk::ImageToImageGenericFilterBase::AddOutputFilename(const std::string & filename)
47 mOutputFilenames.push_back(filename);
49 //--------------------------------------------------------------------
52 //--------------------------------------------------------------------
53 void clitk::ImageToImageGenericFilterBase::SetOutputFilenames(const std::vector<std::string> & filenames)
55 mOutputFilenames.clear();
56 std::copy(filenames.begin(),filenames.end(),mOutputFilenames.begin());
58 //--------------------------------------------------------------------
61 //--------------------------------------------------------------------
62 std::string clitk::ImageToImageGenericFilterBase::GetOutputFilename()
64 assert(mOutputFilenames.size() == 1);
65 return mOutputFilenames.front();
67 //--------------------------------------------------------------------
70 //--------------------------------------------------------------------
71 void clitk::ImageToImageGenericFilterBase::GetInputImageDimensionAndPixelType(unsigned int& dim, \
72 std::string& pixeltype,unsigned int& components)
74 if (mInputFilenames.size())
76 int comp_temp,dim_temp; //clitkCommonImage takes ints
77 ReadImageDimensionAndPixelType(mInputFilenames[0], dim_temp, pixeltype,comp_temp);
78 components=comp_temp; dim=dim_temp;
80 else if (mInputVVImages.size())
82 pixeltype=mInputVVImages[0]->GetScalarTypeAsString();
83 dim=mInputVVImages[0]->GetNumberOfDimensions();
84 components=mInputVVImages[0]->GetNumberOfScalarComponents();
87 assert(false); //No input image, shouldn't happen
90 std::cout << "Input is " << mDim << "D " << mPixelTypeName << "." << std::endl;
93 //--------------------------------------------------------------------
96 //--------------------------------------------------------------------
97 vvImage::Pointer clitk::ImageToImageGenericFilterBase::GetOutputVVImage ()
99 assert(mOutputVVImages.size());
100 return mOutputVVImages[0];
102 //--------------------------------------------------------------------
105 //--------------------------------------------------------------------
106 std::vector<vvImage::Pointer> clitk::ImageToImageGenericFilterBase::GetOutputVVImages()
108 return mOutputVVImages;
110 //--------------------------------------------------------------------
113 //--------------------------------------------------------------------
114 void clitk::ImageToImageGenericFilterBase::SetInputVVImage (vvImage::Pointer input)
116 mInputVVImages.clear();
117 mInputVVImages.push_back(input);
119 //--------------------------------------------------------------------
122 //--------------------------------------------------------------------
123 void clitk::ImageToImageGenericFilterBase::AddInputVVImage (vvImage::Pointer input)
125 mInputVVImages.push_back(input);
127 //--------------------------------------------------------------------
130 //--------------------------------------------------------------------
131 void clitk::ImageToImageGenericFilterBase::SetInputVVImages (std::vector<vvImage::Pointer> input)
133 mInputVVImages=input;
135 //--------------------------------------------------------------------
138 //--------------------------------------------------------------------
139 void clitk::ImageToImageGenericFilterBase::PrintAvailableImageTypes() {
140 std::cout << GetAvailableImageTypes();
142 //--------------------------------------------------------------------
146 //--------------------------------------------------------------------
147 void clitk::ImageToImageGenericFilterBase::ImageTypeError() {
148 std::cerr << "**Error** The filter <" << mFilterName << "> is not available for "
149 << mDim << "D images with pixel="
150 << mPixelTypeName << " and "
151 << mNbOfComponents << " component." << std::endl;
152 std::cerr << GetAvailableImageTypes();
155 //--------------------------------------------------------------------
158 //--------------------------------------------------------------------
159 void clitk::ImageToImageGenericFilterBase::SetImageTypeError() {
160 std::cerr << "TODO ! " << std::endl;
163 //--------------------------------------------------------------------