Medical Imaging Interaction Toolkit  2024.06.00
Medical Imaging Interaction Toolkit
mitk::ContourModelWriter Class Reference

XML-based writer for mitk::ContourModels. More...

#include <mitkContourModelWriter.h>

Inheritance diagram for mitk::ContourModelWriter:
Collaboration diagram for mitk::ContourModelWriter:

Public Member Functions

 ContourModelWriter (bool writeXMLHeader=true)
 
 ~ContourModelWriter () override
 
void Write () override
 Write the base data to the specified location or output stream. More...
 
void Write () override=0
 Write the base data to the specified location or output stream. More...
 
- Public Member Functions inherited from mitk::AbstractFileWriter
void SetInput (const BaseData *data) override
 Set the input data for writing. More...
 
const BaseDataGetInput () const override
 Get the input data set via SetInput(). More...
 
void SetOutputLocation (const std::string &location) override
 Set the output location. More...
 
std::string GetOutputLocation () const override
 Get the current output location. More...
 
void SetOutputStream (const std::string &location, std::ostream *os) override
 Set an output stream for writing. More...
 
std::ostream * GetOutputStream () const override
 Get the output stream. More...
 
ConfidenceLevel GetConfidenceLevel () const override
 The confidence level of the reader or writer implementation. More...
 
MimeType GetRegisteredMimeType () const
 
Options GetOptions () const override
 returns a list of the supported options More...
 
us::Any GetOption (const std::string &name) const override
 
void SetOptions (const Options &options) override
 
void SetOption (const std::string &name, const us::Any &value) override
 
void AddProgressCallback (const ProgressCallback &callback) override
 
void RemoveProgressCallback (const ProgressCallback &callback) override
 
us::ServiceRegistration< IFileWriterRegisterService (us::ModuleContext *context=us::GetModuleContext())
 
void UnregisterService ()
 
- Public Member Functions inherited from mitk::IFileWriter
 ~IFileWriter () override
 
- Public Member Functions inherited from mitk::IFileIO
virtual ~IFileIO ()
 

Static Public Attributes

static const char * XML_CONTOURMODEL
 
static const char * XML_HEAD
 
static const char * XML_GEOMETRY_INFO
 
static const char * XML_DATA
 
static const char * XML_TIME_STEP
 
static const char * XML_CONTROL_POINTS
 
static const char * XML_POINT
 
static const char * XML_X
 
static const char * XML_Y
 
static const char * XML_Z
 

Protected Member Functions

 ContourModelWriter (const ContourModelWriter &other)
 
mitk::ContourModelWriterClone () const override
 
template<typename T >
std::string ConvertToString (T value)
 
void WriteXML (const mitk::ContourModel *contourModel, std::ostream &out)
 
void WriteGeometryInformation (const mitk::TimeGeometry *geometry, std::ostream &out)
 
void WriteXMLHeader (std::ostream &file)
 
void WriteStartElement (const char *const tag, std::ostream &file)
 
void WriteStartElementWithAttribut (const char *const tag, std::vector< std::string > attributes, std::vector< std::string > values, std::ostream &file)
 
void WriteEndElement (const char *const tag, std::ostream &file, const bool &indent=true)
 
void WriteCharacterData (const char *const data, std::ostream &file)
 
void WriteStartElement (std::string &tag, std::ostream &file)
 
void WriteEndElement (std::string &tag, std::ostream &file, const bool &indent=true)
 
void WriteCharacterData (std::string &data, std::ostream &file)
 
void WriteIndent (std::ostream &file)
 
- Protected Member Functions inherited from mitk::AbstractFileWriter
 ~AbstractFileWriter () override
 
 AbstractFileWriter (const AbstractFileWriter &other)
 
 AbstractFileWriter (const std::string &baseDataType)
 
 AbstractFileWriter (const std::string &baseDataType, const CustomMimeType &mimeType, const std::string &description)
 
virtual us::ServiceProperties GetServiceProperties () const
 
virtual us::ServiceRegistration< CustomMimeTypeRegisterMimeType (us::ModuleContext *context)
 
void SetMimeType (const CustomMimeType &mimeType)
 
const CustomMimeTypeGetMimeType () const
 
void SetMimeTypePrefix (const std::string &prefix)
 
std::string GetMimeTypePrefix () const
 
void SetDescription (const std::string &description)
 Sets a human readable description of this writer. More...
 
std::string GetDescription () const
 
void SetDefaultOptions (const Options &defaultOptions)
 
Options GetDefaultOptions () const
 
void SetRanking (int ranking)
 Set the service ranking for this file writer. More...
 
int GetRanking () const
 
void SetBaseDataType (const std::string &baseDataType)
 Sets the name of the mitk::Basedata that this writer is able to handle. More...
 
virtual std::string GetBaseDataType () const
 
void ValidateOutputLocation () const
 

Protected Attributes

bool m_WriteXMLHeader
 
unsigned int m_IndentDepth
 
unsigned int m_Indent
 

Additional Inherited Members

- Public Types inherited from mitk::IFileIO
enum  ConfidenceLevel { Unsupported, PartiallySupported, Supported }
 A confidence level describing the confidence of the reader or writer in handling the given data. More...
 
typedef std::map< std::string, us::AnyOptions
 Options for reading or writing data. More...
 
typedef mitk::MessageAbstractDelegate1< float > ProgressCallback
 
- Static Public Member Functions inherited from mitk::IFileWriter
static std::string PROP_BASEDATA_TYPE ()
 Service property name for the supported mitk::BaseData sub-class. More...
 
- Static Public Member Functions inherited from mitk::IFileIO
static std::string PROP_DESCRIPTION ()
 Service property name for a description. More...
 
static std::string PROP_MIMETYPE ()
 Service property name for the mime-type associated with this file writer. More...
 

Detailed Description

XML-based writer for mitk::ContourModels.

XML-based writer for mitk::ContourModels. Multiple ContourModels can be written in a single XML file by simply setting multiple inputs to the filter.

The xml file will look like:

<?xml version="1.0" encoding="utf-8"?>
<contourModel>
<head>
<geometryInfo>
</geometryInfo>
</head>
<data>
<timestep n="0">
<controlPoints>
<point>
<x></x>
<y></y>
<z></z>
</point>
</controlPoint>
</timestep>
</data>
</contourModel>

Definition at line 56 of file mitkContourModelWriter.h.

Constructor & Destructor Documentation

◆ ContourModelWriter() [1/2]

mitk::ContourModelWriter::ContourModelWriter ( bool  writeXMLHeader = true)
explicit

◆ ~ContourModelWriter()

mitk::ContourModelWriter::~ContourModelWriter ( )
override

◆ ContourModelWriter() [2/2]

mitk::ContourModelWriter::ContourModelWriter ( const ContourModelWriter other)
protected

Member Function Documentation

◆ Clone()

mitk::ContourModelWriter* mitk::ContourModelWriter::Clone ( ) const
overrideprotectedvirtual

◆ ConvertToString()

template<typename T >
std::string mitk::ContourModelWriter::ConvertToString ( value)
protected

Converts an arbitrary type to a string. The type has to support the << operator. This works fine at least for integral data types as float, int, long etc.

Parameters
valuethe value to convert
Returns
the string representation of value

◆ Write() [1/2]

void mitk::ContourModelWriter::Write ( )
overridevirtual

Write the base data to the specified location or output stream.

This method must be implemented for each specific writer. Call GetOutputStream() first and check for a non-null stream to write to. If the output stream is nullptr, use GetOutputLocation() to write to a local file-system path.

If the reader cannot use streams directly, use GetLocalFile() to retrieve a temporary local file name instead.

Exceptions
mitk::Exception
See also
GetLocalFile()
IFileWriter::Write()

Implements mitk::AbstractFileWriter.

◆ Write() [2/2]

void mitk::AbstractFileWriter::Write
override

Write the base data to the specified location or output stream.

This method must be implemented for each specific writer. Call GetOutputStream() first and check for a non-null stream to write to. If the output stream is nullptr, use GetOutputLocation() to write to a local file-system path.

If the reader cannot use streams directly, use GetLocalFile() to retrieve a temporary local file name instead.

Exceptions
mitk::Exception
See also
GetLocalFile()
IFileWriter::Write()

◆ WriteCharacterData() [1/2]

void mitk::ContourModelWriter::WriteCharacterData ( const char *const  data,
std::ostream &  file 
)
protected

Write character data inside a tag.

◆ WriteCharacterData() [2/2]

void mitk::ContourModelWriter::WriteCharacterData ( std::string &  data,
std::ostream &  file 
)
protected

Write character data inside a tag.

◆ WriteEndElement() [1/2]

void mitk::ContourModelWriter::WriteEndElement ( const char *const  tag,
std::ostream &  file,
const bool &  indent = true 
)
protected

Write an end element tag End-Elements following character data should pass indent = false.

◆ WriteEndElement() [2/2]

void mitk::ContourModelWriter::WriteEndElement ( std::string &  tag,
std::ostream &  file,
const bool &  indent = true 
)
protected

Write an end element tag

◆ WriteGeometryInformation()

void mitk::ContourModelWriter::WriteGeometryInformation ( const mitk::TimeGeometry geometry,
std::ostream &  out 
)
protected

Writes the geometry information of the TimeGeometry to an outstream. The root tag is not included.

Parameters
geometrythe TimeGeometry of the contour.
outthe stream to write to.

◆ WriteIndent()

void mitk::ContourModelWriter::WriteIndent ( std::ostream &  file)
protected

Writes empty spaces to the stream according to m_IndentDepth and m_Indent

◆ WriteStartElement() [1/2]

void mitk::ContourModelWriter::WriteStartElement ( const char *const  tag,
std::ostream &  file 
)
protected

Write a start element tag

◆ WriteStartElement() [2/2]

void mitk::ContourModelWriter::WriteStartElement ( std::string &  tag,
std::ostream &  file 
)
protected

Write a start element tag

◆ WriteStartElementWithAttribut()

void mitk::ContourModelWriter::WriteStartElementWithAttribut ( const char *const  tag,
std::vector< std::string >  attributes,
std::vector< std::string >  values,
std::ostream &  file 
)
protected

◆ WriteXML()

void mitk::ContourModelWriter::WriteXML ( const mitk::ContourModel contourModel,
std::ostream &  out 
)
protected

Writes an XML representation of the given point set to an outstream. The XML-Header an root node is not included!

Parameters
contourModelthe point set to be converted to xml
outthe stream to write to.

◆ WriteXMLHeader()

void mitk::ContourModelWriter::WriteXMLHeader ( std::ostream &  file)
protected

Writes an standard xml header to the given stream.

Parameters
filethe stream in which the header is written.

Member Data Documentation

◆ m_Indent

unsigned int mitk::ContourModelWriter::m_Indent
protected

Definition at line 135 of file mitkContourModelWriter.h.

◆ m_IndentDepth

unsigned int mitk::ContourModelWriter::m_IndentDepth
protected

Definition at line 133 of file mitkContourModelWriter.h.

◆ m_WriteXMLHeader

bool mitk::ContourModelWriter::m_WriteXMLHeader
protected

Definition at line 131 of file mitkContourModelWriter.h.

◆ XML_CONTOURMODEL

const char* mitk::ContourModelWriter::XML_CONTOURMODEL
static

Definition at line 138 of file mitkContourModelWriter.h.

◆ XML_CONTROL_POINTS

const char* mitk::ContourModelWriter::XML_CONTROL_POINTS
static

Definition at line 148 of file mitkContourModelWriter.h.

◆ XML_DATA

const char* mitk::ContourModelWriter::XML_DATA
static

Definition at line 144 of file mitkContourModelWriter.h.

◆ XML_GEOMETRY_INFO

const char* mitk::ContourModelWriter::XML_GEOMETRY_INFO
static

Definition at line 142 of file mitkContourModelWriter.h.

◆ XML_HEAD

const char* mitk::ContourModelWriter::XML_HEAD
static

Definition at line 140 of file mitkContourModelWriter.h.

◆ XML_POINT

const char* mitk::ContourModelWriter::XML_POINT
static

Definition at line 150 of file mitkContourModelWriter.h.

◆ XML_TIME_STEP

const char* mitk::ContourModelWriter::XML_TIME_STEP
static

Definition at line 146 of file mitkContourModelWriter.h.

◆ XML_X

const char* mitk::ContourModelWriter::XML_X
static

Definition at line 152 of file mitkContourModelWriter.h.

◆ XML_Y

const char* mitk::ContourModelWriter::XML_Y
static

Definition at line 154 of file mitkContourModelWriter.h.

◆ XML_Z

const char* mitk::ContourModelWriter::XML_Z
static

Definition at line 156 of file mitkContourModelWriter.h.


The documentation for this class was generated from the following file: