UsTK : Ultrasound ToolKit  version 2.0.1 under development (2023-12-07)
usAcquisitionParameters.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  * Marc Pouliquen
30  *
31  *****************************************************************************/
32 
38 #ifndef __usAcquisitionParameters_h_
39 #define __usAcquisitionParameters_h_
40 
41 #include <visp3/core/vpConfig.h>
42 
48 class VISP_EXPORT usAcquisitionParameters
49 {
50 public:
52  typedef enum {
54  US_STATIC_MOTOR = 0,
55 
57  US_ANGLE_PITCH_1 = 2,
58 
60  US_ANGLE_PITCH_2 = 4,
61 
63  US_ANGLE_PITCH_3 = 8,
64 
66  US_ANGLE_PITCH_4 = 16,
67 
69  US_ANGLE_PITCH_5 = 32
70  } usMotorStep;
71 
74 
75  // values
76  bool getActivateMotor() const { return m_activateMotor; }
77 
78  usMotorStep getSepsPerFrame() const { return m_motorSteps; }
79  usMotorStep getSepsPerFrameMax() const { return m_motorStepsMax; }
80  usMotorStep getSepsPerFrameMin() const { return m_motorStepsMin; }
81 
82  int getFramesPerVolume() const { return m_framesPerVolume; }
83  int getFramesPerVolumeMax() const { return m_framesPerVolumeMax; }
84  int getFramesPerVolumeMin() const { return m_framesPerVolumeMin; }
85 
86  int getImageDepth() const { return m_imageDepth; }
87  int getImageDepthMax() const { return m_imageDepthMax; }
88  int getImageDepthMin() const { return m_imageDepthMin; }
89 
90  int getImagingMode() const { return m_imagingMode; }
91  int getImagingModeMax() const { return m_imagingModeMax; }
92  int getImagingModeMin() const { return m_imagingModeMin; }
93 
94  int getMotorPosition() const { return m_motorPosition; }
95  int getMotorPositionMax() const { return m_motorPositionMax; }
96  int getMotorPositionMin() const { return m_motorPositionMin; }
97 
98  int getPostScanHeigh() const { return m_postScanHeigh; }
99 
100  bool getPostScanMode() const { return m_postScanMode; }
101 
102  int getPostScanWidth() const { return m_postScanWidth; }
103 
104  int getSamplingFrequency() const { return m_samplingFrequency; }
105  int getSamplingFrequencyMax() const { return m_samplingFrequencyMax; }
106  int getSamplingFrequencyMin() const { return m_samplingFrequencyMin; }
107 
108  int getSector() const { return m_sector; }
109  int getSectorMax() const { return m_sectorMax; }
110  int getSectorMin() const { return m_sectorMin; }
111 
112  int getTransmitFrequency() const { return m_transmitFrequency; }
113  int getTransmitFrequencyMax() const { return m_transmitFrequencyMax; }
114  int getTransmitFrequencyMin() const { return m_transmitFrequencyMin; }
115 
116  // setters
117  void setActivateMotor(bool activateMotor);
118 
119  void setSepsPerFrame(usMotorStep anglePerFrame);
120  void setSepsPerFrameMax(usMotorStep anglePerFrameMax);
121  void setSepsPerFrameMin(usMotorStep anglePerFrameMin);
122 
123  void setFramesPerVolume(int framesPerVolume);
124  void setFramesPerVolumeMax(int framesPerVolumeMax);
125  void setFramesPerVolumeMin(int framesPerVolumeMin);
126 
127  void setImageDepth(int imageDepth);
128  void setImageDepthMax(int imageDepthMax);
129  void setImageDepthMin(int imageDepthMin);
130 
131  void setImagingMode(int imagingMode);
132  void setImagingModeMax(int imagingModeMax);
133  void setImagingModeMin(int imagingModeMin);
134 
135  void setMotorPosition(int motorPosition);
136  void setMotorPositionMax(int motorPositionMax);
137  void setMotorPositionMin(int motorPositionMin);
138 
139  void setPostScanHeigh(int postScanHeigh);
140 
141  void setPostScanMode(bool postScanMode);
142 
143  void setPostScanWidth(int postScanWidth);
144 
145  void setSamplingFrequency(int samplingFrequency);
146  void setSamplingFrequencyMax(int samplingFrequencyMax);
147  void setSamplingFrequencyMin(int samplingFrequencyMin);
148 
149  void setSector(int sector);
150  void setSectorMax(int sectorMax);
151  void setSectorMin(int sectorMin);
152 
153  void setTransmitFrequency(int transmitFrequency);
154  void setTransmitFrequencyMax(int transmitFrequencyMax);
155  void setTransmitFrequencyMin(int transmitFrequencyMin);
156 
157 private:
158  // frequencies
159  int m_transmitFrequency;
160  int m_samplingFrequency;
161 
162  // image type
163  int m_imagingMode; // see ImagingModes.h
164  bool m_postScanMode; // performs scan conversion on ultrasound station if true
165  int m_postScanHeigh; // if post-scan mode, height of the frame (px)
166  int m_postScanWidth; // if post-scan mode, width of the frame (px)
167 
168  int m_imageDepth; // in mm
169  int m_sector; // in %
170 
171  // motor settings
172  bool m_activateMotor; // to sweep the motor permanently
173 
174  // position of the motor in degrees : 0° = side of the fixation system for 4DC7 probe
175  int m_motorPosition; // (used if activateMotor = false)
176 
177  // motor movement parameters
178  int m_framesPerVolume; // (must be odd : always a central frame)
179  usMotorStep
180  m_motorSteps; // steps between two frames (see motor info between total steps and fov to convert in degrees)
181 
182  // min values
183  int m_transmitFrequencyMin;
184  int m_samplingFrequencyMin;
185  int m_imagingModeMin;
186  int m_imageDepthMin;
187  int m_sectorMin;
188  int m_motorPositionMin;
189  int m_framesPerVolumeMin;
190  usMotorStep m_motorStepsMin;
191 
192  // max values
193  int m_transmitFrequencyMax;
194  int m_samplingFrequencyMax;
195  int m_imagingModeMax;
196  int m_imageDepthMax;
197  int m_sectorMax;
198  int m_motorPositionMax;
199  int m_framesPerVolumeMax;
200  usMotorStep m_motorStepsMax;
201 };
202 #endif // __usAcquisitionParameters_h_
Class to store acquisition parameters for ultrasound station.
usMotorStep getSepsPerFrameMax() const
usMotorStep
For 4DC7 3D probe motor movement.
usMotorStep getSepsPerFrameMin() const
usMotorStep getSepsPerFrame() const