Public Member Functions | Private Attributes | Related Functions
vil3d_analyze_image Class Reference

Object which acts as an interface to an analyze format file. More...

#include <vil3d_analyze_format.h>

Inheritance diagram for vil3d_analyze_image:
Inheritance graph
[legend]

List of all members.

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_headerheader ()
 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.

Detailed Description

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.


Constructor & Destructor Documentation

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.


Member Function Documentation

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.

Returns:
0 if unable to get view of correct size, or if resource is write-only.

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.

Returns:
0 if unable to get view of correct size, or if resource is write-only.

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.

Returns:
false if failed, because e.g. resource is read-only, format of view is not correct (if it is a compound pixel type, try assigning it to a multi-plane scalar pixel view.)

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().

Returns:
false if underlying image doesn't store pixel sizes.

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.


Friends And Related Function Documentation

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.


Member Data Documentation

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.

Physical Voxel dimensions ( in mm ).

Definition at line 191 of file vil3d_analyze_format.h.

Definition at line 191 of file vil3d_analyze_format.h.

Definition at line 191 of file vil3d_analyze_format.h.


The documentation for this class was generated from the following files: