emdata_metadata.h File Reference

This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Functions

EMData * get_fft_amplitude ()
 return the amplitudes of the FFT including the left half
EMData * get_fft_amplitude2D ()
 return the amplitudes of the 2D FFT including the left half PRB
Exceptions:
ImageFormatException If the image is not a complex image.

EMData * get_fft_phase ()
 return the phases of the FFT including the left half
float * get_data () const
 Get the image pixel density data in a 1D float array.
const float * get_const_data () const
 Get the image pixel density data in a 1D float array - const version of get_data.
void set_data (float *data, const int x, const int y, const int z)
 Set the data explicitly data pointer must be allocated using malloc!
void write_data (string fsp, size_t loc, const Region *const area=0, const int file_nx=0, const int file_ny=0, const int file_nz=0)
 Dump the image pixel data in native byte order to a disk file.
void read_data (string fsp, size_t loc, const Region *area=0, const int file_nx=0, const int file_ny=0, const int file_nz=0)
 Read the image pixel data in native byte order from a disk file.
void update ()
 Mark EMData as changed, statistics, etc will be updated at need.
void clearupdate ()
 turn off updates.
bool has_ctff () const
 check whether the image physical file has the CTF info or not.
float calc_center_density ()
 Calculates the density value at the peak of the image histogram, sort of like the mode of the density.
float calc_sigma_diff ()
 Calculates sigma above and below the mean and returns the difference between them.
IntPoint calc_min_location () const
 Calculates the coordinates of the minimum-value pixel.
IntPoint calc_max_location () const
 Calculates the coordinates of the maximum-value pixel.
IntPoint calc_max_location_wrap (const int maxshiftx=-1, const int maxshifty=-1, const int maxshiftz=-1)
 Calculates the wrapped coordinates of the maximum value This function is useful in the context of Fourier correlation you can call this function to find the correct translational shift when using calc_ccf etc.
FloatPoint calc_center_of_mass (const float threshold=0)
 Calculate the center of mass with a threshold (Default 0, so only positive values are considered).
size_t calc_min_index () const
 Calculates the index of minimum-value pixel when assuming all pixels are in a 1D array.
size_t calc_max_index () const
 Calculates the index of maximum-value pixel when assuming all pixels are in a 1D array.
vector< Pixel > calc_highest_locations (float threshold) const
 Calculate and return a sorted list of pixels whose values are above a specified threshold.
vector< Pixel > calc_n_highest_locations (int n)
 Calculate and return a sorted list of N highest pixels in the map.
vector< Pixel > find_pixels_with_value (float val)
 Find pixels in the image with exactly the specified values.
float get_edge_mean () const
 Calculates the mean pixel values around the (1 pixel) edge of the image.
float get_circle_mean ()
 Calculates the circular edge mean by applying a circular mask on 'this' image.
Ctf * get_ctf () const
 Get ctf parameter of this image.
void set_ctf (Ctf *ctf)
 Set the CTF parameter of this image.
Vec3f get_translation () const
 Get 'this' image's translation vector from the original location.
void set_translation (const Vec3f &t)
 Set 'this' images' translation vector from the original location.
void set_translation (float dx, float dy, float dz)
 Set 'this' images' translation vector from the original location.
Transform get_transform () const
 Get the 3D orientation of 'this' image.
void set_rotation (float az, float alt, float phi)
 Define the 3D orientation of this particle, also used to indicate relative rotations for reconstructions.
void set_rotation (const Transform &t3d)
 Define the 3D orientation of this particle Orientation information is extracted from a Transform object and stored internally in EMAN (az,alt,phi) format.
void set_size (int nx, int ny=1, int nz=1)
 Resize this EMData's main board memory pointer.
void set_complex_size (int nx, int ny=1, int nz=1)
 Resize 'this' complex image.
void set_path (const string &new_path)
 Set the path.
void set_pathnum (int n)
 Set the number of paths.
MArray2D get_2dview () const
 Get image raw pixel data in a 2D multi-array format.
MArray3D get_3dview () const
 Get image raw pixel data in a 3D multi-array format.
MCArray2D get_2dcview () const
 Get complex image raw pixel data in a 2D multi-array format.
MCArray3D get_3dcview () const
 Get complex image raw pixel data in a 3D multi-array format.
MCArray3Dget_3dcviewptr () const
 Get pointer to a complex image raw pixel data in a 3D multi-array format.
MArray2D get_2dview (int x0, int y0) const
 Get image raw pixel data in a 2D multi-array format.
MArray3D get_3dview (int x0, int y0, int z0) const
 Get image raw pixel data in a 3D multi-array format.
MCArray2D get_2dcview (int x0, int y0) const
 Get complex image raw pixel data in a 2D multi-array format.
MCArray3D get_3dcview (int x0, int y0, int z0) const
 Get complex image raw pixel data in a 3D multi-array format.
