Format class for a volume made up of a list of images. More...
#include <vil3d_slice_list.h>
Public Member Functions | |
virtual | ~vil3d_slice_list_image () |
virtual unsigned | nplanes () const |
Dimensions: nplanes x ni x nj x nk. | |
virtual unsigned | ni () const |
Dimensions: nplanes x ni x nj x nk. | |
virtual unsigned | nj () const |
Dimensions: nplanes x ni x nj x nk. | |
virtual unsigned | nk () const |
Dimensions: nplanes 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 ni, unsigned j0, unsigned nj, unsigned k0, unsigned nk) const |
Create a read/write view of a copy of this 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 char const * | file_format () const |
Return a string describing the file format. | |
virtual bool | get_property (char const *tag, void *property_value=0) const |
Extra property information. | |
virtual vil3d_image_view_base_sptr | get_view (unsigned i0, unsigned ni, unsigned j0, unsigned nj, unsigned k0, unsigned nk) const |
Create a read/write view of the data. | |
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. | |
Protected Member Functions | |
vil3d_slice_list_image (const vcl_vector< vil_image_resource_sptr > &) | |
Private Attributes | |
vcl_vector < vil_image_resource_sptr > | slices_ |
All the 2d image slice resources that make up this volume. | |
Friends | |
class | vil3d_slice_list_format |
vil3d_image_resource_sptr | vil3d_slice_list_to_volume (const vcl_vector< vil_image_resource_sptr > &) |
Create a volume from a list of matching 2D slices. | |
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. |
Format class for a volume made up of a list of images.
You can't create one of these yourself. Use vil3d_slice_list_format or vil3d_slice_list_to_volume instead.
Definition at line 54 of file vil3d_slice_list.h.
vil3d_slice_list_image::vil3d_slice_list_image | ( | const vcl_vector< vil_image_resource_sptr > & | images | ) | [protected] |
Definition at line 180 of file vil3d_slice_list.cxx.
vil3d_slice_list_image::~vil3d_slice_list_image | ( | ) | [virtual] |
Definition at line 185 of file vil3d_slice_list.cxx.
virtual char const* vil3d_slice_list_image::file_format | ( | ) | const [inline, virtual] |
Return a string describing the file format.
Only file images have a format, others return 0
Reimplemented from vil3d_image_resource.
Reimplemented in vil3d_dicom_image.
Definition at line 105 of file vil3d_slice_list.h.
vil3d_image_view_base_sptr vil3d_slice_list_image::get_copy_view | ( | unsigned | i0, |
unsigned | ni, | ||
unsigned | j0, | ||
unsigned | nj, | ||
unsigned | k0, | ||
unsigned | nk | ||
) | const [virtual] |
Create a read/write view of a copy of this data.
Get some or all of the volume.
This function will always return a multi-plane scalar-pixel view of the data.
Implements vil3d_image_resource.
Definition at line 229 of file vil3d_slice_list.cxx.
bool vil3d_slice_list_image::get_property | ( | char const * | tag, |
void * | property_value = 0 |
||
) | const [virtual] |
Extra property information.
Get the properties (of the first slice).
This will just return the property of the first slice in the list.
Implements vil3d_image_resource.
Definition at line 222 of file vil3d_slice_list.cxx.
virtual vil3d_image_view_base_sptr vil3d_image_resource::get_view | ( | unsigned | i0, |
unsigned | ni, | ||
unsigned | j0, | ||
unsigned | nj, | ||
unsigned | k0, | ||
unsigned | nk | ||
) | const [inline, virtual, inherited] |
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 in vil3d_crop_image_resource, and vil3d_memory_image.
Definition at line 63 of file vil3d_image_resource.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.
unsigned vil3d_slice_list_image::ni | ( | void | ) | const [virtual] |
Dimensions: nplanes x ni x nj x nk.
The number of pixels in each row.
Implements vil3d_image_resource.
Definition at line 197 of file vil3d_slice_list.cxx.
unsigned vil3d_slice_list_image::nj | ( | void | ) | const [virtual] |
Dimensions: nplanes x ni x nj x nk.
The number of pixels in each column.
Implements vil3d_image_resource.
Definition at line 203 of file vil3d_slice_list.cxx.
unsigned vil3d_slice_list_image::nk | ( | void | ) | const [virtual] |
Dimensions: nplanes x ni x nj x nk.
The number of slices per image.
Implements vil3d_image_resource.
Definition at line 209 of file vil3d_slice_list.cxx.
unsigned vil3d_slice_list_image::nplanes | ( | void | ) | const [virtual] |
Dimensions: nplanes x ni x nj x nk.
This concept is treated as a synonym to components.
Implements vil3d_image_resource.
Definition at line 191 of file vil3d_slice_list.cxx.
enum vil_pixel_format vil3d_slice_list_image::pixel_format | ( | void | ) | const [virtual] |
bool vil3d_slice_list_image::put_view | ( | const vil3d_image_view_base & | im, |
unsigned | i0, | ||
unsigned | j0, | ||
unsigned | k0 | ||
) | [virtual] |
Put the data in this view back into the image source.
Set the contents of the volume.
The view must be of scalar components. Assign your view to a scalar-component view if this is not the case.
Implements vil3d_image_resource.
Definition at line 276 of file vil3d_slice_list.cxx.
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.
friend class vil3d_slice_list_format [friend] |
Reimplemented in vil3d_dicom_image.
Definition at line 61 of file vil3d_slice_list.h.
vil3d_image_resource_sptr vil3d_slice_list_to_volume | ( | const vcl_vector< vil_image_resource_sptr > & | ) | [friend] |
Create a volume from a list of matching 2D slices.
If the slices do not match (in size, type etc) a null ptr will be returned.
Definition at line 143 of file vil3d_slice_list.cxx.
vcl_vector<vil_image_resource_sptr> vil3d_slice_list_image::slices_ [private] |
All the 2d image slice resources that make up this volume.
Definition at line 57 of file vil3d_slice_list.h.