DGtal
2.2.0
Toggle main menu visibility
Loading...
Searching...
No Matches
exampleConstImageFunctorHolder.cpp
Go to the documentation of this file.
1
16
29
30
32
// Inclusions
33
#include "DGtal/base/Common.h"
34
#include "DGtal/helpers/StdDefs.h"
35
#include "DGtal/io/boards/Board2D.h"
36
37
#include <cmath>
38
#include <DGtal/io/colormaps/HueShadeColorMap.h>
39
41
#include "DGtal/images/ConstImageFunctorHolder.h"
43
44
int
main
()
45
{
46
using namespace
DGtal::Z2i
;
47
48
DGtal::Board2D
aBoard;
49
51
using
Value
= double;
// value type of the image
52
using
HueShadeDouble =
DGtal::HueShadeColorMap<Value>
;
// a simple HueShadeColorMap varying on 'double' values
54
55
// Image from a unary lambda
57
const
Domain
domain1(
Point
(1,1),
Point
(16,16));
58
59
auto
image1 =
DGtal::functors::holdConstImageFunctor
(
60
domain1,
61
[] (
Point
const
& pt) {
return
25 * ( std::cos( (pt -
Point
(4,4)).norm() ) + 1 ); }
62
);
64
65
aBoard.
clear
();
66
DGtal::Display2DFactory::drawImage<HueShadeDouble>
(aBoard, image1, 0, 225);
67
aBoard.
saveSVG
(
"ConstImageFunctorHolder_example1.svg"
);
68
69
// Image from a binary lambda
71
const
Domain
domain2(
Point
(-1,1),
Point
(18,18));
72
73
auto
image2 =
DGtal::functors::holdConstImageFunctor
(
74
domain2,
75
[] (
Point
const
& pt,
Domain
const
& d) {
// we could also capture the domain
76
return
2 * std::min( ( pt - d.
lowerBound
() ).norm(), ( pt - d.
upperBound
() ).norm() );
77
}
78
);
80
81
aBoard.
clear
();
82
DGtal::Display2DFactory::drawImage<HueShadeDouble>
(aBoard, image2, 0, 225);
83
aBoard.
saveSVG
(
"ConstImageFunctorHolder_example2.svg"
);
84
85
// Image that depends on other images
87
auto
image3 =
DGtal::functors::holdConstImageFunctor
(
88
domain1,
89
[&image1, &image2] (
Point
const
& pt) {
return
image1(pt) + image2(pt); }
90
);
92
93
aBoard.
clear
();
94
DGtal::Display2DFactory::drawImage<HueShadeDouble>
(aBoard, image3, 0, 225);
95
aBoard.
saveSVG
(
"ConstImageFunctorHolder_example3.svg"
);
96
return
0;
97
}
DGtal::Board2D
Aim: This class specializes a 'Board' class so as to display DGtal objects more naturally (with <<)....
Definition
Board2D.h:71
DGtal::HueShadeColorMap
Aim: This class template may be used to (linearly) convert scalar values in a given range into a colo...
Definition
HueShadeColorMap.h:91
DGtal::HyperRectDomain::lowerBound
const Point & lowerBound() const
DGtal::HyperRectDomain::upperBound
const Point & upperBound() const
LibBoard::Board::clear
void clear(const DGtal::Color &color=DGtal::Color::None)
Definition
Board.cpp:151
LibBoard::Board::saveSVG
void saveSVG(const char *filename, PageSize size=Board::BoundingBox, double margin=10.0) const
Definition
Board.cpp:1011
DGtal::Z2i
Z2i this namespace gathers the standard of types for 2D imagery.
DGtal::functors::holdConstImageFunctor
auto holdConstImageFunctor(TDomain const &aDomain, TFunctor &&aFunctor) -> ConstImageFunctorHolder< TDomain, TValue, decltype(holdFunctor(std::forward< TFunctor >(aFunctor)))>
ConstImageFunctorHolder construction helper with specification of the return type.
Definition
ConstImageFunctorHolder.h:278
DGtal::Display2DFactory::drawImage
static void drawImage(DGtal::Board2D &board, const Image &i, const typename Image::Value &minV, const typename Image::Value &maxV)
Point
MyPointD Point
Definition
testClone2.cpp:381
main
int main(int, char **)
Definition
testIntegerComputer.cpp:331
Value
double Value
Definition
testSimpleRandomAccessRangeFromPoint.cpp:41
Domain
HyperRectDomain< Space > Domain
Definition
testSimpleRandomAccessRangeFromPoint.cpp:44
examples
images
exampleConstImageFunctorHolder.cpp
Generated on
for DGtal by
1.18.0