EMObject get_attr (const string &attr_name) const
 The generic way to get any image header information given a header attribute name.
EMObject get_attr_default (const string &attr_name, const EMObject &em_obj=EMObject()) const
 The generic way to get any image header information given a header attribute name.
void set_attr (const string &key, EMObject val)
 Set a header attribute's value.
void set_attr_python (const string &key, EMObject val)
 Set a header attribute's value from Python.
bool has_attr (const string &key) const
 Ask if the header has a particular attribute.
Dict get_attr_dict () const
 Get the image attribute dictionary containing all the image attribute names and attribute values.
void set_attr_dict (const Dict &new_dict)
 Merge the new values with the existing dictionary.
void del_attr (const string &attr_name)
 Delete the attribute from dictionary.
void del_attr_dict (const vector< string > &del_keys)
 Delete the attributes from the dictionary.
int get_xsize () const
 Get the image x-dimensional size.
int get_ysize () const
 Get the image y-dimensional size.
int get_zsize () const
 Get the image z-dimensional size.
size_t get_size () const
 Get the number of allocated floats in the image (nx*ny*nz).
vector< float > get_data_as_vector () const
 Get the pixel data as a vector.
int get_ndim () const
 Get image dimension.
bool is_shuffled () const
 Has this image been shuffled?
bool is_FH () const
 Is this a FH image?
bool is_complex () const
 Is this a complex image?
bool is_real () const
 Is this a real image?
void set_shuffled (bool is_shuffled)
 Mark this image as a shuffled image.
void set_FH (bool is_FH)
 Mark this complex image as a FH image.
void set_complex (bool is_complex)
 Mark this image as a complex image.
bool is_complex_x () const
 Is this image a 1D FFT image in X direction?
void set_complex_x (bool is_complex_x)
 Marks this image a 1D FFT image in X direction.
bool is_flipped () const
 Is this image flipped?
void set_flipped (bool is_flipped)
 Mark this image as flipped.
bool is_ri () const
 Is this image a real/imaginary format complex image?
void set_ri (bool is_ri)
 Mark this image as a real/imaginary format complex image.
bool is_fftpadded () const
 Is this image already extended along x for ffts?
void set_fftpad (bool is_fftpadded)
 Mark this image as already extended along x for ffts.
bool is_fftodd () const
 Does this image correspond to a (real-space) odd nx?
void set_fftodd (bool is_fftodd)
 Mark this image as having (real-space) odd nx.
void set_nxc (int nxc)
 Set the number of complex elements along x.
int get_flags () const
void set_flags (int f)
int get_changecount () const
void set_changecount (int c)
int get_xoff () const
int get_yoff () const
int get_zoff () const
void set_xyzoff (int x, int y, int z)
void scale_pixel (float scale_factor) const
 Scale the angstrom per pixel of this image by a uniform amount Alters the EMData metadata I had to make this function public for access from the Processors (David Woolford).
string get_path () const
int get_pathnum () const
std::string get_data_pickle () const
void set_data_pickle (std::string vf)
int get_supp_pickle () const
void set_supp_pickle (int i)
vector< Vec3imask_contig_region (const float &val, const Vec3i &seed)
float get_amplitude_thres (float thres)
 return the FFT amplitude which is greater than thres %
void set_attr_dict_explicit (const Dict &new_dict)
 Make the attributes of this EMData exactly equal to the argument dictionary Originally introduced because set_attr_dict does automatic resizing, which is undersirable in some circumstances.


Function Documentation

float calc_center_density (  ) 

Calculates the density value at the peak of the image histogram, sort of like the mode of the density.

Returns:
The density value at the peak of the image histogram.

FloatPoint calc_center_of_mass ( const float  threshold = 0  ) 

Calculate the center of mass with a threshold (Default 0, so only positive values are considered).

Author:
Steve Ludtke
Date:
Fri Jun 6th 2008

vector<Pixel> calc_highest_locations ( float  threshold  )  const

Calculate and return a sorted list of pixels whose values are above a specified threshold.

The pixels are sorted from high to low.

Parameters:
threshold The specified pixel value. Returned pixels should have higher values than it.
Returns:
A sorted list of pixels with their values, and locations. Their values are higher than threshold.

size_t calc_max_index (  )  const

Calculates the index of maximum-value pixel when assuming all pixels are in a 1D array.

Returns:
Index of the maximum-value pixel.

IntPoint calc_max_location (  )  const

Calculates the coordinates of the maximum-value pixel.

Returns:
The coordinates of the maximum-value pixel.

IntPoint calc_max_location_wrap ( const int  maxshiftx = -1,
const int  maxshifty = -1,
const int  maxshiftz = -1 
)

Calculates the wrapped coordinates of the maximum value This function is useful in the context of Fourier correlation you can call this function to find the correct translational shift when using calc_ccf etc.

Returns:
the wrapped coordinates of the maximum
Author:
David Woolford
Date:
Fri Jun 6th 2008

