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";
}
1.7.2