Serializes mitk::Image for mitk::SceneIO. More...
#include <mitkImageSerializer.h>
Public Member Functions | |
mitkClassMacro (ImageSerializer, BaseDataSerializer) | |
virtual std::string | Serialize () |
Serializes given BaseData object. | |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
ImageSerializer () | |
virtual | ~ImageSerializer () |
Serializes mitk::Image for mitk::SceneIO.
Definition at line 31 of file mitkImageSerializer.h.
mitk::ImageSerializer::ImageSerializer | ( | ) | [protected] |
Definition at line 25 of file mitkImageSerializer.cpp.
{ }
mitk::ImageSerializer::~ImageSerializer | ( | ) | [protected, virtual] |
Definition at line 29 of file mitkImageSerializer.cpp.
{ }
mitk::ImageSerializer::mitkClassMacro | ( | ImageSerializer | , |
BaseDataSerializer | |||
) |
static Pointer mitk::ImageSerializer::New | ( | ) | [static] |
std::string mitk::ImageSerializer::Serialize | ( | ) | [virtual] |
Serializes given BaseData object.
This should be overwritten by specific sub-classes.
Reimplemented from mitk::BaseDataSerializer.
Definition at line 33 of file mitkImageSerializer.cpp.
References MITK_ERROR, and mitk::ImageWriter::New().
{ const Image* image = dynamic_cast<const Image*>( m_Data.GetPointer() ); if (!image) { MITK_ERROR << " Object at " << (const void*) this->m_Data << " is not an mitk::Image. Cannot serialize as image."; return ""; } std::string filename( this->GetUniqueFilenameInWorkingDirectory() ); std::cout << "creating file " << filename << " in " << m_WorkingDirectory << std::endl; filename += "_"; filename += m_FilenameHint; std::string fullname(m_WorkingDirectory); fullname += Poco::Path::separator(); fullname += filename; try { ImageWriter::Pointer writer = ImageWriter::New(); writer->SetFileName( fullname ); writer->SetExtension(".pic"); writer->SetInput( const_cast<Image*>(image) ); // bad writer design?? writer->Write(); fullname = writer->GetFileName(); } catch (std::exception& e) { MITK_ERROR << " Error serializing object at " << (const void*) this->m_Data << " to " << fullname << ": " << e.what(); return ""; } return Poco::Path(fullname).getFileName();// + ".pic"; }