size_t calc_min_index (  )  const

Calculates the index of minimum-value pixel when assuming all pixels are in a 1D array.

Returns:
Index of the minimum-value pixel.

IntPoint calc_min_location (  )  const

Calculates the coordinates of the minimum-value pixel.

Returns:
The coordinates of the minimum-value pixel.

vector<Pixel> calc_n_highest_locations ( int  n  ) 

Calculate and return a sorted list of N highest pixels in the map.

Parameters:
n The number of highest value pixels should be returned.
Returns:
A sorted list of N pixels with their values, and locations.

float calc_sigma_diff (  ) 

Calculates sigma above and below the mean and returns the difference between them.

Returns:
The difference between sigma above and below the mean.

void clearupdate (  )  [inline]

turn off updates.

Useful to avoid wasteful recacling stats

Definition at line 142 of file emdata_metadata.h.

00143 {
00144         flags &= ~EMDATA_NEEDUPD;
00145         changecount--;
00146 }

void del_attr ( const string &  attr_name  ) 

Delete the attribute from dictionary.

Parameters:
attr_name the attribute name to be removed

void del_attr_dict ( const vector< string > &  del_keys  ) 

Delete the attributes from the dictionary.

Parameters:
del_keys the attrutes' names to be removed

vector<Pixel> find_pixels_with_value ( float  val  ) 

Find pixels in the image with exactly the specified values.

Parameters:
val The value to look for
Returns:
An array of pixels with the specified values

MCArray2D get_2dcview ( int  x0,
int  y0 
) const

Get complex image raw pixel data in a 2D multi-array format.

The data coordinates is translated by (x0,y0) such that array[y0][x0] points to the pixel at the origin location. the data coordiates translated by (x0,y0). The array shares the memory space with the image data.

It should be used on 2D image only.

Parameters:
x0 X-axis translation amount.
y0 Y-axis translation amount.
Returns:
2D multi-array format of the raw data.

MCArray2D get_2dcview (  )  const

Get complex image raw pixel data in a 2D multi-array format.

The array shares the memory space with the image data.

It should be used on 2D image only.

Returns:
2D multi-array format of the raw data.

MArray2D get_2dview ( int  x0,
int  y0 
) const

Get image raw pixel data in a 2D multi-array format.

The data coordinates is translated by (x0,y0) such that array[y0][x0] points to the pixel at the origin location. the data coordiates translated by (x0,y0). The array shares the memory space with the image data.

It should be used on 2D image only.

Parameters:
x0 X-axis translation amount.
y0 Y-axis translation amount.
Returns:
2D multi-array format of the raw data.

MArray2D get_2dview (  )  const

Get image raw pixel data in a 2D multi-array format.

The array shares the memory space with the image data. Notice: the subscription order is d[y][x] in Python, it's d[x][y] in C++

It should be used on 2D image only.

Returns:
2D multi-array format of the raw data.

MCArray3D get_3dcview ( int  x0,
int  y0,
int  z0 
) const

Get complex image raw pixel data in a 3D multi-array format.

The data coordinates is translated by (x0,y0,z0) such that array[z0][y0][x0] points to the pixel at the origin location. the data coordiates translated by (x0,y0,z0). The array shares the memory space with the image data.

It should be used on 3D image only.

Parameters:
x0 X-axis translation amount.
y0 Y-axis translation amount.
z0 Z-axis translation amount.
Returns:
3D multi-array format of the raw data.

MCArray3D get_3dcview (  )  const

Get complex image raw pixel data in a 3D multi-array format.

The array shares the memory space with the image data.

It should be used on 3D image only.

Returns:
3D multi-array format of the raw data.

MCArray3D* get_3dcviewptr (  )  const

Get pointer to a complex image raw pixel data in a 3D multi-array format.

The array shares the memory space with the image data.

It should be used on 3D image only.

Returns:
Pointer to a 3D multi-array format of the raw data.

MArray3D get_3dview ( int  x0,
int  y0,
int  z0 
) const

Get image raw pixel data in a 3D multi-array format.

The data coordinates is translated by (x0,y0,z0) such that array[z0][y0][x0] points to the pixel at the origin location. the data coordiates translated by (x0,y0,z0). The array shares the memory space with the image data.

It should be used on 3D image only.

Parameters:
x0 X-axis translation amount.
y0 Y-axis translation amount.
z0 Z-axis translation amount.
Returns:
3D multi-array format of the raw data.

MArray3D get_3dview (  )  const

Get image raw pixel data in a 3D multi-array format.

The array shares the memory space with the image data. Notice: the subscription order is d[z][y][x] in Python, it's d[x][y][z] in C++ --grant Tang

It should be used on 3D image only.

Returns:
3D multi-array format of the raw data.

float get_amplitude_thres ( float  thres  ) 

return the FFT amplitude which is greater than thres %

