Main Page | Class Hierarchy | Alphabetical List | Class List | Directories | File List | Class Members | File Members | Related Pages

vil_image_view< T > Class Template Reference

#include <vil_image_view.h>

Inheritance diagram for vil_image_view< T >:

Inheritance graph
[legend]
List of all members.

Detailed Description

template<class T>
class vil_image_view< T >

Concrete view of image data of type T held in memory.

Views nplanes() planes of data each of size ni() x nj(). The (i,j) element of the p'th plane is given by im.top_left_ptr()[i*im.istep() + j*im.jstep() + p*im.planestep] The actual image data is either allocated by the class (using set_size), in which case it is deleted only when it has no views observing it, or is allocated outside (and is not deleted on destruction). This allows external images to be accessed without a deep copy.

Note that copying one vil_image_view<T> to another takes a shallow copy by default - it copies the view, not the raw image data. Use the explicit deep_copy() call to take a deep copy.

Definition at line 40 of file vil_image_view.h.

Public Types

typedef T pixel_type
 The pixel type of this image.
typedef T * iterator
typedef T const * const_iterator

Public Member Functions

 vil_image_view ()
 Dflt ctor.
 vil_image_view (unsigned ni, unsigned nj, unsigned n_planes=1, unsigned n_interleaved_planes=1)
 Create an image of ni x nj pixels in (n_planes * n_interleaved_planes) planes.
 vil_image_view (const T *top_left, unsigned ni, unsigned nj, unsigned nplanes, vcl_ptrdiff_t i_step, vcl_ptrdiff_t j_step, vcl_ptrdiff_t plane_step)
 Set this view to look at someone else's memory data.
 vil_image_view (const vil_memory_chunk_sptr &mem_chunk, const T *top_left, unsigned ni, unsigned nj, unsigned nplanes, vcl_ptrdiff_t i_step, vcl_ptrdiff_t j_step, vcl_ptrdiff_t plane_step)
 Set this view to look at another view's data.
 vil_image_view (const vil_image_view< T > &rhs)
 Copy construct.
 vil_image_view (const vil_image_view_base &rhs)
 Construct from various vil_image_view types.
 vil_image_view (const vil_image_view_base_sptr &rhs)
 Construct from various vil_image_view types.
virtual ~vil_image_view ()
bool is_contiguous () const
 True if data all in one unbroken block and top_left_ptr() is lowest data address.
iterator begin ()
iterator end ()
const_iterator begin () const
const_iterator end () const
T * top_left_ptr ()
 Pointer to the first (top left in plane 0) pixel.
const T * top_left_ptr () const
 Pointer to the first (top left in plane 0) pixel.
vcl_ptrdiff_t istep () const
 Add this to your pixel pointer to get next i pixel.
vcl_ptrdiff_t jstep () const
 Add this to your pixel pointer to get next j pixel.
vcl_ptrdiff_t planestep () const
 Add this to your pixel pointer to get pixel on next plane.
 operator safe_bool () const
 Cast to bool is true if pointing at some data.
bool operator! () const
 Return false if pointing at some data.
unsigned size_bytes () const
 The number of bytes in the data.
const vil_memory_chunk_sptrmemory_chunk () const
 Smart pointer to the object holding the data for this view.
vil_memory_chunk_sptrmemory_chunk ()
 Smart pointer to the object holding the data for this view.
bool in_range (int i, int j) const
 Return true if (i,j) is a valid index into this buffer.
bool in_range (int i, int j, int p) const
 Return true if (i,j,p) is a valid index into this buffer.
const T & operator() (unsigned i, unsigned j) const
 Return read-only reference to pixel at (i,j) in plane 0.
T & operator() (unsigned i, unsigned j)
 Return read/write reference to pixel at (i,j) in plane 0.
const T & operator() (unsigned i, unsigned j, unsigned p) const
 Return read-only reference to pixel at (i,j) in plane p.
T & operator() (unsigned i, unsigned j, unsigned p)
 Return read-only reference to pixel at (i,j) in plane p.
virtual void set_size (unsigned ni, unsigned nj)
 resize current planes to ni x nj.
virtual void set_size (unsigned ni, unsigned nj, unsigned nplanes)
 resize to ni x nj x nplanes.
void deep_copy (const vil_image_view< T > &src)
 Make a copy of the data in src and set this to view it.
void clear ()
 Make empty.
void set_to_memory (const T *top_left, unsigned ni, unsigned nj, unsigned nplanes, vcl_ptrdiff_t i_step, vcl_ptrdiff_t j_step, vcl_ptrdiff_t plane_step)
 Set this view to look at someone else's memory data.
void fill (T value)
 Fill view with given value.
virtual void print (vcl_ostream &) const
 Print a 1-line summary of contents.
virtual vcl_string is_a () const
 Return class name.
virtual bool is_class (vcl_string const &s) const
 True if this is (or is derived from) class s.
vil_pixel_format pixel_format () const
 Return a description of the concrete data pixel type.
bool operator== (const vil_image_view_base &other) const
 True if they share same view of same image data.
bool operator!= (const vil_image_view_base &rhs) const
 True if they do not share same view of same image data.
bool operator< (const vil_image_view_base &rhs) const
 Provides an ordering.
bool operator>= (const vil_image_view_base &rhs) const
 Provides an ordering.
bool operator> (const vil_image_view_base &rhs) const
 Provides an ordering.
bool operator<= (const vil_image_view_base &rhs) const
 Provides an ordering.
const vil_image_view< T > & operator= (const vil_image_view< T > &rhs)
 Copy a view. The rhs and lhs will point to the same image data.
const vil_image_view< T > & operator= (const vil_image_view_base &rhs)
 Copy a view. The rhs and lhs will point to the same image data.
const vil_image_view< T > & operator= (const vil_image_view_base_sptr &rhs)
 Copy a view. The rhs and lhs will point to the same image data.
unsigned ni () const
 Width.
unsigned nj () const
 Height.
unsigned nplanes () const
 Number of planes.
unsigned long size () const
 The number of pixels.

Protected Member Functions

void release_memory ()
 Disconnect this view from the underlying data,.

Protected Attributes

T * top_left_
 Pointer to pixel at origin.
vcl_ptrdiff_t istep_
 Add this to a pixel pointer to move one column left.
vcl_ptrdiff_t jstep_
 Add this to a pixel pointer to move one row down.
vcl_ptrdiff_t planestep_
 Add this to a pixel pointer to move one plane back.
vil_memory_chunk_sptr ptr_
 Reference to actual image data.
unsigned ni_
 Number of columns.
unsigned nj_
 Number of rasters.
unsigned nplanes_
 Number of planes.

Private Attributes

 VCL_SAFE_BOOL_DEFINE

Related Functions

(Note that these are not member functions.)

void vil_convolve_1d (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, const kernelT *kernel, vcl_ptrdiff_t k_lo, vcl_ptrdiff_t k_hi, accumT ac, vil_convolve_boundary_option start_option, vil_convolve_boundary_option end_option)
 Convolve kernel[i] (i in [k_lo,k_hi]) with srcT in i-direction.
void vil_convolve_2d (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, const vil_image_view< kernelT > &kernel, accumT ac)
 Convolve kernel with srcT.
void vil_corners (const vil_image_view< float > &grad_i, const vil_image_view< float > &grad_j, vil_image_view< float > &dest, double k)
 Compute Forstner/Harris corner strength function given gradient images.
void vil_corners_rohr (const vil_image_view< float > &grad_i, const vil_image_view< float > &grad_j, vil_image_view< float > &dest)
 Compute corner strength using Rohr's recommended method.
void vil_corners (const vil_image_view< T > &src, vil_image_view< float > &dest, double k=0.04)
 Compute Harris corner strength function.
void vil_corners_rohr (const vil_image_view< T > &src, vil_image_view< float > &dest)
 Compute corner strength using Karl Rohr's recommended method.
void vil_correlate_1d (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, const kernelT *kernel, vcl_ptrdiff_t k_lo, vcl_ptrdiff_t k_hi, accumT ac, vil_convolve_boundary_option start_option, vil_convolve_boundary_option end_option)
 correlate kernel[i] (i in [k_lo,k_hi]) with srcT in i-direction.
void vil_correlate_2d (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, const vil_image_view< kernelT > &kernel, accumT ac)
 Correlate kernel with srcT.
void vil_exp_filter_i (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, accumT k)
 Apply exponential filter along i to src_im to produce dest_im.
void vil_exp_filter_j (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, accumT k)
 Apply exponential filter along j to src_im to produce dest_im.
void vil_exp_filter_2d (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, accumT ki, accumT kj)
 Apply exponential filter along i and j to src_im to produce dest_im.
void vil_exp_grad_filter_i (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, accumT k)
 Apply exponential gradient filter to src_im (along i direction).
void vil_exp_grad_filter_j (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, accumT k)
 Apply exponential gradient filter to src_im (along j direction).
void vil_gauss_reduce (const vil_image_view< T > &src, vil_image_view< T > &dest, vil_image_view< T > &work_im)
 Smooth and subsample src_im to produce dest_im.
void vil_gauss_reduce_2_3 (const vil_image_view< T > &src_im, vil_image_view< T > &dest_im, vil_image_view< T > &work_im)
 Smooth and subsample src_im to produce dest_im (2/3 size).
void vil_gauss_reduce_121 (const vil_image_view< T > &src, vil_image_view< T > &dest)
 Smooth and subsample src_im to produce dest_im.
