PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusOptimetConoProbeMeasurer.h
Go to the documentation of this file.
1 /*=Plus=header=begin======================================================
2 Program: Plus
3 Copyright (c) Laboratory for Percutaneous Surgery. All rights reserved.
4 See License.txt for details.
5 =========================================================Plus=header=end*/
6 
7 /*========================================================================
8 Date: Ag 2015
9 Authors include:
10 - Mikael Brudfors [*] brudfors@hggm.es
11 - Laura Sanz [*] lsanz@hggm.es
12 - Veronica Garcia [*][ç] vgarcia@hggm.es
13 - Javier Pascau [*][ç] jpascau@hggm.es
14 [*] Laboratorio de Imagen Medica, Hospital Gregorio Maranon - http://image.hggm.es/
15 [ç] Departamento de Bioingeniería e Ingeniería Aeroespacial. Universidad Carlos III de Madrid
16 ==========================================================================*/
17 
18 #ifndef __vtkPlusOptimetConoProbeMeasurer_h
19 #define __vtkPlusOptimetConoProbeMeasurer_h
20 
21 #include "vtkPlusDataCollectionExport.h"
22 
23 #include "vtkPlusDevice.h"
24 
33 class vtkMultiThreader;
34 class ISmart;
35 
36 class vtkPlusDataCollectionExport vtkPlusOptimetConoProbeMeasurer : public vtkPlusDevice
37 {
38 public:
39 
42  void PrintSelf( ostream& os, vtkIndent indent );
43 
44  virtual bool IsTracker() const { return true; }
45 
48 
51 
53  virtual PlusStatus ReadConfiguration(vtkXMLDataElement* config);
54 
56  virtual PlusStatus WriteConfiguration(vtkXMLDataElement* config);
57 
59  PlusStatus Start();
60 
62  PlusStatus Stop();
63 
64  vtkSetMacro(LaserPower, UINT16);
65  vtkSetMacro(Frequency, UINT16);
66 
67 protected:
68 
71 
74 
75 private: // Functions.
77  void operator=( const vtkPlusOptimetConoProbeMeasurer& );
78 
80  unsigned short CalculateCompositeLaserPower(UINT16 coarseLaserPower, UINT16 fineLaserPower);
81 
83  static void* ProbeDialogThread(void* ptr);
84 
85 private: // Variables.
86 
87  vtkPlusDataSource* MeasurementTool;
88 
90  ISmart* ConoProbe;
91 
93  double LensOriginAlignment[6];
94 
96  UINT16 DelayBetweenMeasurements;
97 
99  UINT16 Frequency;
100 
102  UINT16 LaserPower;
103 
105  unsigned short CoarseLaserPower;
106 
108  unsigned short FineLaserPower;
109 
111  vtkMultiThreader* Thread;
112 
114  int ThreadID;
115 
117  bool ProbeDialogOpen;
118 };
119 
120 #endif
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
Abstract interface for tracker and video devices.
Definition: vtkPlusDevice.h:60
virtual PlusStatus InternalConnect()
igsioStatus PlusStatus
Definition: PlusCommon.h:40
virtual PlusStatus ReadConfiguration(vtkXMLDataElement *)
virtual PlusStatus WriteConfiguration(vtkXMLDataElement *)
Interface for the Optimet ConoProbe This class talks with Optimet ConoProbe over the Optimet Smart32 ...
virtual PlusStatus InternalDisconnect()
virtual PlusStatus InternalUpdate()
static vtkPlusDevice * New()
Interface to a 3D positioning tool, video source, or generalized data stream.