Exceptions:
ImageFormatException If the image is not a complex image.
Returns:
The FFT amplitude which is greater than thres %.

EMObject get_attr ( const string &  attr_name  )  const

The generic way to get any image header information given a header attribute name.

If the attribute does not exist, it will raise an exception.

Parameters:
attr_name The header attribute name.
Returns:
The attribute value.
Exceptions:
NotExistingObjectException when attribute not exist

Referenced by ali3d_d(), is_fftpadded(), is_FH(), is_flipped(), is_shuffled(), EMAN::Util::multiref_polar_ali_2d_local(), EMAN::Util::multiref_polar_ali_2d_local_psi(), EMAN::KMeansAnalyzer::reseed(), and EMAN::KMeansAnalyzer::update_centers().

EMObject get_attr_default ( const string &  attr_name,
const EMObject &  em_obj = EMObject() 
) const

The generic way to get any image header information given a header attribute name.

If the attribute does not exist, it will return a default EMObject() object, which will be converted to None in Python. Or return any object user submit.

Parameters:
attr_name The header attribute name.
em_obj the default attribute to return when this attr_name not exist in attr_dict
Returns:
The attribute value, default to None.

Dict get_attr_dict (  )  const

Get the image attribute dictionary containing all the image attribute names and attribute values.

Returns:
The image attribute dictionary containing all attribute names and values.

int get_changecount (  )  const [inline]

Definition at line 964 of file emdata_metadata.h.

00965 {
00966         return changecount;
00967 }

float get_circle_mean (  ) 

Calculates the circular edge mean by applying a circular mask on 'this' image.

Returns:
The circular edge mean.

const float* get_const_data (  )  const [inline]

Get the image pixel density data in a 1D float array - const version of get_data.

Returns:
The image pixel density data.

Definition at line 85 of file emdata_metadata.h.

References get_data().

00085 { return get_data(); }

Ctf* get_ctf (  )  const

Get ctf parameter of this image.

Returns:
The ctf parameter.

float* get_data (  )  const [inline]

Get the image pixel density data in a 1D float array.

Returns:
The image pixel density data.

Definition at line 79 of file emdata_metadata.h.

References rdata.

Referenced by CleanStack(), CleanStack_Cart(), cmplx(), EMAN::Util::ener_tot(), get_const_data(), get_data_as_vector(), get_value_at(), EMAN::PCA::Lanczos(), EMAN::EMUtil::make_image_median(), operator()(), ReadStackandDist_Cart(), set_value_at(), set_value_at_fast(), and unified().

00079 { return rdata; }

vector<float> get_data_as_vector (  )  const [inline]

Get the pixel data as a vector.

Returns:
a vector containing the pixel data.

Definition at line 634 of file emdata_metadata.h.

References copy(), data, get_data(), get_size(), and v.

00634                                                 {
00635         int size = get_size();
00636         vector<float> v(size);
00637         float* data = get_data();
00638         std::copy(data,data+size,v.begin());
00639         return v;
00640 }

std::string get_data_pickle (  )  const

float get_edge_mean (  )  const

Calculates the mean pixel values around the (1 pixel) edge of the image.

Returns:
The mean pixel values around the (1 pixel) edge.

EMData* get_fft_amplitude (  ) 

return the amplitudes of the FFT including the left half

Exceptions:
ImageFormatException If the image is not a complex image.
Returns:
The current FFT image's amplitude image.

EMData* get_fft_amplitude2D (  ) 

return the amplitudes of the 2D FFT including the left half PRB

Exceptions:
ImageFormatException If the image is not a complex image.

Returns:
The current FFT image's amplitude image.

EMData* get_fft_phase (  ) 

return the phases of the FFT including the left half

Exceptions:
ImageFormatException If the image is not a complex image.
Returns:
The current FFT image's phase image.

int get_flags (  )  const [inline]

Definition at line 954 of file emdata_metadata.h.

00955 {
00956         return flags;
00957 }

int get_ndim (  )  const [inline]

Get image dimension.

Returns:
image dimension.

Definition at line 645 of file emdata_metadata.h.

References ny.

00646 {
00647         if (nz <= 1) {
00648                 if (ny <= 1) {
00649                         return 1;
00650                 }
00651                 else {
00652                         return 2;
00653                 }
00654         }
00655 
00656         return 3;
00657 }

string get_path (  )  const [inline]

Definition at line 1003 of file emdata_metadata.h.

01004 {
01005         return path;
01006 }

int get_pathnum (  )  const [inline]

Definition at line 1008 of file emdata_metadata.h.

01009 {
01010         return pathnum;
01011 }

size_t get_size (  )  const [inline]

Get the number of allocated floats in the image (nx*ny*nz).

Returns:
nx*ny*nz

Definition at line 626 of file emdata_metadata.h.

References nx, and ny.

Referenced by get_data_as_vector().

