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

vil_iris_generic_image Class Reference

#include <vil_iris.h>

Inheritance diagram for vil_iris_generic_image:

Inheritance graph
[legend]
List of all members.

Detailed Description

Generic image implementation for iris (SGI) RGB files.

Definition at line 38 of file vil_iris.h.

Public Member Functions

 vil_iris_generic_image (vil_stream *is, char *imagename="")
 vil_iris_generic_image (vil_stream *is, unsigned int ni, unsigned int nj, unsigned int planes, vil_pixel_format format)
 ~vil_iris_generic_image ()
virtual unsigned int ni () const
 Dimensions. Planes x ni(width) x nj(height).
virtual unsigned int nj () const
 Dimensions: Planes x ni x nj.
virtual unsigned int nplanes () const
 Dimensions: Planes x ni x nj.
virtual enum vil_pixel_format pixel_format () const
 Pixel Format.
virtual vil_image_view_base_sptr get_copy_view (unsigned int x0, unsigned int ni, unsigned int y0, unsigned int nj) const
virtual bool put_view (vil_image_view_base const &buf, unsigned int x0, unsigned int y0)
char const * file_format () const
 Return a string describing the file format.
bool get_property (char const *tag, void *prop=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 vil_image_view_base_sptr get_copy_view (unsigned i0, unsigned n_i, unsigned j0, unsigned n_j) const =0
 Create a read/write view of a copy of this 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, unsigned i0, unsigned j0)=0
 Put the data in this view back into the image source.
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.

Protected Member Functions

bool read_offset_tables ()
vil_image_view_base_sptr get_section_rle (unsigned int x0, unsigned int ni, unsigned int y0, unsigned int nj) const
vil_image_view_base_sptr get_section_verbatim (unsigned int x0, unsigned int ni, unsigned int y0, unsigned int nj) const
void ref ()
void unref ()

Protected Attributes

vil_streamis_
int magic_
unsigned int ni_
unsigned int nj_
unsigned int nplanes_
enum vil_pixel_format format_
int pixmin_
int pixmax_
int storage_
int dimension_
int colormap_
char imagename_ [81]
vil_streampos start_of_data_
int reference_count_

Private Member Functions

bool read_header ()
bool write_header ()

Private Attributes

unsigned long * starttab_
unsigned long * lengthtab_

Friends

class vil_iris_file_format
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)
 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_iris_generic_image::vil_iris_generic_image vil_stream is,
char *  imagename = ""
 

Definition at line 85 of file vil_iris.cxx.

vil_iris_generic_image::vil_iris_generic_image vil_stream is,
unsigned int  ni,
unsigned int  nj,
unsigned int  planes,
vil_pixel_format  format
 

Definition at line 104 of file vil_iris.cxx.

vil_iris_generic_image::~vil_iris_generic_image  ) 
 

Definition at line 125 of file vil_iris.cxx.


Member Function Documentation

char const * vil_iris_generic_image::file_format  )  const [virtual]
 

Return a string describing the file format.

Only file images have a format, others return 0

Reimplemented from vil_image_resource.

Definition at line 99 of file vil_iris.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_image_resource::get_copy_view unsigned  i0,
unsigned  n_i,
unsigned  j0,
unsigned  n_j
const [pure virtual, inherited]
 

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.

Implemented in vil_convolve_1d_resource< kernelT, accumT, destT >, vil_correlate_1d_resource< kernelT, accumT, destT >, vil_bmp_image, vil_dicom_image, vil_j2k_image, vil_jpeg_image, vil_nitf2_image, vil_png_image, vil_pnm_image, vil_pyramid_image_list, vil_ras_image, vil_blocked_image_facade, vil_blocked_image_resource, vil_clamp_image_resource, vil_crop_image_resource, vil_decimate_image_resource, vil_flip_lr_image_resource, vil_flip_ud_image_resource, vil_image_resource_plugin, vil_memory_image, vil_plane_image_resource, vil_pyramid_image_resource, and vil_transpose_image_resource.

vil_image_view_base_sptr vil_iris_generic_image::get_copy_view unsigned int  x0,
unsigned int  ni,
unsigned int  y0,
unsigned int  nj
const [virtual]
 

Definition at line 254 of file vil_iris.cxx.

bool vil_iris_generic_image::get_property char const *  tag,
void *  prop = 0
const [virtual]
 

Extra property information.

Implements vil_image_resource.

Definition at line 93 of file vil_iris.cxx.

vil_image_view_base_sptr vil_iris_generic_image::get_section_rle unsigned int  x0,
unsigned int  ni,
unsigned int  y0,
unsigned int  nj
const [protected]
 

