Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Macros Modules Pages
mitkConnectomicsNetworkConverter.h
Go to the documentation of this file.
1 /*===================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center,
6 Division of Medical and Biological Informatics.
7 All rights reserved.
8 
9 This software is distributed WITHOUT ANY WARRANTY; without
10 even the implied warranty of MERCHANTABILITY or FITNESS FOR
11 A PARTICULAR PURPOSE.
12 
13 See LICENSE.txt or http://www.mitk.org for details.
14 
15 ===================================================================*/
16 
17 #ifndef mitkConnectomicsNetworkConverter_h
18 #define mitkConnectomicsNetworkConverter_h
19 
20 #include <itkObject.h>
21 #include <itkObjectFactory.h>
22 #include <itkMacro.h>
23 
24 #include "mitkCommon.h"
25 
26 #include <MitkConnectomicsExports.h>
27 
29 
30 namespace mitk
31 {
34  class MITKCONNECTOMICS_EXPORT ConnectomicsNetworkConverter : public itk::Object
35  {
36  public:
37 
42  itkFactorylessNewMacro(Self)
43  itkCloneMacro(Self)
44 
45  // Typedefs
49  typedef boost::graph_traits<NetworkType>::vertex_iterator VertexIteratorType;
50  typedef boost::graph_traits<NetworkType>::adjacency_iterator AdjacencyIteratorType;
51  typedef std::map<EdgeDescriptorType, int> EdgeIndexStdMapType;
52  typedef boost::associative_property_map< EdgeIndexStdMapType > EdgeIndexMapType;
53  typedef boost::iterator_property_map< std::vector< double >::iterator, EdgeIndexMapType > EdgeIteratorPropertyMapType;
54  typedef boost::property_map< NetworkType, boost::vertex_index_t>::type VertexIndexMapType;
55  typedef boost::iterator_property_map< std::vector< double >::iterator, VertexIndexMapType > VertexIteratorPropertyMapType;
56 
57  //Macro
58  itkSetObjectMacro( Network, mitk::ConnectomicsNetwork );
59 
60  // Conversion Getters
61  vnl_matrix<double> GetNetworkAsVNLAdjacencyMatrix();
62  vnl_matrix<double> GetNetworkAsVNLDegreeMatrix();
63 
64  protected:
65 
68  ~ConnectomicsNetworkConverter();
69 
71  // The connectomics network, which is converted
72  mitk::ConnectomicsNetwork::Pointer m_Network;
73  };
74 
75 }// end namespace mitk
76 
77 #endif // mitkConnectomicsNetworkConverter_h
std::map< EdgeDescriptorType, int > EdgeIndexStdMapType
STL namespace.
DataCollection - Class to facilitate loading/accessing structured data.
boost::graph_traits< NetworkType >::adjacency_iterator AdjacencyIteratorType
boost::property_map< NetworkType, boost::vertex_index_t >::type VertexIndexMapType
mitk::ConnectomicsNetwork::VertexDescriptorType VertexDescriptorType
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
boost::associative_property_map< EdgeIndexStdMapType > EdgeIndexMapType
mitk::ConnectomicsNetwork::EdgeDescriptorType EdgeDescriptorType
boost::iterator_property_map< std::vector< double >::iterator, EdgeIndexMapType > EdgeIteratorPropertyMapType
mitk::ConnectomicsNetwork::NetworkType NetworkType
A class giving functions for conversion of connectomics networks into different formats.
Connectomics Network Class.
boost::graph_traits< NetworkType >::vertex_iterator VertexIteratorType
boost::iterator_property_map< std::vector< double >::iterator, VertexIndexMapType > VertexIteratorPropertyMapType