PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusStealthLinkTracker.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 #ifndef __vtkPlusStealthLinkTracker_h
8 #define __vtkPlusStealthLinkTracker_h
9 
10 #include "vtkPlusDataCollectionExport.h"
11 
12 #include "vtkPlusDevice.h"
13 #include <string>
14 
15 //class vtkIGSIOTransformRepository;
16 
25 class vtkPlusDataCollectionExport vtkPlusStealthLinkTracker : public vtkPlusDevice
26 {
27 public:
28 
31  void PrintSelf( ostream& os, vtkIndent indent );
32 
34  virtual PlusStatus GetSdkVersion( std::string& );
35 
36  virtual bool IsTracker() const { return true; }
37 
39  virtual PlusStatus GetImageMetaData( igsioCommon::ImageMetaDataList& imageMetaData );
40 
48  virtual PlusStatus GetImage( const std::string& requestedImageId, std::string& assignedImageId, const std::string& imageReferenceFrameName, vtkImageData* imageData, vtkMatrix4x4* ijkToReferenceTransform );
49 
51  std::string GetDicomImagesOutputDirectory();
52 
54  PlusStatus UpdateTransformRepository( vtkIGSIOTransformRepository* sharedTransformRepository );
55 
57  void SetDicomImagesOutputDirectory( std::string dicomImagesOutputDirectory );
58 
60  void SetKeepReceivedDicomFiles( bool keepReceivedDicomFiles );
61 
63  void SetServerAddress( const char* serverAddress );
64 
65  /*Set ImageTransferRequiresPatientRegistration */
67  vtkSetMacro(ImageTransferRequiresPatientRegistration, bool);
68 
70  void SetServerPort( const char* serverPort );
71 
72 protected:
77 
79  virtual PlusStatus InternalConnect();
82 
87 
89  virtual PlusStatus ReadConfiguration( vtkXMLDataElement* config );
91  virtual PlusStatus WriteConfiguration( vtkXMLDataElement* rootConfigElement );
92 
95 
97  PlusStatus AcquireDicomImage( std::string dicomImagesOutputDirectory, std::string& examImageDirectory );
98 
100  class vtkInternal;
101  vtkInternal* Internal;
102 
103  class vtkInternalShared;
104  vtkInternalShared* InternalShared;
105 
106  class vtkInternalUpdatePrivate;
107  vtkInternalUpdatePrivate* InternalUpdatePrivate;
108 
110  PlusStatus IsLocalizerConnected( bool& );
111 
113  PlusStatus AreInstrumentPortNamesValid( bool& valid );
114 
116  static void RemoveForbiddenCharacters( std::string& str );
117 
119  PlusStatus DeleteDicomImageOutputDirectory( std::string examImageDirectory );
120 
122  std::string GetImageMetaDatasetsCountAsString();
123 
124 private:
126  void operator=( const vtkPlusStealthLinkTracker& );
127 };
128 
129 #endif
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
virtual PlusStatus InternalStopRecording()
Abstract interface for tracker and video devices.
Definition: vtkPlusDevice.h:60
virtual PlusStatus InternalConnect()
igsioStatus PlusStatus
Definition: PlusCommon.h:40
virtual std::string GetSdkVersion()
virtual PlusStatus GetImageMetaData(igsioCommon::ImageMetaDataList &imageMetaDataItems)
virtual PlusStatus ReadConfiguration(vtkXMLDataElement *)
virtual PlusStatus WriteConfiguration(vtkXMLDataElement *)
virtual PlusStatus InternalStartRecording()
virtual PlusStatus GetImage(const std::string &requestedImageId, std::string &assignedImageId, const std::string &imageReferencFrameName, vtkImageData *imageData, vtkMatrix4x4 *ijkToReferenceTransform)
vtkInternalUpdatePrivate * InternalUpdatePrivate
virtual PlusStatus InternalDisconnect()
virtual PlusStatus InternalUpdate()
static vtkPlusDevice * New()