void vil_gauss_reduce_general (const vil_image_view< T > &src_im, vil_image_view< T > &dest_im, const vil_gauss_reduce_params &params)
 Smooth and subsample src_im by an arbitrary factor to produce dest_im.
accumT vil_norm_corr_2d_at_pt (const srcT *src_im, vcl_ptrdiff_t s_istep, vcl_ptrdiff_t s_jstep, vcl_ptrdiff_t s_pstep, const vil_image_view< kernelT > &kernel, accumT)
 Evaluate dot product between kernel and src_im.
void vil_normalised_correlation_2d (const vil_image_view< srcT > &src_im, vil_image_view< destT > &dest_im, const vil_image_view< kernelT > &kernel, accumT ac)
 Normalised cross-correlation of (pre-normalised) kernel with srcT.
void vil_sobel_1x3 (const vil_image_view< srcT > &src, vil_image_view< destT > &grad_i, vil_image_view< destT > &grad_j)
 Compute gradients of an image using 1x3 Sobel filters.
void vil_sobel_1x3 (const vil_image_view< srcT > &src, vil_image_view< destT > &grad_ij)
 Compute gradients of an image using 1x3 Sobel filters.
void vil_sobel_3x3 (const vil_image_view< srcT > &src, vil_image_view< destT > &grad_i, vil_image_view< destT > &grad_j)
 Compute gradients of an image using 3x3 Sobel filters.
void vil_sobel_3x3 (const vil_image_view< srcT > &src, vil_image_view< destT > &grad_ij)
 Compute gradients of an image using 3x3 Sobel filters.
double vil_bicub_interp_safe (const vil_image_view< T > &view, double x, double y, unsigned p=0)
 Compute bicubic interpolation at (x,y), with bound checks.
double vil_bicub_interp (const vil_image_view< T > &view, double x, double y, unsigned p=0)
 Compute bicubic interpolation at (x,y), with minimal bound checks.
double vil_bicub_interp_safe_extend (const vil_image_view< T > &view, double x, double y, unsigned p=0)
 Compute bicubic interpolation at (x,y), with bound checks.
double vil_bilin_interp_safe (const vil_image_view< T > &view, double x, double y, unsigned p=0)
 Compute bilinear interpolation at (x,y), with bound checks.
double vil_bilin_interp (const vil_image_view< T > &view, double x, double y, unsigned p=0)
 Compute bilinear interpolation at (x,y), with minimal bound checks.
double vil_bilin_interp_safe_extend (const vil_image_view< T > &view, double x, double y, unsigned p=0)
 Compute bilinear interpolation at (x,y), with bound checks.
void vil_clamp (vil_image_view< T > &src, vil_image_view< T > &dest, T lo, T hi)
 Clamp an image view between two values.
void vil_clamp_below (vil_image_view< T > &src, T t, T v)
 Clamp an image view above a given value t, setting it to v if below or on t.
void vil_clamp_below (vil_image_view< T > &src, T t)
 Clamp an image view above a given value t, setting it to this t if below t.
void vil_convert_cast (const vil_image_view< inP > &src, vil_image_view< outP > &dest)
 Cast one pixel type to another (with rounding).
void vil_convert_round (const vil_image_view< inP > &src, vil_image_view< outP > &dest)
 Convert one pixel type to another with rounding.
void vil_convert_stretch_range (const vil_image_view< T > &src, vil_image_view< vxl_byte > &dest)
 Convert src to byte image dest by stretching to range [0,255].
void vil_copy_reformat (const vil_image_view< T > &src, vil_image_view< T > &dest)
 Copy src to dest, without changing dest's view parameters.
void vil_copy_to_window (const vil_image_view< T > &src, vil_image_view< T > &dest, unsigned i0, unsigned j0)
 Copy src to window in dest.
void vil_copy_deep (const vil_image_view< T > &src, vil_image_view< T > &dest)
 Deep copy src to dest.
vil_image_view< T > vil_copy_deep (const vil_image_view< T > &src)
 Create a deep copy of an image, with completely new underlying memory.
vil_image_view< T > vil_crop (const vil_image_view< T > &im, unsigned i0, unsigned n_i, unsigned j0, unsigned n_j)
 Create a view which is a cropped version of src.
vil_image_view< T > vil_decimate (const vil_image_view< T > &im, unsigned i_factor, unsigned j_factor=0)
 Create a view which is a decimated version of src.
void vil_fill (vil_image_view< T > &view, T value)
 Fill view with given value.
