aboutsummaryrefslogtreecommitdiffstats
path: root/Software/Visual_Studio/Native/Tango.ProtoTest/PMR/StubOptLimitSwitchRequest.pb.h
blob: 5cf5b107ec0a88a3e29dee02420ade9287691316 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
// Generated by the protocol buffer compiler.  DO NOT EDIT!
// source: StubOptLimitSwitchRequest.proto

#ifndef PROTOBUF_StubOptLimitSwitchRequest_2eproto__INCLUDED
#define PROTOBUF_StubOptLimitSwitchRequest_2eproto__INCLUDED

#include <string>

#include <google/protobuf/stubs/common.h>

#if GOOGLE_PROTOBUF_VERSION < 3004000
#error This file was generated by a newer version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please update
#error your headers.
#endif
#if 3004000 < GOOGLE_PROTOBUF_MIN_PROTOC_VERSION
#error This file was generated by an older version of protoc which is
#error incompatible with your Protocol Buffer headers.  Please
#error regenerate this file with a newer version of protoc.
#endif

#include <google/protobuf/io/coded_stream.h>
#include <google/protobuf/arena.h>
#include <google/protobuf/arenastring.h>
#include <google/protobuf/generated_message_table_driven.h>
#include <google/protobuf/generated_message_util.h>
#include <google/protobuf/metadata.h>
#include <google/protobuf/message.h>
#include <google/protobuf/repeated_field.h>  // IWYU pragma: export
#include <google/protobuf/extension_set.h>  // IWYU pragma: export
#include <google/protobuf/unknown_field_set.h>
// @@protoc_insertion_point(includes)
namespace Tango {
namespace PMR {
namespace Stubs {
class StubOptLimitSwitchRequest;
class StubOptLimitSwitchRequestDefaultTypeInternal;
extern StubOptLimitSwitchRequestDefaultTypeInternal _StubOptLimitSwitchRequest_default_instance_;
}  // namespace Stubs
}  // namespace PMR
}  // namespace Tango

namespace Tango {
namespace PMR {
namespace Stubs {

namespace protobuf_StubOptLimitSwitchRequest_2eproto {
// Internal implementation detail -- do not call these.
struct TableStruct {
  static const ::google::protobuf::internal::ParseTableField entries[];
  static const ::google::protobuf::internal::AuxillaryParseTableField aux[];
  static const ::google::protobuf::internal::ParseTable schema[];
  static const ::google::protobuf::uint32 offsets[];
  static const ::google::protobuf::internal::FieldMetadata field_metadata[];
  static const ::google::protobuf::internal::SerializationTable serialization_table[];
  static void InitDefaultsImpl();
};
void AddDescriptors();
void InitDefaults();
}  // namespace protobuf_StubOptLimitSwitchRequest_2eproto

// ===================================================================

class StubOptLimitSwitchRequest : public ::google::protobuf::Message /* @@protoc_insertion_point(class_definition:Tango.PMR.Stubs.StubOptLimitSwitchRequest) */ {
 public:
  StubOptLimitSwitchRequest();
  virtual ~StubOptLimitSwitchRequest();

  StubOptLimitSwitchRequest(const StubOptLimitSwitchRequest& from);

  inline StubOptLimitSwitchRequest& operator=(const StubOptLimitSwitchRequest& from) {
    CopyFrom(from);
    return *this;
  }
  #if LANG_CXX11
  StubOptLimitSwitchRequest(StubOptLimitSwitchRequest&& from) noexcept
    : StubOptLimitSwitchRequest() {
    *this = ::std::move(from);
  }

  inline StubOptLimitSwitchRequest& operator=(StubOptLimitSwitchRequest&& from) noexcept {
    if (GetArenaNoVirtual() == from.GetArenaNoVirtual()) {
      if (this != &from) InternalSwap(&from);
    } else {
      CopyFrom(from);
    }
    return *this;
  }
  #endif
  static const ::google::protobuf::Descriptor* descriptor();
  static const StubOptLimitSwitchRequest& default_instance();

  static inline const StubOptLimitSwitchRequest* internal_default_instance() {
    return reinterpret_cast<const StubOptLimitSwitchRequest*>(
               &_StubOptLimitSwitchRequest_default_instance_);
  }
  static PROTOBUF_CONSTEXPR int const kIndexInFileMessages =
    0;

  void Swap(StubOptLimitSwitchRequest* other);
  friend void swap(StubOptLimitSwitchRequest& a, StubOptLimitSwitchRequest& b) {
    a.Swap(&b);
  }

  // implements Message ----------------------------------------------

  inline StubOptLimitSwitchRequest* New() const PROTOBUF_FINAL { return New(NULL); }

  StubOptLimitSwitchRequest* New(::google::protobuf::Arena* arena) const PROTOBUF_FINAL;
  void CopyFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void MergeFrom(const ::google::protobuf::Message& from) PROTOBUF_FINAL;
  void CopyFrom(const StubOptLimitSwitchRequest& from);
  void MergeFrom(const StubOptLimitSwitchRequest& from);
  void Clear() PROTOBUF_FINAL;
  bool IsInitialized() const PROTOBUF_FINAL;

