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
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