void vil_fill_line (T *data, unsigned n, vcl_ptrdiff_t step, T value)
 Fill data[i*step] (i=0.
void vil_fill_line (vil_image_view< T > &im, int ai, int aj, int bi, int bj, T value)
 Fill line from (ai,aj) to (bi,bj) using Bresenham's algorithm.
void vil_fill_row (vil_image_view< T > &view, unsigned j, T value)
 Fill row j in view with given value.
void vil_fill_col (vil_image_view< T > &view, unsigned i, T value)
 Fill column i in view with given value.
vil_image_view< T > vil_flip_lr (const vil_image_view< T > &v)
 Create a reflected view in which i -> ni-1-i.
vil_image_view< T > vil_flip_ud (const vil_image_view< T > &v)
 Create a reflected view in which y -> nj-1-j.
bool vil_image_view_deep_equality (const vil_image_view< T > &lhs, const vil_image_view< T > &rhs)
 True if the actual images are identical.
vil_image_view_base_sptr vil_load (const char *)
 Convenience function for loading an image into an image view.
void vil_math_value_range_percentiles (const vil_image_view< T > &im, const vcl_vector< double > &fraction, vcl_vector< T > &value)
 Compute the values corresponding to several percentiles of the range of im.
void vil_math_value_range_percentile (const vil_image_view< T > &im, const double fraction, T &value)
 Compute the value corresponding to a percentile of the range of im.
sumT vil_math_ssd (const vil_image_view< imT > &imA, const vil_image_view< imT > &imB, sumT)
 Sum of squared differences between two images.
sumT vil_math_ssd_complex (const vil_image_view< vcl_complex< imT > > &imA, const vil_image_view< vcl_complex< imT > > &imB, sumT)
 Sum squared magnitude differences between two complex images.
void vil_math_mean_over_planes (const vil_image_view< aT > &src, vil_image_view< sumT > &dest)
 Calc the mean of each pixel over all the planes.
void vil_math_mean_over_planes (const vil_image_view< inT > &src, vil_image_view< outT > &dest, sumT)
 Calc the mean of each pixel over all the planes.
void vil_math_sum (sumT &sum, const vil_image_view< imT > &im, unsigned p)
 Sum of elements in plane p of image.
void vil_math_mean (sumT &mean, const vil_image_view< imT > &im, unsigned p)
 Mean of elements in plane p of image.
void vil_math_median (imT &median, const vil_image_view< imT > &im, unsigned p)
 Median of elements in plane p of an image.
void vil_math_sum_squares (sumT &sum, sumT &sum_sq, const vil_image_view< imT > &im, unsigned p)
 Sum of squares of elements in plane p of image.
void vil_math_mean_and_variance (sumT &mean, sumT &var, const vil_image_view< imT > &im, unsigned p)
 Mean and variance of elements in plane p of image.
void vil_math_sqrt (vil_image_view< T > &image)
 Compute square-root of each pixel element (or zero if negative).
void vil_math_truncate_range (vil_image_view< T > &image, T min_v, T max_v)
 Truncate each pixel value so it fits into range [min_v,max_v].
void vil_math_scale_values (vil_image_view< T > &image, double scale)
 Multiply values in-place in image view by scale.
void vil_math_scale_and_offset_values (vil_image_view< imT > &image, double scale, offsetT offset)
 Multiply values in-place in image view by scale and add offset.
void vil_math_image_sum (const vil_image_view< aT > &imA, const vil_image_view< bT > &imB, vil_image_view< sumT > &im_sum)
 Compute sum of two images (im_sum = imA+imB).
void vil_math_image_product (const vil_image_view< aT > &imA, const vil_image_view< bT > &imB, vil_image_view< sumT > &im_product)
 Compute pixel-wise product of two images (im_prod(i,j) = imA(i,j)*imB(i,j).
void vil_math_image_max (const vil_image_view< aT > &imA, const vil_image_view< bT > &imB, vil_image_view< maxT > &im_max)
 Compute the max of two images (im_max = max(imA, imB)).
void vil_math_image_min (const vil_image_view< aT > &imA, const vil_image_view< bT > &imB, vil_image_view< minT > &im_min)
 Compute the min of two images (im_min = min(imA, imB)).
void vil_math_image_ratio (const vil_image_view< aT > &imA, const vil_image_view< bT > &imB, vil_image_view< sumT > &im_ratio)
 Compute pixel-wise ratio of two images : im_ratio(i,j) = imA(i,j)/imB(i,j).
void vil_math_image_difference (const vil_image_view< aT > &imA, const vil_image_view< bT > &imB, vil_image_view< sumT > &im_sum)
 Compute difference of two images (im_sum = imA-imB).
void vil_math_image_abs_difference (const vil_image_view< aT > &imA, const vil_image_view< bT > &imB, vil_image_view< sumT > &im_sum)
 Compute absolute difference of two images (im_sum = |imA-imB|).
void vil_math_image_vector_mag (const vil_image_view< aT > &imA, const vil_image_view< bT > &imB, vil_image_view< magT > &im_mag)
 Compute magnitude of two images taken as vector components, sqrt(A^2 + B^2).
void vil_math_add_image_fraction (vil_image_view< aT > &imA, scaleT fa, const vil_image_view< bT > &imB, scaleT fb)
 imA = fa*imA + fb*imB (Useful for moving averages!).
void vil_math_integral_image (const vil_image_view< aT > &imA, vil_image_view< sumT > &im_sum)
 Compute integral image im_sum(i+1,j+1) = sum (x<=i,y<=j) imA(x,y).
void vil_math_integral_sqr_image (const vil_image_view< aT > &imA, vil_image_view< sumT > &im_sum, vil_image_view< sumT > &im_sum_sq)
 Compute integral image im_sum_sq(i+1,j+1) = sum (x<=i,y<=j) imA(x,y)^2.
vil_nearest_neighbour_interp_safe (const vil_image_view< T > &view, double x, double y, unsigned p=0)
 Compute nearest neighbour interpolation at (x,y), with bound checks.
vil_nearest_neighbour_interp_safe_extend (const vil_image_view< T > &view, double x, double y, unsigned p=0)
 Compute nearest_neighbourear interpolation at (x,y), with bound checks.
vil_image_view< T > vil_plane (const vil_image_view< T > &im, unsigned p)
 Return a view of im's plane p.
void vil_print_value (vcl_ostream &s, const T &value)
 How to print value in vil_print_all(image_view).
void vil_print_all (vcl_ostream &os, const vil_image_view< T > &view)
 Print all image data to os in a grid (rounds output to int).
void vil_print_all (vcl_ostream &os, vil_image_view_base_sptr const &view)
 Print all image data to os in a grid.
void vil_resample_bicub (const vil_image_view< sType > &src_image, vil_image_view< dType > &dest_image, double x0, double y0, double dx1, double dy1, double dx2, double dy2, int n1, int n2)
 Sample grid of points in one image and place in another, using bicubic interpolation.
void vil_resample_bilin (const vil_image_view< sType > &src_image, vil_image_view< dType > &dest_image, double x0, double y0, double dx1, double dy1, double dx2, double dy2, int n1, int n2)
 Sample grid of points in one image and place in another, using bilinear interpolation.
void vil_resample_bilin_edge_extend (const vil_image_view< sType > &src_image, vil_image_view< dType > &dest_image, double x0, double y0, double dx1, double dy1, double dx2, double dy2, int n1, int n2)
 Sample grid of points in one image and place in another, using bilinear interpolation.
void vil_sample_grid_bicub (vecType *v, const vil_image_view< imType > &image, double x0, double y0, double dx1, double dy1, double dx2, double dy2, int n1, int n2)
 Sample grid from image, using bicubic interpolation.
void vil_sample_grid_bilin (vecType *v, const vil_image_view< imType > &image, double x0, double y0, double dx1, double dy1, double dx2, double dy2, int n1, int n2)
 Sample grid from image, using bilinear interpolation.
void vil_sample_profile_bicub (vecType *v, const vil_image_view< imType > &image, double x0, double y0, double dx, double dy, int n)
 Sample along profile, using bicubic interpolation.
void vil_sample_profile_bilin (vecType *v, const vil_image_view< imType > &image, double x0, double y0, double dx, double dy, int n)
 Sample along profile, using bilinear interpolation.
bool vil_save (const vil_image_view_base &, char const *filename)
 Send a vil_image_view to disk, deducing format from filename.
bool vil_save (const vil_image_view_base &, char const *filename, char const *file_format)
 Send a vil_image_view to disk, given filename.
vil_image_view< T > vil_transpose (const vil_image_view< T > &v)
 Create a view which appears as the transpose of this view.
vil_image_view< typename T::value_type > vil_view_as_planes (const vil_image_view< T > &v)
 Return a 3-plane view of an RGB image, or a 4-plane view of an RGBA, or a 2-plane view of a complex image.
vil_image_view< vil_rgb< T > > vil_view_as_rgb (const vil_image_view< T > &v)
 Return an RGB component view of a 3-plane image.
vil_image_view< vil_rgba<
T > > 
vil_view_as_rgba (const vil_image_view< T > &v)
 Return an RGBA component view of a 4-plane image.
vil_image_view< vcl_complex<
T > > 
vil_view_as_complex (const vil_image_view< T > &v)
 Return an complex component view of a 2N-plane image.
vil_image_view< T > vil_view_part (vil_image_view< vcl_complex< T > > img, int pt)
 Base function to do the work for both vil_view_real/imag_part.
vil_image_view< T > vil_view_real_part (vil_image_view< vcl_complex< T > > img)
 Return a view of the real part of a complex image.
vil_image_view< T > vil_view_imag_part (vil_image_view< vcl_complex< T > > img)
 Return a view of the imaginary part of a complex image.


Member Typedef Documentation

template<class T>
typedef T const* vil_image_view< T >::const_iterator
 

Definition at line 130 of file vil_image_view.h.

template<class T>
typedef T* vil_image_view< T >::iterator
 

Definition at line 126 of file vil_image_view.h.

template<class T>
typedef T vil_image_view< T >::pixel_type
 

The pixel type of this image.

Definition at line 120 of file vil_image_view.h.


Constructor & Destructor Documentation

template<class T>
vil_image_view< T >::vil_image_view  )  [inline]
 

Dflt ctor.

Creates an empty one-plane image.

Definition at line 64 of file vil_image_view.h.

template<class T>
vil_image_view< T >::vil_image_view unsigned  ni,
unsigned  nj,
unsigned  n_planes = 1,
unsigned  n_interleaved_planes = 1
 

Create an image of ni x nj pixels in (n_planes * n_interleaved_planes) planes.

If n_interleaved_planes > 1, the planes are interleaved. If n_planes > 1, each plane of pixels is stored contiguously. n_planes and n_components should not be both different from 1. n_planes * n_interleaved_planes should be 1 unless T is scalar.

template<class T>
vil_image_view< T >::vil_image_view const T *  top_left,
unsigned  ni,
unsigned  nj,
unsigned  nplanes,
vcl_ptrdiff_t  i_step,
vcl_ptrdiff_t  j_step,
vcl_ptrdiff_t  plane_step
 

Set this view to look at someone else's memory data.

If the data goes out of scope then this view could be invalid, and there's no way of knowing until its too late - so take care!

template<class T>
vil_image_view< T >::vil_image_view const vil_memory_chunk_sptr mem_chunk,
const T *  top_left,
unsigned  ni,
unsigned  nj,
unsigned  nplanes,
vcl_ptrdiff_t  i_step,
vcl_ptrdiff_t  j_step,
vcl_ptrdiff_t  plane_step
 

Set this view to look at another view's data.

Typically used by functions which generate a manipulated view of another's image data. Need to pass the memory chunk to set up the internal smart ptr appropriately

template<class T>
vil_image_view< T >::vil_image_view const vil_image_view< T > &  rhs  ) 
 

Copy construct.

The new object will point to the same underlying image as the rhs.

template<class T>
vil_image_view< T >::vil_image_view const vil_image_view_base rhs  ) 
 

Construct from various vil_image_view types.

The new object will point to the same underlying image as the rhs You can assign a vil_image_view<compound_type<T>> to a vil_image_view<T> in all reasonable cases - the lhs will have as many planes as the rhs has components. You can assign a vil_image_view<T> to a vil_image_view<compound_type<T>> when the underlying data is formatted appropriately and the lhs has as many components as the rhs has planes. O(1). If the view types are not compatible this object will be set to empty.

template<class T>
vil_image_view< T >::vil_image_view const vil_image_view_base_sptr rhs  ) 
 

Construct from various vil_image_view types.

The new object will point to the same underlying image as the rhs.

You can assign a vil_image_view<compound_type<T>> to a vil_image_view<T> in all reasonable cases - the lhs will have as many planes as the rhs has components. You can assign a vil_image_view<T> to a vil_image_view<compound_type<T>> when the underlying data is formatted appropriately and the lhs has as many components as the rhs has planes. O(1). If the view types are not compatible this object will be set to empty.

template<class T>
virtual vil_image_view< T >::~vil_image_view  )  [inline, virtual]
 

Definition at line 113 of file vil_image_view.h.


Member Function Documentation

template<class T>
const_iterator vil_image_view< T >::begin  )  const [inline]
 

Definition at line 131 of file vil_image_view.h.

template<class T>
iterator vil_image_view< T >::begin  )  [inline]
 

Definition at line 127 of file vil_image_view.h.

template<class T>
void vil_image_view< T >::clear  )  [inline]
 

Make empty.

Disconnects view from underlying data.

Definition at line 225 of file vil_image_view.h.

template<class T>
void vil_image_view< T >::deep_copy const vil_image_view< T > &  src  ) 
 

Make a copy of the data in src and set this to view it.

template<class T>
const_iterator vil_image_view< T >::end  )  const [inline]
 

Definition at line 132 of file vil_image_view.h.

template<class T>
iterator vil_image_view< T >::end  )  [inline]
 

Definition at line 128 of file vil_image_view.h.

template<class T>
void vil_image_view< T >::fill value  ) 
 

Fill view with given value.

template<class T>
bool vil_image_view< T >::in_range int  i,
int  j,
int  p
const [inline]
 

Return true if (i,j,p) is a valid index into this buffer.

Definition at line 185 of file vil_image_view.h.

