00001
00002 #ifndef ImageWarp_h_
00003 #define ImageWarp_h_
00004 #ifdef VCL_NEEDS_PRAGMA_INTERFACE
00005 #pragma interface
00006 #endif
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018 #include <vil1/vil1_memory_image_of.h>
00019 #include <oxp/Mapping_2d_2d.h>
00020
00021 template <class PixelType>
00022 class ImageWarp
00023 {
00024 public:
00025
00026
00027
00028 typedef typename vnl_numeric_traits<PixelType>::real_t real_t;
00029
00030 static void mean_nz_intensity(const vil1_memory_image_of<PixelType>& in,
00031 int x, int y, int window_size,
00032 real_t* out,
00033 int * nnzp = 0);
00034 static void gapfill(vil1_memory_image_of<PixelType>& out, int ngaps);
00035 static void warp(Mapping_2d_2d& map, const vil1_memory_image_of<PixelType>& in, vil1_memory_image_of<PixelType>& out);
00036 static void warp_inverse(Mapping_2d_2d& map, const vil1_memory_image_of<PixelType>& in, vil1_memory_image_of<PixelType>& out);
00037 };
00038
00039 #endif // ImageWarp_h_