Abstract representation of an image source or image destination. More...
#include <vil_image_resource.h>

Public Member Functions | |
| vil_image_resource () | |
| the reference count starts at 0. More... | |
| virtual | ~vil_image_resource () |
| virtual unsigned | nplanes () const =0 |
| Dimensions: Planes x ni x nj. More... | |
| virtual unsigned | ni () const =0 |
| Dimensions: Planes x ni x nj. More... | |
| virtual unsigned | nj () const =0 |
| Dimensions: Planes x ni x nj. More... | |
| virtual enum vil_pixel_format | pixel_format () const =0 |
| Pixel Format. More... | |
| 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. More... | |
| vil_image_view_base_sptr | get_view () const |
| Create a read/write view of all the data. More... | |
| 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. More... | |
| vil_image_view_base_sptr | get_copy_view () const |
| Create a read/write view of a copy of all the data. More... | |
| 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. More... | |
| virtual bool | put_view (const vil_image_view_base &im) |
| Put the data in this view back into the image source at the origin. More... | |
| 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. More... | |
| virtual char const * | file_format () const |
| Return a string describing the file format. More... | |
| virtual bool | get_property (char const *tag, void *property_value=nullptr) const =0 |
| Extra property information. More... | |
Protected Member Functions | |
| void | ref () |
| void | unref () |
Protected Attributes | |
| vcl_atomic_count | reference_count_ |
Friends | |
| 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. More... | |
| 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, std::ptrdiff_t k_lo, std::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. More... | |
| vil_image_resource_sptr | vil_clamp (const vil_image_resource_sptr &src, double low, double hi) |
| Clamp an image resource between two values. More... | |
| bool | vil_copy_deep (const vil_image_resource_sptr &src, vil_image_resource_sptr &dest) |
| Copy src to dest. More... | |
| vil_image_resource_sptr | vil_copy_deep (const vil_image_resource_sptr &src) |
| Creates an in memory vil_image_resource and copies the src to it. More... | |
| 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. More... | |
| 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. More... | |
| vil_image_resource_sptr | vil_flip_lr (const vil_image_resource_sptr &src) |
| Flip an image resource left to right. More... | |
| vil_image_resource_sptr | vil_flip_ud (const vil_image_resource_sptr &src) |
| Flip an image resource left to right. More... | |
| vil_image_resource_sptr | vil_load_image_resource (char const *filename, bool verbose=true) |
| Load an image resource object from a file. More... | |
| vil_image_resource_sptr | vil_load_image_resource_raw (vil_stream *, bool verbose=true) |
| Load from a stream. More... | |
| vil_image_resource_sptr | vil_load_image_resource_raw (char const *, bool verbose=true) |
| Load an image resource object from a file. More... | |
| vil_image_resource_sptr | vil_load_image_resource_plugin (char const *) |
| Load from a filename with a plugin. More... | |
| template<class sumT > | |
| bool | vil_math_mean_and_variance (sumT &mean, sumT &var, const vil_image_resource_sptr im, const vil_image_view< bool > &mask, unsigned p) |
| Mean and variance of masked elements in plane p for vil_image_resource. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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. More... | |
| 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". More... | |
| 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. More... | |
| 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". More... | |
| 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=nullptr) |
| Make a new vil_image_resource, writing to file "filename", size ni x nj, copying pixel format etc from "prototype". More... | |
| 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=nullptr) |
| Make a new vil_image_resource, writing to stream "os", size ni x nj, copying pixel format etc from "prototype". More... | |
| vil_image_resource_sptr | vil_plane (const vil_image_resource_sptr &src, unsigned p) |
| Return a specific plane of an image. More... | |
| bool | vil_save_image_resource (const vil_image_resource_sptr &ir, char const *filename, char const *file_format) |
| Send vil_image_resource to disk. More... | |
| bool | vil_save_image_resource (const vil_image_resource_sptr &ir, char const *filename) |
| Save vil_image_resource to file, deducing format from filename. More... | |
| vil_image_resource_sptr | vil_transpose (const vil_image_resource_sptr &src) |
| Transpose an image. More... | |
Abstract representation of an image source or image destination.
Most references to vil_image_resource objects should usually be done through smart pointers - vil_image_resource_sptr;
All image data is presumed to be in planes, not components. This does not say whether the data is stored on disk or in memory as RGBRGBRGB.. or RRR..GGG..BBB.., just that the interface will always tell you that it has a multi-plane single-component view.
Definition at line 31 of file vil_image_resource.h.
| vil_image_resource::vil_image_resource | ( | ) |
the reference count starts at 0.
Definition at line 14 of file vil_image_resource.cxx.
|
virtualdefault |
|
inlinevirtual |
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_openjpeg_image, vil_nitf2_image, vil_pnm_image, vil_j2k_image, vil_ras_image, vil_mit_image, vil_bmp_image, vil_viff_image, vil_pyramid_image_resource, vil_png_image, vil_j2k_nitf2_pyramid_image_resource, vil_dicom_image, vil_iris_generic_image, vil_jpeg_image, vil_j2k_pyramid_image_resource, vil_openjpeg_pyramid_image_resource, and vil_sgi_image.
Definition at line 101 of file vil_image_resource.h.
|
pure 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.
Implemented in vil_convolve_1d_resource< kernelT, accumT, destT >, vil_correlate_1d_resource< kernelT, accumT, destT >, vil_nitf2_image, vil_j2k_image, vil_flip_ud_image_resource, vil_pnm_image, vil_ras_image, vil_bmp_image, vil_memory_image, vil_plane_image_resource, vil_png_image, vil_jpeg_image, vil_pyramid_image_resource, vil_clamp_image_resource, vil_flip_lr_image_resource, vil_decimate_image_resource, vil_dicom_image, vil_crop_image_resource, vil_sgi_image, vil_blocked_image_resource, vil_transpose_image_resource, vil_blocked_image_facade, and vil_image_resource_plugin.
|
inline |
Create a read/write view of a copy of all the data.
Definition at line 80 of file vil_image_resource.h.
|
pure virtual |
Extra property information.
Implemented in vil_convolve_1d_resource< kernelT, accumT, destT >, vil_tiff_image, vil_correlate_1d_resource< kernelT, accumT, destT >, vil_openjpeg_image, vil_nitf2_image, vil_flip_ud_image_resource, vil_pnm_image, vil_j2k_image, vil_ras_image, vil_mit_image, vil_memory_image, vil_plane_image_resource, vil_bmp_image, vil_pyramid_image_resource, vil_viff_image, vil_blocked_image_resource, vil_png_image, vil_clamp_image_resource, vil_flip_lr_image_resource, vil_jpeg_image, vil_decimate_image_resource, vil_dicom_image, vil_iris_generic_image, vil_blocked_image_facade, vil_crop_image_resource, vil_cached_image_resource, vil_transpose_image_resource, vil_sgi_image, and vil_image_resource_plugin.
Definition at line 19 of file vil_image_resource.cxx.
|
inlinevirtual |
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.
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_flip_ud_image_resource, vil_memory_image, vil_plane_image_resource, vil_clamp_image_resource, vil_flip_lr_image_resource, vil_decimate_image_resource, vil_dicom_image, vil_crop_image_resource, and vil_transpose_image_resource.
Definition at line 64 of file vil_image_resource.h.
|
inline |
Create a read/write view of all the data.
Definition at line 69 of file vil_image_resource.h.
|
pure virtual |
Dimensions: Planes x ni x nj.
The number of pixels in each row.
Implemented in vil_tiff_pyramid_resource, vil_convolve_1d_resource< kernelT, accumT, destT >, vil_correlate_1d_resource< kernelT, accumT, destT >, vil_tiff_image, vil_openjpeg_image, vil_pyramid_image_list, vil_j2k_image, vil_flip_ud_image_resource, vil_nitf2_image, vil_pnm_image, vil_ras_image, vil_mit_image, vil_viff_image, vil_bmp_image, vil_plane_image_resource, vil_memory_image, vil_png_image, vil_iris_generic_image, vil_clamp_image_resource, vil_flip_lr_image_resource, vil_jpeg_image, vil_decimate_image_resource, vil_dicom_image, vil_j2k_nitf2_pyramid_image_resource, vil_pyramid_image_resource, vil_crop_image_resource, vil_transpose_image_resource, vil_sgi_image, vil_image_resource_plugin, vil_j2k_pyramid_image_resource, vil_openjpeg_pyramid_image_resource, vil_blocked_image_resource, vil_blocked_image_facade, and vil_cached_image_resource.
|
pure virtual |
Dimensions: Planes x ni x nj.
The number of pixels in each column.
Implemented in vil_tiff_pyramid_resource, vil_convolve_1d_resource< kernelT, accumT, destT >, vil_correlate_1d_resource< kernelT, accumT, destT >, vil_tiff_image, vil_openjpeg_image, vil_pyramid_image_list, vil_j2k_image, vil_flip_ud_image_resource, vil_nitf2_image, vil_pnm_image, vil_ras_image, vil_mit_image, vil_viff_image, vil_bmp_image, vil_plane_image_resource, vil_memory_image, vil_png_image, vil_iris_generic_image, vil_j2k_nitf2_pyramid_image_resource, vil_clamp_image_resource, vil_pyramid_image_resource, vil_flip_lr_image_resource, vil_jpeg_image, vil_decimate_image_resource, vil_dicom_image, vil_crop_image_resource, vil_transpose_image_resource, vil_j2k_pyramid_image_resource, vil_openjpeg_pyramid_image_resource, vil_sgi_image, vil_image_resource_plugin, vil_blocked_image_resource, vil_blocked_image_facade, and vil_cached_image_resource.
|
pure virtual |
Dimensions: Planes x ni x nj.
This concept is treated as a synonym to components.
Implemented in vil_tiff_pyramid_resource, vil_convolve_1d_resource< kernelT, accumT, destT >, vil_correlate_1d_resource< kernelT, accumT, destT >, vil_tiff_image, vil_openjpeg_image, vil_pyramid_image_list, vil_j2k_image, vil_flip_ud_image_resource, vil_nitf2_image, vil_pnm_image, vil_mit_image, vil_ras_image, vil_viff_image, vil_bmp_image, vil_plane_image_resource, vil_memory_image, vil_png_image, vil_iris_generic_image, vil_clamp_image_resource, vil_flip_lr_image_resource, vil_jpeg_image, vil_decimate_image_resource, vil_dicom_image, vil_j2k_nitf2_pyramid_image_resource, vil_pyramid_image_resource, vil_crop_image_resource, vil_image_resource_plugin, vil_transpose_image_resource, vil_sgi_image, vil_j2k_pyramid_image_resource, vil_openjpeg_pyramid_image_resource, vil_blocked_image_resource, vil_blocked_image_facade, and vil_cached_image_resource.
|
pure virtual |
Pixel Format.
A standard RGB RGB RGB of chars image has pixel_format() == VIL_PIXEL_FORMAT_BYTE
Implemented in vil_tiff_pyramid_resource, vil_convolve_1d_resource< kernelT, accumT, destT >, vil_correlate_1d_resource< kernelT, accumT, destT >, vil_tiff_image, vil_openjpeg_image, vil_pyramid_image_list, vil_j2k_image, vil_flip_ud_image_resource, vil_nitf2_image, vil_pnm_image, vil_ras_image, vil_mit_image, vil_viff_image, vil_bmp_image, vil_plane_image_resource, vil_memory_image, vil_png_image, vil_iris_generic_image, vil_j2k_nitf2_pyramid_image_resource, vil_clamp_image_resource, vil_pyramid_image_resource, vil_flip_lr_image_resource, vil_jpeg_image, vil_decimate_image_resource, vil_dicom_image, vil_crop_image_resource, vil_transpose_image_resource, vil_j2k_pyramid_image_resource, vil_openjpeg_pyramid_image_resource, vil_sgi_image, vil_blocked_image_resource, vil_blocked_image_facade, vil_cached_image_resource, and vil_image_resource_plugin.
|
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.
Implemented in vil_convolve_1d_resource< kernelT, accumT, destT >, vil_tiff_image, vil_correlate_1d_resource< kernelT, accumT, destT >, vil_j2k_image, vil_nitf2_image, vil_flip_ud_image_resource, vil_pnm_image, vil_ras_image, vil_memory_image, vil_plane_image_resource, vil_bmp_image, vil_pyramid_image_resource, vil_png_image, vil_clamp_image_resource, vil_flip_lr_image_resource, vil_jpeg_image, vil_decimate_image_resource, vil_j2k_nitf2_pyramid_image_resource, vil_dicom_image, vil_crop_image_resource, vil_transpose_image_resource, vil_sgi_image, vil_j2k_pyramid_image_resource, vil_openjpeg_pyramid_image_resource, vil_blocked_image_resource, vil_blocked_image_facade, vil_image_resource_plugin, and vil_cached_image_resource.
|
inlinevirtual |
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.
|
inlineprotected |
Definition at line 110 of file vil_image_resource.h.
|
inlineprotected |
Definition at line 111 of file vil_image_resource.h.
|
virtual |
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 27 of file vil_image_resource.cxx.
|
related |
Clamp an image resource between two values.
Definition at line 22 of file vil_clamp.cxx.
|
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 406 of file vil_convolve_1d.h.
|
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 45 of file vil_copy.cxx.
|
related |
Creates an in memory vil_image_resource and copies the src to it.
The size and pixel type of the return vil_image_resource is determined by src O(size)
Definition at line 89 of file vil_copy.cxx.
|
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 218 of file vil_correlate_1d.h.
|
related |
Crop to a region of src.
Definition at line 15 of file vil_crop.cxx.
|
related |
decimate to a region of src.
Definition at line 23 of file vil_decimate.cxx.
|
related |
Flip an image resource left to right.
Definition at line 14 of file vil_flip.cxx.
|
related |
Flip an image resource left to right.
Definition at line 121 of file vil_flip.cxx.
|
related |
Load an image resource object from a file.
Definition at line 68 of file vil_load.cxx.
|
related |
Load from a filename with a plugin.
Definition at line 80 of file vil_load.cxx.
|
related |
|
related |
Load an image resource object from a file.
Won't use plugins.
Definition at line 46 of file vil_load.cxx.
|
related |
Mean and variance of masked elements in plane p for vil_image_resource.
Definition at line 380 of file vil_math.h.
|
related |
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.)
Definition at line 32 of file vil_new.cxx.
|
related |
Make a new image, similar format to the prototype.
Definition at line 69 of file vil_new.cxx.
|
related |
Make a new image.
Definition at line 77 of file vil_new.cxx.
|
related |
Make a new vil_image_resource, writing to file "filename", size ni x nj, copying pixel format etc from "prototype".
|
related |
Make a new vil_image_resource, writing to stream "os", size ni x nj, copying pixel format etc from "prototype".
|
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.
|
related |
Make a new image.
Definition at line 123 of file vil_new.cxx.
|
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.
|
related |
Make a new image of given format with interleaved planes.
The format must be scalar.
Definition at line 44 of file vil_new.cxx.
|
related |
Make a new image resource that is a wrapper on an existing view's data.
Definition at line 62 of file vil_new.cxx.
|
related |
Return a specific plane of an image.
Definition at line 19 of file vil_plane.cxx.
|
related |
Send vil_image_resource to disk.
Definition at line 129 of file vil_save.cxx.
|
related |
Save vil_image_resource to file, deducing format from filename.
Definition at line 148 of file vil_save.cxx.
|
friend |
Definition at line 109 of file vil_image_resource.h.
|
related |
Transpose an image.
Definition at line 14 of file vil_transpose.cxx.
|
protected |
Definition at line 114 of file vil_image_resource.h.
1.8.15