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

vil_pyramid_image_list Class Reference

#include <vil_pyramid_image_list.h>

Inheritance diagram for vil_pyramid_image_list:

Inheritance graph
[legend]
List of all members.

Detailed Description

Definition at line 85 of file vil_pyramid_image_list.h.

Public Member Functions

 vil_pyramid_image_list (char const *directory)
 vil_pyramid_image_list (vcl_vector< vil_image_resource_sptr > const &images)
virtual ~vil_pyramid_image_list ()
virtual unsigned nplanes () const
 The number of planes (or components) in the image.
virtual unsigned ni () const
 The number of pixels in each row.
virtual unsigned nj () const
 The number of pixels in each column.
virtual enum vil_pixel_format pixel_format () const
 Pixel Format.
virtual vil_image_view_base_sptr get_copy_view (unsigned i0, unsigned n_i, unsigned j0, unsigned n_j) const
 Create a read/write view of a copy of this data.
virtual char const * file_format () const
 Return a string describing the file format.
virtual unsigned nlevels () const
 number of levels in the pyramid.
bool put_resource (vil_image_resource_sptr const &image)
 Copy an image resource to the pyramid.
bool add_resource (vil_image_resource_sptr const &image)
 Add an image resource directly to the pyramid without copying.
vil_image_resource_sptr get_resource (const unsigned level) const
 vitural method for getting a level of the pyramid.
vil_image_resource_sptr get_level (const unsigned level) const
 Get a level image resource of the pyramid.
virtual vil_image_view_base_sptr get_copy_view (unsigned i0, unsigned n_i, unsigned j0, unsigned n_j, unsigned level) const
 Get a partial view from the image from a specified pyramid level.
vil_image_view_base_sptr get_copy_view (const float scale, float &actual_scale) const
 Get a view from the image in the pyramid closest to scale.
vil_image_view_base_sptr get_copy_view (unsigned i0, unsigned n_i, unsigned j0, unsigned n_j, const float scale, float &actual_scale) const
 Get a partial view from the image in the pyramid closest to scale.
void set_directory (char const *directory)
void print (const unsigned level)
 for debug purposes.
virtual vil_image_view_base_sptr get_copy_view (unsigned level) const
 Get a complete view from a specified pyramid level.
vil_image_view_base_sptr get_copy_view () const
 Create a read/write view of a copy of all the data.
virtual bool put_view (vil_image_view_base const &, unsigned, unsigned)
 Put the data in this view back into the base image.
bool put_view (const vil_image_view_base &im)
 Put the data in this view back into the image source at the origin.
virtual bool get_property (char const *tag, void *property_value=0) const
 Extra property information.
virtual vil_image_view_base_sptr get_view (unsigned i0, unsigned n_i, unsigned j0, unsigned n_j) const
 Create a read/write view of the data.
vil_image_view_base_sptr get_view () const
 Create a read/write view of all the data.
virtual bool view_fits (const vil_image_view_base &im, unsigned i0, unsigned j0)
 Check that a view will fit into the data at the given offset.

Static Public Member Functions

static bool blocked_decimate (vil_blocked_image_resource_sptr const &brsc, vil_blocked_image_resource_sptr &dec_resc)
 A utility function to decimate a resource using blocks.
static vil_image_resource_sptr decimate (vil_image_resource_sptr const &resc, char const *filename, char const *format="tiff")
 Utility for decimating a resource to create a new pyramid level.

Protected Member Functions

 vil_pyramid_image_list ()
void normalize_scales ()
 normalize the scale factors so that the base image scale = 1.0.
pyramid_levelclosest (const float scale) const
 find the image resource with scale closest to specified scale.
bool is_same_size (vil_image_resource_sptr const &image)
 input image is the same size as one already in the pyramid.
float find_next_level (vil_image_resource_sptr const &image)
 find the nearest level to the image size.
void ref ()
void unref ()

Protected Attributes

