Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
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