Medical Imaging Interaction Toolkit  2018.4.99-b7f3afaa
Medical Imaging Interaction Toolkit
mitkNavigationDataSet.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 (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef MITKNAVIGATIONDATASET_H_HEADER_INCLUDED_
14 #define MITKNAVIGATIONDATASET_H_HEADER_INCLUDED_
15 
16 #include <MitkIGTBaseExports.h>
17 #include "mitkBaseData.h"
18 #include "mitkNavigationData.h"
19 
20 namespace mitk {
30  {
31  public:
32 
39  typedef std::vector< std::vector<mitk::NavigationData::Pointer> >::iterator NavigationDataSetIterator;
40 
47  typedef std::vector< std::vector<mitk::NavigationData::Pointer> >::const_iterator NavigationDataSetConstIterator;
48 
50 
51  mitkNewMacro1Param(Self, unsigned int);
52 
60  bool AddNavigationDatas( std::vector<mitk::NavigationData::Pointer> navigationDatas );
61 
69  NavigationData::Pointer GetNavigationDataForIndex( unsigned int index, unsigned int toolIndex ) const;
70 
72  //* \brief Get last mitk::Navigation object for given tool whose timestamp is less than the given timestamp.
73  //* @param toolIndex Index of the tool from which mitk::NavigationData should be returned.
74  //* @param timestamp Timestamp for selecting last object before.
75  //* @return Last mitk::NavigationData with timestamp less than given timestamp, 0 if there is no adequate object.
76  //*/
77  // Method not yet supported!
78  //NavigationData::Pointer GetNavigationDataBeforeTimestamp( mitk::NavigationData::TimeStampType timestamp , unsigned int toolIndex ) const;
79 
88  virtual std::vector< mitk::NavigationData::Pointer > GetDataStreamForTool(unsigned int toolIndex);
89 
98  virtual std::vector< mitk::NavigationData::Pointer > GetTimeStep(unsigned int index) const;
99 
107  unsigned int GetNumberOfTools() const;
108 
117  unsigned int Size() const;
118 
124  virtual NavigationDataSetConstIterator Begin() const;
125 
131  virtual NavigationDataSetConstIterator End() const;
132 
133  // virtual methods, that need to be implemented, but aren't reasonable for NavigationData
134  void SetRequestedRegionToLargestPossibleRegion( ) override;
135  bool RequestedRegionIsOutsideOfTheBufferedRegion( ) override;
136  bool VerifyRequestedRegion( ) override;
137  void SetRequestedRegion( const itk::DataObject *data ) override;
138 
142  bool IsEmpty() const override;
143 
144  //Converts Navigation Data for each tool to a Point Set and adds it to the data storage
145  void ConvertNavigationDataToPointSet() const;
146 
147  protected:
152  NavigationDataSet( unsigned int numTools );
153  ~NavigationDataSet( ) override;
154 
161  std::vector<std::vector<NavigationData::Pointer> > m_NavigationDataVectors;
162 
166  unsigned int m_NumberOfTools;
167  };
168 }
169 
170 #endif // MITKNAVIGATIONDATASET_H_HEADER_INCLUDED_
unsigned int m_NumberOfTools
The Number of Tools that this class is going to support.
std::vector< std::vector< mitk::NavigationData::Pointer > >::iterator NavigationDataSetIterator
This iterator iterates over the distinct time steps in this set.
#define mitkNewMacro1Param(classname, type)
Definition: mitkCommon.h:72
Base of all data objects.
Definition: mitkBaseData.h:37
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:40
Data structure which stores streams of mitk::NavigationData for multiple tools.
#define MITKIGTBASE_EXPORT
std::vector< std::vector< NavigationData::Pointer > > m_NavigationDataVectors
Holds all the mitk::NavigationData objects managed by this class.
std::vector< std::vector< mitk::NavigationData::Pointer > >::const_iterator NavigationDataSetConstIterator
This iterator iterates over the distinct time steps in this set. And is const.