vcl_string directory_
vcl_vector< pyramid_level * > levels_
int reference_count_

Friends

class vil_smart_ptr< vil_pyramid_image_resource >
class vil_smart_ptr< vil_image_resource >

Related Functions

(Note that these are not member functions.)

vil_pyramid_image_resource_sptr vil_load_pyramid_resource (char const *directory_or_file)
 Load a pyramid image resource object from a file or directory.
template<class destT, class kernelT, class accumT>
vil_image_resource_sptr vil_convolve_1d (const vil_image_resource_sptr &src_im, const destT, const kernelT *kernel, int k_lo, int k_hi, const accumT, vil_convolve_boundary_option start_option, vil_convolve_boundary_option end_option)
 Create an image_resource object which convolve kernel[x] x in [k_lo,k_hi] with srcT.
template<class destT, class kernelT, class accumT>
vil_image_resource_sptr vil_correlate_1d (const vil_image_resource_sptr &src_im, const destT, const kernelT *kernel, vcl_ptrdiff_t k_lo, vcl_ptrdiff_t k_hi, const accumT, vil_convolve_boundary_option start_option, vil_convolve_boundary_option end_option)
 Create an image_resource object which correlate kernel[x] x in [k_lo,k_hi] with srcT.
bool vil_copy_deep (const vil_image_resource_sptr &src, vil_image_resource_sptr &dest)
 Copy src to dest.
vil_image_resource_sptr vil_crop (const vil_image_resource_sptr &src, unsigned i0, unsigned n_i, unsigned j0, unsigned n_j)
 Crop to a region of src.
vil_image_resource_sptr vil_decimate (const vil_image_resource_sptr &src, unsigned i_factor, unsigned j_factor=0)
 decimate to a region of src.
vil_image_resource_sptr vil_load_image_resource (char const *filename)
 Load an image resource object from a file.
vil_image_resource_sptr vil_new_image_resource (unsigned ni, unsigned nj, vil_image_resource_sptr const &prototype)
 Make a new image, similar format to the prototype.
vil_image_resource_sptr vil_new_image_resource (vil_stream *os, unsigned ni, unsigned nj, unsigned nplanes, vil_pixel_format format, char const *file_format)
 Make a new image.
vil_image_resource_sptr vil_new_image_resource (char const *filename, unsigned ni, unsigned nj, vil_image_resource_sptr const &prototype, char const *file_format)
 Make a new vil_image_resource, writing to file "filename", size ni x nj, copying pixel format etc from "prototype".
vil_image_resource_sptr vil_new_image_resource (char const *filename, unsigned ni, unsigned nj, unsigned nplanes, vil_pixel_format format, char const *file_format)
 Make a new image.
vil_image_resource_sptr vil_new_image_resource (vil_stream *os, unsigned ni, unsigned nj, vil_image_resource_sptr const &prototype, char const *file_format)
 Make a new vil_image_resource, writing to stream "os", size ni x nj, copying pixel format etc from "prototype".
vil_image_resource_sptr vil_new_image_resource (char const *filename, unsigned ni, unsigned nj, unsigned nplanes, vil_image_resource_sptr const &prototype, char const *format=0)
 Make a new vil_image_resource, writing to file "filename", size ni x nj, copying pixel format etc from "prototype".
vil_image_resource_sptr vil_new_image_resource (vil_stream *os, unsigned ni, unsigned nj, unsigned nplanes, vil_image_resource_sptr const &prototype, char const *file_format=0)
 Make a new vil_image_resource, writing to stream "os", size ni x nj, copying pixel format etc from "prototype".
bool vil_save_image_resource (const vil_image_resource_sptr &ir, char const *filename, char const *file_format)
 Send vil_image_resource to disk.
bool vil_save_image_resource (const vil_image_resource_sptr &ir, char const *filename)
 Save vil_image_resource to file, deducing format from filename.


Constructor & Destructor Documentation