template<class T>
bool vil_image_view< T >::in_range int  i,
int  j
const [inline]
 

Return true if (i,j) is a valid index into this buffer.

Definition at line 181 of file vil_image_view.h.

template<class T>
virtual vcl_string vil_image_view< T >::is_a  )  const [virtual]
 

Return class name.

Implements vil_image_view_base.

template<class T>
virtual bool vil_image_view< T >::is_class vcl_string const &  s  )  const [virtual]
 

True if this is (or is derived from) class s.

Reimplemented from vil_image_view_base.

template<class T>
bool vil_image_view< T >::is_contiguous  )  const
 

True if data all in one unbroken block and top_left_ptr() is lowest data address.

template<class T>
vcl_ptrdiff_t vil_image_view< T >::istep  )  const [inline]
 

Add this to your pixel pointer to get next i pixel.

Note that istep() may well be negative; see e.g. vil_flip_lr

Definition at line 145 of file vil_image_view.h.

template<class T>
vcl_ptrdiff_t vil_image_view< T >::jstep  )  const [inline]
 

Add this to your pixel pointer to get next j pixel.

Note that jstep() may well be negative; see e.g. vil_flip_ud

Definition at line 148 of file vil_image_view.h.

template<class T>
vil_memory_chunk_sptr& vil_image_view< T >::memory_chunk  )  [inline]
 

Smart pointer to the object holding the data for this view.

Will be a null pointer if this view looks at `third-party' data, e.g. using set_to_memory

Typically used when creating new views of the data

Definition at line 176 of file vil_image_view.h.

template<class T>
const vil_memory_chunk_sptr& vil_image_view< T >::memory_chunk  )  const [inline]
 

Smart pointer to the object holding the data for this view.

Will be a null pointer if this view looks at `third-party' data, e.g. using set_to_memory.

Typically used when creating new views of the data

Definition at line 169 of file vil_image_view.h.

unsigned vil_image_view_base::ni  )  const [inline, inherited]
 

Width.

Definition at line 48 of file vil_image_view_base.h.

unsigned vil_image_view_base::nj  )  const [inline, inherited]
 

Height.

Definition at line 50 of file vil_image_view_base.h.

unsigned vil_image_view_base::nplanes  )  const [inline, inherited]
 

Number of planes.

Definition at line 52 of file vil_image_view_base.h.

template<class T>
vil_image_view< T >::operator safe_bool  )  const [inline]
 

Cast to bool is true if pointing at some data.

Definition at line 154 of file vil_image_view.h.

template<class T>
bool vil_image_view< T >::operator!  )  const [inline]
 

Return false if pointing at some data.

Definition at line 158 of file vil_image_view.h.

template<class T>
bool vil_image_view< T >::operator!= const vil_image_view_base rhs  )  const [inline]
 

True if they do not share same view of same image data.

This does not do a deep inequality on image data. If the images point to different image data objects that contain identical images, then the result will still be true.

Definition at line 262 of file vil_image_view.h.

template<class T>
T& vil_image_view< T >::operator() unsigned  i,
unsigned  j,
unsigned  p
[inline]
 

Return read-only reference to pixel at (i,j) in plane p.

Definition at line 205 of file vil_image_view.h.

template<class T>
const T& vil_image_view< T >::operator() unsigned  i,
unsigned  j,
unsigned  p
const [inline]
 

Return read-only reference to pixel at (i,j) in plane p.

Definition at line 200 of file vil_image_view.h.

template<class T>
T& vil_image_view< T >::operator() unsigned  i,
unsigned  j
[inline]
 

Return read/write reference to pixel at (i,j) in plane 0.

Definition at line 195 of file vil_image_view.h.

template<class T>
const T& vil_image_view< T >::operator() unsigned  i,
unsigned  j
const [inline]
 

Return read-only reference to pixel at (i,j) in plane 0.

Definition at line 190 of file vil_image_view.h.

template<class T>
bool vil_image_view< T >::operator< const vil_image_view_base rhs  )  const
 

Provides an ordering.

Useful for ordered containers. There is no guaranteed meaning to the less than operator, except that (a<b && b<a) is false and !(a<b) && !(b<a) is equivalent to a==b

template<class T>
bool vil_image_view< T >::operator<= const vil_image_view_base rhs  )  const [inline]
 

Provides an ordering.

Definition at line 277 of file vil_image_view.h.

template<class T>
const vil_image_view<T>& vil_image_view< T >::operator= const vil_image_view_base_sptr rhs  )  [inline]
 

Copy a view. The rhs and lhs will point to the same image data.

You can assign a vil_image_view<compound_type<T>> to a vil_image_view<T> in all reasonable cases - the lhs will have as many planes as the rhs has components. You can assign a vil_image_view<T> to a vil_image_view<compound_type<T>> when the underlying data is formatted appropriately and the lhs has as many components as the rhs has planes. O(1). If the view types are not compatible this object will be set to empty. If the pointer is null, this object will be set to empty. See also vil_convert_to_component_order().

Definition at line 300 of file vil_image_view.h.

template<class T>
const vil_image_view<T>& vil_image_view< T >::operator= const vil_image_view_base rhs  ) 
 

Copy a view. The rhs and lhs will point to the same image data.

You can assign a vil_image_view<compound_type<T>> to a vil_image_view<T> in all reasonable cases - the lhs will have as many planes as the rhs has components. You can assign a vil_image_view<T> to a vil_image_view<compound_type<T>> when the underlying data is formatted appropriately and the lhs has as many components as the rhs has planes. O(1). If the view types are not compatible this object will be set to empty.

template<class T>
const vil_image_view<T>& vil_image_view< T >::operator= const vil_image_view< T > &  rhs  ) 
 

Copy a view. The rhs and lhs will point to the same image data.

template<class T>
bool vil_image_view< T >::operator== const vil_image_view_base other  )  const
 

True if they share same view of same image data.

This does not do a deep equality on image data. If the images point to different image data objects that contain identical images, then the result will still be false.

template<class T>
bool vil_image_view< T >::operator> const vil_image_view_base rhs  )  const
 

Provides an ordering.

template<class T>
bool vil_image_view< T >::operator>= const vil_image_view_base rhs  )  const [inline]
 

Provides an ordering.

Definition at line 271 of file vil_image_view.h.

template<class T>
vil_pixel_format vil_image_view< T >::pixel_format  )  const [inline, virtual]
 

Return a description of the concrete data pixel type.

The value corresponds directly to pixel_type.

Implements vil_image_view_base.

Definition at line 250 of file vil_image_view.h.

template<class T>
vcl_ptrdiff_t vil_image_view< T >::planestep  )  const [inline]
 

Add this to your pixel pointer to get pixel on next plane.

Note that planestep() may well be negative, e.g. with BMP file images

Definition at line 151 of file vil_image_view.h.

template<class T>
virtual void vil_image_view< T >::print vcl_ostream &   )  const [virtual]
 

Print a 1-line summary of contents.

Implements vil_image_view_base.

template<class T>
void vil_image_view< T >::release_memory  )  [inline, protected]
 

Disconnect this view from the underlying data,.

Definition at line 58 of file vil_image_view.h.

template<class T>
virtual void vil_image_view< T >::set_size unsigned  ni,
unsigned  nj,
unsigned  nplanes
[virtual]
 

resize to ni x nj x nplanes.

If already correct size, this function returns quickly

Implements vil_image_view_base.

template<class T>
virtual void vil_image_view< T >::set_size unsigned  ni,
unsigned  nj
[virtual]
 

resize current planes to ni x nj.

If already correct size, this function returns quickly

Implements vil_image_view_base.

template<class T>
void vil_image_view< T >::set_to_memory const T *  top_left,
unsigned  ni,
unsigned  nj,
unsigned  nplanes,
vcl_ptrdiff_t  i_step,
vcl_ptrdiff_t  j_step,
vcl_ptrdiff_t  plane_step
 

Set this view to look at someone else's memory data.

If the data goes out of scope then this view could be invalid, and there's no way of knowing until it's too late -- so take care!

Note that though top_left is passed in as const, the data may be manipulated through the view.

unsigned long vil_image_view_base::size  )  const [inline, inherited]
 

The number of pixels.

Definition at line 55 of file vil_image_view_base.h.

template<class T>
unsigned vil_image_view< T >::size_bytes  )  const [inline]
 

The number of bytes in the data.

Definition at line 162 of file vil_image_view.h.

template<class T>
const T* vil_image_view< T >::top_left_ptr  )  const [inline]
 

Pointer to the first (top left in plane 0) pixel.

Note that this is not necessarily the lowest data memory address.

Definition at line 141 of file vil_image_view.h.

template<class T>
T* vil_image_view< T >::top_left_ptr  )  [inline]
 

Pointer to the first (top left in plane 0) pixel.

Note that this is not necessarily the lowest data memory address.

Definition at line 138 of file vil_image_view.h.


Friends And Related Function Documentation

template<class T>
double vil_bicub_interp const vil_image_view< T > &  view,
double  x,
double  y,
unsigned  p = 0
[related]
 

Compute bicubic interpolation at (x,y), with minimal bound checks.

If (x,y) is outside interpolatable image region and NDEBUG is not defined the code will fail an ASSERT. The safe interpolatable region is [1,view.ni()-2]*[1,view.nj()-2].

Definition at line 113 of file vil_bicub_interp.h.