00627 {
00628         return (size_t)nx*(size_t)ny*(size_t)nz;
00629 }

int get_supp_pickle (  )  const

Transform get_transform (  )  const [inline]

Get the 3D orientation of 'this' image.

Returns:
The 3D orientation of 'this' image.

Definition at line 303 of file emdata_metadata.h.

00304 {
00305         Dict rotation_dict;
00306         rotation_dict["type"] = "eman";
00307         rotation_dict["alt"] = attr_dict["euler_alt"];
00308         rotation_dict["az"] = attr_dict["euler_az"];
00309         rotation_dict["phi"] = attr_dict["euler_phi"];
00310 
00311         Transform trans;
00312         trans.to_identity();
00313         trans.set_rotation(rotation_dict);
00314 
00315         return trans;
00316 }

Vec3f get_translation (  )  const [inline]

Get 'this' image's translation vector from the original location.

Returns:
'this' image's translation vector from the original location.

Definition at line 272 of file emdata_metadata.h.

00273 {
00274         return all_translation;
00275 }

int get_xoff (  )  const [inline]

Definition at line 974 of file emdata_metadata.h.

00975 {
00976         return xoff;
00977 }

int get_xsize (  )  const [inline]

Get the image x-dimensional size.

Returns:
Image x-dimensional size.

Definition at line 599 of file emdata_metadata.h.

References nx.

Referenced by EMAN::KMeansAnalyzer::analyze(), EMAN::MarchingCubes::draw_cube(), main(), and median().

00600 {
00601         return nx;
00602 }

int get_yoff (  )  const [inline]

Definition at line 979 of file emdata_metadata.h.

00980 {
00981         return yoff;
00982 }

int get_ysize (  )  const [inline]

Get the image y-dimensional size.

Returns:
Image y-dimensional size.

Definition at line 608 of file emdata_metadata.h.

References ny.

Referenced by EMAN::KMeansAnalyzer::analyze(), EMAN::MarchingCubes::draw_cube(), and median().

00609 {
00610         return ny;
00611 }

int get_zoff (  )  const [inline]

Definition at line 984 of file emdata_metadata.h.

00985 {
00986         return zoff;
00987 }

int get_zsize (  )  const [inline]

Get the image z-dimensional size.

Returns:
Image z-dimensional size.

Definition at line 617 of file emdata_metadata.h.

Referenced by EMAN::KMeansAnalyzer::analyze(), EMAN::MarchingCubes::draw_cube(), and median().

00618 {
00619         return nz;
00620 }

bool has_attr ( const string &  key  )  const [inline]

Ask if the header has a particular attribute.

Parameters:
key the header attribute name
Returns:
whether or not the header has the name as a key/value entry

Definition at line 553 of file emdata_metadata.h.

Referenced by is_fftpadded(), is_FH(), and is_shuffled().

00553                                               {
00554         return attr_dict.has_key(key);
00555 }

bool has_ctff (  )  const [inline]

check whether the image physical file has the CTF info or not.

Returns:
True if it has the CTF information. Otherwise, false.

Definition at line 151 of file emdata_metadata.h.

00152 {
00153         if (this->has_attr("ctf")) {
00154                 return true;
00155         }
00156         else {
00157                 return false;
00158         }
00159 }

bool is_complex (  )  const [inline]

Is this a complex image?

Returns:
Whether this is a complex image or not.

Definition at line 697 of file emdata_metadata.h.

Referenced by is_real(), EMAN::TestUtil::make_image_file_by_mode(), and EMAN::TestUtil::verify_image_file_by_mode().

00698 {
00699         if(attr_dict.has_key("is_complex")) {
00700                 if (int(attr_dict["is_complex"])) {
00701                         return true;
00702                 }
00703                 else {
00704                         return false;
00705                 }
00706         }
00707         else {
00708                 return false;
00709         }
00710 }

bool is_complex_x (  )  const [inline]

Is this image a 1D FFT image in X direction?

Returns:
Whether this image is a 1D FFT image in X direction.

Definition at line 776 of file emdata_metadata.h.

00777 {
00778         if(attr_dict.has_key("is_complex_x")) {
00779                 if (int(attr_dict["is_complex_x"])) {
00780                         return true;
00781                 }
00782                 else {
00783                         return false;
00784                 }
00785         }
00786         else {
00787                 return false;
00788         }
00789 }

bool is_fftodd (  )  const [inline]

Does this image correspond to a (real-space) odd nx?

Returns:
Whether this image has a (real-space) odd nx.

Definition at line 913 of file emdata_metadata.h.

Referenced by EMAN::FourierReconstructor::setup(), EMAN::FourierReconstructorSimple2D::setup(), and EMAN::FourierReconstructor::setup_seed().

00914 {
00915         if(flags & EMDATA_FFTODD) {
00916                 return true;
00917         }
00918         else if( attr_dict.has_key("is_fftodd") && (int)attr_dict["is_fftodd"] == 1 ) {
00919                 return true;
00920         }
00921         else {
00922                 return false;
00923         }
00924 }

