Go to the documentation of this file.00001
00002 #ifndef vil3d_reflect_h_
00003 #define vil3d_reflect_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007
00008
00009
00010
00011
00012
00013 #include <vil3d/vil3d_image_view.h>
00014
00015
00016
00017
00018
00019
00020 template<class T>
00021 inline vil3d_image_view<T> vil3d_reflect_i(const vil3d_image_view<T>& v)
00022 {
00023 return vil3d_image_view<T>(v.memory_chunk(),
00024 v.origin_ptr()+(v.ni()-1)*v.istep(),
00025 v.ni(), v.nj(), v.nk(), v.nplanes(),
00026 -v.istep(), v.jstep(), v.kstep(), v.planestep());
00027 }
00028
00029
00030
00031
00032
00033
00034 template<class T>
00035 inline vil3d_image_view<T> vil3d_reflect_j(const vil3d_image_view<T>& v)
00036 {
00037 return vil3d_image_view<T>(v.memory_chunk(),
00038 v.origin_ptr()+(v.nj()-1)*v.jstep(),
00039 v.ni(), v.nj(), v.nk(), v.nplanes(),
00040 v.istep(), -v.jstep(), v.kstep(), v.planestep());
00041 }
00042
00043
00044
00045
00046
00047
00048 template<class T>
00049 inline vil3d_image_view<T> vil3d_reflect_k(const vil3d_image_view<T>& v)
00050 {
00051 return vil3d_image_view<T>(v.memory_chunk(),
00052 v.origin_ptr()+(v.nk()-1)*v.kstep(),
00053 v.ni(), v.nj(), v.nk(), v.nplanes(),
00054 v.istep(), v.jstep(), -v.kstep(), v.planestep());
00055 }
00056
00057
00058 #endif // vil3d_reflect_h_