|
SimpleITK
1.0.1
|
Deconvolve an image using the projected Landweber deconvolution algorithm. More...
#include <sitkProjectedLandweberDeconvolutionImageFilter.h>
Inheritance diagram for itk::simple::ProjectedLandweberDeconvolutionImageFilter:
Collaboration diagram for itk::simple::ProjectedLandweberDeconvolutionImageFilter:Public Types | |
| enum | BoundaryConditionType { ZERO_PAD, ZERO_FLUX_NEUMANN_PAD, PERIODIC_PAD } |
| enum | OutputRegionModeType { SAME, VALID } |
| typedef BasicPixelIDTypeList | PixelIDTypeList |
| typedef ProjectedLandweberDeconvolutionImageFilter | Self |
Public Types inherited from itk::simple::ImageFilter< 2 > | |
| typedef ImageFilter | Self |
Public Types inherited from itk::simple::ProcessObject | |
| typedef ProcessObject | Self |
Public Member Functions | |
| Image | Execute (const Image &image1, const Image &image2) |
| Image | Execute (const Image &image1, const Image &image2, double alpha, int numberOfIterations, bool normalize, ProjectedLandweberDeconvolutionImageFilter::BoundaryConditionType boundaryCondition, ProjectedLandweberDeconvolutionImageFilter::OutputRegionModeType outputRegionMode) |
| double | GetAlpha () const |
| BoundaryConditionType | GetBoundaryCondition () const |
| std::string | GetName () const |
| bool | GetNormalize () const |
| int | GetNumberOfIterations () const |
| OutputRegionModeType | GetOutputRegionMode () const |
| Self & | NormalizeOff () |
| Self & | NormalizeOn () |
| ProjectedLandweberDeconvolutionImageFilter () | |
| Self & | SetAlpha (double Alpha) |
| Self & | SetBoundaryCondition (BoundaryConditionType BoundaryCondition) |
| Self & | SetNormalize (bool Normalize) |
| Self & | SetNumberOfIterations (int NumberOfIterations) |
| Self & | SetOutputRegionMode (OutputRegionModeType OutputRegionMode) |
| std::string | ToString () const |
| ~ProjectedLandweberDeconvolutionImageFilter () | |
Public Member Functions inherited from itk::simple::ImageFilter< 2 > | |
| ImageFilter () | |
| virtual | ~ImageFilter ()=0 |
Public Member Functions inherited from itk::simple::ProcessObject | |
| virtual void | Abort () |
| virtual int | AddCommand (itk::simple::EventEnum event, itk::simple::Command &cmd) |
| Add a Command Object to observer the event. More... | |
| virtual float | GetProgress () const |
| An Active Measurement of the progress of execution. More... | |
| virtual bool | HasCommand (itk::simple::EventEnum event) const |
| Query of this object has any registered commands for event. More... | |
| ProcessObject () | |
| virtual void | RemoveAllCommands () |
| Remove all registered commands. More... | |
| virtual | ~ProcessObject () |
| virtual void | DebugOn () |
| virtual void | DebugOff () |
| virtual bool | GetDebug () const |
| virtual void | SetDebug (bool debugFlag) |
| virtual void | SetNumberOfThreads (unsigned int n) |
| virtual unsigned int | GetNumberOfThreads () const |
Private Types | |
| typedef Image(Self::* | MemberFunctionType) (const Image &image1, const Image &image2) |
Private Member Functions | |
| template<class TImageType > | |
| Image | ExecuteInternal (const Image &image1, const Image &image2) |
Private Attributes | |
| double | m_Alpha |
| BoundaryConditionType | m_BoundaryCondition |
| nsstd::auto_ptr< detail::MemberFunctionFactory< MemberFunctionType > > | m_MemberFactory |
| bool | m_Normalize |
| int | m_NumberOfIterations |
| OutputRegionModeType | m_OutputRegionMode |
Friends | |
| struct | detail::MemberFunctionAddressor< MemberFunctionType > |
Additional Inherited Members | |
Static Public Member Functions inherited from itk::simple::ProcessObject | |
| static bool | GetGlobalDefaultDebug () |
| static void | GlobalDefaultDebugOff () |
| static void | GlobalDefaultDebugOn () |
| static void | SetGlobalDefaultDebug (bool debugFlag) |
| static void | GlobalWarningDisplayOn () |
| static void | GlobalWarningDisplayOff () |
| static void | SetGlobalWarningDisplay (bool flag) |
| static bool | GetGlobalWarningDisplay () |
| static void | SetGlobalDefaultNumberOfThreads (unsigned int n) |
| static unsigned int | GetGlobalDefaultNumberOfThreads () |
| static double | GetGlobalDefaultCoordinateTolerance () |
| Access the global tolerance to determine congruent spaces. More... | |
| static void | SetGlobalDefaultCoordinateTolerance (double) |
| Access the global tolerance to determine congruent spaces. More... | |
| static double | GetGlobalDefaultDirectionTolerance () |
| Access the global tolerance to determine congruent spaces. More... | |
| static void | SetGlobalDefaultDirectionTolerance (double) |
| Access the global tolerance to determine congruent spaces. More... | |
Protected Member Functions inherited from itk::simple::ProcessObject | |
| virtual unsigned long | AddITKObserver (const itk::EventObject &, itk::Command *) |
| virtual itk::ProcessObject * | GetActiveProcess () |
| virtual void | OnActiveProcessDelete () |
| virtual void | onCommandDelete (const itk::simple::Command *cmd) throw () |
| virtual void | PreUpdate (itk::ProcessObject *p) |
| virtual void | RemoveITKObserver (EventCommand &e) |
Protected Member Functions inherited from itk::simple::NonCopyable | |
| NonCopyable () | |
Static Protected Member Functions inherited from itk::simple::ImageFilter< 2 > | |
| static void | FixNonZeroIndex (TImageType *img) |
Static Protected Member Functions inherited from itk::simple::ProcessObject | |
| template<class TImageType > | |
| static TImageType::ConstPointer | CastImageToITK (const Image &img) |
| template<class TImageType > | |
| static Image | CastITKToImage (TImageType *img) |
| template<class TPixelType , unsigned int VImageDimension, unsigned int VLength, template< typename, unsigned int > class TVector> | |
| static Image | CastITKToImage (itk::Image< TVector< TPixelType, VLength >, VImageDimension > *img) |
| static const itk::EventObject & | GetITKEventObject (EventEnum e) |
| template<typename T > | |
| static std::ostream & | ToStringHelper (std::ostream &os, const T &v) |
| static std::ostream & | ToStringHelper (std::ostream &os, const char &v) |
| static std::ostream & | ToStringHelper (std::ostream &os, const signed char &v) |
| static std::ostream & | ToStringHelper (std::ostream &os, const unsigned char &v) |
Deconvolve an image using the projected Landweber deconvolution algorithm.
This filter performs the same calculation per iteration as the LandweberDeconvolutionImageFilter . However, at each iteration, negative pixels in the intermediate result are projected (set) to zero. This is useful if the solution is assumed to always be non-negative, which is the case when dealing with images formed by counting photons, for example.
This code was adapted from the Insight Journal contribution:
"Deconvolution: infrastructure and reference algorithms" by Gaetan Lehmann https://hdl.handle.net/10380/3207
Cory Quammen, The University of North Carolina at Chapel Hill
Definition at line 56 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
private |
Setup for member function dispatching
Definition at line 144 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
| typedef BasicPixelIDTypeList itk::simple::ProjectedLandweberDeconvolutionImageFilter::PixelIDTypeList |
Define the pixels types supported by this filter
Definition at line 68 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
| typedef ProjectedLandweberDeconvolutionImageFilter itk::simple::ProjectedLandweberDeconvolutionImageFilter::Self |
Definition at line 58 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
| Enumerator | |
|---|---|
| ZERO_PAD | |
| ZERO_FLUX_NEUMANN_PAD | |
| PERIODIC_PAD | |
Definition at line 106 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
| Enumerator | |
|---|---|
| SAME | |
| VALID | |
Definition at line 116 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
| itk::simple::ProjectedLandweberDeconvolutionImageFilter::ProjectedLandweberDeconvolutionImageFilter | ( | ) |
Default Constructor that takes no arguments and initializes default parameters
| itk::simple::ProjectedLandweberDeconvolutionImageFilter::~ProjectedLandweberDeconvolutionImageFilter | ( | ) |
Destructor
| Image itk::simple::ProjectedLandweberDeconvolutionImageFilter::Execute | ( | const Image & | image1, |
| const Image & | image2 | ||
| ) |
Execute the filter on the input images
| Image itk::simple::ProjectedLandweberDeconvolutionImageFilter::Execute | ( | const Image & | image1, |
| const Image & | image2, | ||
| double | alpha, | ||
| int | numberOfIterations, | ||
| bool | normalize, | ||
| ProjectedLandweberDeconvolutionImageFilter::BoundaryConditionType | boundaryCondition, | ||
| ProjectedLandweberDeconvolutionImageFilter::OutputRegionModeType | outputRegionMode | ||
| ) |
Execute the filter on the input images with the given parameters
|
private |
|
inline |
Get the relaxation factor.
Definition at line 80 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inline |
Definition at line 114 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inlinevirtual |
Name of this class
Implements itk::simple::ProcessObject.
Definition at line 126 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inline |
Definition at line 104 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inline |
Get the number of iterations.
Definition at line 90 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inline |
Definition at line 124 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inline |
Definition at line 100 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inline |
Set the value of Normalize to true or false respectfully.
Definition at line 99 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inline |
Set the relaxation factor.
Definition at line 75 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inline |
Definition at line 110 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inline |
Normalize the output image by the sum of the kernel components
Definition at line 96 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
References itk::simple::Normalize().
|
inline |
Set the number of iterations.
Definition at line 85 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
inline |
Definition at line 120 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
virtual |
Print ourselves out
Reimplemented from itk::simple::ProcessObject.
|
friend |
Definition at line 149 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
private |
Definition at line 154 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
private |
Definition at line 158 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
private |
Definition at line 151 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
private |
Definition at line 157 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
private |
Definition at line 155 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
|
private |
Definition at line 159 of file sitkProjectedLandweberDeconvolutionImageFilter.h.
1.8.9.1