Functions
vpgl_lens_warp_mapper.h File Reference

A lens distortion adaptor for vil_warp. More...

#include <vpgl/vpgl_lens_distortion.h>
#include <vil/vil_image_view.h>
#include <vgl/vgl_point_2d.h>
#include <vgl/vgl_vector_2d.h>
#include <vgl/vgl_box_2d.h>
#include <vgl/vgl_homg_point_2d.h>
#include <cassert>

Go to the source code of this file.

Functions

template<class DataT , class BoxT >
vgl_box_2d< BoxT > vpgl_lens_warp_bounds (const vpgl_lens_distortion< DataT > &lens, const vgl_box_2d< BoxT > &box, BoxT step_size=BoxT(1))
 Compute a bounding box in the distorted space for an existing box. More...
 
template<class DataT , class BoxT >
vgl_box_2d< BoxT > vpgl_lens_unwarp_bounds (const vpgl_lens_distortion< DataT > &lens, const vgl_box_2d< BoxT > &box, BoxT step_size=BoxT(1))
 Compute a bounding box for an existing box in the distorted space. More...
 
template<class sType , class dType , class T , class InterpFunctor >
vil_image_view< dType > vpgl_lens_warp_resize (const vil_image_view< sType > &in, dType, vpgl_lens_distortion< T > &ld, InterpFunctor interp)
 A warping function to apply lens distortion to an image. More...
 
template<class sType , class dType , class T , class InterpFunctor >
void vpgl_lens_warp (const vil_image_view< sType > &in, vil_image_view< dType > &out, const vpgl_lens_distortion< T > &ld, InterpFunctor interp)
 A version of vil_warp specialized for lens warping with iterative undistort. More...
 
template<class sType , class dType , class T , class InterpFunctor >
vil_image_view< dType > vpgl_lens_unwarp_resize (const vil_image_view< sType > &in, dType, vpgl_lens_distortion< T > &ld, InterpFunctor interp)
 A warping function to apply lens distortion to an image. More...
 
template<class sType , class dType , class T , class InterpFunctor >
void vpgl_lens_unwarp (const vil_image_view< sType > &in, vil_image_view< dType > &out, const vpgl_lens_distortion< T > &ld, InterpFunctor interp)
 A version of vil_warp specialized for lens unwarping. More...
 

Detailed Description

A lens distortion adaptor for vil_warp.

Author
Matt Leotta
Date
August 22, 2005

Definition in file vpgl_lens_warp_mapper.h.

Function Documentation

◆ vpgl_lens_unwarp()

template<class sType , class dType , class T , class InterpFunctor >
void vpgl_lens_unwarp ( const vil_image_view< sType > &  in,
vil_image_view< dType > &  out,
const vpgl_lens_distortion< T > &  ld,
InterpFunctor  interp 
)

A version of vil_warp specialized for lens unwarping.

Definition at line 149 of file vpgl_lens_warp_mapper.h.

◆ vpgl_lens_unwarp_bounds()

template<class DataT , class BoxT >
vgl_box_2d<BoxT> vpgl_lens_unwarp_bounds ( const vpgl_lens_distortion< DataT > &  lens,
const vgl_box_2d< BoxT > &  box,
BoxT  step_size = BoxT(1) 
)

Compute a bounding box for an existing box in the distorted space.

This is computed by sampling along the box boundary edges

Note
in general this is not the inverse of vpgl_lens_warp_bounds

Definition at line 51 of file vpgl_lens_warp_mapper.h.

◆ vpgl_lens_unwarp_resize()

template<class sType , class dType , class T , class InterpFunctor >
vil_image_view<dType> vpgl_lens_unwarp_resize ( const vil_image_view< sType > &  in,
dType  ,
vpgl_lens_distortion< T > &  ld,
InterpFunctor  interp 
)

A warping function to apply lens distortion to an image.

This function automatically sets the translation of the distortion function and computes the appropriate image size such that all distorted pixel lie in the resulting image

Definition at line 133 of file vpgl_lens_warp_mapper.h.

◆ vpgl_lens_warp()

template<class sType , class dType , class T , class InterpFunctor >
void vpgl_lens_warp ( const vil_image_view< sType > &  in,
vil_image_view< dType > &  out,
const vpgl_lens_distortion< T > &  ld,
InterpFunctor  interp 
)

A version of vil_warp specialized for lens warping with iterative undistort.

The algorithm uses the result at the previous pixel as an initial guess which should reduce iterations until convergence

Definition at line 96 of file vpgl_lens_warp_mapper.h.

◆ vpgl_lens_warp_bounds()

template<class DataT , class BoxT >
vgl_box_2d<BoxT> vpgl_lens_warp_bounds ( const vpgl_lens_distortion< DataT > &  lens,
const vgl_box_2d< BoxT > &  box,
BoxT  step_size = BoxT(1) 
)

Compute a bounding box in the distorted space for an existing box.

This is computed by sampling along the box boundary edges

Note
in general this is not the inverse of vpgl_lens_unwarp_bounds

Definition at line 26 of file vpgl_lens_warp_mapper.h.

◆ vpgl_lens_warp_resize()

template<class sType , class dType , class T , class InterpFunctor >
vil_image_view<dType> vpgl_lens_warp_resize ( const vil_image_view< sType > &  in,
dType  ,
vpgl_lens_distortion< T > &  ld,
InterpFunctor  interp 
)

A warping function to apply lens distortion to an image.

This function automatically sets the translation of the distortion function and computes the appropriate image size such that all distorted pixel lie in the resulting image

Definition at line 78 of file vpgl_lens_warp_mapper.h.