7 #ifndef __vtkPlusUsSimulatorAlgo_h 8 #define __vtkPlusUsSimulatorAlgo_h 10 #include "vtkPlusUsSimulatorExport.h" 12 #include "vtkImageAlgorithm.h" 15 #include "vtkIGSIOTransformRepository.h" 17 class vtkPolyDataNormals;
18 class vtkTriangleFilter;
20 class vtkModifiedBSPTree;
32 void PrintSelf(ostream& os, vtkIndent indent);
36 virtual PlusStatus ReadConfiguration(vtkXMLDataElement* config);
41 vtkSetObjectMacro(TransformRepository, vtkIGSIOTransformRepository);
43 vtkGetObjectMacro(TransformRepository, vtkIGSIOTransformRepository);
49 vtkSetStringMacro(ImageCoordinateFrame);
51 vtkGetStringMacro(ImageCoordinateFrame);
54 vtkSetStringMacro(ReferenceCoordinateFrame);
56 vtkGetStringMacro(ReferenceCoordinateFrame);
59 vtkSetMacro(FrequencyMhz,
double);
61 vtkGetMacro(FrequencyMhz,
double);
64 vtkSetMacro(IncomingIntensityMwPerCm2,
double);
66 vtkGetMacro(IncomingIntensityMwPerCm2,
double);
71 vtkGetMacro(BrightnessConversionGamma,
double);
75 vtkSetMacro(BrightnessConversionGamma,
double);
80 vtkGetMacro(BrightnessConversionOffset,
double);
84 vtkSetMacro(BrightnessConversionOffset,
double);
89 vtkGetMacro(BrightnessConversionScale,
double);
93 vtkSetMacro(BrightnessConversionScale,
double);
96 vtkSetMacro(NumberOfScanlines,
int);
99 vtkSetMacro(NumberOfSamplesPerScanline,
int);
101 PlusStatus GetFrameSize(FrameSizeType& frameSize);
103 vtkSetMacro(NoiseAmplitude,
double);
104 vtkSetVector3Macro(NoiseFrequency,
double);
105 vtkSetVector3Macro(NoisePhase,
double);
108 virtual int FillOutputPortInformation(
int port, vtkInformation* info);
109 virtual int RequestData(vtkInformation* request,
110 vtkInformationVector** inputVector,
111 vtkInformationVector* outputVector);
113 void ConvertLineModelIntersectionsToSegmentDescriptor(std::deque<PlusSpatialModel::LineIntersectionInfo>& lineIntersectionsWithModels);
122 vtkIGSIOTransformRepository* TransformRepository;
125 char* ImageCoordinateFrame;
128 char* ReferenceCoordinateFrame;
131 int NumberOfScanlines;
134 int NumberOfSamplesPerScanline;
144 double BrightnessConversionGamma;
147 double BrightnessConversionOffset;
150 double BrightnessConversionScale;
153 double IncomingIntensityMwPerCm2;
155 std::vector<PlusSpatialModel> SpatialModels;
160 std::vector<double> InsideObjectReflection;
161 std::vector<double> OutsideObjectReflection;
163 double NoiseAmplitude;
164 double NoiseFrequency[3];
165 double NoisePhase[3];
168 #endif // __vtkPlusUsSimulatorAlgo_h
Convenience class to combine multiple algorithms to compute a displayable B-mode frame from RF data.
Class that simulates ultrasound images from multiple surface models.