Home
|
Main Page
|
Modules
|
Namespace List
|
Class Hierarchy
|
Alphabetical List
|
Data Structures
|
File List
|
Namespace Members
|
Data Fields
|
Globals
|
Related Pages
src
Common
CostFunctions
itkExponentialLimiterFunction.h
Go to the documentation of this file.
1
/*======================================================================
2
3
This file is part of the elastix software.
4
5
Copyright (c) University Medical Center Utrecht. All rights reserved.
6
See src/CopyrightElastix.txt or http://elastix.isi.uu.nl/legal.php for
7
details.
8
9
This software is distributed WITHOUT ANY WARRANTY; without even
10
the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
11
PURPOSE. See the above copyright notices for more information.
12
13
======================================================================*/
14
15
#ifndef __itkExponentialLimiterFunction_h
16
#define __itkExponentialLimiterFunction_h
17
18
#include "
itkLimiterFunctionBase.h
"
19
20
21
namespace
itk
22
{
23
39
template
<
class
TInput,
unsigned
int
NDimension >
40
class
ExponentialLimiterFunction
:
41
public
LimiterFunctionBase
<TInput, NDimension>
42
{
43
public
:
45
typedef
ExponentialLimiterFunction
Self
;
46
typedef
LimiterFunctionBase<TInput, NDimension>
Superclass
;
47
typedef
SmartPointer<Self>
Pointer
;
48
typedef
SmartPointer<const Self>
ConstPointer
;
49
51
itkTypeMacro(
ExponentialLimiterFunction
,
LimiterFunctionBase
);
52
54
itkNewMacro(
Self
);
55
57
itkStaticConstMacro
( Dimension,
unsigned
int
, Superclass::Dimension );
58
59
61
typedef
typename
Superclass::InputType
InputType
;
62
typedef
typename
Superclass::OutputType
OutputType
;
63
typedef
typename
Superclass::DerivativeValueType
DerivativeValueType
;
64
typedef
typename
Superclass::DerivativeType
DerivativeType
;
65
67
virtual
OutputType
Evaluate
(
const
InputType
& input )
const
;
68
70
virtual
OutputType
Evaluate
(
const
InputType
& input,
DerivativeType
& derivative)
const
;
71
73
virtual
void
Initialize
(
void
) throw (ExceptionObject);
74
75
protected:
76
ExponentialLimiterFunction
();
77
~ExponentialLimiterFunction(){};
78
79
virtual
void
ComputeLimiterSettings
(
void
);
80
81
double
m_UTminUB
;
82
double
m_UTminUBinv
;
83
double
m_LTminLB
;
84
double
m_LTminLBinv
;
85
86
87
private
:
88
ExponentialLimiterFunction
(
const
Self
& );
//purposely not implemented
89
void
operator=
(
const
Self
& );
//purposely not implemented
90
91
};
92
93
}
// end namespace itk
94
95
#ifndef ITK_MANUAL_INSTANTIATION
96
#include "itkExponentialLimiterFunction.hxx"
97
#endif
98
99
#endif
Generated on 21-03-2014 for elastix by
1.8.1.2