UsTK : Ultrasound ToolKit  version 2.0.1 under development (2023-12-07)
usPreScanToPostScan2DConverter.h
1 /****************************************************************************
2  *
3  * This file is part of the ustk software.
4  * Copyright (C) 2016 - 2017 by Inria. All rights reserved.
5  *
6  * This software is free software; you can redistribute it and/or
7  * modify it under the terms of the GNU General Public License
8  * ("GPL") version 2 as published by the Free Software Foundation.
9  * See the file LICENSE.txt at the root directory of this source
10  * distribution for additional information about the GNU GPL.
11  *
12  * For using ustk with software that can not be combined with the GNU
13  * GPL, please contact Inria about acquiring a ViSP Professional
14  * Edition License.
15  *
16  * This software was developed at:
17  * Inria Rennes - Bretagne Atlantique
18  * Campus Universitaire de Beaulieu
19  * 35042 Rennes Cedex
20  * France
21  *
22  * If you have questions regarding the use of this file, please contact
23  * Inria at ustk@inria.fr
24  *
25  * This file is provided AS IS with NO WARRANTY OF ANY KIND, INCLUDING THE
26  * WARRANTY OF DESIGN, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
27  *
28  * Authors:
29  * Pierre Chatelain
30  *
31  *****************************************************************************/
32 
38 #ifndef __usPreScanToPostScan2DConverter_h_
39 #define __usPreScanToPostScan2DConverter_h_
40 
41 #include <visp3/ustk_core/usImagePostScan2D.h>
42 #include <visp3/ustk_core/usImagePreScan2D.h>
43 #include <visp3/ustk_core/usPreScanToPostScan2DConverter.h>
44 
93 {
95 
96 public:
98 
100 
101  void convert(const usImagePreScan2D<unsigned char> &preScanImage, usImagePostScan2D<unsigned char> &postScanImage,
102  double xResolution = 0., double yResolution = 0.);
103 
104 protected:
105  void init(const usImagePostScan2D<unsigned char> &inputSettings, const int BModeSampleNumber,
106  const int scanLineNumber);
107 
108  void init(const usTransducerSettings &inputSettings, const int BModeSampleNumber, const int scanLineNumber,
109  const double xResolution, const double yResolution);
110 
111 private:
112  double interpolateLinear(const vpImage<unsigned char> &I, double x, double y);
113 
114  vpMatrix m_rMap;
115  vpMatrix m_tMap;
116 
117  double m_xResolution;
118  double m_yResolution;
119  int m_scanLineNumber;
120  int m_BModeSampleNumber;
121 
122  usTransducerSettings m_settings;
123 
124  unsigned int m_height;
125  unsigned int m_width;
126 
127  bool m_initDone;
128 };
129 
130 #endif // __usPreScanToPostScan2DConverter_h_
2D conversion from RF signal to post-scan image
void convert(const usImageRF2D< short int > &rfImage, usImagePostScan2D< unsigned char > &postScanImage)
Generic class for 2D ultrasound data common settings associated to the type of probe transducer used ...