-
Notifications
You must be signed in to change notification settings - Fork 12
/
Copy pathIntensityCompounding.h
65 lines (55 loc) · 1.54 KB
/
IntensityCompounding.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
#ifndef INTENSITYCOMPOUNDING_H
#define INTENSITYCOMPOUNDING_H
#include <vector>
/**
* \brief 3D Reconstruction software of ultrasound data using RF-data
*
* \authors Tassilo Klein
* <br>
* kleint\@cs.tum.edu
* \ingroup Ultrasound
* \version 1.0a
* \date 07-06-2010
*
* \par License:
* Copyright (c) 2005, 2006, 2007, 2008, 2009
* Chair for Computer Aided Medical Procedures & Augmented Reality (CAMPAR) I-16,
* Technische Universität München
* <br>
* <br>
* All rights reserved.
* <br>
* <br>
* See <a href="COPYRIGHT.txt">COPYRIGHT.txt</a> for details.
* <br>
* <br>
* This software is distributed WITHOUT ANY WARRANTY; without even
* <br>
* the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
* <br>
* PURPOSE. See the <a href="COPYRIGHT.txt">COPYRIGHT.txt</a> notice
* for more information.
*
*/
class IntensityCompounding
{
public:
IntensityCompounding() {}
virtual float evaluate(std::vector<float> *intensityVector, std::vector<float> *distanceVector) { return 0; }
};
class GaussianWeightedCompounding : public IntensityCompounding
{
private:
float m_sigma;
float m_sigmaSQR;
public:
GaussianWeightedCompounding(float sigma);
virtual float evaluate(std::vector<float> *intensityVector, std::vector<float> *distanceVector);
};
class MeanCompounding : public IntensityCompounding
{
public:
MeanCompounding();
virtual float evaluate(std::vector<float> *intensityVector, std::vector<float> *distanceVector);
};
#endif