bool is_fftpadded (  )  const [inline]

Is this image already extended along x for ffts?

Returns:
Whether this image is extended along x for ffts.

Definition at line 880 of file emdata_metadata.h.

References get_attr(), and has_attr().

00881 {
00882         if (flags & EMDATA_PAD) {
00883                 return true;
00884         }
00885 
00886         if(has_attr("is_fftpad")) {
00887                 return get_attr("is_fftpad");
00888         }
00889 
00890         return false;
00891 
00892 }

bool is_FH (  )  const [inline]

Is this a FH image?

Returns:
Whether this is a FH image or not.

Definition at line 680 of file emdata_metadata.h.

References get_attr(), and has_attr().

00681 {  //     PRB
00682         if (flags & EMDATA_FH) {
00683                 return true;
00684         }
00685 
00686         if(has_attr("is_fh")) {
00687                 return get_attr("is_fh");
00688         }
00689 
00690         return false;
00691 }

bool is_flipped (  )  const [inline]

Is this image flipped?

Returns:
Whether this image is flipped or not.

Definition at line 810 of file emdata_metadata.h.

References get_attr().

00811 {
00812         if (flags & EMDATA_FLIP) { //keep here for back compatibility
00813                 return true;
00814         }
00815 
00816         if(attr_dict.has_key("is_flipped")) {
00817                 if(get_attr("is_flipped")) {
00818                         return true;
00819                 }
00820         }
00821 
00822         return false;
00823 
00824 }

bool is_real (  )  const [inline]

Is this a real image?

Returns:
Whether this is image is real (not complex) or not.

Definition at line 716 of file emdata_metadata.h.

References is_complex().

00717 {
00718         return !is_complex();
00719 }

bool is_ri (  )  const [inline]

Is this image a real/imaginary format complex image?

Returns:
Whether this image is real/imaginary format complex image.

Definition at line 846 of file emdata_metadata.h.

00847 {
00848         if(attr_dict.has_key("is_complex_ri")) {
00849                 if (int(attr_dict["is_complex_ri"])) {
00850                         return true;
00851                 }
00852                 else {
00853                         return false;
00854                 }
00855         }
00856         else {
00857                 return false;
00858         }
00859 }

bool is_shuffled (  )  const [inline]

Has this image been shuffled?

Returns:
Whether this image has been shuffled to put origin in the center.

Definition at line 663 of file emdata_metadata.h.

References get_attr(), and has_attr().

00664 {  //     PRB
00665         if (flags & EMDATA_SHUFFLE) {
00666                 return true;
00667         }
00668 
00669         if(has_attr("is_shuffled")) {
00670                 return get_attr("is_shuffled");
00671         }
00672 
00673         return false;
00674 }

vector<Vec3i> mask_contig_region ( const float &  val,
const Vec3i seed 
)

void read_data ( string  fsp,
size_t  loc,
const Region *  area = 0,
const int  file_nx = 0,
const int  file_ny = 0,
const int  file_nz = 0 
)

Read the image pixel data in native byte order from a disk file.

The image should already have the correct dimensions.

Parameters:
fsp The filename to read the image data from
loc Location to seek to in the file before writing (size_t)
area The image region you want to read, default 0 means read the whole image
file_nx Image x size.
file_ny Image y size.
file_nz Image z size.
Author:
Steve Ludtke
Date:
Mon Jun 23, 2008

void scale_pixel ( float  scale_factor  )  const

Scale the angstrom per pixel of this image by a uniform amount Alters the EMData metadata I had to make this function public for access from the Processors (David Woolford).

Author:
Unknown

void set_attr ( const string &  key,
EMObject  val 
)

Set a header attribute's value.

Parameters:
key The header attribute name.
val The attribute value.

Referenced by EMAN::KMeansAnalyzer::analyze(), set_fftodd(), set_fftpad(), set_FH(), set_flipped(), set_shuffled(), and EMAN::KMeansAnalyzer::update_centers().

void set_attr_dict ( const Dict &  new_dict  ) 

Merge the new values with the existing dictionary.

Parameters:
new_dict The new attribute dictionary.

void set_attr_dict_explicit ( const Dict &  new_dict  )  [private]

Make the attributes of this EMData exactly equal to the argument dictionary Originally introduced because set_attr_dict does automatic resizing, which is undersirable in some circumstances.

Parameters:
new_dict The attribute dictionary that will become this image's attribute dictionary.

void set_attr_python ( const string &  key,
EMObject  val 
)

Set a header attribute's value from Python.

Parameters:
key The header attribute name.
val The attribute value.

void set_changecount ( int  c  )  [inline]

Definition at line 969 of file emdata_metadata.h.

00970 {
00971         changecount = c;
00972 }

