#include <geometry.h>
Collaboration diagram for EMAN::Region:
Public Member Functions | |
Region () | |
Construct a null region with its origin at coordinate origins and its sizes to be 0. | |
Region (int x, int xsize) | |
Construct a 1D integer region. | |
Region (int x, int y, int xsize, int ysize) | |
Construct a 2D integer region. | |
Region (int x, int y, int z, int xsize, int ysize, int zsize) | |
Construct a 3D integer region. | |
Region (float x, float xsize) | |
Construct a 1D floating-number region. | |
Region (float x, float y, float xsize, float ysize) | |
Construct a 2D floating-number region. | |
Region (float x, float y, float z, float xsize, float ysize, float zsize) | |
Construct a 3D floating-number region. | |
Region (double x, double xsize) | |
Construct a 1D floating-number region. | |
Region (double x, double y, double xsize, double ysize) | |
Construct a 2D floating-number region. | |
Region (double x, double y, double z, double xsize, double ysize, double zsize) | |
Construct a 3D floating-number region. | |
Region (const FloatPoint &o, const FloatSize &s) | |
Construct a region given's orginal point and edge sizes. | |
Region (const Region &r) | |
~Region () | |
bool | inside_region () const |
to check whether a point is inside this region | |
bool | inside_region (const FloatPoint &p) const |
bool | inside_region (float x) const |
bool | inside_region (float x, float y) const |
bool | inside_region (float x, float y, float z) const |
float | get_width () const |
get the width | |
float | get_height () const |
get the height | |
float | get_depth () const |
get the depth | |
void | set_width (const float &v) |
set the width | |
void | set_height (const float &v) |
set the height | |
void | set_depth (const float &v) |
set the depth | |
float | x_origin () const |
get the x element of the origin | |
float | y_origin () const |
get the y element of the origin | |
float | z_origin () const |
get the z element of the origin | |
vector< float > | get_size () const |
get the size of each dimension as a vector | |
vector< float > | get_origin () const |
get the origin as a vector | |
void | set_origin (const vector< float > &v) |
set the origin using a vector | |
bool | is_region_in_box (const FloatSize &box) const |
To check whether 'this' region is inside a given box assuming the box's origins are (0,0,0). | |
int | get_ndim () const |
Get the region's dimension. | |
string | get_string () const |
Get the description of this region in a string. | |
Public Attributes | |
FloatPoint | origin |
FloatSize | size |
The coordinates and edge sizes can be integer or floating numbers.
Definition at line 500 of file geometry.h.
|
Construct a null region with its origin at coordinate origins and its sizes to be 0.
Definition at line 506 of file geometry.h.
|
|
Construct a 1D integer region.
Definition at line 514 of file geometry.h. References x.
|
|
Construct a 2D integer region.
Definition at line 522 of file geometry.h.
|
|
Construct a 3D integer region.
Definition at line 530 of file geometry.h.
|
|
Construct a 1D floating-number region.
Definition at line 538 of file geometry.h. References x.
|
|
Construct a 2D floating-number region.
Definition at line 546 of file geometry.h.
|
|
Construct a 3D floating-number region.
Definition at line 554 of file geometry.h.
|
|
Construct a 1D floating-number region.
Definition at line 562 of file geometry.h. References x.
|
|
Construct a 2D floating-number region.
Definition at line 570 of file geometry.h.
|
|
Construct a 3D floating-number region.
Definition at line 578 of file geometry.h.
|
|
Construct a region given's orginal point and edge sizes.
Definition at line 586 of file geometry.h.
|
|
Definition at line 590 of file geometry.h.
|
|
Definition at line 597 of file geometry.h. 00597 { 00598 }
|
|
get the depth
Definition at line 614 of file geometry.h. Referenced by EMAN::EMData::extract_box(), and EMAN::EMData::read_image(). 00614 { return size[2]; }
|
|
get the height
Definition at line 612 of file geometry.h. Referenced by EMAN::EMData::extract_box(), and EMAN::EMData::read_image(). 00612 { return size[1]; }
|
|
Get the region's dimension.
Definition at line 648 of file geometry.h. References EMAN::FloatSize::get_ndim(). Referenced by EMAN::ImageIO::check_region(), EMAN::EMData::get_clip(), EMAN::EMUtil::get_region_dims(), EMAN::EMUtil::get_region_origins(), EMAN::EMUtil::process_region_io(), and EMAN::MrcIO::read_mrc_header(). 00649 { 00650 return origin.get_ndim(); 00651 }
|
|
get the origin as a vector
Definition at line 633 of file geometry.h. Referenced by EMAN::EMUtil::process_region_io(). 00633 { return origin; }
|
|
get the size of each dimension as a vector
Definition at line 631 of file geometry.h. Referenced by EMAN::EMUtil::get_region_dims(), and EMAN::EMUtil::process_region_io(). 00631 { return size; }
|
|
Get the description of this region in a string.
Definition at line 142 of file geometry.cpp. References EMAN::FloatPoint::get_ndim(), origin, and size. Referenced by EMAN::ImageIO::check_region(). 00143 { 00144 char str[1028]; 00145 int ndim = origin.get_ndim(); 00146 00147 if (ndim == 2) { 00148 sprintf(str, "(%2.1f, %2.1f; %2.1f, %2.1f)", 00149 origin[0], origin[1], size[0], size[1]); 00150 } 00151 else if (ndim == 3) { 00152 sprintf(str, "(%2.1f, %2.1f, %2.1f; %2.1f, %2.1f, %2.1f)", 00153 origin[0], origin[1], origin[2], size[0], size[1], size[2]); 00154 } 00155 00156 return string(str); 00157 }
|
|
get the width
Definition at line 610 of file geometry.h. Referenced by EMAN::EMData::extract_box(), and EMAN::EMData::read_image(). 00610 { return size[0]; }
|
|
Definition at line 115 of file geometry.cpp. References origin, size, x, and y. 00116 { 00117 if (size[0] >= 0 && size[1] >= 0 && size[2] >= 0 && 00118 origin[0] <= x && origin[1] <= y && origin[2] <= z && 00119 (origin[0] + size[0]) > x && 00120 (origin[1] + size[1]) > y && (origin[2] + size[2]) > z) { 00121 return true; 00122 } 00123 return false; 00124 }
|
|
Definition at line 101 of file geometry.cpp. References origin, size, x, and y. 00102 { 00103 if (size[0] >= 0 && size[1] >= 0 && 00104 origin[0] <= x && origin[1] <= y && 00105 (origin[0] + size[0]) > x && (origin[1] + size[1]) > y) { 00106 return true; 00107 } 00108 return false; 00109 }
|
|
Definition at line 91 of file geometry.cpp. References origin, size, and x. 00092 { 00093 if (size[0] >= 0 && origin[0] <= x && 00094 (origin[0] + size[0]) > x ) { 00095 return true; 00096 } 00097 return false; 00098 }
|
|
Definition at line 77 of file geometry.cpp. References EMAN::FloatPoint::get_ndim(), and inside_region(). 00078 { 00079 if (p.get_ndim() == 1) { 00080 return inside_region(p[0]); 00081 } 00082 00083 00084 if (p.get_ndim() == 2) { 00085 return inside_region(p[0], p[1]); 00086 } 00087 00088 return inside_region(p[0], p[1], p[2]); 00089 }
|
|
to check whether a point is inside this region
Definition at line 68 of file geometry.cpp. References size. Referenced by inside_region(). 00069 { 00070 if (size[0] >= 0 && size[1] >= 0 && size[2] >= 0) { 00071 return true; 00072 } 00073 00074 return false; 00075 }
|
|
To check whether 'this' region is inside a given box assuming the box's origins are (0,0,0).
Definition at line 127 of file geometry.cpp. Referenced by EMAN::ImageIO::check_region(). 00128 { 00129 if (size[0] >= 0 && size[1] >= 0 && size[2] >= 0 && 00130 origin[0] >= 0 && origin[1] >= 0 && origin[2] >= 0 && 00131 (origin[0] + size[0]) <= box[0] && 00132 (origin[1] + size[1]) <= box[1] && 00133 (origin[2] + size[2]) <= box[2]) { 00134 return true; 00135 } 00136 00137 return false; 00138 }
|
|
set the depth
Definition at line 621 of file geometry.h. 00621 { size[2] = v; }
|
|
set the height
Definition at line 619 of file geometry.h. 00619 { size[1] = v; }
|
|
set the origin using a vector
Definition at line 635 of file geometry.h. 00635 { origin = v; }
|
|
set the width
Definition at line 617 of file geometry.h. 00617 { size[0] = v; }
|
|
get the x element of the origin
Definition at line 624 of file geometry.h. Referenced by EMAN::EMData::extract_box(). 00624 { return origin[0]; }
|
|
get the y element of the origin
Definition at line 626 of file geometry.h. Referenced by EMAN::EMData::extract_box(). 00626 { return origin[1]; }
|
|
get the z element of the origin
Definition at line 628 of file geometry.h. Referenced by EMAN::EMData::extract_box(). 00628 { return origin[2]; }
|
|
|
Definition at line 659 of file geometry.h. Referenced by EMAN::EMData::clip_inplace(), EMAN::EMData::get_clip(), get_string(), EMAN::EMData::insert_clip(), EMAN::TestTomoImage::insert_rectangle(), inside_region(), is_region_in_box(), and Region(). |