DGtal  0.6.devel
 All Data Structures Namespaces Files Functions Variables Typedefs Enumerations Enumerator Friends Groups Pages
ImageHelper.h
1 
17 #pragma once
18 
31 #if defined(ImageHelper_RECURSES)
32 #error Recursive header files inclusion detected in ImageHelper.h
33 #else // defined(ImageHelper_RECURSES)
34 
35 #define ImageHelper_RECURSES
36 
37 #if !defined ImageHelper_h
38 
39 #define ImageHelper_h
40 
42 // Inclusions
43 #include <iostream>
44 #include <algorithm>
45 #include <functional>
46 
47 #include "DGtal/base/Common.h"
48 #include "DGtal/base/BasicFunctors.h"
49 #include "DGtal/base/CConstSinglePassRange.h"
50 #include "DGtal/kernel/BasicPointPredicates.h"
51 #include "DGtal/kernel/CPointFunctor.h"
52 #include "DGtal/kernel/CPointPredicate.h"
53 #include "DGtal/kernel/domains/CDomain.h"
54 #include "DGtal/images/CConstImage.h"
55 #include "DGtal/images/CImage.h"
56 #include "DGtal/images/ImageContainerBySTLMap.h"
57 #include "DGtal/images/SetValueIterator.h"
58 #include "DGtal/kernel/sets/DigitalSetFromMap.h"
59 #include "DGtal/kernel/sets/CDigitalSet.h"
60 
62 
63 namespace DGtal
64 {
65 
67 
81  template<typename I, typename O, typename P>
82  void setFromPointsRangeAndPredicate(const I& itb, const I& ite, const O& ito, const P& aPred);
83 
101  template<typename I, typename O, typename F>
102  void setFromPointsRangeAndFunctor(const I& itb, const I& ite,
103  const O& ito, const F& aFunctor,
104  const typename F::Value& aThreshold = 0);
105 
120  template<typename I, typename O>
121  void setFromImage(const I& aImg,
122  const O& ito,
123  const typename I::Value& aThreshold = 0);
124 
140  template<typename I, typename O>
141  void setFromImage(const I& aImg,
142  const O& ito,
143  const typename I::Value& low,
144  const typename I::Value& up);
145 
146 
159  template<typename It, typename Im>
160  void imageFromRangeAndValue(const It& itb, const It& ite, Im& aImg,
161  const typename Im::Value& aValue = 0);
162 
174  template<typename R, typename I>
175  void imageFromRangeAndValue(const R& aRange, I& aImg,
176  const typename I::Value& aValue = 0);
177 
188  template<typename I, typename F>
189  void imageFromFunctor(I& aImg, const F& aFun);
190 
199  template<typename I>
200  void imageFromImage(I& aImg1, const I& aImg2);
201 
244  template<typename I, typename S>
245  bool insertAndSetValue(I& aImg, S& aSet,
246  const typename I::Point& aPoint,
247  const typename I::Value& aValue );
248 
292  template<typename I, typename S>
293  bool insertAndAlwaysSetValue(I& aImg, S& aSet,
294  const typename I::Point& aPoint,
295  const typename I::Value& aValue );
296 
325  template<typename I, typename S>
326  bool findAndGetValue(const I& aImg, const S& aSet,
327  const typename I::Point& aPoint,
328  typename I::Value& aValue );
329 
330 } // namespace DGtal
331 
332 
334 // Includes inline functions
335 #include "DGtal/images/ImageHelper.ih"
336 // //
338 
339 #endif // !defined ImageHelper_h
340 
341 #undef ImageHelper_RECURSES
342 #endif // else defined(ImageHelper_RECURSES)