PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusVirtualDeinterlacer.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 __vtkPlusVirtualDeinterlacer_h
8 #define __vtkPlusVirtualDeinterlacer_h
9 
10 #include "vtkPlusDataCollectionExport.h"
11 
12 #include "vtkPlusDevice.h"
13 
14 // STL includes
15 #include <memory>
16 
17 class igsioVideoFrame;
18 class vtkIGSIOTrackedFrameList;
19 class vtkImageData;
20 class vtkPlusChannel;
21 class vtkPlusDataSource;
22 
29 class vtkPlusDataCollectionExport vtkPlusVirtualDeinterlacer : public vtkPlusDevice
30 {
31 public:
33  {
36  Stereo_VerticalInterlace
37  };
38 
41  virtual void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
42 
44  virtual bool IsTracker() const { return false; }
45 
46  virtual bool IsVirtual() const { return true; }
47 
48  virtual PlusStatus ReadConfiguration(vtkXMLDataElement*);
49  virtual PlusStatus WriteConfiguration(vtkXMLDataElement*);
50 
51  virtual PlusStatus NotifyConfigured();
52 
53  virtual PlusStatus InternalUpdate();
54 
55  virtual double GetAcquisitionRate() const;
56 
57  vtkGetMacro(SwitchInterlaceOrdering, bool);
58  vtkSetMacro(SwitchInterlaceOrdering, bool);
59 
60 protected:
61  void SplitFrameHorizontal(igsioTrackedFrame* frame);
62  void SplitFrameVertical(igsioTrackedFrame* frame);
63 
64 protected:
66  virtual ~vtkPlusVirtualDeinterlacer();
67 
75  vtkImageData* LeftImage;
76  vtkImageData* RightImage;
77  vtkIGSIOTrackedFrameList* FrameList;
78 
79 private:
80  vtkPlusVirtualDeinterlacer(const vtkPlusVirtualDeinterlacer&); // Not implemented.
81  void operator=(const vtkPlusVirtualDeinterlacer&); // Not implemented.
82 };
83 
84 #endif
virtual void PrintSelf(ostream &os, vtkIndent indent) VTK_OVERRIDE
Abstract interface for tracker and video devices.
Definition: vtkPlusDevice.h:60
igsioStatus PlusStatus
Definition: PlusCommon.h:40
virtual double GetAcquisitionRate() const
#define VTK_OVERRIDE
Definition: PlusCommon.h:49
virtual PlusStatus ReadConfiguration(vtkXMLDataElement *)
virtual PlusStatus WriteConfiguration(vtkXMLDataElement *)
vtkIGSIOTrackedFrameList * FrameList
Contains an optional timestamped circular buffer containing the video images and a number of timestam...
virtual PlusStatus NotifyConfigured()
virtual PlusStatus InternalUpdate()
static vtkPlusDevice * New()
Interface to a 3D positioning tool, video source, or generalized data stream.