vil_pyramid_image_list::vil_pyramid_image_list char const *  directory  ) 
 

Definition at line 152 of file vil_pyramid_image_list.cxx.

vil_pyramid_image_list::vil_pyramid_image_list vcl_vector< vil_image_resource_sptr > const &  images  ) 
 

Definition at line 155 of file vil_pyramid_image_list.cxx.

vil_pyramid_image_list::~vil_pyramid_image_list  )  [virtual]
 

Definition at line 174 of file vil_pyramid_image_list.cxx.

vil_pyramid_image_list::vil_pyramid_image_list  )  [protected]
 

Definition at line 149 of file vil_pyramid_image_list.cxx.


Member Function Documentation

bool vil_pyramid_image_list::add_resource vil_image_resource_sptr const &  image  ) 
 

Add an image resource directly to the pyramid without copying.

If an image of the same scale already exists, then method returns false.

Definition at line 205 of file vil_pyramid_image_list.cxx.

bool vil_pyramid_image_resource::blocked_decimate vil_blocked_image_resource_sptr const &  brsc,
vil_blocked_image_resource_sptr dec_resc
[static, inherited]
 

A utility function to decimate a resource using blocks.

The new scale is one half the input resource scale

Definition at line 127 of file vil_pyramid_image_resource.cxx.

pyramid_level * vil_pyramid_image_list::closest const float  scale  )  const [protected]
 

find the image resource with scale closest to specified scale.

Definition at line 278 of file vil_pyramid_image_list.cxx.

vil_image_resource_sptr vil_pyramid_image_resource::decimate vil_image_resource_sptr const &  resc,
char const *  filename,
char const *  format = "tiff"
[static, inherited]
 

Utility for decimating a resource to create a new pyramid level.

The new scale is one half the input resource scale. Creates a new resource from filename according to file format

Definition at line 300 of file vil_pyramid_image_resource.cxx.

virtual char const* vil_pyramid_image_list::file_format  )  const [inline, virtual]
 

Return a string describing the file format.

Only file images have a format, others return 0

Implements vil_pyramid_image_resource.

Definition at line 148 of file vil_pyramid_image_list.h.

float vil_pyramid_image_list::find_next_level vil_image_resource_sptr const &  image  )  [protected]
 

find the nearest level to the image size.

If the size of the image lies between existing scales then use the fractional amount in the name

Definition at line 227 of file vil_pyramid_image_list.cxx.

vil_image_view_base_sptr vil_image_resource::get_copy_view  )  const [inline, inherited]
 

Create a read/write view of a copy of all the data.

Reimplemented in vil_j2k_image, and vil_nitf2_image.

Definition at line 79 of file vil_image_resource.h.

virtual vil_image_view_base_sptr vil_pyramid_image_resource::get_copy_view unsigned  level  )  const [inline, virtual, inherited]
 

Get a complete view from a specified pyramid level.

This method needs no specialisation.

Definition at line 92 of file vil_pyramid_image_resource.h.

vil_image_view_base_sptr vil_pyramid_image_list::get_copy_view unsigned  i0,
unsigned  n_i,
unsigned  j0,
unsigned  n_j,
const float  scale,
float &  actual_scale
const [virtual]
 

Get a partial view from the image in the pyramid closest to scale.

The origin and size parameters are in the coordinate system of the base image.

Implements vil_pyramid_image_resource.

Definition at line 341 of file vil_pyramid_image_list.cxx.

vil_image_view_base_sptr vil_pyramid_image_list::get_copy_view const float  scale,
float &  actual_scale
const [inline, virtual]
 

Get a view from the image in the pyramid closest to scale.

Reimplemented from vil_pyramid_image_resource.

Definition at line 177 of file vil_pyramid_image_list.h.

vil_image_view_base_sptr vil_pyramid_image_list::get_copy_view unsigned  i0,
unsigned  n_i,
unsigned  j0,
unsigned  n_j,
unsigned  level
const [virtual]
 

