Generic image implementation for PNM files. More...
#include <vil_memory_image.h>
Public Member Functions | |
~vil_memory_image () | |
virtual unsigned | nplanes () const |
Dimensions: planes x width x height x components. | |
virtual unsigned | ni () const |
Dimensions: Planes x ni x nj. | |
virtual unsigned | nj () 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 i0, unsigned ni, unsigned j0, unsigned nj) const |
Create a read/write view of a copy of this data. | |
virtual vil_image_view_base_sptr | get_view (unsigned i0, unsigned ni, unsigned j0, unsigned nj) const |
Create a view of this data. | |
virtual bool | put_view (const vil_image_view_base &im, unsigned i0, unsigned j0) |
Put the data in this view back into the image source. | |
bool | get_property (char const *tag, void *prop=0) const |
Declare that this is an in-memory image which is not read-only. | |
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 | |
void | ref () |
void | unref () |
Protected Attributes | |
vcl_atomic_count | reference_count_ |
Private Member Functions | |
vil_memory_image () | |
Create an empty memory image. | |
vil_memory_image (unsigned ni, unsigned nj, unsigned nplanes, vil_pixel_format format, unsigned n_interleaved_planes=1) | |
Create an in-memory image of given size and pixel type. | |
vil_memory_image (vil_image_view_base const &) | |
Create a wrapper around the given image_view. | |
Private Attributes | |
vil_image_view_base * | view_ |
Management of the memory image is devolved to an internal image_view. | |
Friends | |
vil_image_resource_sptr | vil_new_image_resource (unsigned ni, unsigned nj, unsigned nplanes, vil_pixel_format format) |
Make a new image of given format. | |
vil_image_resource_sptr | vil_new_image_resource_interleaved (unsigned ni, unsigned nj, unsigned nplanes, vil_pixel_format format) |
Make a new image of given format with interleaved planes. | |
vil_image_resource_sptr | vil_new_image_resource_of_view (vil_image_view_base const &view) |
Make a new image resource that is a wrapper on an existing view's data. | |
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. | |
vil_image_resource_sptr | vil_clamp (const vil_image_resource_sptr &src, double low, double hi) |
Clamp an image resource between two values. | |
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_flip_lr (const vil_image_resource_sptr &src) |
Flip an image resource left to right. | |
vil_image_resource_sptr | vil_flip_ud (const vil_image_resource_sptr &src) |
Flip an image resource left to right. | |
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". | |
vil_image_resource_sptr | vil_plane (const vil_image_resource_sptr &src, unsigned p) |
Return a specific plane of an image. | |
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. | |
vil_image_resource_sptr | vil_transpose (const vil_image_resource_sptr &src) |
Transpose an image. |
Generic image implementation for PNM files.
You can't create one of these yourself - use vil_new_image_resource() instead.
Definition at line 22 of file vil_memory_image.h.
vil_memory_image::vil_memory_image | ( | ) | [private] |
Create an empty memory image.
Definition at line 24 of file vil_memory_image.cxx.
vil_memory_image::vil_memory_image | ( | unsigned | n_i, |
unsigned | n_j, | ||
unsigned | n_planes, | ||
vil_pixel_format | format, | ||
unsigned | n_interleaved_planes = 1 |
||
) | [private] |
Create an in-memory image of given size and pixel type.
If not interleaved, pixel type must be scalar or nplanes must be 1. If n_interleaved_planes is not 1, pixel type must be scalar, and n_planes must be 1.
Definition at line 31 of file vil_memory_image.cxx.
vil_memory_image::vil_memory_image | ( | vil_image_view_base const & | view | ) | [private] |
Create a wrapper around the given image_view.
Definition at line 71 of file vil_memory_image.cxx.
vil_memory_image::~vil_memory_image | ( | ) | [inline] |
Definition at line 57 of file vil_memory_image.h.
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_tiff_pyramid_resource, vil_tiff_image, vil_pyramid_image_list, vil_nitf2_image, vil_pnm_image, vil_j2k_image, vil_ras_image, vil_mit_image, vil_bmp_image, vil_viff_image, vil_png_image, vil_pyramid_image_resource, vil_j2k_nitf2_pyramid_image_resource, vil_dicom_image, vil_iris_generic_image, vil_jpeg_image, vil_j2k_pyramid_image_resource, and vil_openjpeg_pyramid_image_resource.
Definition at line 101 of file vil_image_resource.h.
vil_image_view_base_sptr vil_memory_image::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.
Currently not yet implemented.
Implements vil_image_resource.
Definition at line 105 of file vil_memory_image.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_nitf2_image, and vil_j2k_image.
Definition at line 80 of file vil_image_resource.h.
bool vil_memory_image::get_property | ( | char const * | tag, |
void * | prop = 0 |
||
) | const [inline, virtual] |
Declare that this is an in-memory image which is not read-only.
Implements vil_image_resource.
Definition at line 80 of file vil_memory_image.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_memory_image::get_view | ( | unsigned | i0, |
unsigned | n_i, | ||
unsigned | j0, | ||
unsigned | n_j | ||
) | const [virtual] |
Create a view of this data.
Create a read/write view of a copy of this data.
Reimplemented from vil_image_resource.
Definition at line 142 of file vil_memory_image.cxx.
virtual unsigned vil_memory_image::ni | ( | ) | const [inline, virtual] |
Dimensions: Planes x ni x nj.
The number of pixels in each row.
Implements vil_image_resource.
Definition at line 61 of file vil_memory_image.h.
virtual unsigned vil_memory_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 62 of file vil_memory_image.h.
virtual unsigned vil_memory_image::nplanes | ( | ) | const [inline, virtual] |
Dimensions: planes x width x height x components.
Implements vil_image_resource.
Definition at line 60 of file vil_memory_image.h.
virtual enum vil_pixel_format vil_memory_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 64 of file vil_memory_image.h.
bool vil_memory_image::put_view | ( | const vil_image_view_base & | im, |
unsigned | i0, | ||
unsigned | j0 | ||
) | [virtual] |
Put the data in this view back into the image source.
Implements vil_image_resource.
Definition at line 179 of file vil_memory_image.cxx.
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.
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.
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.
vil_image_resource_sptr vil_clamp | ( | const vil_image_resource_sptr & | src, |
double | low, | ||
double | hi | ||
) | [related] |
Clamp an image resource between two values.
Reimplemented in vil_clamp_image_resource.
Definition at line 22 of file vil_clamp.cxx.
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] |
Create an image_resource object which convolve kernel[x] x in [k_lo,k_hi] with srcT.
kernel | should point to tap 0. |
Definition at line 403 of file vil_convolve_1d.h.
bool vil_copy_deep | ( | const vil_image_resource_sptr & | src, |
vil_image_resource_sptr & | dest | ||
) | [related] |
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 41 of file vil_copy.cxx.
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] |
Create an image_resource object which correlate kernel[x] x in [k_lo,k_hi] with srcT.
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] |
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] |
decimate to a region of src.
Definition at line 23 of file vil_decimate.cxx.
vil_image_resource_sptr vil_flip_lr | ( | const vil_image_resource_sptr & | src | ) | [related] |
Flip an image resource left to right.
Definition at line 17 of file vil_flip.cxx.
vil_image_resource_sptr vil_flip_ud | ( | const vil_image_resource_sptr & | src | ) | [related] |
Flip an image resource left to right.
Reimplemented in vil_flip_ud_image_resource.
Definition at line 124 of file vil_flip.cxx.
vil_image_resource_sptr vil_load_image_resource | ( | char const * | filename, |
bool | verbose = true |
||
) | [related] |
Load an image resource object from a file.
Definition at line 71 of file vil_load.cxx.
vil_image_resource_sptr vil_load_image_resource_plugin | ( | char const * | ) | [related] |
Load from a filename with a plugin.
Definition at line 83 of file vil_load.cxx.
vil_image_resource_sptr vil_load_image_resource_raw | ( | vil_stream * | , |
bool | verbose = true |
||
) | [related] |
vil_image_resource_sptr vil_load_image_resource_raw | ( | char const * | , |
bool | verbose = true |
||
) | [related] |
Load an image resource object from a file.
Won't use plugins.
Definition at line 45 of file vil_load.cxx.
vil_image_resource_sptr vil_new_image_resource | ( | unsigned | ni, |
unsigned | nj, | ||
unsigned | nplanes, | ||
vil_pixel_format | format | ||
) | [friend] |
Make a new image of given format.
If the format is not scalar, the number of planes must be 1. When you create a multi-component image in this way, the vil_image_resource API will treat it as a scalar pixel image with multiple planes. (This doesn't affect the underlying data storage.)
Reimplemented from vil_image_resource.
Definition at line 32 of file vil_new.cxx.
vil_image_resource_sptr vil_new_image_resource | ( | unsigned | ni, |
unsigned | nj, | ||
vil_image_resource_sptr const & | prototype | ||
) | [related] |
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 | ||
) | [related] |
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, | ||
unsigned | nplanes, | ||
vil_image_resource_sptr const & | prototype, | ||
char const * | format = 0 |
||
) | [related] |
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] |
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, | ||
vil_image_resource_sptr const & | prototype, | ||
char const * | file_format | ||
) | [related] |
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 | ||
) | [related] |
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] |
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_interleaved | ( | unsigned | ni, |
unsigned | nj, | ||
unsigned | nplanes, | ||
vil_pixel_format | format | ||
) | [friend] |
Make a new image of given format with interleaved planes.
The format must be scalar.
Reimplemented from vil_image_resource.
Definition at line 44 of file vil_new.cxx.
vil_image_resource_sptr vil_new_image_resource_of_view | ( | vil_image_view_base const & | view | ) | [friend] |
Make a new image resource that is a wrapper on an existing view's data.
Reimplemented from vil_image_resource.
Definition at line 62 of file vil_new.cxx.
vil_image_resource_sptr vil_plane | ( | const vil_image_resource_sptr & | src, |
unsigned | p | ||
) | [related] |
Return a specific plane of an image.
Reimplemented in vil_plane_image_resource.
Definition at line 19 of file vil_plane.cxx.
bool vil_save_image_resource | ( | const vil_image_resource_sptr & | ir, |
char const * | filename, | ||
char const * | file_format | ||
) | [related] |
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] |
Save vil_image_resource to file, deducing format from filename.
Definition at line 147 of file vil_save.cxx.
friend class vil_smart_ptr< vil_image_resource > [friend, inherited] |
Definition at line 109 of file vil_image_resource.h.
vil_image_resource_sptr vil_transpose | ( | const vil_image_resource_sptr & | src | ) | [related] |
Transpose an image.
Definition at line 17 of file vil_transpose.cxx.
vcl_atomic_count vil_image_resource::reference_count_ [protected, inherited] |
Definition at line 114 of file vil_image_resource.h.
vil_image_view_base* vil_memory_image::view_ [private] |
Management of the memory image is devolved to an internal image_view.
Definition at line 25 of file vil_memory_image.h.