Public Member Functions | Static Public Member Functions | Protected Member Functions

mitk::ImageSerializer Class Reference

Serializes mitk::Image for mitk::SceneIO. More...

#include <mitkImageSerializer.h>

Inheritance diagram for mitk::ImageSerializer:
Inheritance graph
[legend]
Collaboration diagram for mitk::ImageSerializer:
Collaboration graph
[legend]

List of all members.

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 ()

Detailed Description

Serializes mitk::Image for mitk::SceneIO.

Definition at line 31 of file mitkImageSerializer.h.


Constructor & Destructor Documentation

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.

{
}

Member Function Documentation

mitk::ImageSerializer::mitkClassMacro ( ImageSerializer  ,
BaseDataSerializer   
)
static Pointer mitk::ImageSerializer::New (  ) [static]
std::string mitk::ImageSerializer::Serialize (  ) [virtual]

Serializes given BaseData object.

Returns:
the filename of the newly created file.

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

The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines