diff --git a/Documentation/Doxygen/Modules/DataTreeAndIterators.dia b/Documentation/Doxygen/Modules/DataTreeAndIterators.dia
deleted file mode 100644
index 36154f9f6b..0000000000
Binary files a/Documentation/Doxygen/Modules/DataTreeAndIterators.dia and /dev/null differ
diff --git a/Documentation/Doxygen/Modules/DataTreeAndIterators.png b/Documentation/Doxygen/Modules/DataTreeAndIterators.png
deleted file mode 100644
index ed59e55435..0000000000
Binary files a/Documentation/Doxygen/Modules/DataTreeAndIterators.png and /dev/null differ
diff --git a/Documentation/Doxygen/Modules/DataTreeNodeFactoryMechanism.png b/Documentation/Doxygen/Modules/DataTreeNodeFactoryMechanism.png
deleted file mode 100644
index aaa32efca7..0000000000
Binary files a/Documentation/Doxygen/Modules/DataTreeNodeFactoryMechanism.png and /dev/null differ
diff --git a/Documentation/Doxygen/Modules/DataTreeNodeFactoryMechanism.vsd b/Documentation/Doxygen/Modules/DataTreeNodeFactoryMechanism.vsd
deleted file mode 100644
index 1a52334470..0000000000
Binary files a/Documentation/Doxygen/Modules/DataTreeNodeFactoryMechanism.vsd and /dev/null differ
diff --git a/Documentation/Doxygen/Modules/ModuleDataManagement.dox b/Documentation/Doxygen/Modules/ModuleDataManagement.dox
deleted file mode 100644
index e6f919743f..0000000000
--- a/Documentation/Doxygen/Modules/ModuleDataManagement.dox
+++ /dev/null
@@ -1,27 +0,0 @@
-/**
-
-\defgroup DataManagement Data Management Classes
-\ingroup Core
-
-\brief This category includes the data classes themselves (images, surfaces,
-etc.) as well as management classes to organize the data during run-time in a
-tree structure, called the data tree (mitk::DataTree).
-
-\section DataManagementOverview Overview
-
-There are two things in MITK: data itself and the organization of data in a
-tree. The data tree is used for communication between different parts of an
-application: The renderer uses it to find the things to render, functionalities
-use it to find "all images" or "all surfaces", and the event handling uses it to
-distribute events to interactors.
-
-For a list of all possible kind of data, look at \ref Data. \ref IO lists
-classes that help to read and write data sets.
-
-For an explanation of the data tree, iterators and tree nodes, refer to
-\ref DataTree.
-
-\ref Geometry groups all classes that describe the spatial/temporal position and
-orientation of data sets.
-
-*/
diff --git a/Documentation/Doxygen/Modules/ModuleDataTree.dox b/Documentation/Doxygen/Modules/ModuleDataTree.dox
deleted file mode 100644
index 2db8d6bf83..0000000000
--- a/Documentation/Doxygen/Modules/ModuleDataTree.dox
+++ /dev/null
@@ -1,58 +0,0 @@
-/**
-
-\defgroup DataTree Data Tree Classes
-\ingroup DataManagement
-
-\brief This subcategory includes the data tree classes, which organizes the data during run-time in a tree structure.
-
-\section overviewDataTree Overview
-
-All data objects, like images or surfaces, are contained in DataNodes. These
-DataNodes describe the data itself (mitk::BaseData), how they can be rendered in
-2D or 3D (a list of mitk::Mapper), what mitk::Interactor is associated with it, and a list
-of arbirary properties (name, visibility, opacity, etc.). Information about the
-position of a data object in space/time is stored in a Geometry, which is
-attached to the data object itself, not to the node.
-
-Tree nodes are organized in a data tree for communication between different
-parts of an application, e.g. functionalities and the rendering process.
-mitk::DataTree is just a typedef to the ITK tree container class. To access and
-modify data trees, we use iterators (mitk::DataTreeIteratorBase).
-
-To clarify the relation between the tree, its nodes and iterators, have a look
-at the following diagram. The main point of this diagram is, that you need an
-iterator to change the tree. A tree node does not know about the tree!
-Once again: a tree node does not know about the tree!
-
-\image html DataTreeAndIterators.png "The data tree, its nodes and iterators"
-
-To modify a tree, you can use an iterator's Add(), Set() or Remove() methods
-(among others):
-
-\code
- mitk::DataTreeIteratorBase* iterator = GetAnIterator(); //whatever
- mitk::DataNode* node = GetMyNode();
- mitk::DataNode* node2 = GetMyNode();
-
- if ( iterator.IsNotNull() )
- {
- iterator->Add( node ); // add as child to the current position
-
- iterator->Set( node2 ); // set the node of the current position
-
- iterator->Remove(); // remove the current position (and all its children)
- }
-
-\endcode
-
-To access the data behind an iterator, use Get():
-
-\code
- if ( iterator.IsNotNull() )
- {
- mitk::DataNode* datanode = iterator->Get();
- mitk::BaseData* = datanode->GetData();
- }
-\endcode
-
-*/
diff --git a/Documentation/Doxygen/Modules/ModuleDatamanagementIO.dox b/Documentation/Doxygen/Modules/ModuleDatamanagementIO.dox
deleted file mode 100644
index c0c32af17a..0000000000
--- a/Documentation/Doxygen/Modules/ModuleDatamanagementIO.dox
+++ /dev/null
@@ -1,258 +0,0 @@
-/**
- \defgroup IO IO Classes
- \ingroup DataManagement
-
- \brief This subcategory includes the IO classes to read or write data objects.
-
- Available sections:
- - \ref DataNodeFactory
- - \ref XMLWriterAndXMLReader
- - \ref XMLFile
- - \ref XMLWriter
- - \ref XMLWriterCodeSnippets
- - \ref XMLReader
- - \ref XMLReaderCodeSnippets
-
- \section DataNodeFactory DataNodeFactory
-
- The mitk::DataNodeFactory creates instances of mitk::DataNodes filled with data read from a given file.
- This class reads files, creates an appropriate mitk::BaseData and adds the BaseData to a mitk::DataNode.
- This filter may produce one or more outputs (i.e. mitk::DataNodes). The number of generated nodes can be retrieved by a call of GetNumberOfOutputs().
- If you want to add a new file type, you have to register the factory of the file reader in the class mitk::BaseDataIO.
-
- \image html DataNodeFactoryMechanism.png "A short overview of the factory mechanism of the DataNodeFactory."
-
- The mitk::DataNodeFactory calls the mitk::BaseDataIO.
- BaseDataIO registers the defined factories of the file readers.
- After registration each registered factory will be asked if it can read the file specified by the filename.
- If the asked factory can read the file it instantiates the adequate reader. The reader reads the file and returns as output a pointer of BaseData.
- It is possible that a reader has more than one output. The BaseData is stored in a vector of BaseData.
- The pointer of this vector is returned to the DataNodeFactory. A node is created for each element of the vector.
-
- Between BaseDataIO and the ObjectFactoryBase there is still an adapter (mitk::IOAdapter).
- The instantiated reader returns a pointer of mitk::BaseProcess. In the class BaseProcess there couldn't be defined the necessary function CanReadFile().
- So we need an adapter class to handle this.
-
- \section XMLWriterAndXMLReader XMLWriter and XMLReader
-
- The mitk::XMLWriter and mitk::XMLReader give the possibility to write and to read XML files.
- These classes were developed with the aim to store and to load the MITK datatree (mitk::DataTree).
- To avoid external dependencies of the MITK these classes are realized without XML parsers like DOM or SAX.
- Only dependencies to ITK and VTK are existing.
-
- \subsection XMLFile XML file
-
- Mentioned before, the focus of this classes is to store and to load the MITK datatree (mitk::DataTree) with XML.
- In the following you can see the body of a typical XML file of a MITK image that was kept as a node in the datatree.
-
- \image html SceneXML.png "A typical XML file of a MITK image."
-
- Initial point is the DataTree class. So \ is the root element.
- The hierarchy of the datatree is reflected again in the hierarchy of the XML nodes.
- At large the XML nodes represent classes. The name of the class is stored with the XML attribute "CLASS_NAME".
- Generally data is stored with attributes.
-
- \subsection XMLWriter XMLWriter
-
- Technically the XMLWriter class is derived from mitkBaseXMLWriter class. The constructor needs the filename of the XML file at least.
-
- The following diagram displays the main components:
- \image html XMLWriterOverview.png "Classes related to XMLWriter"
-
- For writing a XML file the following funtions are important.
-
- \li mitk::XMLIO::WriteXML()
- \li mitk::XMLIO::WriteXMLData()
- \li mitk::BaseXMLWriter::BeginNode()
- \li mitk::BaseXMLWriter::EndNode()
- \li mitk::XMLWriter::WriteProperty()
-
- Easily speaking the mitk::XMLIO class manages the input and the output of the XML file.
- New classes that should be written to the XML file have to be derived from the XMLIO class.
- New classes should also be declared in the mitk::MapClassIDToClassName class.
- Calling the function WriteXML() writes automatically a complete node of the referenced class to the XML file.
- The function WriteXML() calls sequential the functions BeginNode(), WriteProperty(), WriteXMLData() and EndNode().
- A new XML node is initialized with the function BeginNode("nameOfNewNode").
- The function WriteXMLData() writes the data of the referenced class.
- This function has to be overwritten in new classes. The data is stored with XML attributes.
- These attributes can be written with the function WriteProperty("key", value).
- The parameter "key" specifies the name of the attribute and the parameter "value" the data.
- Different datatypes are supported. For details you can look in the mitk::BaseXMLWriter and mitk::XMLWriter class.
- The function EndNode() writes the end tag of the started XML node to the XML file.
-
- It is also possible to write custom data apart from classes to the XML file (e.g. data of complex datatypes).
- In this case you can call BeginNode(),(WriteProperty()), (WriteXMLData()) and EndNode() manually to write XML nodes and attributes.
- But watch out for the closing tag of each XML node. Each start tag needs an end tag.
-
- It is prefered to define common key words (e.g. name of attriubtes) in the XMLNodes class.
- Class specific key words should be defined in the class itself (e.g. XML_NODE_NAME).
-
- The nodes of the datatree contain different data like images, surfaces or vessels.
- These base data is stored in the respectively fitting dataformat.
- Such files are called source files and are referenced in the XML file.
-
- To manage these references there are different functions implemented in the mitk::XMLWriter class.
-
- \li mitk::XMLWriter::SetSaveSourceFiles()
- \li mitk::XMLWriter::SetSourceFileName()
- \li mitk::XMLWriter::SetSubFolder()
- \li mitk::XMLWriter::SetOriginPath()
- \li mitk::XMLWriter::GetNewFileName()
- \li mitk::XMLWriter::GetRelativePath()
- \li mitk::XMLWriter::GetAbsolutePath()
- \li mitk::XMLWriter::GetSubFolder()
-
- A special feature of the XMLWriter is to store the source files relative to the XML file.
- If no filename is set a new filename is generated.
-
- \subsection XMLWriterCodeSnippets XMLWriter code snippets
-
- Initialize and start the XMLWriter
-
- \code
- #include
- #include
-
- //...
-
- const *char filename = "Scene.xml";
- mitk::XMLWriter xmlWriter(filename);
- mitk::myClass::Pointer myClass;
-
- xmlWriter.BeginNode("root");
- myClass->WriteXML(xmlWriter);
- xmlWriter.EndNode();
- \endcode
-
-
- Overwrite the function WriteXMLData of a new class
-
- myClass.h
-
- \code
- #include
-
- class myClass: public XMLIO
-
- public
-
- //...
-
- static const std::string XML_NODE_NAME;
-
- virtual bool WriteXMLData(XMLWriter &xmlWriter);
- \endcode
-
- myClass.cpp
-
- \code
- #include
-
- //...
-
- static const std::string XML_NODE_NAME = "myClass";
- // defines the XML nodename
-
- bool mitk::myClass::WriteXMLData(XMLWriter &xmlWriter);
- {
- xmlWriter.WriteProperty("MY_NUMBER", this->GetNumber());
- xmlWriter.BeginNode("uselessNode");
- xmlWriter.WriteProperty("USELESS_INFO", "useless info");
- xmlWriter.EndNode();
- return true;
- }
- \endcode
-
- \subsection XMLReader XMLReader
-
- The mitk::XMLReader reads a stream and parses XML element tags and corresponding attributes.
- Technically the XMLReader class is derived from vtkXMLParser class.
- The constructor needs the filename ((path)+filename) of the XML file and a datatree iterator (mitk::DataTreeIteratorBase) of the datatree.
-
- The following diagram displays the main components:
- \image html XMLReaderOverview.png "Classes related to XMLReader"
-
- For reading a XML file the following funtions are important.
-
- \li mitk::XMLIO::ReadXMLData()
- \li mitk::XMLReader::Goto()
- \li mitk::XMLReader::GotoNext()
- \li mitk::XMLReader::GotoParent()
- \li mitk::XMLReader::CreateObject()
- \li mitk::XMLReader::GetAttribute()
-
- As mentioned in the section before the mitk::XMLIO class manages the input and the output of the XML file.
- New classes that should be read data from the XML file have to be derived from the mitkXMLIO class.
- In new classes the function ReadXMLData() have to be overwritten.
- Easily speaking this function reads the data from the XML file, provides for instantiation of new objects and sets the data.
- With the Goto functions it is possible to navigate the parser through the XML document.
- To get the root XML node call the function Goto("root"). Be careful with the hierarchy of the XML nodes and the actual position of the parser.
- The function Goto() is looking always for child nodes and function GotoNext() is looking for further XML nodes in the same hierarchy.
- For creation of new objects of the read class (the class is specified in the XML attribute "CLASS_NAME") the function CreateObject() has to be called.
- The creation of the asked object is only successful when the new class has already be defined in the mitk::ObjectFactory class.
- If the asked XML node is reached, the data stored in XML attributes, can be read by the function GetAttribute("key", value).
- The parameter "key" specifies the name of the attribute and the parameter "value" keeps the data.
- Different datatypes are supported. For details you can look in the mitk::XMLReader class.
- When the parser should climb up in the XML tree hierarchy the function GotoParent() does a good job.
-
- The source file management
-
- If the reference to the source file is stored relative to the XML file you need the path of the XML file to calculate the absolute path.
- This operation is done automatically and you get the absolute path when calling the attribute "FILENAME".
- It is also possible to get the path of the source file by calling the function GetSourceFilePath().
-
- \subsection XMLReaderCodeSnippets XMLReader code snippets
-
- Initialize and start the XMLReader
-
- \code
- #include
-
- //...
-
- std::string filename = "Scene.xml";
- mitk::DataTreePreOrderIterator it(m_Tree);
- mitk::XMLReader::Load(&it, filename);
- \endcode
-
-
- Overwrite the function ReadXMLData of a new class
-
- myClass.h
-
- \code
- #include
-
- class myClass: public XMLIO
-
- public
-
- //...
-
- virtual bool ReadXMLData(XMLReader &xmlReader);
- \endcode
-
- myClass.cpp
-
- \code
- #include
- #include
-
- //...
-
- bool mitk::myClass::ReadXMLData(XMLReader &xmlReader);
- {
- int value;
-
- if(xmlReader.Goto("myClass")){
- mitk::fictiveClass::Pointer myFictiveObject = dynamic_cast(xmlReader.CreateObject().GetPointer());
- if (xmlReader.GetAttribute("myNumber", value))
- this->SetNumber(value);
- myFictiveObject->ReadXMLData(xmlReader); // further elements can be read
- xmlReader.GotoParent(); // now we are back on parent tag
- }
- return true;
- }
- \endcode
-
-*/
diff --git a/Documentation/Doxygen/Modules/SceneXML.png b/Documentation/Doxygen/Modules/SceneXML.png
deleted file mode 100644
index 42136c722d..0000000000
Binary files a/Documentation/Doxygen/Modules/SceneXML.png and /dev/null differ
diff --git a/Documentation/Doxygen/Modules/XMLReaderOverview.png b/Documentation/Doxygen/Modules/XMLReaderOverview.png
deleted file mode 100644
index 8d5789d4c1..0000000000
Binary files a/Documentation/Doxygen/Modules/XMLReaderOverview.png and /dev/null differ
diff --git a/Documentation/Doxygen/Modules/XMLReaderOverview.vsd b/Documentation/Doxygen/Modules/XMLReaderOverview.vsd
deleted file mode 100644
index 474dedbcc0..0000000000
Binary files a/Documentation/Doxygen/Modules/XMLReaderOverview.vsd and /dev/null differ
diff --git a/Documentation/Doxygen/Modules/XMLWriterOverview.png b/Documentation/Doxygen/Modules/XMLWriterOverview.png
deleted file mode 100644
index a8b62f592e..0000000000
Binary files a/Documentation/Doxygen/Modules/XMLWriterOverview.png and /dev/null differ
diff --git a/Documentation/Doxygen/Modules/XMLWriterOverview.vsd b/Documentation/Doxygen/Modules/XMLWriterOverview.vsd
deleted file mode 100644
index 54a382ef99..0000000000
Binary files a/Documentation/Doxygen/Modules/XMLWriterOverview.vsd and /dev/null differ