00001 
00002 
00003 
00004 
00005 
00006 
00007 
00008 
00009 
00010 
00011 
00012 
00013 
00014 
00015 
00016 
00017 
00018 
00019 
00020 
00021 
00022 
00023 
00024 
00025 
00026 #include <iostream>
00027 
00028 #include <mln/fun/x2x/rotation.hh>
00029 #include <mln/core/image/image3d.hh>
00030 #include <mln/value/int_u8.hh>
00031 #include <mln/core/image/imorph/tr_image.hh>
00032 #include <mln/debug/iota.hh>
00033 #include <mln/debug/println.hh>
00034 
00035 
00036 int main()
00037 {
00038   using namespace mln;
00039   using value::int_u8;
00040 
00041   {
00042     image2d<int_u8> in(3, 3);
00043 
00044     debug::iota(in);
00045     debug::println(in);
00046 
00047     algebra::vec<2, float> v;
00048     v[0] = 0;
00049     v[1] = 1;
00050     fun::x2x::rotation<2, float> rot1(1.67, v);
00051 
00052     tr_image<mln_domain_(image2d<int_u8>),
00053       image2d<int_u8>,
00054       fun::x2x::rotation<2, float> >
00055         inter(in.domain(), in, rot1);
00056 
00057     debug::println(inter);
00058   }
00059 
00060   {
00061     image3d<int_u8> in(3, 3, 3);
00062 
00063     debug::iota(in);
00064     debug::println(in);
00065 
00066     algebra::vec<3, float> v;
00067     v[0] = 0;
00068     v[1] = 0;
00069     v[2] = 1;
00070     fun::x2x::rotation<3, float> rot1(1.67, v);
00071 
00072     tr_image<mln_domain_(image3d<int_u8>),
00073       image3d<int_u8>,
00074       fun::x2x::rotation<3, float> >
00075         inter(in.domain(), in, rot1);
00076 
00077     debug::println(inter);
00078   }
00079 }