UsTK : Ultrasound ToolKit  version 2.0.1 under development (2025-02-01)
tutorial-rfFileToPreScanConversion.cpp
1 
3 #include <visp3/ustk_core/usConfig.h>
4 
5 #ifdef USTK_HAVE_FFTW
6 
7 #include <visp3/core/vpTime.h>
8 #include <visp3/ustk_core/usImageIo.h>
9 #include <visp3/ustk_core/usImageRF3D.h>
10 #include <visp3/ustk_core/usRFToPreScan3DConverter.h>
11 
12 int main()
13 {
14  std::string filename;
15 
16  // Get the ustk-dataset package path or USTK_DATASET_PATH environment variable value
17  std::string env_ipath = us::getDataSetPath();
18  if (!env_ipath.empty())
19  filename = env_ipath + "/rf/signal.rf";
20  else {
21  std::cout << "You should set USTK_DATASET_PATH environment var to access to ustk dataset" << std::endl;
22  return 0;
23  }
24  std::cout << filename << std::endl;
25  usImageRF2D<short int> rfImage;
27 
28  usImageIo::read(rfImage, filename);
29 
30  // settings used for rf file in ustk-dataset
31  rfImage.setScanLinePitch(0.010625);
32  rfImage.setTransducerRadius(0.0398);
33  rfImage.setDepth(0.15);
34 
35  std::cout << "end reading" << std::endl;
36 
37  // scan-conversion
38  usRFToPreScan2DConverter converter;
39 
40  double startTime = vpTime::measureTimeMs();
41 
42  std::cout << "converting..." << std::endl;
43 
44  converter.convert(rfImage, prescanImage);
45 
46  std::cout << prescanImage;
47 
48  double endConvertTime = vpTime::measureTimeMs();
49  std::cout << "convert time (sec) = " << (endConvertTime - startTime) / 1000.0 << std::endl;
50 
51  std::cout << "writing pre-scan..." << std::endl;
52  std::string outFileName = "preScan.png";
53  usImageIo::write(prescanImage, outFileName);
54 
55  return 0;
56 }
57 
58 #else
59 #include <iostream>
60 int main()
61 {
62  std::cout << "You should install FFTW library to run this tutorial" << std::endl;
63  return 0;
64 }
65 
66 #endif
static void read(usImageRF2D< short int > &imageRf2D, const std::string &headerFileName)
Definition: usImageIo.cpp:153
static void write(const usImageRF2D< short > &rfImage, const std::string &headerFileName, const std::string &imageExtension2D)
Definition: usImageIo.cpp:104
2D conversion from RF signal to pre-scan image
void convert(const usImageRF2D< short int > &rfImage, usImagePreScan2D< unsigned char > &preScanImage)
void setDepth(double depth)
void setScanLinePitch(const double scanLinePitch)
void setTransducerRadius(const double transducerRadius)
VISP_EXPORT std::string getDataSetPath()
Definition: us.cpp:54