X-Git-Url: https://git.creatis.insa-lyon.fr/pubgit/?a=blobdiff_plain;f=common%2FclitkHisImageIO.cxx;h=1ee1995ee6b13847813f3abbf5826c9c0320e09e;hb=a76308ba9b5add63fcce2632a3683ce64b0702c5;hp=009d282428546ae2fdd18e29cbd4a41b8a7790f2;hpb=33b0605f7f0b0b8bb2a6d90c3fec771487b29744;p=clitk.git diff --git a/common/clitkHisImageIO.cxx b/common/clitkHisImageIO.cxx index 009d282..1ee1995 100755 --- a/common/clitkHisImageIO.cxx +++ b/common/clitkHisImageIO.cxx @@ -81,7 +81,6 @@ void clitk::HisImageIO::ReadImageInformation() { SetDimensions(1, brx-ulx+1); if (nrframes>1) SetDimensions(2, nrframes); - file.close(); } //// //-------------------------------------------------------------------- @@ -97,7 +96,6 @@ bool clitk::HisImageIO::CanReadFile(const char* FileNameToRead) //-------------------------------------------------------------------- // Read Image Content void clitk::HisImageIO::Read(void * buffer) { - // open file std::ifstream file(m_FileName.c_str(), std::ios::in | std::ios::binary); if ( file.fail() ) @@ -117,10 +115,18 @@ void clitk::HisImageIO::Read(void * buffer) { << file.gcount() << " bytes. The current state is: " << file.rdstate()); } + +//-------------------------------------------------------------------- +bool clitk::HisImageIO::CanWriteFile(const char* FileNameToWrite) +{ std::string filename(FileNameToWrite); + std::string filenameext = GetExtension(filename); + if (filenameext != std::string("his")) return false; + return true; +} //-------------------------------------------------------------------- -// Write Image Information -void clitk::HisImageIO::WriteImageInformation(bool keepOfStream) +// Write Image +void clitk::HisImageIO::Write(const void* buffer) { std::ofstream file(m_FileName.c_str(), std::ios::out | std::ios::binary); if ( file.fail() ) @@ -168,28 +174,8 @@ void clitk::HisImageIO::WriteImageInformation(bool keepOfStream) itkExceptionMacro(<< "Unsupported field type"); break; } + file.write(szHeader, m_HeaderSize); - file.close(); -} - -//-------------------------------------------------------------------- -// Write Image Information -bool clitk::HisImageIO::CanWriteFile(const char* FileNameToWrite) -{ - std::string filename(FileNameToWrite); - std::string filenameext = GetExtension(filename); - if (filenameext != std::string("his")) return false; - return true; -} - -//-------------------------------------------------------------------- -// Write Image -void clitk::HisImageIO::Write(const void * buffer) -{ - std::ofstream file(m_FileName.c_str(), std::ios::out | std::ios::binary | std::ios::ate); - if ( file.fail() ) - itkGenericExceptionMacro(<< "Could not open file (for writing): " << m_FileName); - file.write((const char *)buffer, GetImageSizeInBytes()); file.close(); } ////