Get a partial view from the image from a specified pyramid level.

Implements vil_pyramid_image_resource.

Definition at line 304 of file vil_pyramid_image_list.cxx.

virtual vil_image_view_base_sptr vil_pyramid_image_list::get_copy_view unsigned  i0,
unsigned  n_i,
unsigned  j0,
unsigned  n_j
const [inline, virtual]
 

Create a read/write view of a copy of this data.

Applies only to the base image

Reimplemented from vil_pyramid_image_resource.

Definition at line 135 of file vil_pyramid_image_list.h.

vil_image_resource_sptr vil_pyramid_image_list::get_level const unsigned  level  )  const [inline]
 

Get a level image resource of the pyramid.

Definition at line 168 of file vil_pyramid_image_list.h.

bool vil_pyramid_image_resource::get_property char const *  tag,
void *  property_value = 0
const [virtual, inherited]
 

Extra property information.

Implements vil_image_resource.

Definition at line 26 of file vil_pyramid_image_resource.cxx.

vil_image_resource_sptr vil_pyramid_image_list::get_resource const unsigned  level  )  const [inline, virtual]
 

vitural method for getting a level of the pyramid.

Implements vil_pyramid_image_resource.

Definition at line 164 of file vil_pyramid_image_list.h.

vil_image_view_base_sptr vil_image_resource::get_view  )  const [inline, inherited]
 

Create a read/write view of all the data.

Definition at line 68 of file vil_image_resource.h.

virtual vil_image_view_base_sptr vil_image_resource::get_view unsigned  i0,
unsigned  n_i,
unsigned  j0,
unsigned  n_j
const [inline, virtual, inherited]
 

Create a read/write view of the data.

Modifying this view might modify the actual data. If you want to modify this data in place, call put_view after you done, and it should work efficiently. This function will always return a multi-plane scalar-pixel view of the data.

Returns:
0 if unable to get view of correct size, or if resource is write-only.
If you want to fill an existing view (e.g. a window onto some other image), then use
   vil_reformat(data->get_view(..), window);
  

Reimplemented in vil_dicom_image, vil_clamp_image_resource, vil_crop_image_resource, vil_decimate_image_resource, vil_flip_lr_image_resource, vil_flip_ud_image_resource, vil_memory_image, vil_plane_image_resource, and vil_transpose_image_resource.

Definition at line 63 of file vil_image_resource.h.

bool vil_pyramid_image_list::is_same_size vil_image_resource_sptr const &  image  )  [protected]
 

input image is the same size as one already in the pyramid.

Definition at line 195 of file vil_pyramid_image_list.cxx.

virtual unsigned vil_pyramid_image_list::ni  )  const [inline, virtual]
 

The number of pixels in each row.

This method refers to the base (max resolution) image Dimensions: Planes x ni x nj.

Implements vil_pyramid_image_resource.

Definition at line 105 of file vil_pyramid_image_list.h.

virtual unsigned vil_pyramid_image_list::nj  )  const [inline, virtual]
 

The number of pixels in each column.

This method refers to the base (max resolution) image Dimensions: Planes x ni x nj.

Implements vil_pyramid_image_resource.

Definition at line 115 of file vil_pyramid_image_list.h.

virtual unsigned vil_pyramid_image_list::nlevels  )  const [inline, virtual]
 

number of levels in the pyramid.

Implements vil_pyramid_image_resource.

Definition at line 153 of file vil_pyramid_image_list.h.

void vil_pyramid_image_list::normalize_scales  )  [protected]
 

normalize the scale factors so that the base image scale = 1.0.

Definition at line 182 of file vil_pyramid_image_list.cxx.

virtual unsigned vil_pyramid_image_list::nplanes  )  const [inline, virtual]
 

The number of planes (or components) in the image.

This method refers to the base (max resolution) image Dimensions: Planes x ni x nj. This concept is treated as a synonym to components.

