IMP logo

IMP::em::Volume< T > Class Template Reference


Detailed Description

template<typename T>
class IMP::em::Volume< T >

Template class for managing 3D Electron Microscopy volumes in IMP.

Public Member Functions

void adjust_header ()
void compute_locations ()
IMP::algebra::Matrix3D< T > & get_data ()
 Return the matrix of data of the volume.
ImageHeaderget_header ()
 Return the header of the volume.
long get_number_of_voxels () const
 Returns the number of voxels of the map.
bool is_part_of_volume (T x, T y, T z) const
bool is_xyz_ind_part_of_volume (int i, int j, int k) const
void read (String filename, bool skip_type_check, bool force_reversed, bool skip_extra_checkings)
 Reads the volume from the file.
void reset_data (float const val)
 Clears all the data in the volume and sets it to the given value.
 Volume (int Zdim, int Ydim, int Xdim)
 Constructor with size.
 Volume ()
 Empty constructor.
void write (String filename, bool force_reversed=false)
 Writes the volume to a file.

Protected Attributes

IMP::algebra::Matrix3D< T > data_
 Matrix3D with the data for each voxel of the volume.
ImageHeader header_
 Header for the volume with all the pertinent information.
IMP::algebra::Matrix3D
< IMP::algebra::VectorD< 3 > > 
locations_
 Matrix with the locations (z,y,x) of the volume voxels.
bool locations_calculated_
 True if the locations have being calculated.
String name_
 Name of the volume. Frequently it will be the name of the file.
bool normalized_
 True if the volume values have been normalized.
bool rms_calculated_
 True if the rms of the values in the volume have been computed.

Member Function Documentation

template<typename T >
void IMP::em::Volume< T >::adjust_header (  ) 

Adjusts the information of the imager header taking into account the dimensions of the data and setting the time, date, type, etc ...

template<typename T >
void IMP::em::Volume< T >::compute_locations (  ) 

Computes the x,y,z coordinates (location) associated with each voxel of the volume and stores it in the locations_ matrix.

template<typename T >
bool IMP::em::Volume< T >::is_part_of_volume ( x,
y,
z 
) const

Returns true if coordinates of a given point belong to those covered by the volume

Parameters:
[in] x coordinate for x
[in] y coordinate for y
[in] z coordinate for z

template<typename T >
bool IMP::em::Volume< T >::is_xyz_ind_part_of_volume ( int  i,
int  j,
int  k 
) const

Returns true if the physical index for the element of the matrix that contains the data in the map is within the range.

Parameters:
[in] i index for dimension 0 (z)
[in] j index for dimension 1 (y)
[in] k index for dimension 2 (x)

template<typename T >
void IMP::em::Volume< T >::read ( String  filename,
bool  skip_type_check,
bool  force_reversed,
bool  skip_extra_checkings 
)

Reads the volume from the file.

Parameters:
[in] filename name of the file
[in] skip_type_check true if the check for type of image is skipped
[in] force_reversed true to force reverse reading
[in] skip_extra_checkings true to skip the extra stringent tests

template<typename T >
void IMP::em::Volume< T >::reset_data ( float const   val  ) 

Clears all the data in the volume and sets it to the given value.

Parameters:
[in] val value to set


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

Generated on Mon Mar 8 23:09:01 2010 for IMP by doxygen 1.5.8