template<class T>
double vil_bicub_interp_safe const vil_image_view< T > &  view,
double  x,
double  y,
unsigned  p = 0
[related]
 

Compute bicubic interpolation at (x,y), with bound checks.

If (x,y) is outside interpolatable image region, zero is returned. The safe interpolatable region is [1,view.ni()-2]*[1,view.nj()-2].

Definition at line 82 of file vil_bicub_interp.h.

template<class T>
double vil_bicub_interp_safe_extend const vil_image_view< T > &  view,
double  x,
double  y,
unsigned  p = 0
[related]
 

Compute bicubic interpolation at (x,y), with bound checks.

If (x,y) is outside safe interpolatable image region, nearest pixel value is returned. The safe interpolatable region is [1,view.ni()-2]*[1,view.nj()-2].

Definition at line 142 of file vil_bicub_interp.h.

template<class T>
double vil_bilin_interp const vil_image_view< T > &  view,
double  x,
double  y,
unsigned  p = 0
[related]
 

Compute bilinear interpolation at (x,y), with minimal bound checks.

If (x,y) is outside interpolatable image region and NDEBUG is not defined the code will fail an ASSERT. The safe interpolatable region is [0,view.ni()-1]*[0,view.nj()-1].

Definition at line 145 of file vil_bilin_interp.h.

template<class T>
double vil_bilin_interp_safe const vil_image_view< T > &  view,
double  x,
double  y,
unsigned  p = 0
[related]
 

Compute bilinear interpolation at (x,y), with bound checks.

If (x,y) is outside interpolatable image region, zero is returned. The safe interpolatable region is [0,view.ni()-1]*[0,view.nj()-1].

Definition at line 113 of file vil_bilin_interp.h.

template<class T>
double vil_bilin_interp_safe_extend const vil_image_view< T > &  view,
double  x,
double  y,
unsigned  p = 0
[related]
 

Compute bilinear interpolation at (x,y), with bound checks.

If (x,y) is outside safe interpolatable image region, nearest pixel value is returned. The safe interpolatable region is [0,view.ni()-1]*[0,view.nj()-1].

Definition at line 175 of file vil_bilin_interp.h.

template<class T>
void vil_clamp vil_image_view< T > &  src,
vil_image_view< T > &  dest,
lo,
hi
[related]
 

Clamp an image view between two values.

Definition at line 23 of file vil_clamp.h.

template<class T>
void vil_clamp_below vil_image_view< T > &  src,
t
[related]
 

Clamp an image view above a given value t, setting it to this t if below t.

Definition at line 105 of file vil_clamp.h.

template<class T>
void vil_clamp_below vil_image_view< T > &  src,
t,
v
[related]
 

Clamp an image view above a given value t, setting it to v if below or on t.

Definition at line 85 of file vil_clamp.h.

template<class T>
void vil_convert_cast const vil_image_view< inP > &  src,
vil_image_view< outP > &  dest
[related]
 

Cast one pixel type to another (with rounding).

There must be a cast operator from inP to outP

If the two pixel types are the same, the destination may only be a shallow copy of the source.

Definition at line 241 of file vil_convert.h.

template<class T>
void vil_convert_round const vil_image_view< inP > &  src,
vil_image_view< outP > &  dest
[related]
 

Convert one pixel type to another with rounding.

This should only be used to convert scalar pixel types to other scalar pixel types, or RGBs to RGBs. This function only rounds in terms of the destination type.

If the two pixel types are the same, the destination may only be a shallow copy of the source.

Definition at line 439 of file vil_convert.h.

template<class T>
void vil_convert_stretch_range const vil_image_view< T > &  src,
vil_image_view< vxl_byte > &  dest
[related]
 

Convert src to byte image dest by stretching to range [0,255].

Definition at line 507 of file vil_convert.h.

template<class T>
void vil_convolve_1d const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
const kernelT *  kernel,
vcl_ptrdiff_t  k_lo,
vcl_ptrdiff_t  k_hi,
accumT  ac,
vil_convolve_boundary_option  start_option,
vil_convolve_boundary_option  end_option
[related]
 

Convolve kernel[i] (i in [k_lo,k_hi]) with srcT in i-direction.

On exit dest_im(i,j) = sum src(i-x,j)*kernel(x) (x=k_lo..k_hi)

Note:
This function reverses the kernel. If you don't want the kernel reversed, use vil_correlate_1d instead. The kernel must not be larger than src_im.ni()
Parameters:
kernel should point to tap 0.
dest_im will be resized to size of src_im.

Definition at line 247 of file vil_convolve_1d.h.

template<class T>
void vil_convolve_2d const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
const vil_image_view< kernelT > &  kernel,
accumT  ac
[related]
 

Convolve kernel with srcT.

dest is resized to (1+src_im.ni()-kernel.ni())x(1+src_im.nj()-kernel.nj()) (a one plane image). On exit dest(x,y) = sum_ij src_im(x-i,y-j)*kernel(i,j)

Definition at line 20 of file vil_convolve_2d.h.

template<class T>
vil_image_view< T > vil_copy_deep const vil_image_view< T > &  src  )  [related]
 

Create a deep copy of an image, with completely new underlying memory.

O(size).

Definition at line 25 of file vil_copy.txx.

template<class T>
void vil_copy_deep const vil_image_view< T > &  src,
vil_image_view< T > &  dest
[related]
 

Deep copy src to dest.

O(size).

Definition at line 18 of file vil_copy.txx.

template<class T>
void vil_copy_reformat const vil_image_view< T > &  src,
vil_image_view< T > &  dest
[related]
 

Copy src to dest, without changing dest's view parameters.

This is useful if you want to copy an image into a window on another image. src and dest must have identical sizes, and types. O(size).

Definition at line 37 of file vil_copy.txx.

template<class T>
void vil_copy_to_window const vil_image_view< T > &  src,
vil_image_view< T > &  dest,
unsigned  i0,
unsigned  j0
[related]
 

Copy src to window in dest.

Size of window is defined by src. O(src.size).

Definition at line 53 of file vil_copy.txx.

template<class T>
void vil_corners const vil_image_view< T > &  src,
vil_image_view< float > &  dest,
double  k = 0.04
[related]
 

Compute Harris corner strength function.

At each pixel compute the Harris corner function: det(H)-k*sqr(trace(H)), where H is the 2x2 matrix of second derivatives, generated by applying a Sobel operator twice. The filters thus effectively have 5x5 support.

The local peaks of the output image correspond to corner candidates.

Definition at line 49 of file vil_corners.h.

template<class T>
void vil_corners const vil_image_view< float > &  grad_i,
const vil_image_view< float > &  grad_j,
vil_image_view< float > &  dest,
double  k = 0.04
[related]
 

Compute Forstner/Harris corner strength function given gradient images.

grad_i and grad_j are assumed to be the i and j gradient images (single plane), such as produced by vil_sobel_3x3(). At each pixel compute the Forstner/Harris corner function: det(H)-k*sqr(trace(H)), where H is the 2x2 matrix of second derivatives, generated by applying a Sobel operator to the gradient images.

The local peaks of the output image correspond to corner candidates.

Definition at line 21 of file vil_corners.cxx.

template<class T>
void vil_corners_rohr const vil_image_view< T > &  src,
vil_image_view< float > &  dest
[related]
 

Compute corner strength using Karl Rohr's recommended method.

This computes the determinant of the matrix C=g.g' after the elements of C have been smoothed. g is the vector of first derivatives (gx,gy)' It relies only on first derivatives.

Definition at line 65 of file vil_corners.h.

template<class T>
void vil_corners_rohr const vil_image_view< float > &  grad_i,
const vil_image_view< float > &  grad_j,
vil_image_view< float > &  dest
[related]
 

Compute corner strength using Rohr's recommended method.

This computes the determinant of the matrix C=g.g' after the elements of C have been smoothed. g is the vector of first derivatives (gx,gy)' It relies only on first derivatives.

Definition at line 183 of file vil_corners.cxx.

template<class T>
void vil_correlate_1d const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
const kernelT *  kernel,
vcl_ptrdiff_t  k_lo,
vcl_ptrdiff_t  k_hi,
accumT  ac,
vil_convolve_boundary_option  start_option,
vil_convolve_boundary_option  end_option
[related]
 

correlate kernel[i] (i in [k_lo,k_hi]) with srcT in i-direction.

On exit dest_im(i,j) = sum src(i+x,j)*kernel(x) (x=k_lo..k_hi)

Note:
This function does not reverse the kernel. If you want the kernel reversed, use vil_convolve_1d instead.
Parameters:
kernel should point to tap 0.
dest_im will be resized to size of src_im.

Definition at line 59 of file vil_correlate_1d.h.

template<class T>
void vil_correlate_2d const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
const vil_image_view< kernelT > &  kernel,
accumT  ac
[related]
 

Correlate kernel with srcT.

dest is resized to (1+src_im.ni()-kernel.ni())x(1+src_im.nj()-kernel.nj()) (a one plane image). On exit dest(x,y) = sum_ij src_im(x+i,y+j)*kernel(i,j)

Definition at line 53 of file vil_correlate_2d.h.

template<class T>
vil_image_view< T > vil_crop const vil_image_view< T > &  im,
unsigned  i0,
unsigned  n_i,
unsigned  j0,
unsigned  n_j
[related]
 

Create a view which is a cropped version of src.

Doesn't modify underlying data. O(1).

Returns:
an n_i x n_j window of im with offset (x0,y0)

