ITK
5.0.0
Insight Segmentation and Registration Toolkit
Main Page
Related Pages
Modules
Namespaces
Classes
Files
Examples
File List
File Members
ITK
Modules
Numerics
Statistics
include
itkNormalVariateGenerator.h
Go to the documentation of this file.
1
/*=========================================================================
2
*
3
* Copyright Insight Software Consortium
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
* http://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 itkNormalVariateGenerator_h
19
#define itkNormalVariateGenerator_h
20
21
#include "
itkObjectFactory.h
"
22
#include "
itkRandomVariateGeneratorBase.h
"
23
#include "ITKStatisticsExport.h"
24
25
namespace
itk
26
{
27
namespace
Statistics
28
{
98
class
ITKStatistics_EXPORT
NormalVariateGenerator
:
99
public
RandomVariateGeneratorBase
100
{
101
public
:
103
using
Self
=
NormalVariateGenerator
;
104
using
Superclass
=
RandomVariateGeneratorBase
;
105
using
Pointer
=
SmartPointer< Self >
;
106
using
ConstPointer
=
SmartPointer< const Self >
;
107
109
itkTypeMacro(
NormalVariateGenerator
,
110
RandomVariateGeneratorBase
);
111
113
itkNewMacro(
Self
);
114
116
void
Initialize(
int
randomSeed);
117
119
double
GetVariate()
override
;
120
121
protected
:
122
NormalVariateGenerator
();
123
~
NormalVariateGenerator
()
override
;
124
void
PrintSelf(std::ostream & os,
Indent
indent)
const override
;
125
127
double
FastNorm();
128
129
private
:
130
131
static
inline
int
SignedShiftXOR
(
int
irs )
132
{
133
// shifting of signed integer gives undefined results, explicitly
134
// cast to unsigned to get expected ( if two complement
135
// representation ) results.
136
auto
uirs =
static_cast<
unsigned
int
>
(irs);
137
return
static_cast<
int
>
(( irs <= 0 ) ? ( ( uirs << 1 ) ^ 333556017 ) : ( uirs << 1 ));
138
}
139
140
double
m_Scale
;
141
double
m_Rscale
;
142
double
m_Rcons
;
143
int
m_ELEN
;
144
int
m_LEN
;
145
int
m_LMASK
;
146
int
m_TLEN
;
147
148
int
m_Gaussfaze
;
149
int
*
m_Gausssave
;
150
151
double
m_GScale
;
152
153
int
*
m_Vec1
;
154
int
m_Nslew
;
155
int
m_Irs
;
156
int
m_Lseed
;
157
double
m_Chic1
;
158
double
m_Chic2
;
159
double
m_ActualRSD
;
160
};
// end of class
161
}
// end of namespace Statistics
162
}
// end of namespace itk
163
#endif
itk::LightObject
Light weight base class for most itk classes.
Definition:
itkLightObject.h:55
itk::Statistics::NormalVariateGenerator::m_ELEN
int m_ELEN
Definition:
itkNormalVariateGenerator.h:143
itkObjectFactory.h
itk::Statistics::NormalVariateGenerator::m_LEN
int m_LEN
Definition:
itkNormalVariateGenerator.h:144
itk::Statistics::NormalVariateGenerator::m_Nslew
int m_Nslew
Definition:
itkNormalVariateGenerator.h:154
itk::Statistics::NormalVariateGenerator::m_Irs
int m_Irs
Definition:
itkNormalVariateGenerator.h:155
itk::Statistics::NormalVariateGenerator::m_Chic2
double m_Chic2
Definition:
itkNormalVariateGenerator.h:158
itk::Statistics::NormalVariateGenerator::m_TLEN
int m_TLEN
Definition:
itkNormalVariateGenerator.h:146
itk::Statistics::NormalVariateGenerator::m_Vec1
int * m_Vec1
Definition:
itkNormalVariateGenerator.h:153
itk::Statistics::NormalVariateGenerator::m_Rscale
double m_Rscale
Definition:
itkNormalVariateGenerator.h:141
itk::Statistics::NormalVariateGenerator::m_Gausssave
int * m_Gausssave
Definition:
itkNormalVariateGenerator.h:149
itk::Statistics::NormalVariateGenerator::SignedShiftXOR
static int SignedShiftXOR(int irs)
Definition:
itkNormalVariateGenerator.h:131
itk::Statistics::RandomVariateGeneratorBase
Defines common interfaces for random variate generators.
Definition:
itkRandomVariateGeneratorBase.h:33
itk::Statistics::NormalVariateGenerator::m_Gaussfaze
int m_Gaussfaze
Definition:
itkNormalVariateGenerator.h:148
itk::Statistics::NormalVariateGenerator::m_LMASK
int m_LMASK
Definition:
itkNormalVariateGenerator.h:145
itk::Statistics::NormalVariateGenerator::m_Scale
double m_Scale
Definition:
itkNormalVariateGenerator.h:140
itk::Statistics::NormalVariateGenerator::m_GScale
double m_GScale
Definition:
itkNormalVariateGenerator.h:151
itk::Statistics::NormalVariateGenerator::m_Rcons
double m_Rcons
Definition:
itkNormalVariateGenerator.h:142
itk::Statistics::NormalVariateGenerator::m_Lseed
int m_Lseed
Definition:
itkNormalVariateGenerator.h:156
itkRandomVariateGeneratorBase.h
itk::Indent
Control indentation during Print() invocation.
Definition:
itkIndent.h:49
itk::SmartPointer< Self >
itk::Statistics::NormalVariateGenerator::m_Chic1
double m_Chic1
Definition:
itkNormalVariateGenerator.h:157
itk::Statistics::NormalVariateGenerator
Normal random variate generator.
Definition:
itkNormalVariateGenerator.h:98
itk::Statistics::NormalVariateGenerator::m_ActualRSD
double m_ActualRSD
Definition:
itkNormalVariateGenerator.h:159
Generated on Sun Mar 24 2019 03:07:09 for ITK by
1.8.5