ITK
6.0.0
Insight Toolkit
ITK
Modules
Numerics
Optimizers
include
itkParticleSwarmOptimizer.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright NumFOCUS
4
*
5
* Licensed under the Apache License, Version 2.0 (the "License");
6
* you may not use this file except in compliance with the License.
7
* You may obtain a copy of the License at
8
*
9
* https://www.apache.org/licenses/LICENSE-2.0.txt
10
*
11
* Unless required by applicable law or agreed to in writing, software
12
* distributed under the License is distributed on an "AS IS" BASIS,
13
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14
* See the License for the specific language governing permissions and
15
* limitations under the License.
16
*
17
*=========================================================================*/
18
#ifndef itkParticleSwarmOptimizer_h
19
#define itkParticleSwarmOptimizer_h
20
21
#include "
itkParticleSwarmOptimizerBase.h
"
22
#include "ITKOptimizersExport.h"
23
24
namespace
itk
25
{
60
class
ITKOptimizers_EXPORT
ParticleSwarmOptimizer
:
public
ParticleSwarmOptimizerBase
61
{
62
public
:
63
ITK_DISALLOW_COPY_AND_MOVE(
ParticleSwarmOptimizer
);
64
66
using
Self
=
ParticleSwarmOptimizer
;
67
using
Superclass
=
ParticleSwarmOptimizerBase
;
68
using
Pointer
=
SmartPointer<Self>
;
69
using
ConstPointer
=
SmartPointer<const Self>
;
70
72
itkNewMacro(
Self
);
73
75
itkOverrideGetNameOfClassMacro(
ParticleSwarmOptimizer
);
76
89
itkSetMacro(InertiaCoefficient,
double
);
90
itkGetMacro(InertiaCoefficient,
double
);
91
itkSetMacro(PersonalCoefficient,
double
);
92
itkGetMacro(PersonalCoefficient,
double
);
93
itkSetMacro(GlobalCoefficient,
double
);
94
itkGetMacro(GlobalCoefficient,
double
);
97
protected
:
98
ParticleSwarmOptimizer
();
99
~
ParticleSwarmOptimizer
()
override
;
100
void
101
PrintSelf(std::ostream & os,
Indent
indent)
const override
;
102
void
103
UpdateSwarm()
override
;
104
105
private
:
106
ParametersType::ValueType m_InertiaCoefficient{};
107
ParametersType::ValueType m_PersonalCoefficient{};
108
ParametersType::ValueType m_GlobalCoefficient{};
109
};
110
111
}
// end namespace itk
112
113
#endif
itk::SmartPointer< Self >
itk::Indent
Control indentation during Print() invocation.
Definition:
itkIndent.h:49
itk::ParticleSwarmOptimizer
Implementation of a Particle Swarm Optimization (PSO) algorithm.
Definition:
itkParticleSwarmOptimizer.h:60
itk::ParticleSwarmOptimizerBase
Abstract implementation of a Particle Swarm Optimization (PSO) algorithm.
Definition:
itkParticleSwarmOptimizerBase.h:56
itkParticleSwarmOptimizerBase.h
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:55
itk
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
Definition:
itkAnatomicalOrientation.h:29
Generated on
unknown
for ITK by
1.8.16