Definition at line 304 of file vil_iris.cxx.

vil_image_view_base_sptr vil_iris_generic_image::get_section_verbatim unsigned int  x0,
unsigned int  ni,
unsigned int  y0,
unsigned int  nj
const [protected]
 

Definition at line 269 of file vil_iris.cxx.

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.

virtual unsigned int vil_iris_generic_image::ni  )  const [inline, virtual]
 

Dimensions. Planes x ni(width) x nj(height).

Implements vil_image_resource.

Definition at line 56 of file vil_iris.h.

virtual unsigned int vil_iris_generic_image::nj  )  const [inline, virtual]
 

Dimensions: Planes x ni x nj.

The number of pixels in each column.

Implements vil_image_resource.

Definition at line 57 of file vil_iris.h.

virtual unsigned int vil_iris_generic_image::nplanes  )  const [inline, virtual]
 

Dimensions: Planes x ni x nj.

This concept is treated as a synonym to components.

Implements vil_image_resource.

Definition at line 58 of file vil_iris.h.

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

Pixel Format.

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

Implements vil_image_resource.

Definition at line 60 of file vil_iris.h.

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_image_resource::put_view const vil_image_view_base im,
unsigned  i0,
unsigned  j0
[pure virtual, inherited]
 

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.)

Implemented in vil_convolve_1d_resource< kernelT, accumT, destT >, vil_correlate_1d_resource< kernelT, accumT, destT >, vil_bmp_image, vil_dicom_image, vil_j2k_image, vil_jpeg_image, vil_nitf2_image, vil_png_image, vil_pnm_image, vil_ras_image, vil_tiff_image, vil_blocked_image_facade, vil_blocked_image_resource, vil_cached_image_resource, vil_clamp_image_resource, vil_crop_image_resource, vil_decimate_image_resource, vil_flip_lr_image_resource, vil_flip_ud_image_resource, vil_image_resource_plugin, vil_memory_image, vil_plane_image_resource, vil_pyramid_image_resource, and vil_transpose_image_resource.

bool vil_iris_generic_image::put_view vil_image_view_base const &  buf,
unsigned int  x0,
unsigned int  y0
[virtual]
 

Definition at line 349 of file vil_iris.cxx.

bool vil_iris_generic_image::read_header  )  [private]
 

Definition at line 132 of file vil_iris.cxx.

bool vil_iris_generic_image::read_offset_tables  )  [protected]
 

Definition at line 422 of file vil_iris.cxx.

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

Definition at line 109 of file vil_image_resource.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.

bool vil_iris_generic_image::write_header  )  [private]
 

Definition at line 192 of file vil_iris.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.

friend class vil_iris_file_format [friend]
 

Definition at line 46 of file vil_iris.h.

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_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.


Member Data Documentation

int vil_iris_generic_image::colormap_ [protected]
 

Definition at line 82 of file vil_iris.h.

int vil_iris_generic_image::dimension_ [protected]
 

Definition at line 81 of file vil_iris.h.

enum vil_pixel_format vil_iris_generic_image::format_ [protected]
 

Definition at line 76 of file vil_iris.h.

char vil_iris_generic_image::imagename_[81] [protected]
 

Definition at line 83 of file vil_iris.h.

vil_stream* vil_iris_generic_image::is_ [protected]
 

Definition at line 69 of file vil_iris.h.

unsigned long* vil_iris_generic_image::lengthtab_ [private]
 

Definition at line 41 of file vil_iris.h.

int vil_iris_generic_image::magic_ [protected]
 

Definition at line 71 of file vil_iris.h.

unsigned int vil_iris_generic_image::ni_ [protected]
 

Definition at line 73 of file vil_iris.h.

unsigned int vil_iris_generic_image::nj_ [protected]
 

Definition at line 74 of file vil_iris.h.

unsigned int vil_iris_generic_image::nplanes_ [protected]
 

Definition at line 75 of file vil_iris.h.

int vil_iris_generic_image::pixmax_ [protected]
 

Definition at line 79 of file vil_iris.h.

int vil_iris_generic_image::pixmin_ [protected]
 

Definition at line 78 of file vil_iris.h.

int vil_image_resource::reference_count_ [protected, inherited]
 

Definition at line 113 of file vil_image_resource.h.

vil_streampos vil_iris_generic_image::start_of_data_ [protected]
 

Definition at line 84 of file vil_iris.h.

unsigned long* vil_iris_generic_image::starttab_ [private]
 

Definition at line 40 of file vil_iris.h.

int vil_iris_generic_image::storage_ [protected]
 

Definition at line 80 of file vil_iris.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