Object which acts as an interface to an analyze format file. More...
#include <vil3d_analyze_format.h>
Public Member Functions | |
vil3d_analyze_image (const vil3d_analyze_header &header, const vcl_string &base_path) | |
Create object with given header and base_path, ready for reading/writing. | |
virtual | ~vil3d_analyze_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. | |
const vcl_string & | base_path () const |
Basename of file (not including .hdr/.img). | |
const vil3d_analyze_header & | header () |
Header information. | |
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 bool | set_voxel_size (float, float, float) |
Set the size of the each voxel in the i,j,k directions. | |
virtual char const * | file_format () const |
Return a string describing the file format. | |
virtual bool | get_property (char const *label, 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 | 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. | |
Private Attributes | |
vcl_string | base_path_ |
Basename of file (not including .hdr/.img). | |
vil3d_analyze_header | header_ |
Header information. | |
unsigned | nplanes_ |
number of planes. | |
float | vox_width1_ |
Physical Voxel dimensions ( in mm ). | |
float | vox_width2_ |
float | vox_width3_ |
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. |
Object which acts as an interface to an analyze format file.
You can't create one of these yourself. Use vil3d_analyze_format instead.
Definition at line 179 of file vil3d_analyze_format.h.
vil3d_analyze_image::vil3d_analyze_image | ( | const vil3d_analyze_header & | header, |
const vcl_string & | base_path | ||
) |
Create object with given header and base_path, ready for reading/writing.
Doesn't actually load/save anything until get_copy_view() or put_view() called. Header is assumed to have been loaded/saved by the calling function.
Definition at line 514 of file vil3d_analyze_format.cxx.
vil3d_analyze_image::~vil3d_analyze_image | ( | ) | [virtual] |
Definition at line 521 of file vil3d_analyze_format.cxx.
const vcl_string& vil3d_analyze_image::base_path | ( | ) | const [inline] |
Basename of file (not including .hdr/.img).
Definition at line 216 of file vil3d_analyze_format.h.
virtual char const* vil3d_analyze_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.
Definition at line 249 of file vil3d_analyze_format.h.
vil3d_image_view_base_sptr vil3d_analyze_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 559 of file vil3d_analyze_format.cxx.
bool vil3d_analyze_image::get_property | ( | char const * | label, |
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 626 of file vil3d_analyze_format.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.
const vil3d_analyze_header& vil3d_analyze_image::header | ( | void | ) | [inline] |
Header information.
Definition at line 219 of file vil3d_analyze_format.h.
unsigned vil3d_analyze_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 533 of file vil3d_analyze_format.cxx.
unsigned vil3d_analyze_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 540 of file vil3d_analyze_format.cxx.
unsigned vil3d_analyze_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 547 of file vil3d_analyze_format.cxx.
unsigned vil3d_analyze_image::nplanes | ( | void | ) | const [virtual] |
Dimensions: nplanes x ni x nj x nk.
Number of planes (or time points in an image sequence).
This concept is treated as a synonym to components.
Implements vil3d_image_resource.
Definition at line 526 of file vil3d_analyze_format.cxx.
enum vil_pixel_format vil3d_analyze_image::pixel_format | ( | void | ) | const [virtual] |
Pixel Format.
Implements vil3d_image_resource.
Definition at line 553 of file vil3d_analyze_format.cxx.
bool vil3d_analyze_image::put_view | ( | const vil3d_image_view_base & | im, |
unsigned | i0 = 0 , |
||
unsigned | j0 = 0 , |
||
unsigned | k0 = 0 |
||
) | [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 652 of file vil3d_analyze_format.cxx.
bool vil3d_analyze_image::set_voxel_size | ( | float | si, |
float | sj, | ||
float | sk | ||
) | [virtual] |
Set the size of the each voxel in the i,j,k directions.
You can get the voxel sizes via get_properties().
Reimplemented from vil3d_image_resource.
Definition at line 731 of file vil3d_analyze_format.cxx.
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.
vcl_string vil3d_analyze_image::base_path_ [private] |
Basename of file (not including .hdr/.img).
Definition at line 182 of file vil3d_analyze_format.h.
Header information.
Definition at line 185 of file vil3d_analyze_format.h.
unsigned vil3d_analyze_image::nplanes_ [private] |
number of planes.
Definition at line 188 of file vil3d_analyze_format.h.
float vil3d_analyze_image::vox_width1_ [private] |
Physical Voxel dimensions ( in mm ).
Definition at line 191 of file vil3d_analyze_format.h.
float vil3d_analyze_image::vox_width2_ [private] |
Definition at line 191 of file vil3d_analyze_format.h.
float vil3d_analyze_image::vox_width3_ [private] |
Definition at line 191 of file vil3d_analyze_format.h.