UsTK : Ultrasound ToolKit  version 2.0.1 under development (2023-12-07)
usRFToPostScan3DConverter Class Reference

#include <visp3/ustk_core/usRFToPostScan3DConverter.h>

Public Member Functions

 usRFToPostScan3DConverter (int decimationFactor=10)
 
 ~usRFToPostScan3DConverter ()
 
void convert (const usImageRF3D< short int > &rfImage, usImagePostScan3D< unsigned char > &postScanImage)
 

Detailed Description

3D conversion from RF signal to post-scan image

This class allows to convert 3D RF ultrasound images to post-scan. Here is an example to show how to use it :

#include <visp3/ustk_core/usRFToPostScan3DConverter.h>
#include <visp3/ustk_core/usImage3D.h>
#include <visp3/ustk_core/usImageRF3D.h>
#include <visp3/ustk_core/usImagePostScan3D.h>
int main()
{
#if defined(USTK_HAVE_FFTW)
// example of 2D post-scan image settings
unsigned int width = 320;
unsigned int height = 240;
unsigned int frames = 10;
double transducerRadius = 0.045;
double scanLinePitch = 0.0012;
unsigned int scanLineNumber = 256;
bool isTransducerConvex = true;
double axialResolution = 0.002;
double framePitch = 0.002;
double motorRadius = 0.04;
usImage3D<short int> I(height, width,frames);
usImageRF3D<short int> rfImage; // to fill (image + settings)
rfImage.setTransducerRadius(transducerRadius);
rfImage.setScanLinePitch(scanLinePitch);
rfImage.setScanLineNumber(scanLineNumber);
rfImage.setTransducerConvexity(isTransducerConvex);
rfImage.setAxialResolution(axialResolution);
rfImage.setMotorRadius(motorRadius);
rfImage.setFramePitch(framePitch);
usImagePostScan3D<unsigned char> postscanImage; // output
converter.convert(rfImage,postscanImage);
#endif
return 0;
}
Representation of a physical image volume.
Definition: usImage3D.h:61
void setAxialResolution(const double axialResolution)
void setScanLineNumber(unsigned int scanLineNumber)
Definition: usImageRF3D.h:327
void setMotorType(const usMotorType &motorType)
void setMotorRadius(double motorRadius)
void setFramePitch(double framePitch)
3D conversion from RF signal to post-scan image
void convert(const usImageRF3D< short int > &rfImage, usImagePostScan3D< unsigned char > &postScanImage)
void setTransducerConvexity(const bool isTransducerConvex)
void setScanLinePitch(const double scanLinePitch)
void setTransducerRadius(const double transducerRadius)

Definition at line 97 of file usRFToPostScan3DConverter.h.

Constructor & Destructor Documentation

◆ usRFToPostScan3DConverter()

usRFToPostScan3DConverter::usRFToPostScan3DConverter ( int  decimationFactor = 10)

Constructor.

Parameters
decimationFactorDecimation factor for RF conversion (keeping 1 RF sample every decimationFactor samples)

Definition at line 46 of file usRFToPostScan3DConverter.cpp.

References usRFToPreScan3DConverter::setDecimationFactor().

◆ ~usRFToPostScan3DConverter()

usRFToPostScan3DConverter::~usRFToPostScan3DConverter ( )

Destructor.

Definition at line 55 of file usRFToPostScan3DConverter.cpp.

Member Function Documentation

◆ convert()

void usRFToPostScan3DConverter::convert ( const usImageRF3D< short int > &  rfImage,
usImagePostScan3D< unsigned char > &  postScanImage 
)

Convert method : performs the conversion from RF frame to a post-scan volume.

Parameters
rfImageRF frame to convert
postScanImagepost-scan image : result of convertion. But make sure

Definition at line 63 of file usRFToPostScan3DConverter.cpp.

References usRFToPreScan3DConverter::convert(), usPreScanToPostScan3DConverter::convert(), and usPreScanToPostScan3DConverter::init().