vil_blocked_image_resource Class Reference

#include <vil_blocked_image_resource.h>

Inheritance diagram for vil_blocked_image_resource:

vil_image_resource vil_blocked_image_facade vil_cached_image_resource vil_nitf2_image vil_tiff_image List of all members.

Detailed Description

Definition at line 19 of file vil_blocked_image_resource.h.


Public Member Functions

 vil_blocked_image_resource ()
virtual ~vil_blocked_image_resource ()
virtual unsigned nplanes () const=0
 Dimensions: Planes x ni x nj.
virtual unsigned ni () const=0
 Dimensions: Planes x ni x nj.
virtual unsigned nj () const=0
 Dimensions: Planes x ni x nj.
virtual unsigned size_block_i () const=0
 Block size in columns.
virtual unsigned size_block_j () const=0
 Block size in rows.
virtual unsigned n_block_i () const
 Number of blocks in image width.
virtual unsigned n_block_j () const
 Number of blocks in image height.
virtual enum vil_pixel_format pixel_format () const=0
 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 bool put_view (const vil_image_view_base &im, unsigned i0, unsigned j0)=0
 Put the data in this view back into the image source.
virtual vil_image_view_base_sptr get_block (unsigned block_index_i, unsigned block_index_j) const=0
 Block access.
virtual bool get_blocks (unsigned start_block_i, unsigned end_block_i, unsigned start_block_j, unsigned end_block_j, vcl_vector< vcl_vector< vil_image_view_base_sptr > > &blocks) const
 the multiple blocks are in col row order, i.e. blocks[i][j].
virtual bool put_block (unsigned block_index_i, unsigned block_index_j, const vil_image_view_base &view)=0
 put the block into the resource at the indicated location.
virtual bool put_blocks (unsigned start_block_i, unsigned end_block_i, unsigned start_block_j, unsigned end_block_j, vcl_vector< vcl_vector< vil_image_view_base_sptr > > const &blocks)
 put multiple blocks in raster order, i.e., blocks[i][j].
virtual bool get_property (char const *tag, void *property_value=0) const=0
 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.
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 (const vil_image_view_base &im)
 Put the data in this view back into the image source at the origin.
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.
virtual char const * file_format () const
 Return a string describing the file format.

Protected Member Functions

vil_image_view_base_sptr fill_block (unsigned i0, unsigned icrop, unsigned j0, unsigned jcrop, vil_image_view_base_sptr &view) const
bool block_i_offset (unsigned block_i, unsigned i, unsigned &i_offset) const
 Get the offset from the start of the block row for pixel position i.
bool block_j_offset (unsigned block_j, unsigned j, unsigned &j_offset) const
 Get the offset from the start of the block column for pixel position j.
bool trim_border_blocks (unsigned i0, unsigned ni, unsigned j0, unsigned nj, unsigned start_block_i, unsigned start_block_j, vcl_vector< vcl_vector< vil_image_view_base_sptr > > &blocks) const
vil_image_view_base_sptr glue_blocks_together (const vcl_vector< vcl_vector< vil_image_view_base_sptr > > &blocks) const
void ref ()
void unref ()

Protected Attributes

vcl_atomic_count reference_count_

Friends

class vil_smart_ptr< vil_blocked_image_resource >
class vil_smart_ptr< vil_image_resource >

Related Functions

(Note that these are not member functions.)

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, bool verbose=true)
 Load an image resource object from a file.
vil_image_resource_sptr vil_load_image_resource_raw (vil_stream *, bool verbose=true)
 Load from a stream.
vil_image_resource_sptr vil_load_image_resource_raw (char const *, bool verbose=true)
 Load an image resource object from a file.
vil_image_resource_sptr vil_load_image_resource_plugin (char const *)
 Load from a filename with a plugin.
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_blocked_image_resource::vil_blocked_image_resource (  ) 

Definition at line 14 of file vil_blocked_image_resource.cxx.

vil_blocked_image_resource::~vil_blocked_image_resource (  )  [virtual]

Definition at line 17 of file vil_blocked_image_resource.cxx.


Member Function Documentation

