PlusLib  2.9.0
Software library for tracked ultrasound image acquisition, calibration, and processing.
vtkPlusUsScanConvert.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 __vtkPlusUsScanConvert_h
8 #define __vtkPlusUsScanConvert_h
9 
10 #include "vtkPlusImageProcessingExport.h"
11 #include "vtkThreadedImageAlgorithm.h"
12 
18 class vtkPlusImageProcessingExport vtkPlusUsScanConvert : public vtkThreadedImageAlgorithm
19 {
20 public:
21  vtkTypeMacro(vtkPlusUsScanConvert, vtkThreadedImageAlgorithm);
22  virtual void PrintSelf(ostream& os, vtkIndent indent) VTK_OVERRIDE;
23 
24  virtual const char* GetTransducerGeometry() = 0;
25 
27  vtkSetStringMacro(TransducerName);
29  vtkGetStringMacro(TransducerName);
30 
32  vtkSetVector3Macro(OutputImageSpacing, double);
34  vtkGetVector3Macro(OutputImageSpacing, double);
35 
37  virtual PlusStatus ReadConfiguration(vtkXMLDataElement* scanConversionElement);
38 
40  virtual PlusStatus WriteConfiguration(vtkXMLDataElement* scanConversionElement);
41 
42  vtkGetVector6Macro(OutputImageExtent, int);
43  vtkGetVector6Macro(InputImageExtent, int);
44  vtkSetVector6Macro(InputImageExtent, int);
45 
47  virtual FrameSizeType GetOutputImageSizePixel();
48 
53  virtual vtkImageData* GetOutput() = 0;
54 
56  virtual void SetInputData(vtkDataObject* input) { vtkThreadedImageAlgorithm::SetInputData(input); };
57 
64  virtual PlusStatus GetScanLineEndPoints(int scanLineIndex, double scanlineStartPoint_OutputImage[4], double scanlineEndPoint_OutputImage[4]) = 0;
65 
67  virtual double GetDistanceBetweenScanlineSamplePointsMm() = 0;
68 
69 protected:
71  virtual ~vtkPlusUsScanConvert();
72 
75 
77  int OutputImageExtent[6];
78 
83  double TransducerCenterPixel[2];
84 
90 
92  double OutputImageSpacing[3];
93 
100  int InputImageExtent[6];
101 
102 private:
103  vtkPlusUsScanConvert(const vtkPlusUsScanConvert&); // Not implemented.
104  void operator=(const vtkPlusUsScanConvert&); // Not implemented.
105 };
106 
107 #endif
igsioStatus PlusStatus
Definition: PlusCommon.h:40
#define VTK_OVERRIDE
Definition: PlusCommon.h:49
virtual void SetInputData(vtkDataObject *input)
This is a base class for defining a common scan conversion algorithm interface for all kinds of probe...