00001
00002 #ifndef vil3d_resample_trilinear_h_
00003 #define vil3d_resample_trilinear_h_
00004
00005
00006
00007
00008
00009
00010 #include <vil3d/vil3d_image_view.h>
00011
00012
00013
00014
00015
00016
00017
00018
00019 template <class S, class T>
00020 void vil3d_resample_trilinear(const vil3d_image_view<S>& src_image,
00021 vil3d_image_view<T>& dest_image,
00022 double x0, double y0, double z0,
00023 double dx1, double dy1, double dz1,
00024 double dx2, double dy2, double dz2,
00025 double dx3, double dy3, double dz3,
00026 int n1, int n2, int n3,
00027 T outval=0, double edge_tol=0);
00028
00029
00030
00031
00032
00033
00034
00035
00036 template <class S, class T>
00037 void vil3d_resample_trilinear_edge_extend(const vil3d_image_view<S>& src_image,
00038 vil3d_image_view<T>& dest_image,
00039 double x0, double y0, double z0,
00040 double dx1, double dy1, double dz1,
00041 double dx2, double dy2, double dz2,
00042 double dx3, double dy3, double dz3,
00043 int n1, int n2, int n3);
00044
00045
00046
00047 template <class S, class T>
00048 void vil3d_resample_trilinear(const vil3d_image_view<S>& src_image,
00049 vil3d_image_view<T>& dest_image,
00050 int n1, int n2, int n3);
00051
00052
00053
00054
00055
00056
00057
00058
00059
00060
00061 template <class T>
00062 void vil3d_resample_trilinear(const vil3d_image_view<T>& src_image,
00063 vil3d_image_view<T>& dst_image,
00064 const double dx,
00065 const double dy,
00066 const double dz);
00067
00068
00069
00070
00071 template <class T>
00072 void vil3d_resample_trilinear_scale_2(
00073 const vil3d_image_view<T>& src_image,
00074 vil3d_image_view<T>& dst_image);
00075
00076 #endif // vil3d_resample_trilinear_h_