MersenneTwisterRandom random variate generator. More...
#include <itkMersenneTwisterRandomVariateGenerator.h>
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef uint32_t | IntegerType |
typedef SmartPointer< Self > | Pointer |
typedef MersenneTwisterRandomVariateGenerator | Self |
typedef RandomVariateGeneratorBase | Superclass |
Public Member Functions | |
virtual LightObject::Pointer | CreateAnother () const |
virtual void | DebugOff () const |
virtual void | DebugOn () const |
virtual void | Delete () |
Command * | GetCommand (unsigned long tag) |
bool | GetDebug () const |
MetaDataDictionary & | GetMetaDataDictionary (void) |
const MetaDataDictionary & | GetMetaDataDictionary (void) const |
virtual unsigned long | GetMTime () const |
virtual const char * | GetNameOfClass () const |
double | GetNormalVariate (const double &mean=0.0, const double &variance=1.0) |
virtual int | GetReferenceCount () const |
double | GetUniformVariate (const double &a, const double &b) |
virtual double | GetVariate () |
bool | HasObserver (const EventObject &event) const |
void | Initialize (const IntegerType oneSeed) |
void | Initialize () |
void | InvokeEvent (const EventObject &) const |
void | InvokeEvent (const EventObject &) |
virtual void | Modified () const |
double | operator() () |
void | Print (std::ostream &os, Indent indent=0) const |
virtual void | Register () const |
void | RemoveAllObservers () |
void | RemoveObserver (unsigned long tag) |
void | SetDebug (bool debugFlag) const |
void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
virtual void | SetReferenceCount (int) |
void | SetSeed (IntegerType *bigSeed, const IntegerType seedLength=StateVectorLength) |
void | SetSeed () |
void | SetSeed (const IntegerType oneSeed) |
virtual void | UnRegister () const |
double | GetVariateWithClosedRange () |
double | GetVariateWithClosedRange (const double &n) |
double | GetVariateWithOpenUpperRange () |
double | GetVariateWithOpenUpperRange (const double &n) |
double | GetVariateWithOpenRange () |
double | GetVariateWithOpenRange (const double &n) |
IntegerType | GetIntegerVariate () |
IntegerType | GetIntegerVariate (const IntegerType &n) |
double | Get53BitVariate () |
unsigned long | AddObserver (const EventObject &event, Command *) |
unsigned long | AddObserver (const EventObject &event, Command *) const |
Static Public Member Functions | |
static void | BreakOnError () |
static Pointer | New () |
static Pointer | GetInstance () |
static void | SetGlobalWarningDisplay (bool flag) |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOn () |
static void | GlobalWarningDisplayOff () |
Static Public Attributes | |
static const IntegerType | StateVectorLength = 624 |
Protected Types | |
typedef int | InternalReferenceCountType |
Protected Member Functions | |
IntegerType | hiBit (const IntegerType &u) const |
IntegerType | loBit (const IntegerType &u) const |
IntegerType | loBits (const IntegerType &u) const |
MersenneTwisterRandomVariateGenerator () | |
IntegerType | mixBits (const IntegerType &u, const IntegerType &v) const |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | PrintSelf (std::ostream &os, Indent indent) const |
void | reload () |
IntegerType | twist (const IntegerType &m, const IntegerType &s0, const IntegerType &s1) const |
virtual | ~MersenneTwisterRandomVariateGenerator () |
virtual void | PrintHeader (std::ostream &os, Indent indent) const |
virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
Static Protected Member Functions | |
static IntegerType | hash (vcl_time_t t, vcl_clock_t c) |
Protected Attributes | |
int | left |
InternalReferenceCountType | m_ReferenceCount |
SimpleFastMutexLock | m_ReferenceCountLock |
IntegerType * | pNext |
IntegerType | state [StateVectorLength] |
Static Protected Attributes | |
static const unsigned int | M = 397 |
static Pointer | m_Instance |
MersenneTwisterRandom random variate generator.
This notice was included with the original implementation. The only changes made were to obfuscate the author's email addresses.
MersenneTwister.h Mersenne Twister random number generator -- a C++ class MTRand Based on code by Makoto Matsumoto, Takuji Nishimura, and Shawn Cokus Richard J. Wagner v1.0 15 May 2003 rjwagner at writeme dot com
The Mersenne Twister is an algorithm for generating random numbers. It was designed with consideration of the flaws in various other generators. The period, 2^19937-1, and the order of equidistribution, 623 dimensions, are far greater. The generator is also fast; it avoids multiplication and division, and it benefits from caches and pipelines. For more information see the inventors' web page at http:*www.math.keio.ac.jp/~matumoto/emt.html
Reference M. Matsumoto and T. Nishimura, "Mersenne Twister: A 623-Dimensionally Equidistributed Uniform Pseudo-Random Number Generator", ACM Transactions on Modeling and Computer Simulation, Vol. 8, No. 1, January 1998, pp 3-30.
Copyright (C) 1997 - 2002, Makoto Matsumoto and Takuji Nishimura, Copyright (C) 2000 - 2003, Richard J. Wagner All rights reserved.
Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:
1. Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
2. Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
3. The names of its contributors may not be used to endorse or promote products derived from this software without specific prior written permission.
THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
The original code included the following notice:
When you use this, send an email to: matumoto at math dot keio dot ac dot jp with an appropriate reference to your work.
It would be nice to CC: rjwagner at writeme dot com and Cokus at math dot washington dot edu when you write.
Definition at line 103 of file itkMersenneTwisterRandomVariateGenerator.h.
typedef SmartPointer<const Self> itk::Statistics::MersenneTwisterRandomVariateGenerator::ConstPointer |
Reimplemented from itk::Statistics::RandomVariateGeneratorBase.
Definition at line 112 of file itkMersenneTwisterRandomVariateGenerator.h.
Definition at line 114 of file itkMersenneTwisterRandomVariateGenerator.h.
typedef int itk::LightObject::InternalReferenceCountType [protected, inherited] |
Define the type of the reference count according to the target. This allows the use of atomic operations
Definition at line 139 of file itkLightObject.h.
Reimplemented from itk::Statistics::RandomVariateGeneratorBase.
Definition at line 111 of file itkMersenneTwisterRandomVariateGenerator.h.
typedef MersenneTwisterRandomVariateGenerator itk::Statistics::MersenneTwisterRandomVariateGenerator::Self |
Standard class typedefs.
Reimplemented from itk::Statistics::RandomVariateGeneratorBase.
Definition at line 109 of file itkMersenneTwisterRandomVariateGenerator.h.
typedef RandomVariateGeneratorBase itk::Statistics::MersenneTwisterRandomVariateGenerator::Superclass |
Reimplemented from itk::Statistics::RandomVariateGeneratorBase.
Definition at line 110 of file itkMersenneTwisterRandomVariateGenerator.h.
itk::Statistics::MersenneTwisterRandomVariateGenerator::MersenneTwisterRandomVariateGenerator | ( | ) | [inline, protected] |
Definition at line 541 of file itkMersenneTwisterRandomVariateGenerator.h.
References SetSeed().
virtual itk::Statistics::MersenneTwisterRandomVariateGenerator::~MersenneTwisterRandomVariateGenerator | ( | ) | [inline, protected, virtual] |
Definition at line 208 of file itkMersenneTwisterRandomVariateGenerator.h.
unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
Command * | ||||
) | [inherited] |
Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects
unsigned long itk::Object::AddObserver | ( | const EventObject & | event, | |
Command * | ||||
) | const [inherited] |
Allow people to add/remove/invoke observers (callbacks) to any ITK object. This is an implementation of the subject/observer design pattern. An observer is added by specifying an event to respond to and an itk::Command to execute. It returns an unsigned long tag which can be used later to remove the event or retrieve the command. The memory for the Command becomes the responsibility of this object, so don't pass the same instance of a command to two different objects
static void itk::LightObject::BreakOnError | ( | ) | [static, inherited] |
This method is called when itkExceptionMacro executes. It allows the debugger to break on error.
virtual LightObject::Pointer itk::Object::CreateAnother | ( | ) | const [virtual, inherited] |
Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.
Reimplemented from itk::LightObject.
Reimplemented in itk::BSplineDeformableTransform< TScalarType, NDimensions, VSplineOrder >, itk::CreateObjectFunction< T >, itk::TransformFactoryBase, itk::AnalyzeImageIOFactory, itk::BioRadImageIOFactory, itk::BMPImageIOFactory, itk::Brains2MaskImageIOFactory, itk::DICOMImageIO2Factory, itk::DicomImageIOFactory, itk::GDCMImageIOFactory, itk::GE4ImageIOFactory, itk::GE5ImageIOFactory, itk::GEAdwImageIOFactory, itk::GiplImageIOFactory, itk::JPEGImageIOFactory, itk::LSMImageIOFactory, itk::MetaImageIOFactory, itk::NiftiImageIOFactory, itk::NrrdImageIOFactory, itk::PNGImageIOFactory, itk::RawImageIOFactory< TPixel, VImageDimension >, itk::SiemensVisionImageIOFactory, itk::StimulateImageIOFactory, itk::TIFFImageIOFactory, itk::VTKImageIOFactory, itk::Bruker2DSEQImageIOFactory, itk::MatlabTransformIOFactory, itk::MINC2ImageIOFactory, itk::MRCImageIOFactory, itk::PhilipsRECImageIOFactory, itk::TxtTransformIOFactory, itk::VoxBoCUBImageIOFactory, itk::VTKImageIO2Factory, and itk::SpatialObjectFactoryBase.
virtual void itk::Object::DebugOff | ( | ) | const [virtual, inherited] |
Turn debugging output off.
virtual void itk::Object::DebugOn | ( | ) | const [virtual, inherited] |
Turn debugging output on.
virtual void itk::LightObject::Delete | ( | ) | [virtual, inherited] |
Delete an itk object. This method should always be used to delete an object when the new operator was used to create it. Using the C delete method will not work with reference counting.
double itk::Statistics::MersenneTwisterRandomVariateGenerator::Get53BitVariate | ( | ) | [inline] |
Access to 53-bit random numbers (capacity of IEEE double precision) in the range [0,1)
Definition at line 492 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetIntegerVariate().
Command* itk::Object::GetCommand | ( | unsigned long | tag | ) | [inherited] |
Get the command associated with the given tag. NOTE: This returns a pointer to a Command, but it is safe to asign this to a Command::Pointer. Since Command inherits from LightObject, at this point in the code, only a pointer or a reference to the Command can be used.
bool itk::Object::GetDebug | ( | ) | const [inherited] |
Get the value of the debug flag.
static bool itk::Object::GetGlobalWarningDisplay | ( | ) | [static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
static Pointer itk::Statistics::MersenneTwisterRandomVariateGenerator::GetInstance | ( | ) | [static] |
Method for creation through the object factory.
MersenneTwisterRandomVariateGenerator::IntegerType itk::Statistics::MersenneTwisterRandomVariateGenerator::GetIntegerVariate | ( | const IntegerType & | n | ) | [inline] |
Get an integer variate in [0, n] for n < 2^32
Definition at line 465 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetIntegerVariate().
MersenneTwisterRandomVariateGenerator::IntegerType itk::Statistics::MersenneTwisterRandomVariateGenerator::GetIntegerVariate | ( | ) | [inline] |
Get an integer variate in [0, 2^32-1]
Definition at line 403 of file itkMersenneTwisterRandomVariateGenerator.h.
References left, pNext, and reload().
Referenced by Get53BitVariate(), GetIntegerVariate(), GetVariateWithClosedRange(), GetVariateWithOpenRange(), and GetVariateWithOpenUpperRange().
MetaDataDictionary& itk::Object::GetMetaDataDictionary | ( | void | ) | [inherited] |
const MetaDataDictionary& itk::Object::GetMetaDataDictionary | ( | void | ) | const [inherited] |
virtual unsigned long itk::Object::GetMTime | ( | ) | const [virtual, inherited] |
Return this objects modified time.
Reimplemented in itk::ImageRegistrationMethod< TFixedImage, TMovingImage >, itk::ImageToSpatialObjectRegistrationMethod< TFixedImage, TMovingSpatialObject >, itk::MultiResolutionImageRegistrationMethod< TFixedImage, TMovingImage >, itk::PointSetToImageRegistrationMethod< TFixedPointSet, TMovingImage >, itk::PointSetToPointSetRegistrationMethod< TFixedPointSet, TMovingPointSet >, itk::DeformationFieldSource< TOutputImage >, itk::InverseDeformationFieldImageFilter< TInputImage, TOutputImage >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::VectorResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::BoundingBox< TPointIdentifier, VPointDimension, TCoordRep, TPointsContainer >, itk::ImageAdaptor< TImage, TAccessor >, itk::ResampleImageFilter< TInputImage, TOutputImage, TInterpolatorPrecisionType >, itk::TransformToDeformationFieldSource< TOutputImage, TTransformPrecisionType >, itk::ImageSpatialObject< TDimension, TPixelType >, itk::MeshSpatialObject< TMesh >, itk::SceneSpatialObject< TSpaceDimension >, itk::SpatialObject< TDimension >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, itk::ImageSpatialObject< TDimension, unsigned char >, itk::SpatialObject< 3 >, and itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >.
Referenced by itk::SpatialObject< ::itk::GetMeshDimension< TMesh >::PointDimension >::GetObjectMTime().
virtual const char* itk::Statistics::MersenneTwisterRandomVariateGenerator::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods).
Reimplemented from itk::Statistics::RandomVariateGeneratorBase.
double itk::Statistics::MersenneTwisterRandomVariateGenerator::GetNormalVariate | ( | const double & | mean = 0.0 , |
|
const double & | variance = 1.0 | |||
) | [inline] |
Definition at line 503 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetVariateWithOpenRange(), and GetVariateWithOpenUpperRange().
virtual int itk::LightObject::GetReferenceCount | ( | ) | const [inline, virtual, inherited] |
Gets the reference count on this object.
Definition at line 106 of file itkLightObject.h.
double itk::Statistics::MersenneTwisterRandomVariateGenerator::GetUniformVariate | ( | const double & | a, | |
const double & | b | |||
) | [inline] |
Definition at line 518 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetVariateWithOpenUpperRange().
double itk::Statistics::MersenneTwisterRandomVariateGenerator::GetVariate | ( | ) | [inline, virtual] |
get a variate in the range [0, 1] Do NOT use for CRYPTOGRAPHY without securely hashing several returned values together, otherwise the generator state can be learned after reading 624 consecutive values.
Implements itk::Statistics::RandomVariateGeneratorBase.
Definition at line 527 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetVariateWithClosedRange().
Referenced by operator()().
double itk::Statistics::MersenneTwisterRandomVariateGenerator::GetVariateWithClosedRange | ( | ) | [inline] |
Get a random variate in the range [0, 1]
Definition at line 419 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetIntegerVariate().
Referenced by GetVariate(), and GetVariateWithClosedRange().
double itk::Statistics::MersenneTwisterRandomVariateGenerator::GetVariateWithClosedRange | ( | const double & | n | ) | [inline] |
Get a random variate in the range [0, n]
Definition at line 426 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetVariateWithClosedRange().
double itk::Statistics::MersenneTwisterRandomVariateGenerator::GetVariateWithOpenRange | ( | ) | [inline] |
Get a range variate in the range (0, 1)
Definition at line 449 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetIntegerVariate().
Referenced by GetNormalVariate(), and GetVariateWithOpenRange().
double itk::Statistics::MersenneTwisterRandomVariateGenerator::GetVariateWithOpenRange | ( | const double & | n | ) | [inline] |
Get a range variate in the range (0, n)
Definition at line 457 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetVariateWithOpenRange().
double itk::Statistics::MersenneTwisterRandomVariateGenerator::GetVariateWithOpenUpperRange | ( | const double & | n | ) | [inline] |
Get a range variate in the range [0, n)
Definition at line 441 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetVariateWithOpenUpperRange().
double itk::Statistics::MersenneTwisterRandomVariateGenerator::GetVariateWithOpenUpperRange | ( | ) | [inline] |
Get a range variate in the range [0, 1)
Definition at line 434 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetIntegerVariate().
Referenced by GetNormalVariate(), GetUniformVariate(), and GetVariateWithOpenUpperRange().
static void itk::Object::GlobalWarningDisplayOff | ( | ) | [inline, static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Definition at line 100 of file itkObject.h.
References itk::Object::SetGlobalWarningDisplay().
static void itk::Object::GlobalWarningDisplayOn | ( | ) | [inline, static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Definition at line 98 of file itkObject.h.
References itk::Object::SetGlobalWarningDisplay().
MersenneTwisterRandomVariateGenerator::IntegerType itk::Statistics::MersenneTwisterRandomVariateGenerator::hash | ( | vcl_time_t | t, | |
vcl_clock_t | c | |||
) | [inline, static, protected] |
Definition at line 257 of file itkMersenneTwisterRandomVariateGenerator.h.
Referenced by SetSeed().
bool itk::Object::HasObserver | ( | const EventObject & | event | ) | const [inherited] |
Return true if an observer is registered for this event.
IntegerType itk::Statistics::MersenneTwisterRandomVariateGenerator::hiBit | ( | const IntegerType & | u | ) | const [inline, protected] |
Definition at line 238 of file itkMersenneTwisterRandomVariateGenerator.h.
void itk::Statistics::MersenneTwisterRandomVariateGenerator::Initialize | ( | const IntegerType | oneSeed | ) | [inline] |
Length of array for save() initialize with a simple IntegerType
Definition at line 284 of file itkMersenneTwisterRandomVariateGenerator.h.
References state, and StateVectorLength.
void itk::Statistics::MersenneTwisterRandomVariateGenerator::Initialize | ( | void | ) | [inline] |
Initialize with an array
Definition at line 379 of file itkMersenneTwisterRandomVariateGenerator.h.
References SetSeed().
Referenced by SetSeed().
void itk::Object::InvokeEvent | ( | const EventObject & | ) | [inherited] |
Call Execute on all the Commands observing this event id.
void itk::Object::InvokeEvent | ( | const EventObject & | ) | const [inherited] |
Call Execute on all the Commands observing this event id. The actions triggered by this call doesn't modify this object.
IntegerType itk::Statistics::MersenneTwisterRandomVariateGenerator::loBit | ( | const IntegerType & | u | ) | const [inline, protected] |
Definition at line 239 of file itkMersenneTwisterRandomVariateGenerator.h.
IntegerType itk::Statistics::MersenneTwisterRandomVariateGenerator::loBits | ( | const IntegerType & | u | ) | const [inline, protected] |
Definition at line 240 of file itkMersenneTwisterRandomVariateGenerator.h.
IntegerType itk::Statistics::MersenneTwisterRandomVariateGenerator::mixBits | ( | const IntegerType & | u, | |
const IntegerType & | v | |||
) | const [inline, protected] |
Definition at line 241 of file itkMersenneTwisterRandomVariateGenerator.h.
virtual void itk::Object::Modified | ( | ) | const [virtual, inherited] |
Update the modification time for this object. Many filters rely on the modification time to determine if they need to recompute their data.
Reimplemented in itk::NormalizeImageFilter< TInputImage, TOutputImage >, itk::ImageAdaptor< TImage, TAccessor >, itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, TFilter >, itk::GrayscaleDilateImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleErodeImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalClosingImageFilter< TInputImage, TOutputImage, TKernel >, itk::GrayscaleMorphologicalOpeningImageFilter< TInputImage, TOutputImage, TKernel >, itk::MorphologicalGradientImageFilter< TInputImage, TOutputImage, TKernel >, itk::ImageAdaptor< TImage, Accessor::AsinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SqrtPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::TanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::CosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::VectorToRGBPixelAccessor< TImage::PixelType::ValueType > >, itk::ImageAdaptor< TImage, Accessor::RGBToVectorPixelAccessor< TImage::PixelType::ComponentType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToModulusPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AbsPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::SinPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::LogPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToPhasePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< VectorImage< TPixelType, Dimension >, Accessor::VectorImageToImagePixelAccessor< TPixelType > >, itk::ImageAdaptor< TImage, Accessor::Log10PixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AtanPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToRealPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ComplexToImaginaryPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpNegativePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::ExpPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AcosPixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::RGBToLuminancePixelAccessor< TImage::PixelType, TOutputPixelType > >, itk::ImageAdaptor< TImage, Accessor::AddPixelAccessor< TImage::PixelType > >, and itk::MiniPipelineSeparableImageFilter< TInputImage, TOutputImage, RankImageFilter< TInputImage, TInputImage, FlatStructuringElement< ::itk::GetImageDimension< TInputImage >::ImageDimension > > >.
Referenced by itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::InsertNarrowBandNode(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetCenter(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetMatrix(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBand(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandInnerRadius(), itk::NarrowBandImageFilterBase< TInputImage, Image< TOutputPixelType,::itk::GetImageDimension< TInputImage >::ImageDimension > >::SetNarrowBandTotalRadius(), itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetOffset(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetRealThresholds(), itk::ThresholdLabelerImageFilter< TInputImage, TOutputImage >::SetThresholds(), itk::Statistics::GoodnessOfFitFunctionBase< TInputHistogram >::SetTotalObservedScale(), and itk::MatrixOffsetTransformBase< TScalarType, 3, 3 >::SetTranslation().
static Pointer itk::Statistics::MersenneTwisterRandomVariateGenerator::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
double itk::Statistics::MersenneTwisterRandomVariateGenerator::operator() | ( | ) | [inline] |
Same as GetVariate()
Definition at line 534 of file itkMersenneTwisterRandomVariateGenerator.h.
References GetVariate().
void itk::LightObject::Print | ( | std::ostream & | os, | |
Indent | indent = 0 | |||
) | const [inherited] |
Cause the object to print itself out.
Referenced by itk::WeakPointer< ProcessObject >::Print().
virtual void itk::LightObject::PrintHeader | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, virtual, inherited] |
bool itk::Object::PrintObservers | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, inherited] |
virtual void itk::Statistics::MersenneTwisterRandomVariateGenerator::PrintSelf | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [inline, protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::Object.
Definition at line 209 of file itkMersenneTwisterRandomVariateGenerator.h.
References HardConnectedComponentImageFilter::PrintSelf().
virtual void itk::LightObject::PrintTrailer | ( | std::ostream & | os, | |
Indent | indent | |||
) | const [protected, virtual, inherited] |
virtual void itk::Object::Register | ( | ) | const [virtual, inherited] |
Increase the reference count (mark as used by another object).
Reimplemented from itk::LightObject.
void itk::Statistics::MersenneTwisterRandomVariateGenerator::reload | ( | ) | [inline, protected] |
Definition at line 302 of file itkMersenneTwisterRandomVariateGenerator.h.
References left, M, pNext, state, StateVectorLength, and twist().
Referenced by GetIntegerVariate(), and SetSeed().
void itk::Object::RemoveAllObservers | ( | ) | [inherited] |
Remove all observers .
void itk::Object::RemoveObserver | ( | unsigned long | tag | ) | [inherited] |
Remove the observer with this tag value.
void itk::Object::SetDebug | ( | bool | debugFlag | ) | const [inherited] |
Set the value of the debug flag. A non-zero value turns debugging on.
static void itk::Object::SetGlobalWarningDisplay | ( | bool | flag | ) | [static, inherited] |
This is a global flag that controls whether any debug, warning or error messages are displayed.
Referenced by itk::Object::GlobalWarningDisplayOff(), and itk::Object::GlobalWarningDisplayOn().
void itk::Object::SetMetaDataDictionary | ( | const MetaDataDictionary & | rhs | ) | [inherited] |
virtual void itk::Object::SetReferenceCount | ( | int | ) | [virtual, inherited] |
Sets the reference count (use with care)
Reimplemented from itk::LightObject.
void itk::Statistics::MersenneTwisterRandomVariateGenerator::SetSeed | ( | IntegerType * | bigSeed, | |
const IntegerType | seedLength = StateVectorLength | |||
) | [inline] |
Definition at line 329 of file itkMersenneTwisterRandomVariateGenerator.h.
References Initialize(), reload(), state, StateVectorLength, and SVL.
void itk::Statistics::MersenneTwisterRandomVariateGenerator::SetSeed | ( | const IntegerType | oneSeed | ) | [inline] |
Definition at line 386 of file itkMersenneTwisterRandomVariateGenerator.h.
References Initialize(), and reload().
void itk::Statistics::MersenneTwisterRandomVariateGenerator::SetSeed | ( | ) | [inline] |
Definition at line 395 of file itkMersenneTwisterRandomVariateGenerator.h.
References hash().
Referenced by Initialize(), and MersenneTwisterRandomVariateGenerator().
IntegerType itk::Statistics::MersenneTwisterRandomVariateGenerator::twist | ( | const IntegerType & | m, | |
const IntegerType & | s0, | |||
const IntegerType & | s1 | |||
) | const [inline, protected] |
Definition at line 245 of file itkMersenneTwisterRandomVariateGenerator.h.
Referenced by reload().
virtual void itk::Object::UnRegister | ( | ) | const [virtual, inherited] |
Decrease the reference count (release by another object).
Reimplemented from itk::LightObject.
int itk::Statistics::MersenneTwisterRandomVariateGenerator::left [protected] |
Definition at line 233 of file itkMersenneTwisterRandomVariateGenerator.h.
Referenced by GetIntegerVariate(), and reload().
const unsigned int itk::Statistics::MersenneTwisterRandomVariateGenerator::M = 397 [static, protected] |
Definition at line 229 of file itkMersenneTwisterRandomVariateGenerator.h.
Referenced by reload().
Pointer itk::Statistics::MersenneTwisterRandomVariateGenerator::m_Instance [static, protected] |
Definition at line 250 of file itkMersenneTwisterRandomVariateGenerator.h.
InternalReferenceCountType itk::LightObject::m_ReferenceCount [mutable, protected, inherited] |
Number of uses of this object by other objects.
Definition at line 144 of file itkLightObject.h.
SimpleFastMutexLock itk::LightObject::m_ReferenceCountLock [mutable, protected, inherited] |
Mutex lock to protect modification to the reference count
Definition at line 147 of file itkLightObject.h.
Definition at line 232 of file itkMersenneTwisterRandomVariateGenerator.h.
Referenced by GetIntegerVariate(), and reload().
IntegerType itk::Statistics::MersenneTwisterRandomVariateGenerator::state[StateVectorLength] [protected] |
Definition at line 231 of file itkMersenneTwisterRandomVariateGenerator.h.
Referenced by Initialize(), reload(), and SetSeed().
const IntegerType itk::Statistics::MersenneTwisterRandomVariateGenerator::StateVectorLength = 624 [static] |
Length of state vector
Definition at line 126 of file itkMersenneTwisterRandomVariateGenerator.h.
Referenced by Initialize(), reload(), and SetSeed().