Implements vil_pyramid_image_resource.

Definition at line 95 of file vil_pyramid_image_list.h.

virtual enum vil_pixel_format vil_pyramid_image_list::pixel_format  )  const [inline, virtual]
 

Pixel Format.

Implements vil_pyramid_image_resource.

Definition at line 125 of file vil_pyramid_image_list.h.

void vil_pyramid_image_list::print const unsigned  level  )  [inline, virtual]
 

for debug purposes.

Implements vil_pyramid_image_resource.

Definition at line 190 of file vil_pyramid_image_list.h.

bool vil_pyramid_image_list::put_resource vil_image_resource_sptr const &  image  )  [virtual]
 

Copy an image resource to the pyramid.

If an image of the same scale already exists, then method returns false.

Implements vil_pyramid_image_resource.

Definition at line 238 of file vil_pyramid_image_list.cxx.

bool vil_image_resource::put_view const vil_image_view_base im  )  [inline, inherited]
 

Put the data in this view back into the image source at the origin.

Definition at line 91 of file vil_image_resource.h.

virtual bool vil_pyramid_image_resource::put_view vil_image_view_base const &  ,
unsigned  ,
unsigned 
[inline, virtual, inherited]
 

Put the data in this view back into the base image.

Pyramid is readonly. This is essentially (although not formally) a pure virtual function.

Implements vil_image_resource.

Definition at line 70 of file vil_pyramid_image_resource.h.

void vil_image_resource::ref  )  [inline, protected, inherited]
 

Definition at line 109 of file vil_image_resource.h.

void vil_pyramid_image_list::set_directory char const *  directory  )  [inline]
 

Definition at line 187 of file vil_pyramid_image_list.h.

void vil_image_resource::unref  )  [inline, protected, inherited]
 

Definition at line 110 of file vil_image_resource.h.

bool vil_image_resource::view_fits const vil_image_view_base im,
unsigned  i0,
unsigned  j0
[virtual, inherited]
 

Check that a view will fit into the data at the given offset.

This includes checking that the pixel type is scalar.

Definition at line 30 of file vil_image_resource.cxx.


Friends And Related Function Documentation

template<class destT, class kernelT, class accumT>
vil_image_resource_sptr vil_convolve_1d const vil_image_resource_sptr src_im,
const destT  ,
const kernelT *  kernel,
int  k_lo,
int  k_hi,
const accumT  ,
vil_convolve_boundary_option  start_option,
vil_convolve_boundary_option  end_option
[related, inherited]
 

Create an image_resource object which convolve kernel[x] x in [k_lo,k_hi] with srcT.

Note:
This function reverses the kernel. If you don't want the kernel reversed, use vil_correlate_1d instead.
Parameters:
kernel should point to tap 0.

Definition at line 404 of file vil_convolve_1d.h.

bool vil_copy_deep const vil_image_resource_sptr src,
vil_image_resource_sptr dest
[related, inherited]
 

Copy src to dest.

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

Definition at line 44 of file vil_copy.cxx.

template<class destT, class kernelT, class accumT>
vil_image_resource_sptr vil_correlate_1d const vil_image_resource_sptr src_im,
const destT  ,
const kernelT *  kernel,
vcl_ptrdiff_t  k_lo,
vcl_ptrdiff_t  k_hi,
const accumT  ,
vil_convolve_boundary_option  start_option,
vil_convolve_boundary_option  end_option
[related, inherited]
 

Create an image_resource object which correlate kernel[x] x in [k_lo,k_hi] with srcT.

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.

Definition at line 214 of file vil_correlate_1d.h.

vil_image_resource_sptr vil_crop const vil_image_resource_sptr src,
unsigned  i0,
unsigned  n_i,
unsigned  j0,
unsigned  n_j
[related, inherited]
 

Crop to a region of src.

Definition at line 14 of file vil_crop.cxx.

