Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitkUSProbe.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 MITKUSProbe_H_HEADER_INCLUDED_
18 #define MITKUSProbe_H_HEADER_INCLUDED_
19 
20 #include <MitkUSExports.h>
21 #include <mitkCommon.h>
22 #include <itkObject.h>
23 #include <itkObjectFactory.h>
24 #include <mitkVector.h>
25 
26 namespace mitk {
33  //Be sure to check the isEqualTo() method if you expand this class to see if it needs work!
34  class MITKUS_EXPORT USProbe : public itk::Object
35  {
36  public:
37  mitkClassMacroItkParent(USProbe, itk::Object);
38  itkFactorylessNewMacro(Self)
39  itkCloneMacro(Self)
40  mitkNewMacro1Param(Self, std::string);
41 
46  bool IsEqualToProbe(mitk::USProbe::Pointer probe);
47 
51  void SetDepthAndSpacing(int depth, Vector3D spacing);
52 
57  std::map<int, Vector3D> GetDepthsAndSpacing();
58 
62  void SetDepth(int depth);
63 
67  void RemoveDepth(int depthToRemove);
68 
72  void SetSpacingForGivenDepth(int givenDepth, Vector3D spacing);
73 
78  Vector3D GetSpacingForGivenDepth(int givenDepth);
79 
80  //## getter and setter ##
81 
82  itkGetMacro(Name, std::string);
83  itkSetMacro(Name, std::string);
84 
85  protected:
86  USProbe();
87  USProbe(std::string identifier);
88  virtual ~USProbe();
89 
90  std::string m_Name;
91 
92  // Map containing the depths and the associated spacings as an std::vector with depth as key and spacing as value
93  std::map<int, Vector3D> m_DepthsAndSpacings;
94  };
95 } // namespace mitk
96 #endif
itk::SmartPointer< Self > Pointer
#define mitkNewMacro1Param(classname, type)
Definition: mitkCommon.h:76
DataCollection - Class to facilitate loading/accessing structured data.
std::map< int, Vector3D > m_DepthsAndSpacings
Definition: mitkUSProbe.h:93
#define mitkClassMacroItkParent(className, SuperClassName)
Definition: mitkCommon.h:53
Right now, the US Probe is only a fancy name for a string. Later, it could handle probe specific para...
Definition: mitkUSProbe.h:34
std::string m_Name
Definition: mitkUSProbe.h:90