From: Simon Rit Date: Fri, 27 Apr 2012 11:09:34 +0000 (+0200) Subject: Extended Gate Ascii output to any pixel type X-Git-Tag: v1.3.0~41^2^2~1 X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=commitdiff_plain;h=941d5dc33f764cc2f1a4091be1746de8c0b25ec2;p=clitk.git Extended Gate Ascii output to any pixel type --- diff --git a/common/clitkGateAsciiImageIO.cxx b/common/clitkGateAsciiImageIO.cxx index 589c30c..99520ee 100644 --- a/common/clitkGateAsciiImageIO.cxx +++ b/common/clitkGateAsciiImageIO.cxx @@ -252,9 +252,49 @@ void clitk::GateAsciiImageIO::Write(const void* abstract_buffer) stream << "# nbVal = " << nb_value << endl; stream << "######################" << endl; - const double* buffer = static_cast(abstract_buffer); - for (unsigned long kk=0; kkGetComponentType()==itk::ImageIOBase::UCHAR) { + const unsigned char* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kkGetComponentType()==itk::ImageIOBase::CHAR) { + const char* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kkGetComponentType()==itk::ImageIOBase::USHORT) { + const unsigned short* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kkGetComponentType()==itk::ImageIOBase::SHORT) { + const short* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kkGetComponentType()==itk::ImageIOBase::UINT) { + const unsigned int* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kkGetComponentType()==itk::ImageIOBase::INT) { + const int* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kkGetComponentType()==itk::ImageIOBase::ULONG) { + const unsigned long* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kkGetComponentType()==itk::ImageIOBase::LONG) { + const long* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kkGetComponentType()==itk::ImageIOBase::FLOAT) { + const float* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kkGetComponentType()==itk::ImageIOBase::DOUBLE) { + const double* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kkGetComponentTypeAsString(this->GetComponentType())); + return; } FILE* handle = fopen(m_FileName.c_str(),"w"); @@ -264,6 +304,5 @@ void clitk::GateAsciiImageIO::Write(const void* abstract_buffer) } fwrite(stream.str().c_str(),1,stream.str().size(),handle); - fclose(handle); } diff --git a/common/clitkGateAsciiImageIO.h b/common/clitkGateAsciiImageIO.h index 7d174f8..7d134de 100644 --- a/common/clitkGateAsciiImageIO.h +++ b/common/clitkGateAsciiImageIO.h @@ -42,7 +42,6 @@ public: typedef GateAsciiImageIO Self; typedef itk::ImageIOBase Superclass; typedef itk::SmartPointer Pointer; - typedef signed short int PixelType; struct GateAsciiHeader { double matrix_size[3];