+/*=========================================================================
+ 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
+======================================================================-====*/
#include "clitkImageToImageGenericFilterBase.h"
#include <itkImage.h>
//--------------------------------------------------------------------
clitk::ImageToImageGenericFilterBase::ImageToImageGenericFilterBase(std::string n)
- :mIOVerbose(false) {
+ :mIOVerbose(false)
+{
mFilterName = n;
mFailOnImageTypeError = true;
mReadOnDisk = true;
//--------------------------------------------------------------------
-void clitk::ImageToImageGenericFilterBase::SetInputFilenames(const std::vector<std::string> & filenames) {
- mInputFilenames=filenames;
+void clitk::ImageToImageGenericFilterBase::SetInputFilenames(const std::vector<std::string> & filenames)
+{
+ mInputFilenames=filenames;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
-void clitk::ImageToImageGenericFilterBase::EnableReadOnDisk(bool b) {
+void clitk::ImageToImageGenericFilterBase::EnableReadOnDisk(bool b)
+{
mReadOnDisk = b;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
-void clitk::ImageToImageGenericFilterBase::SetInputFilename(const std::string & filename) {
+void clitk::ImageToImageGenericFilterBase::SetInputFilename(const std::string & filename)
+{
std::vector<std::string> f;
f.push_back(filename);
SetInputFilenames(f);
//--------------------------------------------------------------------
-void clitk::ImageToImageGenericFilterBase::AddInputFilename(const std::string & filename) {
+void clitk::ImageToImageGenericFilterBase::AddInputFilename(const std::string & filename)
+{
mInputFilenames.push_back(filename);
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
-void clitk::ImageToImageGenericFilterBase::SetOutputFilename(const std::string & filename) {
+void clitk::ImageToImageGenericFilterBase::SetOutputFilename(const std::string & filename)
+{
mOutputFilenames.clear();
mOutputFilenames.push_back(filename);
}
//--------------------------------------------------------------------
void clitk::ImageToImageGenericFilterBase::SetOutputFilenames(const std::vector<std::string> & filenames)
{
- mOutputFilenames.clear();
- std::copy(filenames.begin(),filenames.end(),mOutputFilenames.begin());
+ mOutputFilenames.clear();
+ std::copy(filenames.begin(),filenames.end(),mOutputFilenames.begin());
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
std::string clitk::ImageToImageGenericFilterBase::GetOutputFilename()
{
- assert(mOutputFilenames.size() == 1);
- return mOutputFilenames.front();
+ assert(mOutputFilenames.size() == 1);
+ return mOutputFilenames.front();
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
void clitk::ImageToImageGenericFilterBase::GetInputImageDimensionAndPixelType(unsigned int& dim, \
- std::string& pixeltype,unsigned int& components)
+ std::string& pixeltype,unsigned int& components)
{
if (mReadOnDisk && mInputFilenames.size()) {
int comp_temp,dim_temp; //clitkCommonImage takes ints
ReadImageDimensionAndPixelType(mInputFilenames[0], dim_temp, pixeltype,comp_temp);
- components=comp_temp; dim=dim_temp;
- }
- else {
+ components=comp_temp;
+ dim=dim_temp;
+ } else {
if (mInputVVImages.size()) {
pixeltype=mInputVVImages[0]->GetScalarTypeAsString();
dim=mInputVVImages[0]->GetNumberOfDimensions();
components=mInputVVImages[0]->GetNumberOfScalarComponents();
- }
- else
- assert(false); //No input image, shouldn't happen
+ } else
+ assert(false); //No input image, shouldn't happen
}
if (mIOVerbose) {
std::cout << "Input is " << mDim << "D " << mPixelTypeName << "." << std::endl;
//--------------------------------------------------------------------
vvImage::Pointer clitk::ImageToImageGenericFilterBase::GetOutputVVImage ()
{
- assert(mOutputVVImages.size());
- return mOutputVVImages[0];
+ assert(mOutputVVImages.size());
+ return mOutputVVImages[0];
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
std::vector<vvImage::Pointer> clitk::ImageToImageGenericFilterBase::GetOutputVVImages()
{
- return mOutputVVImages;
+ return mOutputVVImages;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
void clitk::ImageToImageGenericFilterBase::SetInputVVImage (vvImage::Pointer input)
{
- mInputVVImages.clear();
- mInputVVImages.push_back(input);
+ mInputVVImages.clear();
+ mInputVVImages.push_back(input);
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
void clitk::ImageToImageGenericFilterBase::AddInputVVImage (vvImage::Pointer input)
{
- mInputVVImages.push_back(input);
+ mInputVVImages.push_back(input);
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
void clitk::ImageToImageGenericFilterBase::SetInputVVImages (std::vector<vvImage::Pointer> input)
{
- mInputVVImages=input;
+ mInputVVImages=input;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
-void clitk::ImageToImageGenericFilterBase::PrintAvailableImageTypes() {
+void clitk::ImageToImageGenericFilterBase::PrintAvailableImageTypes()
+{
std::cout << GetAvailableImageTypes();
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
-void clitk::ImageToImageGenericFilterBase::ImageTypeError() {
- std::cerr << "**Error** The filter <" << mFilterName << "> is not available for "
- << mDim << "D images with pixel="
+void clitk::ImageToImageGenericFilterBase::ImageTypeError()
+{
+ std::cerr << "**Error** The filter <" << mFilterName << "> is not available for "
+ << mDim << "D images with pixel="
<< mPixelTypeName << " and "
<< mNbOfComponents << " component." << std::endl;
std::cerr << GetAvailableImageTypes();
//--------------------------------------------------------------------
-void clitk::ImageToImageGenericFilterBase::SetImageTypeError() {
+void clitk::ImageToImageGenericFilterBase::SetImageTypeError()
+{
std::cerr << "TODO ! " << std::endl;
exit(0);
}
//--------------------------------------------------------------------
-const std::string & clitk::ImageToImageGenericFilterBase::GetFilterName() {
- return mFilterName;
+const std::string & clitk::ImageToImageGenericFilterBase::GetFilterName()
+{
+ return mFilterName;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
-void clitk::ImageToImageGenericFilterBase::SetFilterName(std::string & n) {
- mFilterName = n;
+void clitk::ImageToImageGenericFilterBase::SetFilterName(std::string & n)
+{
+ mFilterName = n;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
-void clitk::ImageToImageGenericFilterBase::SetIOVerbose(bool b) {
- mIOVerbose = b;
+void clitk::ImageToImageGenericFilterBase::SetIOVerbose(bool b)
+{
+ mIOVerbose = b;
}
//--------------------------------------------------------------------
//--------------------------------------------------------------------
-template<class ImageType>
-void clitk::ImageToImageGenericFilterBase::SetNextOutput(typename ImageType::Pointer output) {
- if (mOutputFilenames.size())
- {
- clitk::writeImage<ImageType>(output, mOutputFilenames.front(), mIOVerbose);
- mOutputFilenames.pop_front();
- }
+template<class ImageType>
+void clitk::ImageToImageGenericFilterBase::SetNextOutput(typename ImageType::Pointer output)
+{
+ if (mOutputFilenames.size()) {
+ clitk::writeImage<ImageType>(output, mOutputFilenames.front(), mIOVerbose);
+ mOutputFilenames.pop_front();
+ }
if (mInputVVImages.size()) //We assume that if a vv image is set as input, we want one as the output
mOutputVVImages.push_back(vvImageFromITK<ImageType::ImageDimension,typename ImageType::PixelType>(output));
}
//--------------------------------------------------------------------
-template<class ImageType>
-typename ImageType::Pointer clitk::ImageToImageGenericFilterBase::GetInput(unsigned int n) {
+template<class ImageType>
+typename ImageType::Pointer clitk::ImageToImageGenericFilterBase::GetInput(unsigned int n)
+{
if (mReadOnDisk && mInputFilenames.size() > n) {
return clitk::readImage<ImageType>(mInputFilenames[n], mIOVerbose);
- }
- else {
+ } else {
if (mInputVVImages.size() > n)
return typename ImageType::Pointer(const_cast<ImageType*>(vvImageToITK<ImageType>(mInputVVImages[n]).GetPointer()));
- else
- {
- assert(false); //No input, this shouldn't happen
- return typename ImageType::Pointer(NULL);
- }
+ else {
+ assert(false); //No input, this shouldn't happen
+ return typename ImageType::Pointer(NULL);
+ }
}
}
//--------------------------------------------------------------------