void set_complex ( bool  is_complex  )  [inline]

Mark this image as a complex image.

Parameters:
is_complex If true, a complex image. If false, a real image.

Definition at line 761 of file emdata_metadata.h.

Referenced by EMAN::Util::TwoDTestFunc().

00762 {
00763         if (is_complex) {
00764                 attr_dict["is_complex"] = int(1);
00765         }
00766         else {
00767                 attr_dict["is_complex"] = int(0);
00768         }
00769 }

void set_complex_size ( int  nx,
int  ny = 1,
int  nz = 1 
)

Resize 'this' complex image.

Parameters:
nx x size of this image.
ny y size of this image.
nz z size of this image.

Definition at line 376 of file emdata_metadata.h.

References ny, and set_size().

00376                                                   {
00377         set_size(nx*2, ny, nz);
00378 }

void set_complex_x ( bool  is_complex_x  )  [inline]

Marks this image a 1D FFT image in X direction.

Parameters:
is_complex_x If true, a 1D FFT image in X direction; If false, not such an image.

Definition at line 796 of file emdata_metadata.h.

00797 {
00798         if (is_complex_x) {
00799                 attr_dict["is_complex_x"] = int(1);
00800         }
00801         else {
00802                 attr_dict["is_complex_x"] = int(0);
00803         }
00804 }

void set_ctf ( Ctf *  ctf  ) 

Set the CTF parameter of this image.

Parameters:
ctf The CTF parameter object.

void set_data ( float *  data,
const int  x,
const int  y,
const int  z 
) [inline]

Set the data explicitly data pointer must be allocated using malloc!

Parameters:
data a pointer to the pixel data which is stored in memory. Takes possession
x the number of pixels in the x direction
y the number of pixels in the y direction
z the number of pixels in the z direction

Definition at line 94 of file emdata_metadata.h.

References nx, ny, rdata, and update().

00094                                                                          {
00095         if (rdata) { EMUtil::em_free(rdata); rdata = 0; }
00096 //#ifdef EMAN2_USING_CUDA
00097 //      free_cuda_memory();
00098 //#endif
00099         rdata = data;
00100         nx = x; ny = y; nz = z;
00101         nxy = nx*ny;
00102         nxyz = (size_t)nx*ny*nz;
00103         update();
00104 }

void set_data_pickle ( std::string  vf  ) 

void set_fftodd ( bool  is_fftodd  )  [inline]

Mark this image as having (real-space) odd nx.

Parameters:
is_fftodd If true, mark as nx odd; If false, mark as nx not odd.

Definition at line 931 of file emdata_metadata.h.

References set_attr().

00932 {
00933         if (is_fftodd) {
00934                 set_attr("is_fftodd", int(1));
00935         }
00936         else {
00937                 set_attr("is_fftodd", int(0));
00938         }
00939 }

void set_fftpad ( bool  is_fftpadded  )  [inline]

Mark this image as already extended along x for ffts.

Parameters:
is_fftpadded If true, mark as padded along x; If false, mark as not padded along x.

Definition at line 899 of file emdata_metadata.h.

References set_attr().

00900 {
00901         if (is_fftpadded) {
00902                 set_attr("is_fftpad", int(1));
00903         }
00904         else {
00905                 set_attr("is_fftpad", int(0));
00906         }
00907 }

void set_FH ( bool  is_FH  )  [inline]

Mark this complex image as a FH image.

Parameters:
is_FH If true, a FH image. If false, not a FH image.

Definition at line 744 of file emdata_metadata.h.

References set_attr().

00745 { // PRB
00746         if (is_FH) {
00747 //              flags |=  EMDATA_FH;
00748                 set_attr("is_fh", (int)1);
00749         }
00750         else {
00751 //              flags &= ~EMDATA_FH;
00752                 set_attr("is_fh", (int)0);
00753         }
00754 }

void set_flags ( int  f  )  [inline]

Definition at line 959 of file emdata_metadata.h.

00960 {
00961         flags = f;
00962 }

void set_flipped ( bool  is_flipped  )  [inline]

Mark this image as flipped.

Parameters:
is_flipped If true, mark this image as flipped; If false, mark this image as not flipped.

Definition at line 831 of file emdata_metadata.h.

References set_attr().

00832 {
00833         if (is_flipped) {
00834                 set_attr("is_flipped", (int)1);
00835         }
00836         else {
00837                 set_attr("is_flipped", (int)0);
00838         }
00839 }

void set_nxc ( int  nxc  )  [inline]

Set the number of complex elements along x.

Parameters:
nxc is the number of complex elements along x.

Definition at line 945 of file emdata_metadata.h.

00946 {
00947         attr_dict["nxc"] = nxc;
00948 }

void set_path ( const string &  new_path  )  [inline]

Set the path.

Parameters:
new_path The new path.

Definition at line 384 of file emdata_metadata.h.

