ITK  4.2.0
Insight Segmentation and Registration Toolkit
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"
23 
24 namespace itk
25 {
26 namespace Statistics
27 {
97 class ITK_EXPORT NormalVariateGenerator:
99 {
100 public:
106 
108  itkTypeMacro(NormalVariateGenerator,
110 
112  itkNewMacro(Self);
113 
115  void Initialize(int randomSeed);
116 
118  double GetVariate();
119 
120 protected:
122  virtual ~NormalVariateGenerator();
123  virtual void PrintSelf(std::ostream & os, Indent indent) const;
124 
126  double FastNorm(void);
127 
128 private:
129  double m_Scale;
130  double m_Rscale;
131  double m_Rcons;
132  int m_ELEN;
133  int m_LEN;
134  int m_LMASK;
135  int m_TLEN;
136 
139 
140  double m_GScale;
141 
142  int * m_Vec1;
143  int m_Nslew;
144  int m_Irs;
145  int m_Lseed;
146  double m_Chic1;
147  double m_Chic2;
148  double m_ActualRSD;
149 }; // end of class
150 } // end of namespace Statistics
151 } // end of namespace itk
152 #endif
153