PetaVision  Alpha
NormalizeL2.hpp
1 /*
2  * NormalizeL2.hpp
3  *
4  * Created on: Apr 8, 2013
5  * Author: pschultz
6  */
7 
8 #ifndef NORMALIZEL2_HPP_
9 #define NORMALIZEL2_HPP_
10 
11 #include "NormalizeMultiply.hpp"
12 
13 namespace PV {
14 
16  // Member functions
17  public:
18  NormalizeL2(const char *name, HyPerCol *hc);
19  virtual ~NormalizeL2();
20 
21  virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override;
22  virtual int normalizeWeights() override;
23 
24  protected:
25  NormalizeL2();
26  int initialize(const char *name, HyPerCol *hc);
27 
28  virtual void ioParam_minL2NormTolerated(enum ParamsIOFlag ioFlag);
29 
30  private:
31  int initialize_base();
32 
33  // Member variables
34  protected:
35  float minL2NormTolerated; // Error if sqrt(sum(weights^2)) in any patch is less than this amount.
36 }; // class NormalizeL2
37 
38 } /* namespace PV */
39 #endif /* NORMALIZEL2_HPP_ */
virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override
Definition: NormalizeL2.cpp:25