PetaVision  Alpha
MaskLayer.hpp
1 /*
2  * MaskLayer.hpp
3  *
4  * Created on: Mar 21, 2014
5  * Author: slundquist
6  */
7 
8 #ifndef MASKLAYER_HPP_
9 #define MASKLAYER_HPP_
10 
11 #include "ANNLayer.hpp"
12 
13 namespace PV {
14 
15 class MaskLayer : public PV::ANNLayer {
16  public:
17  MaskLayer(const char *name, HyPerCol *hc);
18  MaskLayer();
19  virtual ~MaskLayer();
20  virtual Response::Status
21  communicateInitInfo(std::shared_ptr<CommunicateInitInfoMessage const> message) override;
22 
23  protected:
24  virtual Response::Status updateState(double time, double dt) override;
25  virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override;
26  virtual void ioParam_maskMethod(enum ParamsIOFlag ioFlag);
27  virtual void ioParam_maskLayerName(enum ParamsIOFlag ioFlag);
28  virtual void ioParam_featureIdxs(enum ParamsIOFlag ioFlag);
29  char *maskMethod;
30  char *maskLayerName;
31  int *features;
32  int numSpecifiedFeatures;
33  HyPerLayer *maskLayer;
34 
35  private:
36  int initialize_base();
37 
38 }; // class MaskLayer
39 
40 } /* namespace PV */
41 #endif /* ANNERRORLAYER_HPP_ */
virtual int ioParamsFillGroup(enum ParamsIOFlag ioFlag) override
Definition: MaskLayer.cpp:44