vil_image_resource_sptr vil_decimate const vil_image_resource_sptr src,
unsigned  i_factor,
unsigned  j_factor = 0
[related, inherited]
 

decimate to a region of src.

vil_image_resource_sptr vil_load_image_resource char const *  filename  )  [related, inherited]
 

Load an image resource object from a file.

Definition at line 52 of file vil_load.cxx.

vil_pyramid_image_resource_sptr vil_load_pyramid_resource char const *  directory_or_file  )  [related, inherited]
 

Load a pyramid image resource object from a file or directory.

Definition at line 81 of file vil_load.cxx.

vil_image_resource_sptr vil_new_image_resource vil_stream os,
unsigned  ni,
unsigned  nj,
unsigned  nplanes,
vil_image_resource_sptr const &  prototype,
char const *  file_format = 0
[related, inherited]
 

Make a new vil_image_resource, writing to stream "os", size ni x nj, copying pixel format etc from "prototype".

vil_image_resource_sptr vil_new_image_resource char const *  filename,
unsigned  ni,
unsigned  nj,
unsigned  nplanes,
vil_image_resource_sptr const &  prototype,
char const *  format = 0
[related, inherited]
 

Make a new vil_image_resource, writing to file "filename", size ni x nj, copying pixel format etc from "prototype".

vil_image_resource_sptr vil_new_image_resource vil_stream os,
unsigned  ni,
unsigned  nj,
vil_image_resource_sptr const &  prototype,
char const *  file_format
[related, inherited]
 

Make a new vil_image_resource, writing to stream "os", size ni x nj, copying pixel format etc from "prototype".

Definition at line 141 of file vil_new.cxx.

vil_image_resource_sptr vil_new_image_resource char const *  filename,
unsigned  ni,
unsigned  nj,
unsigned  nplanes,
vil_pixel_format  format,
char const *  file_format
[related, inherited]
 

Make a new image.

Definition at line 122 of file vil_new.cxx.

vil_image_resource_sptr vil_new_image_resource char const *  filename,
unsigned  ni,
unsigned  nj,
vil_image_resource_sptr const &  prototype,
char const *  file_format
[related, inherited]
 

Make a new vil_image_resource, writing to file "filename", size ni x nj, copying pixel format etc from "prototype".

Definition at line 103 of file vil_new.cxx.

vil_image_resource_sptr vil_new_image_resource vil_stream os,
unsigned  ni,
unsigned  nj,
unsigned  nplanes,
vil_pixel_format  format,
char const *  file_format
[related, inherited]
 

Make a new image.

Definition at line 76 of file vil_new.cxx.

vil_image_resource_sptr vil_new_image_resource unsigned  ni,
unsigned  nj,
vil_image_resource_sptr const &  prototype
[related, inherited]
 

Make a new image, similar format to the prototype.

Definition at line 68 of file vil_new.cxx.

bool vil_save_image_resource const vil_image_resource_sptr ir,
char const *  filename
[related, inherited]
 

Save vil_image_resource to file, deducing format from filename.

bool vil_save_image_resource const vil_image_resource_sptr ir,
char const *  filename,
char const *  file_format
[related, inherited]
 

Send vil_image_resource to disk.

friend class vil_smart_ptr< vil_image_resource > [friend, inherited]
 

Definition at line 108 of file vil_image_resource.h.

friend class vil_smart_ptr< vil_pyramid_image_resource > [friend, inherited]
 

Definition at line 133 of file vil_pyramid_image_resource.h.


Member Data Documentation

vcl_string vil_pyramid_image_list::directory_ [protected]
 

Definition at line 213 of file vil_pyramid_image_list.h.

vcl_vector<pyramid_level*> vil_pyramid_image_list::levels_ [protected]
 

Definition at line 216 of file vil_pyramid_image_list.h.

int vil_image_resource::reference_count_ [protected, inherited]
 

Definition at line 113 of file vil_image_resource.h.


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