  size_t ByteSizeLong() const PROTOBUF_FINAL;
  bool MergePartialFromCodedStream(
      ::google::protobuf::io::CodedInputStream* input) PROTOBUF_FINAL;
  void SerializeWithCachedSizes(
      ::google::protobuf::io::CodedOutputStream* output) const PROTOBUF_FINAL;
  ::google::protobuf::uint8* InternalSerializeWithCachedSizesToArray(
      bool deterministic, ::google::protobuf::uint8* target) const PROTOBUF_FINAL;
  int GetCachedSize() const PROTOBUF_FINAL { return _cached_size_; }
  private:
  void SharedCtor();
  void SharedDtor();
  void SetCachedSize(int size) const PROTOBUF_FINAL;
  void InternalSwap(StubOptLimitSwitchRequest* other);
  private:
  inline ::google::protobuf::Arena* GetArenaNoVirtual() const {
    return NULL;
  }
  inline void* MaybeArenaPtr() const {
    return NULL;
  }
  public:

  ::google::protobuf::Metadata GetMetadata() const PROTOBUF_FINAL;

  // nested types ----------------------------------------------------

  // accessors -------------------------------------------------------

  // uint32 LimitSwitchrId = 1;
  void clear_limitswitchrid();
  static const int kLimitSwitchrIdFieldNumber = 1;
  ::google::protobuf::uint32 limitswitchrid() const;
  void set_limitswitchrid(::google::protobuf::uint32 value);

  // bool LimitSwitchrDisable = 2;
  void clear_limitswitchrdisable();
  static const int kLimitSwitchrDisableFieldNumber = 2;
  bool limitswitchrdisable() const;
  void set_limitswitchrdisable(bool value);

  // @@protoc_insertion_point(class_scope:Tango.PMR.Stubs.StubOptLimitSwitchRequest)
 private:

  ::google::protobuf::internal::InternalMetadataWithArena _internal_metadata_;
  ::google::protobuf::uint32 limitswitchrid_;
  bool limitswitchrdisable_;
  mutable int _cached_size_;
  friend struct protobuf_StubOptLimitSwitchRequest_2eproto::TableStruct;
};
// ===================================================================


// ===================================================================

#if !PROTOBUF_INLINE_NOT_IN_HEADERS
#ifdef __GNUC__
  #pragma GCC diagnostic push
  #pragma GCC diagnostic ignored "-Wstrict-aliasing"
#endif  // __GNUC__
// StubOptLimitSwitchRequest

// uint32 LimitSwitchrId = 1;
inline void StubOptLimitSwitchRequest::clear_limitswitchrid() {
  limitswitchrid_ = 0u;
}
inline ::google::protobuf::uint32 StubOptLimitSwitchRequest::limitswitchrid() const {
  // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.StubOptLimitSwitchRequest.LimitSwitchrId)
  return limitswitchrid_;
}
inline void StubOptLimitSwitchRequest::set_limitswitchrid(::google::protobuf::uint32 value) {
  
  limitswitchrid_ = value;
  // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.StubOptLimitSwitchRequest.LimitSwitchrId)
}

// bool LimitSwitchrDisable = 2;
inline void StubOptLimitSwitchRequest::clear_limitswitchrdisable() {
  limitswitchrdisable_ = false;
}
inline bool StubOptLimitSwitchRequest::limitswitchrdisable() const {
  // @@protoc_insertion_point(field_get:Tango.PMR.Stubs.StubOptLimitSwitchRequest.LimitSwitchrDisable)
  return limitswitchrdisable_;
}
inline void StubOptLimitSwitchRequest::set_limitswitchrdisable(bool value) {
  
  limitswitchrdisable_ = value;
  // @@protoc_insertion_point(field_set:Tango.PMR.Stubs.StubOptLimitSwitchRequest.LimitSwitchrDisable)
}

#ifdef __GNUC__
  #pragma GCC diagnostic pop
#endif  // __GNUC__
#endif  // !PROTOBUF_INLINE_NOT_IN_HEADERS

// @@protoc_insertion_point(namespace_scope)


}  // namespace Stubs
}  // namespace PMR
}  // namespace Tango

// @@protoc_insertion_point(global_scope)

