ANIMA  4.0
animaNonLocalT2DistributionPatchSearcher.h
Go to the documentation of this file.
1 #pragma once
2 
4 
5 namespace anima
6 {
7 
8 template <class ImageType, class DataImageType>
10 {
11 public:
12  typedef typename DataImageType::Pointer DataImagePointer;
13  typedef typename DataImageType::ConstPointer DataImageConstPointer;
16  typedef typename Superclass::IndexType IndexType;
17 
20 
21  void SetBetaParameter(double arg) {m_BetaParameter = arg;}
22  void SetNoiseCovariances(std::vector <double> &arg) {m_NoiseCovariances = arg;}
23  void SetMeanMinThreshold(double arg) {m_MeanMinThreshold = arg;}
24  void SetVarMinThreshold(double arg) {m_VarMinThreshold = arg;}
25 
26  void AddPatchTestImage(const DataImageType *arg) {m_PatchTestImages.push_back(arg);}
27  void AddMeanImage(DataImageType *arg) {m_MeanImages.push_back(arg);}
28  void AddVarImage(DataImageType *arg) {m_VarImages.push_back(arg);}
29 
30 protected:
31  virtual double ComputeWeightValue(unsigned int index, ImageRegionType &refPatch, ImageRegionType &movingPatch);
32  virtual bool TestPatchConformity(unsigned int index, const IndexType &refIndex, const IndexType &movingIndex);
33 
34 private:
35  std::vector <DataImageConstPointer> m_PatchTestImages;
36  std::vector <DataImagePointer> m_MeanImages;
37  std::vector <DataImagePointer> m_VarImages;
38 
39  double m_BetaParameter;
40  std::vector <double> m_NoiseCovariances;
41 
42  double m_MeanMinThreshold;
43  double m_VarMinThreshold;
44 };
45 
46 } // end namespace anima
47 
anima::NonLocalPatchBaseSearcher< ImageType > Superclass
virtual bool TestPatchConformity(unsigned int index, const IndexType &refIndex, const IndexType &movingIndex)
virtual double ComputeWeightValue(unsigned int index, ImageRegionType &refPatch, ImageRegionType &movingPatch)