A generic_image adaptor that behaves like a cropped version of its input. More...
#include <vil3d_crop.h>
Public Member Functions | |
vil3d_crop_image_resource (vil3d_image_resource_sptr const &, unsigned i0, unsigned ni, unsigned j0, unsigned nj, unsigned k0, unsigned nk) | |
virtual unsigned | nplanes () const |
Dimensions: Planes x ni x nj. | |
virtual unsigned | ni () const |
Dimensions: Planes x ni x nj x nk. | |
virtual unsigned | nj () const |
Dimensions: Planes x ni x nj x nk. | |
virtual unsigned | nk () const |
Dimensions: Planes x ni x nj x nk. | |
virtual enum vil_pixel_format | pixel_format () const |
Pixel Format. | |
virtual vil3d_image_view_base_sptr | get_copy_view (unsigned i0, unsigned n_i, unsigned j0, unsigned n_j, unsigned k0, unsigned n_k) const |
Create a read/write view of a copy of this data. | |
virtual vil3d_image_view_base_sptr | get_view (unsigned i0, unsigned n_i, unsigned j0, unsigned n_j, unsigned k0, unsigned n_k) const |
Create a read/write view of the data. | |
virtual bool | put_view (const vil3d_image_view_base &im, unsigned i0, unsigned j0, unsigned k0) |
Put the data in this view back into the image source. | |
virtual bool | get_property (char const *tag, void *property_value=0) const |
Extra property information. | |
vil3d_image_view_base_sptr | get_view () const |
Create a read/write view of all the data. | |
virtual bool | set_voxel_size (float, float, float) |
Set the size of the each voxel in the i,j,k directions. | |
virtual bool | view_fits (const vil3d_image_view_base &im, unsigned i0, unsigned j0, unsigned k0) |
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 Attributes | |
vil3d_image_resource_sptr | src_ |
int | i0_ |
int | ni_ |
int | j0_ |
int | nj_ |
int | k0_ |
int | nk_ |
Related Functions | |
(Note that these are not member functions.) | |
bool | vil3d_copy_deep (const vil3d_image_resource_sptr &src, vil3d_image_resource_sptr &dest) |
Copy src to dest. | |
vil3d_image_resource_sptr | vil3d_crop (const vil3d_image_resource_sptr &src, unsigned i0, unsigned ni, unsigned j0, unsigned nj, unsigned k0, unsigned nk) |
Crop to a region of src. | |
vil3d_image_resource_sptr | vil3d_new_image_resource (unsigned ni, unsigned nj, unsigned nk, unsigned nplanes, vil_pixel_format format) |
Make a new image of given format. | |
vil3d_image_resource_sptr | vil3d_new_image_resource (const char *filename, unsigned ni, unsigned nj, unsigned nk, unsigned nplanes, vil_pixel_format format, char const *file_format=0) |
Make a new image on disk. | |
bool | vil3d_save_image_resource (const vil3d_image_resource_sptr &ir, char const *filename, char const *file_format) |
Send vil3d_image_resource to disk. | |
bool | vil3d_save_image_resource (const vil3d_image_resource_sptr &ir, char const *filename) |
Save vil3d_image_resource to file, deducing format from filename. |
A generic_image adaptor that behaves like a cropped version of its input.
Definition at line 38 of file vil3d_crop.h.
vil3d_crop_image_resource::vil3d_crop_image_resource | ( | vil3d_image_resource_sptr const & | gi, |
unsigned | i0, | ||
unsigned | ni, | ||
unsigned | j0, | ||
unsigned | nj, | ||
unsigned | k0, | ||
unsigned | nk | ||
) |
Definition at line 23 of file vil3d_crop.cxx.
virtual char const* vil3d_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 vil3d_analyze_image, vil3d_meta_image, vil3d_gipl_image, vil3d_slice_list_image, and vil3d_dicom_image.
Definition at line 107 of file vil3d_image_resource.h.
virtual vil3d_image_view_base_sptr vil3d_crop_image_resource::get_copy_view | ( | unsigned | i0, |
unsigned | ni, | ||
unsigned | j0, | ||
unsigned | nj, | ||
unsigned | k0, | ||
unsigned | nk | ||
) | const [inline, 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.
Implements vil3d_image_resource.
Definition at line 54 of file vil3d_crop.h.
virtual bool vil3d_crop_image_resource::get_property | ( | char const * | tag, |
void * | property_value = 0 |
||
) | const [inline, virtual] |
Extra property information.
Implements vil3d_image_resource.
Definition at line 78 of file vil3d_crop.h.
virtual vil3d_image_view_base_sptr vil3d_crop_image_resource::get_view | ( | unsigned | i0, |
unsigned | ni, | ||
unsigned | j0, | ||
unsigned | nj, | ||
unsigned | k0, | ||
unsigned | nk | ||
) | const [inline, virtual] |
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
vil3d_reformat(data->get_view(..), window); *
Reimplemented from vil3d_image_resource.
Definition at line 62 of file vil3d_crop.h.
vil3d_image_view_base_sptr vil3d_image_resource::get_view | ( | ) | const [inline, inherited] |
Create a read/write view of all the data.
Definition at line 69 of file vil3d_image_resource.h.
virtual unsigned vil3d_crop_image_resource::ni | ( | ) | const [inline, virtual] |
Dimensions: Planes x ni x nj x nk.
The number of pixels in each row.
Implements vil3d_image_resource.
Definition at line 47 of file vil3d_crop.h.
virtual unsigned vil3d_crop_image_resource::nj | ( | ) | const [inline, virtual] |
Dimensions: Planes x ni x nj x nk.
The number of pixels in each column.
Implements vil3d_image_resource.
Definition at line 48 of file vil3d_crop.h.
virtual unsigned vil3d_crop_image_resource::nk | ( | ) | const [inline, virtual] |
Dimensions: Planes x ni x nj x nk.
The number of pixels in each column.
Implements vil3d_image_resource.
Definition at line 49 of file vil3d_crop.h.
virtual unsigned vil3d_crop_image_resource::nplanes | ( | ) | const [inline, virtual] |
Dimensions: Planes x ni x nj.
This concept is treated as a synonym to components.
Implements vil3d_image_resource.
Definition at line 46 of file vil3d_crop.h.
virtual enum vil_pixel_format vil3d_crop_image_resource::pixel_format | ( | ) | const [inline, virtual] |
Pixel Format.
pixel_format() == VIL_PIXEL_FORMAT_BYTE
Implements vil3d_image_resource.
Definition at line 51 of file vil3d_crop.h.
virtual bool vil3d_crop_image_resource::put_view | ( | const vil3d_image_view_base & | im, |
unsigned | i0, | ||
unsigned | j0, | ||
unsigned | k0 | ||
) | [inline, virtual] |
Put the data in this view back into the image source.
Implements vil3d_image_resource.
Definition at line 72 of file vil3d_crop.h.
virtual bool vil3d_image_resource::set_voxel_size | ( | float | , |
float | , | ||
float | |||
) | [inline, virtual, inherited] |
Set the size of the each voxel in the i,j,k directions.
You can get the voxel sizes via get_properties().
Reimplemented in vil3d_analyze_image, vil3d_meta_image, and vil3d_gipl_image.
Definition at line 76 of file vil3d_image_resource.h.
virtual bool vil3d_image_resource::view_fits | ( | const vil3d_image_view_base & | im, |
unsigned | i0, | ||
unsigned | j0, | ||
unsigned | k0 | ||
) | [inline, 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 97 of file vil3d_image_resource.h.
bool vil3d_copy_deep | ( | const vil3d_image_resource_sptr & | src, |
vil3d_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 25 of file vil3d_copy.cxx.
vil3d_image_resource_sptr vil3d_crop | ( | const vil3d_image_resource_sptr & | src, |
unsigned | i0, | ||
unsigned | ni, | ||
unsigned | j0, | ||
unsigned | nj, | ||
unsigned | k0, | ||
unsigned | nk | ||
) | [related] |
Crop to a region of src.
Definition at line 13 of file vil3d_crop.cxx.
vil3d_image_resource_sptr vil3d_new_image_resource | ( | unsigned | ni, |
unsigned | nj, | ||
unsigned | nk, | ||
unsigned | nplanes, | ||
vil_pixel_format | format | ||
) | [related] |
Make a new image of given format.
Reimplemented in vil3d_memory_image.
Definition at line 23 of file vil3d_new.cxx.
vil3d_image_resource_sptr vil3d_new_image_resource | ( | const char * | filename, |
unsigned | ni, | ||
unsigned | nj, | ||
unsigned | nk, | ||
unsigned | nplanes, | ||
vil_pixel_format | format, | ||
char const * | file_format = 0 |
||
) | [related] |
Make a new image on disk.
Definition at line 31 of file vil3d_new.cxx.
bool vil3d_save_image_resource | ( | const vil3d_image_resource_sptr & | ir, |
char const * | filename, | ||
char const * | file_format | ||
) | [related] |
Send vil3d_image_resource to disk.
Definition at line 97 of file vil3d_save.cxx.
bool vil3d_save_image_resource | ( | const vil3d_image_resource_sptr & | ir, |
char const * | filename | ||
) | [related] |
Save vil3d_image_resource to file, deducing format from filename.
Definition at line 111 of file vil3d_save.cxx.
int vil3d_crop_image_resource::i0_ [protected] |
Definition at line 85 of file vil3d_crop.h.
int vil3d_crop_image_resource::j0_ [protected] |
Definition at line 87 of file vil3d_crop.h.
int vil3d_crop_image_resource::k0_ [protected] |
Definition at line 89 of file vil3d_crop.h.
int vil3d_crop_image_resource::ni_ [protected] |
Definition at line 86 of file vil3d_crop.h.
int vil3d_crop_image_resource::nj_ [protected] |
Definition at line 88 of file vil3d_crop.h.
int vil3d_crop_image_resource::nk_ [protected] |
Definition at line 90 of file vil3d_crop.h.
Definition at line 84 of file vil3d_crop.h.