#endif  // PROTOBUF_StubOptLimitSwitchRequest_2eproto__INCLUDED
an class="p">(); for (unsigned int i=0;i<nbRows;++i) { for (unsigned int j=0;j<nbColumns;++j,++valarrayPTR) { cv::Point2d pixel(j,i); cv::Vec3b pixelValues; pixelValues[2]=(unsigned char)*(valarrayPTR); pixelValues[1]=(unsigned char)*(valarrayPTR+nbPixels); pixelValues[0]=(unsigned char)*(valarrayPTR+doubleNBpixels); outMat.at<cv::Vec3b>(pixel)=pixelValues; } } } } bool _convertCvMat2ValarrayBuffer(InputArray inputMat, std::valarray<float> &outputValarrayMatrix) { const Mat inputMatToConvert=inputMat.getMat(); // first check input consistency if (inputMatToConvert.empty()) throw cv::Exception(-1, "RetinaImpl cannot be applied, input buffer is empty", "RetinaImpl::run", "RetinaImpl.h", 0); // retreive color mode from image input int imageNumberOfChannels = inputMatToConvert.channels(); // convert to float AND fill the valarray buffer typedef float T; // define here the target pixel format, here, float const int dsttype = DataType<T>::depth; // output buffer is float format const unsigned int nbPixels=inputMat.getMat().rows*inputMat.getMat().cols; const unsigned int doubleNBpixels=inputMat.getMat().rows*inputMat.getMat().cols*2; if(imageNumberOfChannels==4) { // create a cv::Mat table (for RGBA planes) cv::Mat planes[4] = { cv::Mat(inputMatToConvert.size(), dsttype, &outputValarrayMatrix[doubleNBpixels]), cv::Mat(inputMatToConvert.size(), dsttype, &outputValarrayMatrix[nbPixels]), cv::Mat(inputMatToConvert.size(), dsttype, &outputValarrayMatrix[0]) }; planes[3] = cv::Mat(inputMatToConvert.size(), dsttype); // last channel (alpha) does not point on the valarray (not usefull in our case) // split color cv::Mat in 4 planes... it fills valarray directely cv::split(Mat_<Vec<T, 4> >(inputMatToConvert), planes); } else if (imageNumberOfChannels==3) { // create a cv::Mat table (for RGB planes) cv::Mat planes[] = { cv::Mat(inputMatToConvert.size(), dsttype, &outputValarrayMatrix[doubleNBpixels]), cv::Mat(inputMatToConvert.size(), dsttype, &outputValarrayMatrix[nbPixels]), cv::Mat(inputMatToConvert.size(), dsttype, &outputValarrayMatrix[0]) }; // split color cv::Mat in 3 planes... it fills valarray directely cv::split(cv::Mat_<Vec<T, 3> >(inputMatToConvert), planes); } else if(imageNumberOfChannels==1) { // create a cv::Mat header for the valarray cv::Mat dst(inputMatToConvert.size(), dsttype, &outputValarrayMatrix[0]); inputMatToConvert.convertTo(dst, dsttype); } else CV_Error(Error::StsUnsupportedFormat, "input image must be single channel (gray levels), bgr format (color) or bgra (color with transparency which won't be considered"); return imageNumberOfChannels>1; // return bool : false for gray level image processing, true for color mode } // run the initilized retina filter in order to perform gray image tone mapping, after this call all retina outputs are updated void _runGrayToneMapping(const std::valarray<float> &grayImageInput, std::valarray<float> &grayImageOutput) { // apply tone mapping on the multiplexed image // -> photoreceptors local adaptation (large area adaptation) _multiuseFilter->runFilter_LPfilter(grayImageInput, grayImageOutput, 0); // compute low pass filtering modeling the horizontal cells filtering to acess local luminance _multiuseFilter->setV0CompressionParameterToneMapping(1.f, grayImageOutput.max(), _meanLuminanceModulatorK*grayImageOutput.sum()/(float)_multiuseFilter->getNBpixels()); _multiuseFilter->runFilter_LocalAdapdation(grayImageInput, grayImageOutput, _temp2); // adapt contrast to local luminance // -> ganglion cells local adaptation (short area adaptation) _multiuseFilter->runFilter_LPfilter(_temp2, grayImageOutput, 1); // compute low pass filtering (high cut frequency (remove spatio-temporal noise) _multiuseFilter->setV0CompressionParameterToneMapping(1.f, _temp2.max(), _meanLuminanceModulatorK*grayImageOutput.sum()/(float)_multiuseFilter->getNBpixels()); _multiuseFilter->runFilter_LocalAdapdation(_temp2, grayImageOutput, grayImageOutput); // adapt contrast to local luminance } // run the initilized retina filter in order to perform color tone mapping, after this call all retina outputs are updated void _runRGBToneMapping(const std::valarray<float> &RGBimageInput, std::valarray<float> &RGBimageOutput, const bool useAdaptiveFiltering) { // multiplex the image with the color sampling method specified in the constructor _colorEngine->runColorMultiplexing(RGBimageInput); // apply tone mapping on the multiplexed image _runGrayToneMapping(_colorEngine->getMultiplexedFrame(), RGBimageOutput); // demultiplex tone maped image _colorEngine->runColorDemultiplexing(RGBimageOutput, useAdaptiveFiltering, _multiuseFilter->getMaxInputValue());//_ColorEngine->getMultiplexedFrame());//_ParvoRetinaFilter->getPhotoreceptorsLPfilteringOutput()); // rescaling result between 0 and 255 _colorEngine->normalizeRGBOutput_0_maxOutputValue(255.0); // return the result RGBimageOutput=_colorEngine->getDemultiplexedColorFrame(); } }; Ptr<RetinaFastToneMapping> RetinaFastToneMapping::create(Size inputSize) { return makePtr<RetinaFastToneMappingImpl>(inputSize); } }// end of namespace bioinspired }// end of namespace cv