PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkInfraredSeekCam.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 
6 Developed by MACBIOIDI-ULPGC & IACTEC-IAC group
7 =========================================================Plus=header=end*/
8 
9 #ifndef __vtkInfraredSeekCam_h
10 #define __vtkInfraredSeekCam_h
11 
12 #include "vtkPlusDataCollectionExport.h"
13 #include "vtkPlusDevice.h"
14 
15 // Seek Cam
16 #include <seek.h>
17 #include <SeekCam.h>
18 
26 class vtkPlusDataCollectionExport vtkInfraredSeekCam : public vtkPlusDevice
27 {
28 public:
29  static vtkInfraredSeekCam* New();
31  virtual void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
32 
34  PlusStatus ReadConfiguration(vtkXMLDataElement* config);
36  PlusStatus WriteConfiguration(vtkXMLDataElement* config);
37 
39  PlusStatus FreezeDevice(bool freeze);
40 
42  bool IsTracker() const { return false; }
43 
46 
48  virtual PlusStatus NotifyConfigured();
49 
50  bool ReadBinaryFile(const std::string& filename, cv::Mat& temp) const;
51  bool ReadImage(cv::Mat &output, const std::string& filename) const;
52 
53 protected:
56 
58  virtual PlusStatus InternalDisconnect() VTK_OVERRIDE;
59 
60 protected:
61  std::shared_ptr<LibSeek::SeekThermalPro> Capture;
62  std::shared_ptr<cv::Mat> Frame;
63 
64  cv::Mat Flat;
65  cv::Mat Bias;
66  cv::Mat FrameFloat; // Output frame in float precision
67  cv::Mat FrameInt; // Input frame in integer precision
68  bool ExistsFlat; // Checks if the flat image could be loaded
69  bool ExistsBias; // Checks if the bias image could be loaded
70  bool CalibTemperature; // Checks if the output frame should be calibrated to show the temperature
71  float CalibMul; // Temperature calibration
72  float CalibBias; // Temperature calibration
73 };
74 
75 #endif // __vtkInfraredSeekCam_h
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
#define VTK_OVERRIDE
Definition: PlusCommon.h:49
virtual PlusStatus ReadConfiguration(vtkXMLDataElement *)
virtual PlusStatus WriteConfiguration(vtkXMLDataElement *)
virtual PlusStatus NotifyConfigured()
Class for interfacing an Infrared Seek capture device and recording frames into a Plus buffer.
virtual PlusStatus InternalUpdate()
static vtkPlusDevice * New()