ANIMA  4.0
animaNonLocalMeansPatchSearcher.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace anima
6 {
7 
12 template <class ImageType, class DataImageType>
14 {
15 public:
16  typedef typename DataImageType::Pointer DataImagePointer;
19  typedef typename Superclass::IndexType IndexType;
20 
23 
24  void SetBetaParameter(double arg) {m_BetaParameter = arg;}
25  void SetNoiseCovariance(double arg) {m_NoiseCovariance = arg;}
26  void SetMeanMinThreshold(double arg) {m_MeanMinThreshold = arg;}
27  void SetVarMinThreshold(double arg) {m_VarMinThreshold = arg;}
28 
29  void SetMeanImage(DataImageType *arg) {m_MeanImage = arg;}
30  void SetVarImage(DataImageType *arg) {m_VarImage = arg;}
31 
32 protected:
33  virtual double ComputeWeightValue(unsigned int index, ImageRegionType &refPatch, ImageRegionType &movingPatch);
34  virtual bool TestPatchConformity(unsigned int index, const IndexType &refIndex, const IndexType &movingIndex);
35 
36 private:
37  DataImagePointer m_MeanImage;
38  DataImagePointer m_VarImage;
39 
40  double m_BetaParameter;
41  double m_NoiseCovariance;
42 
43  double m_MeanMinThreshold;
44  double m_VarMinThreshold;
45 };
46 
47 } // end namespace anima
48 
virtual double ComputeWeightValue(unsigned int index, ImageRegionType &refPatch, ImageRegionType &movingPatch)
anima::NonLocalPatchBaseSearcher< ImageType > Superclass
virtual bool TestPatchConformity(unsigned int index, const IndexType &refIndex, const IndexType &movingIndex)