Definition at line 21 of file vil_crop.h.

template<class T>
vil_image_view< T > vil_decimate const vil_image_view< T > &  im,
unsigned  i_factor,
unsigned  j_factor = 0
[related]
 

Create a view which is a decimated version of src.

Doesn't modify underlying data. O(1).

The factor describes the number of input rows (or columns) that are equivalent to one output. If you don't specify the j_factor, it will be set equal to i_factor.

Definition at line 22 of file vil_decimate.h.

template<class T>
void vil_exp_filter_2d const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
accumT  ki,
accumT  kj
[related]
 

Apply exponential filter along i and j to src_im to produce dest_im.

Symmetric exponential filter of the form exp(c*|j|) applied. c=log(k) Uses fast recursive implementation.

Definition at line 15 of file vil_exp_filter_2d.h.

template<class T>
void vil_exp_filter_i const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
accumT  k
[related]
 

Apply exponential filter along i to src_im to produce dest_im.

Symmetric exponential filter of the form exp(c*|i|) applied. c=log(k) Uses fast recursive implementation.

Definition at line 52 of file vil_exp_filter_1d.h.

template<class T>
void vil_exp_filter_j const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
accumT  k
[related]
 

Apply exponential filter along j to src_im to produce dest_im.

Symmetric exponential filter of the form exp(c*|j|) applied. c=log(k) Uses fast recursive implementation.

Definition at line 77 of file vil_exp_filter_1d.h.

template<class T>
void vil_exp_grad_filter_i const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
accumT  k
[related]
 

Apply exponential gradient filter to src_im (along i direction).

Exponential gradient filter of the form sign(i)*exp(c*|i|) applied. c=log(k) Uses fast recursive implementation.

Definition at line 58 of file vil_exp_grad_filter_1d.h.

template<class T>
void vil_exp_grad_filter_j const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
accumT  k
[related]
 

Apply exponential gradient filter to src_im (along j direction).

Exponential gradient filter of the form sign(j)*exp(c*|j|) applied. c=log(k) Uses fast recursive implementation.

Definition at line 83 of file vil_exp_grad_filter_1d.h.

template<class T>
void vil_fill vil_image_view< T > &  view,
value
[related]
 

Fill view with given value.

O(size).

Definition at line 17 of file vil_fill.h.

template<class T>
void vil_fill_col vil_image_view< T > &  view,
unsigned  i,
value
[related]
 

Fill column i in view with given value.

O(nj).

Definition at line 146 of file vil_fill.h.

template<class T>
void vil_fill_line vil_image_view< T > &  im,
int  ai,
int  aj,
int  bi,
int  bj,
value
[related]
 

Fill line from (ai,aj) to (bi,bj) using Bresenham's algorithm.

Only modifies first plane.

Definition at line 56 of file vil_fill.h.

template<class T>
void vil_fill_line T *  data,
unsigned  n,
vcl_ptrdiff_t  step,
value
[related]
 

Fill data[i*step] (i=0.

.n-1) with given value.

Definition at line 45 of file vil_fill.h.

template<class T>
void vil_fill_row vil_image_view< T > &  view,
unsigned  j,
value
[related]
 

Fill row j in view with given value.

O(ni).

Definition at line 131 of file vil_fill.h.

template<class T>
vil_image_view< T > vil_flip_lr const vil_image_view< T > &  v  )  [related]
 

Create a reflected view in which i -> ni-1-i.

i.e. vil_flip_lr(view)(i,j,p) = view(ni-1-i,j,p) O(1).

Definition at line 20 of file vil_flip.h.

template<class T>
vil_image_view< T > vil_flip_ud const vil_image_view< T > &  v  )  [related]
 

Create a reflected view in which y -> nj-1-j.

i.e. vil_flip_ud(view)(i,j,p) = view(i,nj-1-j,p) O(1).

Definition at line 33 of file vil_flip.h.

template<class T>
void vil_gauss_reduce const vil_image_view< T > &  src,
vil_image_view< T > &  dest,
vil_image_view< T > &  work_im
[related]
 

Smooth and subsample src_im to produce dest_im.

Applies 1-5-8-5-1 smoothing filter in x and y, then samples every other pixel. work_im provides workspace

Definition at line 19 of file vil_gauss_reduce.txx.

template<class T>
void vil_gauss_reduce_121 const vil_image_view< T > &  src,
vil_image_view< T > &  dest
[related]
 

Smooth and subsample src_im to produce dest_im.

Applies 1-2-1 smoothing filter in x and y, then samples every other pixel.

Definition at line 94 of file vil_gauss_reduce.txx.

template<class T>
void vil_gauss_reduce_2_3 const vil_image_view< T > &  src_im,
vil_image_view< T > &  dest_im,
vil_image_view< T > &  work_im
[related]
 

Smooth and subsample src_im to produce dest_im (2/3 size).

Applies filter in x and y, then samples every other pixel. work_im provides workspace

Definition at line 57 of file vil_gauss_reduce.txx.

template<class T>
void vil_gauss_reduce_general const vil_image_view< T > &  src_im,
vil_image_view< T > &  dest_im,
const vil_gauss_reduce_params params
[related]
 

Smooth and subsample src_im by an arbitrary factor to produce dest_im.

Definition at line 112 of file vil_gauss_reduce.h.

template<class T>
bool vil_image_view_deep_equality const vil_image_view< T > &  lhs,
const vil_image_view< T > &  rhs
[related]
 

True if the actual images are identical.

$\bigwedge_{i,j,p} {\textstyle src}(i,j,p) == {\textstyle dest}(i,j,p)$ The data may be formatted differently in each memory chunk. O(size).

template<class T>
vil_image_view_base_sptr vil_load const char *   )  [related]
 

Convenience function for loading an image into an image view.

Definition at line 108 of file vil_load.cxx.

template<class T>
void vil_math_add_image_fraction vil_image_view< aT > &  imA,
scaleT  fa,
const vil_image_view< bT > &  imB,
scaleT  fb
[related]
 

imA = fa*imA + fb*imB (Useful for moving averages!).

Can do running sum using vil_add_image_fraction(running_mean,1-f,new_im,f) to update current mean by a fraction f of new_im

Definition at line 902 of file vil_math.h.

template<class T>
void vil_math_image_abs_difference const vil_image_view< aT > &  imA,
const vil_image_view< bT > &  imB,
vil_image_view< sumT > &  im_sum
[related]
 

Compute absolute difference of two images (im_sum = |imA-imB|).

Definition at line 827 of file vil_math.h.

template<class T>
void vil_math_image_difference const vil_image_view< aT > &  imA,
const vil_image_view< bT > &  imB,
vil_image_view< sumT > &  im_sum
[related]
 

Compute difference of two images (im_sum = imA-imB).

Definition at line 794 of file vil_math.h.

template<class T>
void vil_math_image_max const vil_image_view< aT > &  imA,
const vil_image_view< bT > &  imB,
vil_image_view< maxT > &  im_max
[related]
 

Compute the max of two images (im_max = max(imA, imB)).

Definition at line 681 of file vil_math.h.

template<class T>
void vil_math_image_min const vil_image_view< aT > &  imA,
const vil_image_view< bT > &  imB,
vil_image_view< minT > &  im_min
[related]
 

Compute the min of two images (im_min = min(imA, imB)).

Definition at line 714 of file vil_math.h.

template<class T>
void vil_math_image_product const vil_image_view< aT > &  imA,
const vil_image_view< bT > &  imB,
vil_image_view< sumT > &  im_product
[related]
 