virtual unsigned vil_blocked_image_resource::nplanes (  )  const [pure virtual]

Dimensions: Planes x ni x nj.

This concept is treated as a synonym to components.

Implements vil_image_resource.

Implemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

virtual unsigned vil_blocked_image_resource::ni (  )  const [pure virtual]

Dimensions: Planes x ni x nj.

The number of pixels in each row.

Implements vil_image_resource.

Implemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

virtual unsigned vil_blocked_image_resource::nj (  )  const [pure virtual]

Dimensions: Planes x ni x nj.

The number of pixels in each column.

Implements vil_image_resource.

Implemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

virtual unsigned vil_blocked_image_resource::size_block_i (  )  const [pure virtual]

Block size in columns.

Implemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

virtual unsigned vil_blocked_image_resource::size_block_j (  )  const [pure virtual]

Block size in rows.

Implemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

unsigned vil_blocked_image_resource::n_block_i (  )  const [virtual]

Number of blocks in image width.

Reimplemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

Definition at line 20 of file vil_blocked_image_resource.cxx.

unsigned vil_blocked_image_resource::n_block_j (  )  const [virtual]

Number of blocks in image height.

Reimplemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

Definition at line 28 of file vil_blocked_image_resource.cxx.

virtual enum vil_pixel_format vil_blocked_image_resource::pixel_format (  )  const [pure virtual]

Pixel Format.

A standard RGB RGB RGB of chars image has pixel_format() == VIL_PIXEL_FORMAT_BYTE

Implements vil_image_resource.

Implemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

vil_image_view_base_sptr vil_blocked_image_resource::get_copy_view ( unsigned  i0,
unsigned  n_i,
unsigned  j0,
unsigned  n_j 
) const [virtual]

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

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.

Implements vil_image_resource.

Reimplemented in vil_nitf2_image, and vil_blocked_image_facade.

Definition at line 241 of file vil_blocked_image_resource.cxx.

virtual bool vil_blocked_image_resource::put_view ( const vil_image_view_base im,
unsigned  i0,
unsigned  j0 
) [pure virtual]

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

The view must be of scalar components. Assign your view to a scalar-component view if this is not the case.

Returns:
false if failed, because e.g. resource is read-only, format of view is not correct (if it is a compound pixel type, try assigning it to a multi-plane scalar pixel view.)

Implements vil_image_resource.

Implemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

virtual vil_image_view_base_sptr vil_blocked_image_resource::get_block ( unsigned  block_index_i,
unsigned  block_index_j 
) const [pure virtual]

Block access.

Implemented in vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

bool vil_blocked_image_resource::get_blocks ( unsigned  start_block_i,
unsigned  end_block_i,
unsigned  start_block_j,
unsigned  end_block_j,
vcl_vector< vcl_vector< vil_image_view_base_sptr > > &  blocks 
) const [virtual]

the multiple blocks are in col row order, i.e. blocks[i][j].

Definition at line 37 of file vil_blocked_image_resource.cxx.

virtual bool vil_blocked_image_resource::put_block ( unsigned  block_index_i,
unsigned  block_index_j,
const vil_image_view_base view 
) [pure virtual]

put the block into the resource at the indicated location.

Implemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

bool vil_blocked_image_resource::put_blocks ( unsigned  start_block_i,
unsigned  end_block_i,
unsigned  start_block_j,
unsigned  end_block_j,
vcl_vector< vcl_vector< vil_image_view_base_sptr > > const &  blocks 
) [virtual]

put multiple blocks in raster order, i.e., blocks[i][j].

Definition at line 58 of file vil_blocked_image_resource.cxx.

virtual bool vil_blocked_image_resource::get_property ( char const *  tag,
void *  property_value = 0 
) const [pure virtual]

Extra property information.

Implements vil_image_resource.

Implemented in vil_nitf2_image, vil_tiff_image, vil_blocked_image_facade, and vil_cached_image_resource.

vil_image_view_base_sptr vil_blocked_image_resource::fill_block ( unsigned  i0,
unsigned  icrop,
unsigned  j0,
unsigned  jcrop,
vil_image_view_base_sptr view 
) const [protected]

