#include <vil_pyramid_image_list.h>

Public Member Functions | |
| vil_pyramid_image_list (char const *directory) | |
| vil_pyramid_image_list (std::vector< vil_image_resource_sptr > const &images) | |
| ~vil_pyramid_image_list () override | |
| unsigned int | nplanes () const override |
| The number of planes (or components) in the image. More... | |
| unsigned int | ni () const override |
| The number of pixels in each row. More... | |
| unsigned int | nj () const override |
| The number of pixels in each column. More... | |
| enum vil_pixel_format | pixel_format () const override |
| Pixel Format. More... | |
| vil_image_view_base_sptr | get_copy_view (unsigned int i0, unsigned int n_i, unsigned int j0, unsigned int n_j) const override |
| Create a read/write view of a copy of this data. More... | |
| char const * | file_format () const override |
| Return a string describing the file format. More... | |
| unsigned int | nlevels () const override |
| number of levels in the pyramid. More... | |
| bool | put_resource (vil_image_resource_sptr const &image) override |
| Copy an image resource to the pyramid. More... | |
| bool | add_resource (vil_image_resource_sptr const &image) |
| Add an image resource directly to the pyramid without copying. More... | |
| vil_image_resource_sptr | get_resource (const unsigned int level) const override |
| virtual method for getting a level of the pyramid. More... | |
| vil_image_resource_sptr | get_level (const unsigned int level) const |
| Get a level image resource of the pyramid. More... | |
| vil_image_view_base_sptr | get_copy_view (unsigned int i0, unsigned int n_i, unsigned int j0, unsigned int n_j, unsigned int level) const override |
| Get a partial view from the image from a specified pyramid level. More... | |
| vil_image_view_base_sptr | get_copy_view (const float scale, float &actual_scale) const override |
| Get a view from the image in the pyramid closest to scale. More... | |
| vil_image_view_base_sptr | get_copy_view (unsigned int i0, unsigned int n_i, unsigned int j0, unsigned int n_j, const float scale, float &actual_scale) const override |
| Get a partial view from the image in the pyramid closest to scale. More... | |
| void | set_directory (char const *directory) |
| void | print (const unsigned int level) override |
| vil_image_view_base_sptr | get_copy_view (unsigned i0, unsigned n_i, unsigned j0, unsigned n_j) const override |
| Create a read/write view of a copy of this data. More... | |
| virtual vil_image_view_base_sptr | get_copy_view (unsigned i0, unsigned n_i, unsigned j0, unsigned n_j, unsigned level) const =0 |
| Get a partial view from the image from a specified pyramid level. More... | |
| virtual vil_image_view_base_sptr | get_copy_view (unsigned level) const |
| Get a complete view from a specified pyramid level. More... | |
| virtual 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 =0 |
| Get a partial view from the image in the pyramid closest to scale. More... | |
| vil_image_view_base_sptr | get_copy_view () const |
| Create a read/write view of a copy of all the data. More... | |
| bool | put_view (vil_image_view_base const &, unsigned, unsigned) override |
| Put the data in this view back into the base image. 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... | |
| bool | get_property (char const *tag, void *property_value=nullptr) const override |
| Extra property information. More... | |
| virtual vil_image_resource_sptr | get_resource (const unsigned level) const =0 |
| Get an image resource from the pyramid at the specified level. More... | |
| virtual void | print (const unsigned level)=0 |
| for debug purposes. 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 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... | |
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. More... | |
| 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. More... | |
Protected Member Functions | |
| vil_pyramid_image_list () | |
| void | normalize_scales () |
| normalize the scale factors so that the base image scale = 1.0. More... | |
| pyramid_level * | closest (const float scale) const |
| find the image resource with scale closest to specified scale. More... | |
| bool | is_same_size (vil_image_resource_sptr const &image) |
| input image is the same size as one already in the pyramid. More... | |
| float | find_next_level (vil_image_resource_sptr const &image) |
| find the nearest level to the image size. More... | |
| void | ref () |
| void | unref () |
Protected Attributes | |
| std::string | directory_ |
| std::vector< pyramid_level * > | levels_ |
| vcl_atomic_count | reference_count_ |
Related Functions | |
(Note that these are not member functions.) | |
| vil_pyramid_image_resource_sptr | vil_load_pyramid_resource (char const *directory_or_file, bool verbose=true) |
| Load a pyramid image resource object from a file or directory. More... | |
| 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 (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_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_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... | |
Definition at line 89 of file vil_pyramid_image_list.h.
| vil_pyramid_image_list::vil_pyramid_image_list | ( | char const * | directory | ) |
Definition at line 154 of file vil_pyramid_image_list.cxx.
| vil_pyramid_image_list::vil_pyramid_image_list | ( | std::vector< vil_image_resource_sptr > const & | images | ) |
Definition at line 157 of file vil_pyramid_image_list.cxx.
|
override |
Definition at line 175 of file vil_pyramid_image_list.cxx.
|
protected |
Definition at line 151 of file vil_pyramid_image_list.cxx.
| 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 206 of file vil_pyramid_image_list.cxx.
|
staticinherited |
A utility function to decimate a resource using blocks.
The new scale is one half the input resource scale
Definition at line 125 of file vil_pyramid_image_resource.cxx.
|
protected |
find the image resource with scale closest to specified scale.
find the level closest to the specified scale.
Definition at line 279 of file vil_pyramid_image_list.cxx.
|
staticinherited |
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 298 of file vil_pyramid_image_resource.cxx.
|
inlineoverridevirtual |
Return a string describing the file format.
Only file images have a format, others return 0
Implements vil_pyramid_image_resource.
Definition at line 152 of file vil_pyramid_image_list.h.
|
protected |
find the nearest level to the image size.
Find an appropriate filename extension for the image.
If the size of the image lies between existing scales then use the fractional amount in the name
Definition at line 228 of file vil_pyramid_image_list.cxx.
|
inlineoverridevirtualinherited |
Create a read/write view of a copy of this data.
Applies only to the base image
Implements vil_image_resource.
Definition at line 61 of file vil_pyramid_image_resource.h.
|
inlineinherited |
Create a read/write view of a copy of all the data.
Definition at line 80 of file vil_image_resource.h.
|
pure virtualinherited |
Get a partial view from the image from a specified pyramid level.
Implemented in vil_tiff_pyramid_resource, vil_j2k_nitf2_pyramid_image_resource, vil_j2k_pyramid_image_resource, and vil_openjpeg_pyramid_image_resource.
|
inlinevirtualinherited |
Get a complete view from a specified pyramid level.
This method needs no specialisation.
Reimplemented in vil_j2k_nitf2_pyramid_image_resource, vil_j2k_pyramid_image_resource, and vil_openjpeg_pyramid_image_resource.
Definition at line 92 of file vil_pyramid_image_resource.h.
|
pure virtualinherited |
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. The scale factor is with respect to the base image (base scale = 1.0).
Implemented in vil_tiff_pyramid_resource, vil_j2k_nitf2_pyramid_image_resource, vil_j2k_pyramid_image_resource, and vil_openjpeg_pyramid_image_resource.
|
inlineoverride |
Create a read/write view of a copy of this data.
Applies only to the base image
Definition at line 139 of file vil_pyramid_image_list.h.
|
override |
Get a partial view from the image from a specified pyramid level.
Definition at line 305 of file vil_pyramid_image_list.cxx.
|
inlineoverridevirtual |
Get a view from the image in the pyramid closest to scale.
Reimplemented from vil_pyramid_image_resource.
Definition at line 181 of file vil_pyramid_image_list.h.
|
override |
Get a partial view from the image in the pyramid closest to scale.
return a view with image scale that is closest to scale.
The origin and size parameters are in the coordinate system of the base image.
Definition at line 342 of file vil_pyramid_image_list.cxx.
|
inline |
Get a level image resource of the pyramid.
Definition at line 172 of file vil_pyramid_image_list.h.
|
overridevirtualinherited |
Extra property information.
Implements vil_image_resource.
Definition at line 24 of file vil_pyramid_image_resource.cxx.
|
pure virtualinherited |
Get an image resource from the pyramid at the specified level.
Implemented in vil_tiff_pyramid_resource, vil_j2k_nitf2_pyramid_image_resource, vil_j2k_pyramid_image_resource, and vil_openjpeg_pyramid_image_resource.
|
inlineoverride |
virtual method for getting a level of the pyramid.
Definition at line 168 of file vil_pyramid_image_list.h.
|
inlinevirtualinherited |
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.
|
inlineinherited |
Create a read/write view of all the data.
Definition at line 69 of file vil_image_resource.h.
|
protected |
input image is the same size as one already in the pyramid.
Definition at line 196 of file vil_pyramid_image_list.cxx.
|
inlineoverridevirtual |
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 109 of file vil_pyramid_image_list.h.
|
inlineoverridevirtual |
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 119 of file vil_pyramid_image_list.h.
|
inlineoverridevirtual |
number of levels in the pyramid.
Implements vil_pyramid_image_resource.
Definition at line 157 of file vil_pyramid_image_list.h.
|
protected |
normalize the scale factors so that the base image scale = 1.0.
Assumes that the image in level 0 is the largest.
Definition at line 183 of file vil_pyramid_image_list.cxx.
|
inlineoverridevirtual |
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 99 of file vil_pyramid_image_list.h.
|
inlineoverridevirtual |
Pixel Format.
Implements vil_pyramid_image_resource.
Definition at line 129 of file vil_pyramid_image_list.h.
|
pure virtualinherited |
for debug purposes.
Implemented in vil_tiff_pyramid_resource, vil_j2k_nitf2_pyramid_image_resource, vil_j2k_pyramid_image_resource, and vil_openjpeg_pyramid_image_resource.
|
inlineoverride |
Definition at line 194 of file vil_pyramid_image_list.h.
|
overridevirtual |
Copy an image resource to the pyramid.
This method copies the resource into the pyramid.
If an image of the same scale already exists, then method returns false.
Use add_resource if the existing resource is to be just inserted into the level stack.
Implements vil_pyramid_image_resource.
Definition at line 239 of file vil_pyramid_image_list.cxx.
|
inlineoverridevirtualinherited |
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.
|
inlinevirtualinherited |
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.
|
inlineprotectedinherited |
Definition at line 110 of file vil_image_resource.h.
|
inline |
Definition at line 191 of file vil_pyramid_image_list.h.
|
inlineprotectedinherited |
Definition at line 111 of file vil_image_resource.h.
|
virtualinherited |
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 |
Load a pyramid image resource object from a file or directory.
Definition at line 100 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.
|
related |
Transpose an image.
Definition at line 14 of file vil_transpose.cxx.
|
protected |
Definition at line 217 of file vil_pyramid_image_list.h.
|
protected |
Definition at line 220 of file vil_pyramid_image_list.h.
|
protectedinherited |
Definition at line 114 of file vil_image_resource.h.
1.8.15