Compute pixel-wise product of two images (im_prod(i,j) = imA(i,j)*imB(i,j).

If images have the same number of planes, then im_prod(i,j,p) = imA(i,j,p)*imB(i,j,p). If imB only has one plane, then im_prod(i,j,p) = imA(i,j,p)*imB(i,j,0).

Definition at line 642 of file vil_math.h.

template<class T>
void vil_math_image_ratio const vil_image_view< aT > &  imA,
const vil_image_view< bT > &  imB,
vil_image_view< sumT > &  im_ratio
[related]
 

Compute pixel-wise ratio of two images : im_ratio(i,j) = imA(i,j)/imB(i,j).

Pixels cast to type sumT before calculation. If imB(i,j,p)==0, im_ration(i,j,p)=0

If images have the same number of planes, then im_ratio(i,j,p) = imA(i,j,p)/imB(i,j,p). If imB only has one plane, then im_ratio(i,j,p) = imA(i,j,p)/imB(i,j,0).

Definition at line 753 of file vil_math.h.

template<class T>
void vil_math_image_sum const vil_image_view< aT > &  imA,
const vil_image_view< bT > &  imB,
vil_image_view< sumT > &  im_sum
[related]
 

Compute sum of two images (im_sum = imA+imB).

Definition at line 606 of file vil_math.h.

template<class T>
void vil_math_image_vector_mag const vil_image_view< aT > &  imA,
const vil_image_view< bT > &  imB,
vil_image_view< magT > &  im_mag
[related]
 

Compute magnitude of two images taken as vector components, sqrt(A^2 + B^2).

Definition at line 862 of file vil_math.h.

template<class T>
void vil_math_integral_image const vil_image_view< aT > &  imA,
vil_image_view< sumT > &  im_sum
[related]
 

Compute integral image im_sum(i+1,j+1) = sum (x<=i,y<=j) imA(x,y).

Useful thing for quickly computing mean over large regions, as demonstrated in Viola and Jones (CVPR01). The sum of elements in the ni x nj square with corner (i,j) is given by im_sum(i,j)+im_sum(i+ni,j+nj)-im_sum(i+ni,j)-im_sum(i,j+nj)

Definition at line 933 of file vil_math.h.

template<class T>
void vil_math_integral_sqr_image const vil_image_view< aT > &  imA,
vil_image_view< sumT > &  im_sum,
vil_image_view< sumT > &  im_sum_sq
[related]
 

Compute integral image im_sum_sq(i+1,j+1) = sum (x<=i,y<=j) imA(x,y)^2.

Also computes sum im_sum(i+1,j+1) = sum (x<=i,y<=j) imA(x,y)

Useful thing for quickly computing mean and variance over large regions, as demonstrated in Viola and Jones (CVPR01).

The sum of elements in the ni x nj square with corner (i,j) is given by im_sum(i,j)+im_sum(i+ni,j+nj)-im_sum(i+ni,j)-im_sum(i,j+nj)

Similar result holds for sum of squares, allowing rapid calculation of variance etc.

Definition at line 983 of file vil_math.h.

template<class T>
void vil_math_mean sumT &  mean,
const vil_image_view< imT > &  im,
unsigned  p
[related]
 

Mean of elements in plane p of image.

Definition at line 257 of file vil_math.h.

template<class T>
void vil_math_mean_and_variance sumT &  mean,
sumT &  var,
const vil_image_view< imT > &  im,
unsigned  p
[related]
 

Mean and variance of elements in plane p of image.

Definition at line 308 of file vil_math.h.

template<class T>
void vil_math_mean_over_planes const vil_image_view< inT > &  src,
vil_image_view< outT > &  dest,
sumT 
[related]
 

Calc the mean of each pixel over all the planes.

Definition at line 222 of file vil_math.h.

template<class T>
void vil_math_mean_over_planes const vil_image_view< aT > &  src,
vil_image_view< sumT > &  dest
[related]
 

Calc the mean of each pixel over all the planes.

Definition at line 200 of file vil_math.h.

template<class T>
void vil_math_median imT &  median,
const vil_image_view< imT > &  im,
unsigned  p
[related]
 

Median of elements in plane p of an image.

For integral types, if the the median is half way between two values, the result will be the floor of the average.

Definition at line 275 of file vil_math.h.

template<class T>
void vil_math_scale_and_offset_values vil_image_view< imT > &  image,
double  scale,
offsetT  offset
[related]
 

Multiply values in-place in image view by scale and add offset.

Definition at line 430 of file vil_math.h.

template<class T>
void vil_math_scale_values vil_image_view< T > &  image,
double  scale
[related]
 

Multiply values in-place in image view by scale.

Definition at line 422 of file vil_math.h.

template<class T>
void vil_math_sqrt vil_image_view< T > &  image  )  [related]
 

Compute square-root of each pixel element (or zero if negative).

Definition at line 332 of file vil_math.h.

template<class T>
sumT vil_math_ssd const vil_image_view< imT > &  imA,
const vil_image_view< imT > &  imB,
sumT 
[related]
 

Sum of squared differences between two images.

Definition at line 163 of file vil_math.h.

template<class T>
sumT vil_math_ssd_complex const vil_image_view< vcl_complex< imT > > &  imA,
const vil_image_view< vcl_complex< imT > > &  imB,
sumT 
[related]
 

Sum squared magnitude differences between two complex images.

Definition at line 181 of file vil_math.h.

template<class T>
void vil_math_sum sumT &  sum,
const vil_image_view< imT > &  im,
unsigned  p
[related]
 

Sum of elements in plane p of image.

Definition at line 240 of file vil_math.h.

template<class T>
void vil_math_sum_squares sumT &  sum,
sumT &  sum_sq,
const vil_image_view< imT > &  im,
unsigned  p
[related]
 

Sum of squares of elements in plane p of image.

Definition at line 291 of file vil_math.h.

template<class T>
void vil_math_truncate_range vil_image_view< T > &  image,
min_v,
max_v
[related]
 

Truncate each pixel value so it fits into range [min_v,max_v].

If value < min_v value=min_v If value > max_v value=max_v

Definition at line 343 of file vil_math.h.

template<class T>
void vil_math_value_range_percentile const vil_image_view< T > &  im,
const double  fraction,
T &  value
[related]
 

Compute the value corresponding to a percentile of the range of im.

Percentile is expressed as fraction, e.g. 0.05, or 0.95.

Parameters:
im The image to examine.
fraction The fraction of the data range (from the lower end).
Return values:
value The image data value corresponding to the specified percentile.
Note:
This function requires the sorting of large parts of the image data and can be very expensive in terms of both processing and memory.

Definition at line 148 of file vil_math.h.

template<class T>
void vil_math_value_range_percentiles const vil_image_view< T > &  im,
const vcl_vector< double > &  fraction,
vcl_vector< T > &  value
[related]
 

Compute the values corresponding to several percentiles of the range of im.

Percentiles are expressed as fraction, e.g. 0.05, or 0.95.

Parameters:
im The image to examine.
fraction The fractions of the data range (from the lower end).
Return values:
value The image data values corresponding to the specified percentiles.
Note:
This function requires the sorting of large parts of the image data and can be very expensive in terms of both processing and memory.

Definition at line 83 of file vil_math.h.

template<class T>
T vil_nearest_neighbour_interp_safe const vil_image_view< T > &  view,
double  x,
double  y,
unsigned  p = 0
[related]
 

Compute nearest neighbour interpolation at (x,y), with bound checks.

If (x,y) is outside interpolatable image region, zero is returned. The safe interpolatable region is [-0.5,view.ni()-0.5)*[0,view.nj()-0.5).

Definition at line 23 of file vil_nearest_neighbour_interp.h.

template<class T>
T vil_nearest_neighbour_interp_safe_extend const vil_image_view< T > &  view,
double  x,
double  y,
unsigned  p = 0
[related]
 

Compute nearest_neighbourear interpolation at (x,y), with bound checks.

If (x,y) is outside safe interpolatable image region, nearest pixel value is returned. The safe interpolatable region is [-0.5,view.ni()-0.5)*[-0.5,view.nj()-0.5).

Definition at line 59 of file vil_nearest_neighbour_interp.h.

template<class T>
accumT vil_norm_corr_2d_at_pt const srcT *  src_im,
vcl_ptrdiff_t  s_istep,
vcl_ptrdiff_t  s_jstep,
vcl_ptrdiff_t  s_pstep,
const vil_image_view< kernelT > &  kernel,
accumT 
[related]
 

Evaluate dot product between kernel and src_im.

Assumes that the kernel has been normalised to have zero mean and unit variance

Definition at line 18 of file vil_normalised_correlation_2d.h.

template<class T>
void vil_normalised_correlation_2d const vil_image_view< srcT > &  src_im,
vil_image_view< destT > &  dest_im,
const vil_image_view< kernelT > &  kernel,
accumT  ac
[related]
 

Normalised cross-correlation of (pre-normalised) kernel with srcT.

dest is resized to (1+src_im.ni()-kernel.ni())x(1+src_im.nj()-kernel.nj()) (a one plane image). On exit dest(x,y) = sum_ij src_im(x+i,y+j)*kernel(i,j)/sd_under_region

Assumes that the kernel has been normalised to have zero mean and unit variance

Definition at line 67 of file vil_normalised_correlation_2d.h.

template<class T>
vil_image_view< T > vil_plane const vil_image_view< T > &  im,
unsigned  p
[related]
 

Return a view of im's plane p.

O(1).

Definition at line 20 of file vil_plane.h.

template<class T>
void vil_print_all vcl_ostream &  os,
vil_image_view_base_sptr const &  view
[related]
 

Print all image data to os in a grid.

template<class T>
void vil_print_all vcl_ostream &  os,
const vil_image_view< T > &  view
[related]
 

Print all image data to os in a grid (rounds output to int).

Definition at line 77 of file vil_print.h.

template<class T>
void vil_print_value vcl_ostream &  s,
const T &  value
[related]
 

How to print value in vil_print_all(image_view).

template<class T>
void vil_resample_bicub const vil_image_view< sType > &  src_image,
vil_image_view< dType > &  dest_image,
double  x0,
double  y0,
double  dx1,
double  dy1,
double  dx2,
double  dy2,
int  n1,
int  n2
[related]
 

Sample grid of points in one image and place in another, using bicubic interpolation.

dest_image(i,j,p) is sampled from the src_image at (x0+i.dx1+j.dx2,y0+i.dy1+j.dy2), where i=[0..n1-1], j=[0..n2-1] dest_image resized to (n1,n2,src_image.nplanes()) Points outside image return zero.

Definition at line 34 of file vil_resample_bicub.txx.

template<class T>
void vil_resample_bilin const vil_image_view< sType > &  src_image,
vil_image_view< dType > &  dest_image,
double  x0,
double  y0,
double  dx1,
double  dy1,
double  dx2,
double  dy2,
int  n1,
int  n2
[related]
 

Sample grid of points in one image and place in another, using bilinear interpolation.

dest_image(i,j,p) is sampled from the src_image at (x0+i.dx1+j.dx2,y0+i.dy1+j.dy2), where i=[0..n1-1], j=[0..n2-1] dest_image resized to (n1,n2,src_image.nplanes()) Points outside image return zero.

