NorMIT-nav
22.09
An IGT application
|
#include <cxSyntheticVolume.h>
Public Member Functions | |
cxSyntheticVolume (Vector3D bounds) | |
virtual | ~cxSyntheticVolume () |
virtual Vector3D | getBounds () |
virtual ProcessedUSInputDataPtr | sampleUsData (const std::vector< Transform3D > &planes_rMf, const Eigen::Array2f &pixelSpacing, const Eigen::Array2i &sliceDimension, const Transform3D &output_dMr, const double noiseSigma, const unsigned char noiseMean) const |
virtual ProcessedUSInputDataPtr | sampleUsData (const std::vector< Transform3D > &planes_rMt, const ProbeDefinition &probe, const Transform3D &output_dMr, const double noiseSigma=0, const unsigned char noiseMean=0) const |
vtkImageDataPtr | sampleUsData (const Transform3D &plane_rMt, const ProbeDefinition &probe, const double noiseSigma=0, const unsigned char noiseMean=0) const |
vtkImageDataPtr | sampleUsData (const Transform3D &plane_rMf, const Eigen::Array2f &pixelSpacing, const Eigen::Array2i &sliceDimension, const double noiseSigma, const unsigned char noiseMean) const |
virtual unsigned char | evaluate (const Vector3D &p) const =0 |
virtual void | printInfo () const |
void | fillVolume (cx::ImagePtr vol) |
virtual float | computeRMSError (cx::ImagePtr vol) |
Protected Member Functions | |
unsigned char | constrainToUnsignedChar (const int val) const |
vtkImageDataPtr | createEmptyMask (const Eigen::Array2i &sliceDimension) const |
Protected Attributes | |
Vector3D | mBounds |
This abstract class provides an interface to synthetic volumes. The requirements of this class are as follows:
Definition at line 36 of file cxSyntheticVolume.h.
|
inline |
Definition at line 39 of file cxSyntheticVolume.h.
|
inlinevirtual |
Definition at line 45 of file cxSyntheticVolume.h.
|
virtual |
Definition at line 188 of file cxSyntheticVolume.cpp.
|
protected |
Definition at line 172 of file cxSyntheticVolume.cpp.
|
protected |
Definition at line 161 of file cxSyntheticVolume.cpp.
|
pure virtual |
Evaluate the volume at position (x, y, z). The coordinates are given in volume space.
Implemented in cx::cxSimpleSyntheticVolume, and cxtest::SphereSyntheticVolume.
void cx::cxSyntheticVolume::fillVolume | ( | cx::ImagePtr | vol | ) |
Definition at line 201 of file cxSyntheticVolume.cpp.
|
inlinevirtual |
Definition at line 48 of file cxSyntheticVolume.h.
|
inlinevirtual |
Reimplemented in cxtest::SphereSyntheticVolume, and cx::cxSimpleSyntheticVolume.
Definition at line 105 of file cxSyntheticVolume.h.
|
virtual |
Sample a set of ultrasound slices. The planes to use are defined by planes. The Transform3D-s represent the transform from image space to world space. The volume is assumed to lie from [0, 0, 0] -> bounds. If any part of an image plane is outside the definition of the volume, the pixel value will be set to 0.
planes_rMf | Transforms from image space to world space (and thus also volume space) for the desired slices. |
pixelSpacing | The size of each pixel in the ultrasonic image. |
sliceDimension | The size in pixels of each ultrasound image. |
output_dMr | Position of generated output volume d relative to ref space r. |
noiseSigma | The sigma of the noise distribution on each image |
noiseMean | The sigma of the noise distribution on each image |
Definition at line 82 of file cxSyntheticVolume.cpp.
|
virtual |
Alternative version. Input rMt, uses probe to generate required information about probe plane.
Definition at line 39 of file cxSyntheticVolume.cpp.
vtkImageDataPtr cx::cxSyntheticVolume::sampleUsData | ( | const Transform3D & | plane_rMf, |
const Eigen::Array2f & | pixelSpacing, | ||
const Eigen::Array2i & | sliceDimension, | ||
const double | noiseSigma, | ||
const unsigned char | noiseMean | ||
) | const |
Alternative version. Input primitive components of probe, transform to image plane f.
Definition at line 118 of file cxSyntheticVolume.cpp.
vtkImageDataPtr cx::cxSyntheticVolume::sampleUsData | ( | const Transform3D & | plane_rMt, |
const ProbeDefinition & | probe, | ||
const double | noiseSigma = 0 , |
||
const unsigned char | noiseMean = 0 |
||
) | const |
Generate one simulated us plane from the input rMt, probe.
Definition at line 63 of file cxSyntheticVolume.cpp.
|
protected |
Definition at line 114 of file cxSyntheticVolume.h.