Generic image implementation for VIFF (Khoros) files. More...
#include <vil_viff.h>

Public Member Functions | |
| vil_viff_image (vil_stream *is) | |
| vil_viff_image (vil_stream *is, unsigned int ni, unsigned int nj, unsigned int nplanes, vil_pixel_format format) | |
| ~vil_viff_image () override | |
| unsigned int | ni () const override |
| Dimensions. Planes x W x H. More... | |
| unsigned int | nj () const override |
| Dimensions: Planes x ni x nj. More... | |
| unsigned int | nplanes () const override |
| Dimensions: Planes x ni x nj. More... | |
| enum vil_pixel_format | pixel_format () const override |
| Pixel Format. More... | |
| vil_image_view_base_sptr | get_copy_view (unsigned int x0, unsigned int ni, unsigned int y0, unsigned int nj) const override |
| Return part of this as buffer. More... | |
| bool | put_view (vil_image_view_base const &buf, unsigned int x0, unsigned int y0) override |
| Write buf into this at position (x0,y0). More... | |
| char const * | file_format () const override |
| Return a string describing the file format. More... | |
| bool | get_property (char const *tag, void *prop=nullptr) const override |
| Extra property information. More... | |
| vxl_uint_32 | ispare1 () const |
| User defined spare values in header. More... | |
| vxl_uint_32 | ispare2 () const |
| float | fspare1 () const |
| float | fspare2 () const |
| void | set_ispare1 (vxl_uint_32 ispare1) |
| void | set_ispare2 (vxl_uint_32 ispare2) |
| void | set_fspare1 (float fspare1) |
| void | set_fspare2 (float fspare2) |
| 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... | |
Protected Member Functions | |
| void | ref () |
| void | unref () |
Protected Attributes | |
| vcl_atomic_count | reference_count_ |
Private Member Functions | |
| bool | read_header () |
| bool | write_header () |
| bool | check_endian () |
Private Attributes | |
| vil_stream * | is_ |
| unsigned int | ni_ |
| unsigned int | nj_ |
| unsigned int | nplanes_ |
| vil_streampos | start_of_data_ |
| enum vil_pixel_format | format_ |
| bool | endian_consistent_ |
| vil_viff_xvimage | header_ |
Friends | |
| class | vil_viff_file_format |
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 (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... | |
Generic image implementation for VIFF (Khoros) files.
Definition at line 38 of file vil_viff.h.
| vil_viff_image::vil_viff_image | ( | vil_stream * | is | ) |
Definition at line 93 of file vil_viff.cxx.
| vil_viff_image::vil_viff_image | ( | vil_stream * | is, |
| unsigned int | ni, | ||
| unsigned int | nj, | ||
| unsigned int | nplanes, | ||
| vil_pixel_format | format | ||
| ) |
Definition at line 111 of file vil_viff.cxx.
|
override |
Definition at line 122 of file vil_viff.cxx.
|
private |
Definition at line 358 of file vil_viff.cxx.
|
overridevirtual |
Return a string describing the file format.
Only file images have a format, others return 0
Reimplemented from vil_image_resource.
Definition at line 106 of file vil_viff.cxx.
|
inline |
Definition at line 82 of file vil_viff.h.
|
inline |
Definition at line 83 of file vil_viff.h.
|
override |
Return part of this as buffer.
Definition at line 242 of file vil_viff.cxx.
|
pure virtualinherited |
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.
|
inlineinherited |
Create a read/write view of a copy of all the data.
Definition at line 80 of file vil_image_resource.h.
|
overridevirtual |
Extra property information.
Implements vil_image_resource.
Definition at line 127 of file vil_viff.cxx.
|
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.
|
inline |
User defined spare values in header.
Definition at line 80 of file vil_viff.h.
|
inline |
Definition at line 81 of file vil_viff.h.
|
inlineoverridevirtual |
Dimensions. Planes x W x H.
Implements vil_image_resource.
Definition at line 65 of file vil_viff.h.
|
inlineoverridevirtual |
Dimensions: Planes x ni x nj.
The number of pixels in each column.
Implements vil_image_resource.
Definition at line 66 of file vil_viff.h.
|
inlineoverridevirtual |
Dimensions: Planes x ni x nj.
This concept is treated as a synonym to components.
Implements vil_image_resource.
Definition at line 67 of file vil_viff.h.
|
inlineoverridevirtual |
Pixel Format.
A standard RGB RGB RGB of chars image has pixel_format() == VIL_PIXEL_FORMAT_BYTE
Implements vil_image_resource.
Definition at line 69 of file vil_viff.h.
|
override |
Write buf into this at position (x0,y0).
Definition at line 284 of file vil_viff.cxx.
|
pure virtualinherited |
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.
|
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.
|
private |
Definition at line 133 of file vil_viff.cxx.
|
inlineprotectedinherited |
Definition at line 110 of file vil_image_resource.h.
| void vil_viff_image::set_fspare1 | ( | float | fspare1 | ) |
Definition at line 405 of file vil_viff.cxx.
| void vil_viff_image::set_fspare2 | ( | float | fspare2 | ) |
Definition at line 420 of file vil_viff.cxx.
| void vil_viff_image::set_ispare1 | ( | vxl_uint_32 | ispare1 | ) |
Definition at line 377 of file vil_viff.cxx.
| void vil_viff_image::set_ispare2 | ( | vxl_uint_32 | ispare2 | ) |
Definition at line 391 of file vil_viff.cxx.
|
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.
|
private |
Definition at line 199 of file vil_viff.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.
|
related |
Transpose an image.
Definition at line 14 of file vil_transpose.cxx.
|
friend |
Definition at line 55 of file vil_viff.h.
|
private |
Definition at line 48 of file vil_viff.h.
|
private |
Definition at line 46 of file vil_viff.h.
|
private |
Definition at line 49 of file vil_viff.h.
|
private |
Definition at line 40 of file vil_viff.h.
|
private |
Definition at line 41 of file vil_viff.h.
|
private |
Definition at line 42 of file vil_viff.h.
|
private |
Definition at line 43 of file vil_viff.h.
|
protectedinherited |
Definition at line 114 of file vil_image_resource.h.
|
private |
Definition at line 45 of file vil_viff.h.
1.8.15