Definition at line 36 of file vil_resample_bilin.txx.

template<class T>
void vil_resample_bilin_edge_extend const vil_image_view< sType > &  src_image,
vil_image_view< dType > &  dest_image,
double  x0,
double  y0,
double  dx1,
double  dy1,
double  dx2,
double  dy2,
int  n1,
int  n2
[related]
 

Sample grid of points in one image and place in another, using bilinear interpolation.

dest_image(i,j,p) is sampled from the src_image at (x0+i.dx1+j.dx2,y0+i.dy1+j.dy2), where i=[0..n1-1], j=[0..n2-1] dest_image resized to (n1,n2,src_image.nplanes()) Points outside image return zero.

Definition at line 159 of file vil_resample_bilin.txx.

template<class T>
void vil_sample_grid_bicub vecType *  v,
const vil_image_view< imType > &  image,
double  x0,
double  y0,
double  dx1,
double  dy1,
double  dx2,
double  dy2,
int  n1,
int  n2
[related]
 

Sample grid from image, using bicubic interpolation.

Grid points are (x0+i.dx1+j.dx2,y0+i.dy1+j.dy2), where i=[0..n1-1], j=[0..n2-1] Vector v is filled with n1*n2*np elements, where np=image.nplanes()*image.ncomponents() v[0]..v[np-1] are the values from point (x0,y0) Samples are taken along direction (dx2,dy2) first, then along (dx1,dy1). Points outside image return zero.

Definition at line 33 of file vil_sample_grid_bicub.txx.

template<class T>
void vil_sample_grid_bilin vecType *  v,
const vil_image_view< imType > &  image,
double  x0,
double  y0,
double  dx1,
double  dy1,
double  dx2,
double  dy2,
int  n1,
int  n2
[related]
 

Sample grid from image, using bilinear interpolation.

Grid points are (x0+i.dx1+j.dx2,y0+i.dy1+j.dy2), where i=[0..n1-1], j=[0..n2-1] Vector v is filled with n1*n2*np elements, where np=image.nplanes()*image.ncomponents() v[0]..v[np-1] are the values from point (x0,y0) Samples are taken along direction (dx2,dy2) first, then along (dx1,dy1). Points outside image return zero.

Definition at line 34 of file vil_sample_grid_bilin.txx.

template<class T>
void vil_sample_profile_bicub vecType *  v,
const vil_image_view< imType > &  image,
double  x0,
double  y0,
double  dx,
double  dy,
int  n
[related]
 

Sample along profile, using bicubic interpolation.

Profile points are (x0+i.dx,y0+i.dy), where i=[0..n-1]. Vector v is filled with n*np elements, where np=image.nplanes()*image.ncomponents() v[0]..v[np-1] are the values from point (x0,y0) Points outside image return zero.

Definition at line 39 of file vil_sample_profile_bicub.txx.

template<class T>
void vil_sample_profile_bilin vecType *  v,
const vil_image_view< imType > &  image,
double  x0,
double  y0,
double  dx,
double  dy,
int  n
[related]
 

Sample along profile, using bilinear interpolation.

Profile points are (x0+i.dx,y0+i.dy), where i=[0..n-1]. Vector v is filled with n*np elements, where np=image.nplanes()*image.ncomponents() v[0]..v[np-1] are the values from point (x0,y0) Points outside image return zero.

Definition at line 40 of file vil_sample_profile_bilin.txx.

template<class T>
bool vil_save const vil_image_view_base ,
char const *  filename,
char const *  file_format
[related]
 

Send a vil_image_view to disk, given filename.

template<class T>
bool vil_save const vil_image_view_base ,
char const *  filename
[related]
 

Send a vil_image_view to disk, deducing format from filename.

template<class T>
void vil_sobel_1x3 const vil_image_view< srcT > &  src,
vil_image_view< destT > &  grad_ij
[related]
 

Compute gradients of an image using 1x3 Sobel filters.

Computes both i and j gradients of an nx x ny plane of data grad_ij has twice as many planes as src, with dest plane (2i) being the i-gradient of source plane i and dest plane (2i+1) being the j-gradient. 1 pixel border around grad images is set to zero

Definition at line 15 of file vil_sobel_1x3.txx.

template<class T>
void vil_sobel_1x3 const vil_image_view< srcT > &  src,
vil_image_view< destT > &  grad_i,
vil_image_view< destT > &  grad_j
[related]
 

Compute gradients of an image using 1x3 Sobel filters.

Computes both i and j gradients of an ni x nj plane of data 1 pixel border around grad images is set to zero

Definition at line 35 of file vil_sobel_1x3.txx.

template<class T>
void vil_sobel_3x3 const vil_image_view< srcT > &  src,
vil_image_view< destT > &  grad_ij
[related]
 

Compute gradients of an image using 3x3 Sobel filters.

Computes both i and j gradients of an nx x ny plane of data grad_ij has twice as many planes as src, with dest plane (2i) being the i-gradient of source plane i and dest plane (2i+1) being the j-gradient. 1 pixel border around grad images is set to zero

Definition at line 15 of file vil_sobel_3x3.txx.

template<class T>
void vil_sobel_3x3 const vil_image_view< srcT > &  src,
vil_image_view< destT > &  grad_i,
vil_image_view< destT > &  grad_j
[related]
 

Compute gradients of an image using 3x3 Sobel filters.

Computes both i and j gradients of an ni x nj plane of data 1 pixel border around grad images is set to zero

Definition at line 35 of file vil_sobel_3x3.txx.

template<class T>
vil_image_view< T > vil_transpose const vil_image_view< T > &  v  )  [related]
 

Create a view which appears as the transpose of this view.

i.e. transpose(i,j,p) = view(j,i,p). O(1).

Definition at line 19 of file vil_transpose.h.

template<class T>
vil_image_view< vcl_complex< T > > vil_view_as_complex const vil_image_view< T > &  v  )  [related]
 

Return an complex component view of a 2N-plane image.

Returns:
an empty view if it can't do the conversion (e.g. planestep != 1) O(1).

Definition at line 80 of file vil_view_as.h.

template<class T>
vil_image_view< typename T::value_type > vil_view_as_planes const vil_image_view< T > &  v  )  [related]
 

Return a 3-plane view of an RGB image, or a 4-plane view of an RGBA, or a 2-plane view of a complex image.

Class T must be a compound pixel type.

Returns:
an empty view if it can't do the conversion. O(1).

Definition at line 26 of file vil_view_as.h.

template<class T>
vil_image_view< vil_rgb< T > > vil_view_as_rgb const vil_image_view< T > &  v  )  [related]
 

Return an RGB component view of a 3-plane image.

Returns:
an empty view if it can't do the conversion (e.g. planestep != 1) O(1).

Definition at line 47 of file vil_view_as.h.

template<class T>
vil_image_view< vil_rgba< T > > vil_view_as_rgba const vil_image_view< T > &  v  )  [related]
 

Return an RGBA component view of a 4-plane image.

Returns:
an empty view if it can't do the conversion (e.g. planestep != 1) O(1).

Definition at line 63 of file vil_view_as.h.

template<class T>
vil_image_view< T > vil_view_imag_part vil_image_view< vcl_complex< T > >  img  )  [related]
 

Return a view of the imaginary part of a complex image.

O(1).

Definition at line 121 of file vil_view_as.h.

template<class T>
vil_image_view< T > vil_view_part vil_image_view< vcl_complex< T > >  img,
int  pt
[related]
 

Base function to do the work for both vil_view_real/imag_part.

O(1).

Definition at line 97 of file vil_view_as.h.

template<class T>
vil_image_view< T > vil_view_real_part vil_image_view< vcl_complex< T > >  img  )  [related]
 

Return a view of the real part of a complex image.

O(1).

Definition at line 111 of file vil_view_as.h.


Member Data Documentation

template<class T>
vcl_ptrdiff_t vil_image_view< T >::istep_ [protected]
 

Add this to a pixel pointer to move one column left.

Definition at line 48 of file vil_image_view.h.

template<class T>
vcl_ptrdiff_t vil_image_view< T >::jstep_ [protected]
 

Add this to a pixel pointer to move one row down.

Definition at line 50 of file vil_image_view.h.

unsigned vil_image_view_base::ni_ [protected, inherited]
 

Number of columns.

Definition at line 30 of file vil_image_view_base.h.

unsigned vil_image_view_base::nj_ [protected, inherited]
 

Number of rasters.

Definition at line 32 of file vil_image_view_base.h.

unsigned vil_image_view_base::nplanes_ [protected, inherited]
 

Number of planes.

Definition at line 34 of file vil_image_view_base.h.

template<class T>
vcl_ptrdiff_t vil_image_view< T >::planestep_ [protected]
 

Add this to a pixel pointer to move one plane back.

Definition at line 52 of file vil_image_view.h.

template<class T>
vil_memory_chunk_sptr vil_image_view< T >::ptr_ [protected]
 

Reference to actual image data.

Definition at line 55 of file vil_image_view.h.

template<class T>
T* vil_image_view< T >::top_left_ [protected]
 

Pointer to pixel at origin.

Definition at line 46 of file vil_image_view.h.

template<class T>
vil_image_view< T >::VCL_SAFE_BOOL_DEFINE [private]
 

Definition at line 43 of file vil_image_view.h.


The documentation for this class was generated from the following files:
Generated on Thu Jan 10 14:40:07 2008 for core/vil by  doxygen 1.4.4