00385 {
00386         path = new_path;
00387 }

void set_pathnum ( int  n  )  [inline]

Set the number of paths.

Parameters:
n The number of paths.

Definition at line 393 of file emdata_metadata.h.

00394 {
00395         pathnum = n;
00396 }

void set_ri ( bool  is_ri  )  [inline]

Mark this image as a real/imaginary format complex image.

Parameters:
is_ri If true, mark as real/imaginary format; If false, mark as amp/phase format.

Definition at line 866 of file emdata_metadata.h.

Referenced by EMAN::Util::TwoDTestFunc().

00867 {
00868         if (is_ri) {
00869                 attr_dict["is_complex_ri"] = int(1);
00870         }
00871         else {
00872                 attr_dict["is_complex_ri"] = int(0);
00873         }
00874 }

void set_rotation ( const Transform &  t3d  )  [inline]

Define the 3D orientation of this particle Orientation information is extracted from a Transform object and stored internally in EMAN (az,alt,phi) format.

Parameters:
t3d a Transform object containing the particle orientation

Definition at line 339 of file emdata_metadata.h.

00340 {
00341         Dict d = t3d.get_rotation("eman");
00342         attr_dict["orientation_convention"] = "EMAN";
00343         attr_dict["euler_alt"] = (float) d["alt"];
00344         attr_dict["euler_az"] = (float) d["az"];
00345         attr_dict["euler_phi"] = (float) d["phi"];;
00346 }

void set_rotation ( float  az,
float  alt,
float  phi 
) [inline]

Define the 3D orientation of this particle, also used to indicate relative rotations for reconstructions.

Parameters:
az 'az' Euler angle in EMAN convention.
alt 'alt' Euler angle in EMAN convention.
phi 'phi' Euler angle in EMAN convention.

Definition at line 325 of file emdata_metadata.h.

00326 {
00327     attr_dict["orientation_convention"] = "EMAN";
00328         attr_dict["euler_alt"]=alt;
00329         attr_dict["euler_az"]=az;
00330         attr_dict["euler_phi"]=phi;
00331 }

void set_shuffled ( bool  is_shuffled  )  [inline]

Mark this image as a shuffled image.

Parameters:
is_shuffled If true, a shuffled image. If false, not a shuffled image.

Definition at line 726 of file emdata_metadata.h.

References set_attr().

00727 { // PRB
00728         if (is_shuffled) {
00729 //              printf("entered correct part of set_shuffled \n");
00730 //              flags |=  EMDATA_SHUFFLE;
00731                 set_attr("is_shuffled", (int)1);
00732         }
00733         else {
00734 //              flags &= ~EMDATA_SHUFFLE;
00735                 set_attr("is_shuffled", (int)0);
00736         }
00737 }

void set_size ( int  nx,
int  ny = 1,
int  nz = 1 
)

Resize this EMData's main board memory pointer.

Parameters:
nx x size of this image.
ny y size of this image.
nz z size of this image. $
Exceptions:
BadAllocException if memory allocation returns a null pointer

Referenced by set_complex_size().

void set_supp_pickle ( int  i  ) 

void set_translation ( float  dx,
float  dy,
float  dz 
) [inline]

Set 'this' images' translation vector from the original location.

Parameters:
dx The translation distance in x direction.
dy The translation distance in y direction.
dz The translation distance in z direction.

Definition at line 294 of file emdata_metadata.h.

00295 {
00296         all_translation = Vec3f(dx, dy, dz);
00297 }

void set_translation ( const Vec3f t  )  [inline]

Set 'this' images' translation vector from the original location.

Parameters:
t The new translation vector.

Definition at line 282 of file emdata_metadata.h.

00283 {
00284         all_translation = t;
00285 }

void set_xyzoff ( int  x,
int  y,
int  z 
) [inline]

Definition at line 989 of file emdata_metadata.h.

00990 {
00991         xoff = x;
00992         yoff = y;
00993         zoff = z;
00994 }

void update (  )  [inline]

Mark EMData as changed, statistics, etc will be updated at need.

Definition at line 135 of file emdata_metadata.h.

Referenced by set_data(), and EMAN::Util::TwoDTestFunc().

00136 {
00137         flags |= EMDATA_NEEDUPD;
00138         changecount++;
00139 }

void write_data ( string  fsp,
size_t  loc,
const Region *const   area = 0,
const int  file_nx = 0,
const int  file_ny = 0,
const int  file_nz = 0 
)

Dump the image pixel data in native byte order to a disk file.

Parameters:
fsp The filename to write the image data to
loc Location to seek to in the file before writing (size_t)
area The image region you want to read, default 0 means read the whole image
file_nx Image x size.
file_ny Image y size.
file_nz Image z size.
Author:
Steve Ludtke
Date:
Mon Jun 23, 2008


Generated on Mon Mar 7 17:59:26 2011 for EMAN2 by  doxygen 1.4.7