X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkImageCommon.txx;h=a07c66f0459eca0743c41c460937e48a484c75a0;hb=refs%2Fheads%2FextentSimon;hp=5aa3b2eba55e44db3e973328c370b05935f95cab;hpb=1a8450d4940e31424315290bec3139418aadd87c;p=clitk.git diff --git a/common/clitkImageCommon.txx b/common/clitkImageCommon.txx index 5aa3b2e..a07c66f 100644 --- a/common/clitkImageCommon.txx +++ b/common/clitkImageCommon.txx @@ -188,34 +188,22 @@ typename ImageType::Pointer readImage(const std::vector & filenames //-------------------------------------------------------------------- template -void writeImage(const typename ImageType::Pointer image, const std::string & filename, const bool verbose) +void writeImage(const typename ImageType::Pointer image, const std::string & filename, const bool verbose, const bool compression) { - typedef itk::ImageFileWriter WriterType; - typename WriterType::Pointer writer = WriterType::New(); - writer->SetFileName(filename.c_str()); - writer->SetInput(image); - if (verbose) { - std::cout << "Writing [" << filename << "] ... " << std::endl; - } - try { - writer->Update(); - } catch( itk::ExceptionObject & err ) { - std::cerr << "Exception while writing image [" << filename << "]" << std::endl; - std::cerr << err << std::endl; - exit(-1); - } + return writeImage(image.GetPointer(), filename, verbose, compression); } //-------------------------------------------------------------------- //-------------------------------------------------------------------- template -void writeImage(const ImageType* image, const std::string & filename, const bool verbose) +void writeImage(const ImageType* image, const std::string & filename, const bool verbose, const bool compression) { typedef itk::ImageFileWriter WriterType; typename WriterType::Pointer writer = WriterType::New(); writer->SetFileName(filename.c_str()); writer->SetInput(image); + writer->SetUseCompression(compression); if (verbose) { std::cout << "Writing [" << filename << "] ... " << std::endl; }