X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkGateAsciiImageIO.cxx;h=f3d4a8d49211670def30995457eb484651210c4e;hb=0451c66d4a069d04db99c9d719e053c6019923d8;hp=af42c058241ec8e10c3e53788e8256b09a2c687d;hpb=f9ca20b91e15d47cb0142c6ba1a7be5d1ffc252e;p=clitk.git diff --git a/common/clitkGateAsciiImageIO.cxx b/common/clitkGateAsciiImageIO.cxx index af42c05..f3d4a8d 100644 --- a/common/clitkGateAsciiImageIO.cxx +++ b/common/clitkGateAsciiImageIO.cxx @@ -72,7 +72,6 @@ void clitk::GateAsciiImageIO::ReadImageInformation() } assert(real_length == header.nb_value); - // Set image information SetNumberOfDimensions(2); SetDimensions(0, real_length); @@ -91,7 +90,7 @@ bool clitk::GateAsciiImageIO::CanReadFile(const char* FileNameToRead) { // check extension std::string filenameext = GetExtension(filename); - if (filenameext != std::string("txt")) return false; + if (filenameext != "txt") return false; } { // check header @@ -236,11 +235,44 @@ void clitk::GateAsciiImageIO::Read(void* abstract_buffer) //-------------------------------------------------------------------- bool clitk::GateAsciiImageIO::CanWriteFile(const char* FileNameToWrite) { - return false; + if (GetExtension(std::string(FileNameToWrite)) != "txt") return false; + return true; +} + +void clitk::GateAsciiImageIO::WriteImageInformation() +{ + cout << GetNumberOfDimensions() << endl; +} + +bool clitk::GateAsciiImageIO::SupportsDimension(unsigned long dim) +{ + if (dim==2) return true; + return false; } //-------------------------------------------------------------------- // Write Image -void clitk::GateAsciiImageIO::Write(const void* buffer) +void clitk::GateAsciiImageIO::Write(const void* abstract_buffer) { + const unsigned long nb_value = GetDimensions(0)*GetDimensions(1); + std::stringstream stream; + stream << "######################" << endl; + stream << "# Matrix Size= (" << GetSpacing(0)*GetDimensions(0) << "," << GetSpacing(1)*GetDimensions(1) << ",1)" << endl; + stream << "# Resol = (" << GetDimensions(0) << "," << GetDimensions(1) << ",1)" << endl; + stream << "# VoxelSize = (" << GetSpacing(0) << "," << GetSpacing(1) << ",1)" << endl; + stream << "# nbVal = " << nb_value << endl; + stream << "######################" << endl; + + const double* buffer = static_cast(abstract_buffer); + for (unsigned long kk=0; kk