33 #include "DGtal/images/ImageSelector.h"
34 #include "DGtal/images/ImageContainerBySTLVector.h"
35 #include "DGtal/images/ConstImageAdapter.h"
36 #include "ConfigExamples.h"
37 #include "DGtal/helpers/StdDefs.h"
38 #include "DGtal/base/Common.h"
39 #include "DGtal/io/readers/PGMReader.h"
40 #include "DGtal/io/writers/GenericWriter.h"
42 #include "DGtal/images/RigidTransformation2D.h"
47 using namespace DGtal;
53 int main(
int ,
char** )
57 typedef ForwardRigidTransformation2D < Space > ForwardTrans;
58 typedef BackwardRigidTransformation2D < Space > BackwardTrans;
60 typedef DomainRigidTransformation2D < Domain, ForwardTrans > MyDomainTransformer;
61 typedef MyDomainTransformer::Bounds Bounds;
65 ForwardTrans forwardTrans( RealPoint ( 5, 5 ), M_PI_4,
RealVector( 3, -3 ) );
66 BackwardTrans backwardTrans( RealPoint ( 5, 5 ), M_PI_4,
RealVector( 3, -3 ) );
69 MyDomainTransformer domainTransformer ( forwardTrans );
75 Bounds bounds = domainTransformer ( image.
domain() );
76 Domain transformedDomain ( bounds.first, bounds.second );
81 MyImageBackwardAdapter backwardImageAdapter ( image, transformedDomain , backwardTrans, idD );
83 backwardImageAdapter >>
"backward_transform.pgm";
87 Image forwardTransformedImage ( transformedDomain );
91 forwardTransformedImage.setValue ( forwardTrans ( *it ), image ( *it ) );
94 forwardTransformedImage >>
"forward_transform.pgm";
void beginBlock(const std::string &keyword="")
Aim: Automatically defines an adequate image type according to the hints given by the user...
Aim: implements association bewteen points lying in a digital domain and values.
Aim: Import a 2D or 3D using the Netpbm formats (ASCII mode).
DGtal is the top-level namespace which contains all DGtal functions and types.
const Domain & domain() const
Aim: implements a const image adapter with a given domain (i.e. a subdomain) and 2 functors : g for d...
Space::RealVector RealVector