ITK
4.13.0
Insight Segmentation and Registration Toolkit
|
#include <itkShotNoiseImageFilter.h>
Alter an image with shot noise.
The shot noise follows a Poisson distribution:
The intensities in the image can be scaled by a user provided value to map pixel values to the actual number of particles. The scaling can be seen as the inverse of the gain used during the acquisition. The noisy signal is then scaled back to its input intensity range:
The Poisson-distributed variable is computed by using the algorithm:
This algorithm is very inefficient for large values of , though. Fortunately, the Poisson distribution can be accurately approximated by a Gaussian distribution of mean and variance when is large enough. In this implementation, this value is considered to be 50. This leads to the faster algorithm:
This code was contributed in the Insight Journal paper "Noise Simulation". https://hdl.handle.net/10380/3158
Definition at line 93 of file itkShotNoiseImageFilter.h.
Public Types | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImagePointer | OutputImagePointer |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef Superclass::OutputImageType | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef ShotNoiseImageFilter | Self |
typedef NoiseBaseImageFilter < TInputImage, TOutputImage > | Superclass |
Public Types inherited from itk::NoiseBaseImageFilter< TInputImage, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef SmartPointer< Self > | Pointer |
typedef NoiseBaseImageFilter | Self |
typedef InPlaceImageFilter < TInputImage, TOutputImage > | Superclass |
Public Types inherited from itk::InPlaceImageFilter< TInputImage, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImagePointer | OutputImagePointer |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef Superclass::OutputImageType | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef InPlaceImageFilter | Self |
typedef ImageToImageFilter < TInputImage, TOutputImage > | Superclass |
Public Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef InputImageType::ConstPointer | InputImageConstPointer |
typedef InputImageType::PixelType | InputImagePixelType |
typedef InputImageType::Pointer | InputImagePointer |
typedef InputImageType::RegionType | InputImageRegionType |
typedef TInputImage | InputImageType |
typedef Superclass::OutputImagePixelType | OutputImagePixelType |
typedef Superclass::OutputImageRegionType | OutputImageRegionType |
typedef SmartPointer< Self > | Pointer |
typedef ImageToImageFilter | Self |
typedef ImageSource< TOutputImage > | Superclass |
Public Types inherited from itk::ImageSource< TOutputImage > | |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef Superclass::DataObjectPointerArraySizeType | DataObjectPointerArraySizeType |
typedef OutputImageType::PixelType | OutputImagePixelType |
typedef OutputImageType::Pointer | OutputImagePointer |
typedef OutputImageType::RegionType | OutputImageRegionType |
typedef TOutputImage | OutputImageType |
typedef SmartPointer< Self > | Pointer |
typedef ImageSource | Self |
typedef ProcessObject | Superclass |
Public Types inherited from itk::ProcessObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef DataObject::DataObjectIdentifierType | DataObjectIdentifierType |
typedef DataObject::Pointer | DataObjectPointer |
typedef std::vector < DataObjectPointer > | DataObjectPointerArray |
typedef DataObjectPointerArray::size_type | DataObjectPointerArraySizeType |
typedef MultiThreader | MultiThreaderType |
typedef std::vector < DataObjectIdentifierType > | NameArray |
typedef SmartPointer< Self > | Pointer |
typedef ProcessObject | Self |
typedef Object | Superclass |
Public Types inherited from itk::Object | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef Object | Self |
typedef LightObject | Superclass |
Public Types inherited from itk::LightObject | |
typedef SmartPointer< const Self > | ConstPointer |
typedef SmartPointer< Self > | Pointer |
typedef LightObject | Self |
Static Public Member Functions | |
static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
static bool | GetGlobalWarningDisplay () |
static void | GlobalWarningDisplayOff () |
static void | GlobalWarningDisplayOn () |
static Pointer | New () |
static void | SetGlobalWarningDisplay (bool flag) |
Static Public Member Functions inherited from itk::LightObject | |
static void | BreakOnError () |
static Pointer | New () |
Private Attributes | |
double | m_Scale |
Additional Inherited Members | |
Static Public Attributes inherited from itk::InPlaceImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
static const unsigned int | InputImageDimension = TInputImage::ImageDimension |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Static Public Attributes inherited from itk::ImageSource< TOutputImage > | |
static const unsigned int | OutputImageDimension = TOutputImage::ImageDimension |
Protected Types inherited from itk::ImageToImageFilter< TInputImage, TOutputImage > | |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(OutputImageDimension), itkGetStaticConstMacro(InputImageDimension) > | InputToOutputRegionCopierType |
typedef ImageToImageFilterDetail::ImageRegionCopier < itkGetStaticConstMacro(InputImageDimension), itkGetStaticConstMacro(OutputImageDimension) > | OutputToInputRegionCopierType |
Static Protected Member Functions inherited from itk::NoiseBaseImageFilter< TInputImage, TOutputImage > | |
static OutputImagePixelType | ClampCast (const double &value) |
static uint32_t | Hash (uint32_t a, uint32_t b) |
Static Protected Member Functions inherited from itk::ImageSource< TOutputImage > | |
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
static ITK_THREAD_RETURN_TYPE | ThreaderCallback (void *arg) |
Protected Attributes inherited from itk::ProcessObject | |
TimeStamp | m_OutputInformationMTime |
bool | m_Updating |
Protected Attributes inherited from itk::LightObject | |
AtomicInt< int > | m_ReferenceCount |
typedef SmartPointer<const Self> itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::ConstPointer |
Definition at line 101 of file itkShotNoiseImageFilter.h.
typedef InputImageType::ConstPointer itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::InputImageConstPointer |
Definition at line 118 of file itkShotNoiseImageFilter.h.
typedef InputImageType::PixelType itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::InputImagePixelType |
Definition at line 120 of file itkShotNoiseImageFilter.h.
typedef InputImageType::Pointer itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::InputImagePointer |
Definition at line 117 of file itkShotNoiseImageFilter.h.
typedef InputImageType::RegionType itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::InputImageRegionType |
Definition at line 119 of file itkShotNoiseImageFilter.h.
typedef TInputImage itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::InputImageType |
Some convenient typedefs.
Definition at line 116 of file itkShotNoiseImageFilter.h.
typedef Superclass::OutputImagePixelType itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::OutputImagePixelType |
Definition at line 113 of file itkShotNoiseImageFilter.h.
typedef Superclass::OutputImagePointer itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::OutputImagePointer |
Definition at line 111 of file itkShotNoiseImageFilter.h.
typedef Superclass::OutputImageRegionType itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::OutputImageRegionType |
Definition at line 112 of file itkShotNoiseImageFilter.h.
typedef Superclass::OutputImageType itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::OutputImageType |
Superclass typedefs.
Definition at line 107 of file itkShotNoiseImageFilter.h.
typedef SmartPointer<Self> itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::Pointer |
Definition at line 100 of file itkShotNoiseImageFilter.h.
typedef ShotNoiseImageFilter itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Definition at line 98 of file itkShotNoiseImageFilter.h.
typedef NoiseBaseImageFilter< TInputImage,TOutputImage > itk::ShotNoiseImageFilter< TInputImage, TOutputImage >::Superclass |
Definition at line 99 of file itkShotNoiseImageFilter.h.
|
protected |
Begin concept checking End concept checking
|
inlineoverrideprotectedvirtual |
Definition at line 141 of file itkShotNoiseImageFilter.h.
|
virtual |
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::Object.
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::NoiseBaseImageFilter< TInputImage, TOutputImage >.
|
virtual |
Set/Get the value to map the pixel value to the actual particle counting. The scaling can be seen as the inverse of the gain used during the acquisition. The noisy signal is then scaled back to its input intensity range. Defaults to 1.0.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
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::NoiseBaseImageFilter< TInputImage, TOutputImage >.
|
virtual |
Set/Get the value to map the pixel value to the actual particle counting. The scaling can be seen as the inverse of the gain used during the acquisition. The noisy signal is then scaled back to its input intensity range. Defaults to 1.0.
|
overrideprotectedvirtual |
If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). This superclass will automatically split the output image into a number of pieces, spawn multiple threads, and call ThreadedGenerateData() in each thread. Prior to spawning threads, the BeforeThreadedGenerateData() method is called. After all the threads have completed, the AfterThreadedGenerateData() method is called. If an image processing filter cannot support threading, that filter should provide an implementation of the GenerateData() method instead of providing an implementation of ThreadedGenerateData(). If a filter provides a GenerateData() method as its implementation, then the filter is responsible for allocating the output data. If a filter provides a ThreadedGenerateData() method as its implementation, then the output memory will allocated automatically by this superclass. The ThreadedGenerateData() method should only produce the output specified by "outputThreadRegion" parameter. ThreadedGenerateData() cannot write to any other portion of the output image (as this is responsibility of a different thread).
Reimplemented from itk::ImageSource< TOutputImage >.
|
private |
Definition at line 148 of file itkShotNoiseImageFilter.h.