UsTK : Ultrasound ToolKit  version 2.0.1 under development (2024-05-18)
usNeedleModelingDisplayTools.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  * Author:
29  * Jason Chevrie
30  *
31  *****************************************************************************/
32 
33 #ifndef __usNeedleModelingDisplayTools_h_
34 #define __usNeedleModelingDisplayTools_h_
35 
36 #include <visp3/ustk_core/usGeometryDisplayTools.h>
37 
38 #include <visp3/ustk_needle_modeling/usNeedleModelBaseTip.h>
39 #include <visp3/ustk_needle_modeling/usNeedleModelPolynomial.h>
40 #include <visp3/ustk_needle_modeling/usNeedleModelSpline.h>
41 
42 #include <visp3/ustk_needle_modeling/usTissueModelSpline.h>
43 #include <visp3/ustk_needle_modeling/usVirtualSpring.h>
44 
45 #include <visp3/ustk_needle_modeling/usNeedleTip.h>
46 #include <visp3/ustk_needle_modeling/usNeedleTipActuated.h>
47 #include <visp3/ustk_needle_modeling/usNeedleTipBeveled.h>
48 #include <visp3/ustk_needle_modeling/usNeedleTipPrebent.h>
49 #include <visp3/ustk_needle_modeling/usNeedleTipSymmetric.h>
50 
51 #include <visp3/ustk_needle_modeling/usNeedleInsertionModelKinematic.h>
52 #include <visp3/ustk_needle_modeling/usNeedleInsertionModelRayleighRitzSpline.h>
53 #include <visp3/ustk_needle_modeling/usNeedleInsertionModelVirtualSprings.h>
54 
56 {
57 
59 
60 template <class ImageDataType>
61 VISP_EXPORT void displayBase(const usNeedleModelBaseTip &needleModel, const vpImage<ImageDataType> &I,
62  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
63 template <class ImageDataType>
64 VISP_EXPORT void displayTip(const usNeedleModelBaseTip &needleModel, const vpImage<ImageDataType> &I,
65  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
66 template <class ImageDataType>
67 VISP_EXPORT void display(const usNeedleModelBaseTip &needleModel, vpImage<unsigned char> &I,
68  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
69 
71 
72 template <class ImageDataType>
73 VISP_EXPORT void displayNeedle(const usNeedleModelPolynomial &needleModel, const vpImage<ImageDataType> &I,
74  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
75  bool displayFullBody = false);
76 template <class ImageDataType>
77 VISP_EXPORT void displayBaseStaticTorsor(const usNeedleModelPolynomial &needleModel, const vpImage<ImageDataType> &I,
78  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000,
79  double Yscale = 3000);
80 template <class ImageDataType>
81 VISP_EXPORT void displayCurvatureFromShape(const usNeedleModelPolynomial &needleModel, const vpImage<ImageDataType> &I,
82  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000,
83  double Yscale = 3000);
84 template <class ImageDataType>
85 VISP_EXPORT void display(const usNeedleModelPolynomial &needleModel, const vpImage<ImageDataType> &I,
86  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
87  bool displayFullBody = false);
88 
90 
91 template <class ImageDataType>
92 VISP_EXPORT void displayNeedle(const usNeedleModelSpline &needleModel, const vpImage<ImageDataType> &I,
93  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
94  bool displayFullBody = false);
95 template <class ImageDataType>
96 VISP_EXPORT void displayBaseStaticTorsor(const usNeedleModelSpline &needleModel, const vpImage<ImageDataType> &I,
97  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000,
98  double Yscale = 3000);
99 template <class ImageDataType>
100 VISP_EXPORT void displayCurvatureFromShape(const usNeedleModelSpline &needleModel, const vpImage<ImageDataType> &I,
101  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000,
102  double Yscale = 3000);
103 template <class ImageDataType>
104 VISP_EXPORT void display(const usNeedleModelSpline &needleModel, const vpImage<ImageDataType> &I,
105  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
106  bool displayFullBody = false);
107 
109 
110 template <class ImageDataType>
111 VISP_EXPORT void display(const usVirtualSpring &spring, const vpImage<ImageDataType> &I,
112  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
113 
115 
116 template <class ImageDataType>
117 VISP_EXPORT void display(const usTissueModelSpline &tissue, const vpImage<ImageDataType> &I,
118  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
119 
121 
122 template <class ImageDataType>
123 VISP_EXPORT void display(const usNeedleTip &tip, const vpImage<ImageDataType> &I,
124  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
125 
127 
128 template <class ImageDataType>
129 VISP_EXPORT void display(const usNeedleTipActuated &tip, const vpImage<ImageDataType> &I,
130  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
131 
133 
134 template <class ImageDataType>
135 VISP_EXPORT void display(const usNeedleTipBeveled &tip, const vpImage<ImageDataType> &I,
136  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
137 
139 
140 template <class ImageDataType>
141 VISP_EXPORT void display(const usNeedleTipPrebent &tip, const vpImage<ImageDataType> &I,
142  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
143 
145 
146 template <class ImageDataType>
147 VISP_EXPORT void display(const usNeedleTipSymmetric &tip, const vpImage<ImageDataType> &I,
148  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
149 
151 
152 template <class ImageDataType>
153 VISP_EXPORT void display(const usNeedleInsertionModelKinematic &model, const vpImage<ImageDataType> &I,
154  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
155 
157 
158 template <class ImageDataType>
159 VISP_EXPORT void displayLayers(const usNeedleInsertionModelRayleighRitzSpline &model, const vpImage<ImageDataType> &I,
160  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000);
161 template <class ImageDataType>
163  const vpImage<ImageDataType> &I, const vpHomogeneousMatrix &imageMworld,
164  double Xscale = 3000, double Yscale = 3000);
165 template <class ImageDataType>
166 VISP_EXPORT void display(const usNeedleInsertionModelRayleighRitzSpline &model, const vpImage<ImageDataType> &I,
167  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
168  bool displayFullBody = false);
169 
171 
172 template <class ImageDataType>
173 VISP_EXPORT void display(const usNeedleInsertionModelVirtualSprings &model, const vpImage<ImageDataType> &I,
174  const vpHomogeneousMatrix &imageMworld, double Xscale = 3000, double Yscale = 3000,
175  bool displayFullBody = false);
176 
177 } // namespace usNeedleModelingDisplayTools
178 
179 #endif // __usNeedleModelingDisplayTools_h_
VISP_EXPORT void displayTip(const usNeedleModelBaseTip &needleModel, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000)
VISP_EXPORT void displayBase(const usNeedleModelBaseTip &needleModel, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000)
Display usNeedleModelBaseTip.
VISP_EXPORT void displayLayers(const usNeedleInsertionModelRayleighRitzSpline &model, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000)
Display usNeedleInsertionModelRayleighRitzSpline.
VISP_EXPORT void displayCurvatureFromShape(const usNeedleModelPolynomial &needleModel, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000)
VISP_EXPORT void displayInteraction(const usNeedleInsertionModelRayleighRitzSpline &model, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000)
VISP_EXPORT void displayBaseStaticTorsor(const usNeedleModelPolynomial &needleModel, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000)
VISP_EXPORT void displayNeedle(const usNeedleModelPolynomial &needleModel, const vpImage< ImageDataType > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000, bool displayFullBody=false)
Display usNeedleModelPolynomial.
VISP_EXPORT void display(const usNeedleModelBaseTip &needleModel, vpImage< unsigned char > &I, const vpHomogeneousMatrix &imageMworld, double Xscale=3000, double Yscale=3000)