bool vil_blocked_image_resource::block_i_offset ( unsigned  block_i,
unsigned  i,
unsigned &  i_offset 
) const [protected]

Get the offset from the start of the block row for pixel position i.

Definition at line 136 of file vil_blocked_image_resource.cxx.

bool vil_blocked_image_resource::block_j_offset ( unsigned  block_j,
unsigned  j,
unsigned &  j_offset 
) const [protected]

Get the offset from the start of the block column for pixel position j.

Definition at line 151 of file vil_blocked_image_resource.cxx.

bool vil_blocked_image_resource::trim_border_blocks ( unsigned  i0,
unsigned  ni,
unsigned  j0,
unsigned  nj,
unsigned  start_block_i,
unsigned  start_block_j,
vcl_vector< vcl_vector< vil_image_view_base_sptr > > &  blocks 
) const [protected]

Definition at line 168 of file vil_blocked_image_resource.cxx.

vil_image_view_base_sptr vil_blocked_image_resource::glue_blocks_together ( const vcl_vector< vcl_vector< vil_image_view_base_sptr > > &  blocks  )  const [protected]

Definition at line 72 of file vil_blocked_image_resource.cxx.

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 64 of file vil_image_resource.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 69 of file vil_image_resource.h.

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 80 of file vil_image_resource.h.

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

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

Reimplemented in vil_j2k_image.

Definition at line 92 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.

Reimplemented in vil_j2k_image.

Definition at line 30 of file vil_image_resource.cxx.

virtual char const* vil_image_resource::file_format (  )  const [inline, virtual, inherited]

Return a string describing the file format.

Only file images have a format, others return 0

Reimplemented in vil_bmp_image, vil_dicom_image, vil_iris_generic_image, vil_j2k_image, vil_j2k_nitf2_pyramid_image_resource, vil_j2k_pyramid_image_resource, vil_jpeg_image, vil_mit_image, vil_nitf2_image, vil_png_image, vil_pnm_image, vil_pyramid_image_list, vil_ras_image, vil_tiff_image, vil_tiff_pyramid_resource, vil_viff_image, and vil_pyramid_image_resource.

Definition at line 101 of file vil_image_resource.h.

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

Definition at line 110 of file vil_image_resource.h.

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

Definition at line 111 of file vil_image_resource.h.


Friends And Related Function Documentation

friend class vil_smart_ptr< vil_blocked_image_resource > [friend]

Definition at line 99 of file vil_blocked_image_resource.h.

friend class vil_smart_ptr< vil_image_resource > [friend, inherited]

Definition at line 109 of file vil_image_resource.h.

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 403 of file vil_convolve_1d.h.

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.

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.

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 15 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,
bool  verbose = true 
) [related, inherited]

Load an image resource object from a file.

Definition at line 56 of file vil_load.cxx.

vil_image_resource_sptr vil_load_image_resource_raw ( vil_stream ,
bool  verbose = true 
) [related, inherited]

Load from a stream.

Won't use plugins.

Definition at line 18 of file vil_load.cxx.

vil_image_resource_sptr vil_load_image_resource_raw ( char const *  ,
bool  verbose = true 
) [related, inherited]

Load an image resource object from a file.

Won't use plugins.

Definition at line 44 of file vil_load.cxx.

vil_image_resource_sptr vil_load_image_resource_plugin ( char const *   )  [related, inherited]

Load from a filename with a plugin.

Definition at line 68 of file vil_load.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 69 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 = 0 
) [related, inherited]

Make a new image.

Definition at line 77 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 104 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 = 0 
) [related, inherited]

Make a new image.

Definition at line 123 of file vil_new.cxx.

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 143 of file vil_new.cxx.

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,
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".

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.

Definition at line 128 of file vil_save.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.

Definition at line 147 of file vil_save.cxx.


Member Data Documentation

vcl_atomic_count vil_image_resource::reference_count_ [protected, inherited]

Definition at line 114 of file vil_image_resource.h.


The documentation for this class was generated from the following files:
Generated on Sun Nov 22 05:08:42 2009 for core/vil by  doxygen 1.5.1