Woolz Image Processing Version 1.4.0
|
Domain and grey-value access procedures. More...
Data Structures | |
struct | _WlzIntervalWSpace |
The standard workspace structure for interval objects. Typedef: WlzIntervalWSpace. More... | |
struct | _WlzGreyWSpace |
The standard workspace for grey value table manipulations. Typedef: WlzGreyWSpace. More... | |
struct | _WlzIterateWSpace |
A workspace structure for interval objects which allows iteration through an object's pixels/voxels.. Typedef: WlzIterateWSpace. More... | |
struct | _WlzGreyValueWSpace |
Workspace for random access grey value manipulations. Typedef: WlzGreyValueWSpace. More... | |
Files | |
file | WlzGreyValue.c |
Provides functions for random access to the grey values of 2D and 3D domain objects. | |
file | WlzInsideDomain.c |
Functions which check whether a given vertex lies within an object's domain. | |
Enumerations | |
enum | _WlzRasterDir { WLZ_RASTERDIR_DC = (1), WLZ_RASTERDIR_DL = (1 << 1), WLZ_RASTERDIR_DP = (1 << 2), WLZ_RASTERDIR_ILIC = (0), WLZ_RASTERDIR_ILDC = WLZ_RASTERDIR_DC, WLZ_RASTERDIR_DLIC = WLZ_RASTERDIR_DL, WLZ_RASTERDIR_DLDC = (WLZ_RASTERDIR_DL | WLZ_RASTERDIR_DC), WLZ_RASTERDIR_IPILIC = WLZ_RASTERDIR_ILIC, WLZ_RASTERDIR_IPILDC = WLZ_RASTERDIR_ILDC, WLZ_RASTERDIR_IPDLIC = WLZ_RASTERDIR_DLIC, WLZ_RASTERDIR_IPDLDC = WLZ_RASTERDIR_DLDC, WLZ_RASTERDIR_DPILIC = (WLZ_RASTERDIR_DP | WLZ_RASTERDIR_ILIC), WLZ_RASTERDIR_DPILDC = (WLZ_RASTERDIR_DP | WLZ_RASTERDIR_ILDC), WLZ_RASTERDIR_DPDLIC = (WLZ_RASTERDIR_DP | WLZ_RASTERDIR_DLIC), WLZ_RASTERDIR_DPDLDC = (WLZ_RASTERDIR_DP | WLZ_RASTERDIR_DLDC) } |
Raster scan directions as used by WlzIntervalWSpace and WlzIterateWSpace. These are built using bit masks with bits set for decreasing in each of the directions. Typedef: WlzRasterDir. More... | |
Functions | |
WlzErrorNum | read_WlzTiePoints (FILE *fp, int *nTiePP, WlzDVertex3 **vxVec01, WlzDVertex3 **vxVec11, const int ReadDisplacement) |
Get the index of the tetrahedrons which intersect with a giving z = constant plane. | |
WlzGreyValueWSpace * | WlzGreyValueMakeWSp (WlzObject *obj, WlzErrorNum *dstErrNum) |
Creates a grey value work space from the given object. The resulting grey value work space should be freed using WlzGreyValueFreeWSp(). | |
void | WlzGreyValueFreeWSp (WlzGreyValueWSpace *gVWSp) |
Free's the given grey value work space created by WlzGreyValueMakeWSp(). | |
void | WlzGreyValueGet (WlzGreyValueWSpace *gVWSp, double plane, double line, double kol) |
Gets a single grey value/pointer for the given point from the object with which the given work space was initialised. | |
void | WlzGreyValueGetCon (WlzGreyValueWSpace *gVWSp, double plane, double line, double kol) |
Gets the four/eight connected grey values/pointers for the given point which lie at: | |
WlzGreyType | WlzGreyValueGetGreyType (WlzGreyValueWSpace *gVWSp, WlzErrorNum *dstErr) |
Access function to get the object's grey type. | |
int | WlzGreyValueGetI (WlzGreyValueWSpace *gVWSp, double plane, double line, double kol) |
Gets a single grey value for the given point from the object with which the given work space was initialised. | |
double | WlzGreyValueGetD (WlzGreyValueWSpace *gVWSp, double plane, double line, double kol) |
Gets a single grey value for the given point from the object with which the given work space was initialised. | |
int | WlzInsideDomain2D (WlzIntervalDomain *iDom, int line, int kol, WlzErrorNum *dstErr) |
Looks to see if the given point is within the given interval domain. | |
int | WlzInsideDomain3D (WlzPlaneDomain *pDom, int plane, int line, int kol, WlzErrorNum *dstErr) |
Looks to see if the given point is within the given 3D domain. | |
int | WlzInsideDomain (WlzObject *obj, double plane, double line, double kol, WlzErrorNum *dstErr) |
Looks to see if the given point is within the objects domain. |
Domain and grey-value access procedures.
enum _WlzRasterDir |
Raster scan directions as used by WlzIntervalWSpace and WlzIterateWSpace. These are built using bit masks with bits set for decreasing in each of the directions. Typedef: WlzRasterDir.
WlzErrorNum read_WlzTiePoints | ( | FILE * | fp, |
int * | nTiePP, | ||
WlzDVertex3 ** | vxVec01, | ||
WlzDVertex3 ** | vxVec11, | ||
const int | ReadDisplacement | ||
) |
Get the index of the tetrahedrons which intersect with a giving z = constant plane.
zConst | z = const plane. |
fp | pointer pointing to a specific file. |
wmt3D | mesh transform. |
References AlcRealloc(), IN_RECORD_MAX, _WlzDVertex3::vtX, _WlzDVertex3::vtY, _WlzDVertex3::vtZ, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, and WLZ_ERR_READ_INCOMPLETE.
WlzGreyValueWSpace* WlzGreyValueMakeWSp | ( | WlzObject * | obj, |
WlzErrorNum * | dstErrNum | ||
) |
Creates a grey value work space from the given object. The resulting grey value work space should be freed using WlzGreyValueFreeWSp().
obj | Given object. |
dstErrNum | Destination error pointer, may be NULL. |
References AlcCalloc(), _WlzTiledValues::bckgrnd, _WlzIntervalValues::bckgrnd, _WlzRectValues::bckgrnd, _WlzRagRValues::bckgrnd, _WlzValues::core, _WlzDomain::core, _WlzGreyValueWSpace::domain, _WlzObject::domain, _WlzPlaneDomain::domains, _WlzGreyValueWSpace::gBkd, _WlzGreyValueWSpace::gTabType, _WlzGreyValueWSpace::gTabType2D, _WlzGreyValueWSpace::gTabTypes3D, _WlzGreyValueWSpace::gType, _WlzDomain::i, _WlzValues::i, _WlzGreyValueWSpace::iDom2D, _WlzGreyValueWSpace::invTrans, _WlzPlaneDomain::lastpl, _WlzValues::obj, _WlzGreyValueWSpace::objType, _WlzDomain::p, _WlzGreyValueWSpace::plane, _WlzPlaneDomain::plane1, _WlzValues::r, _WlzDomain::t, _WlzValues::t, _WlzCoreDomain::type, _WlzIntervalDomain::type, _WlzCoreValues::type, _WlzObject::type, _WlzPixelV::type, _WlzGreyV::ubv, _WlzValues::v, _WlzPixelV::v, _WlzVoxelValues::values, _WlzGreyValueWSpace::values, _WlzObject::values, _WlzGreyValueWSpace::values2D, _WlzValues::vox, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_DBG, WLZ_DBG_LVL_1, WLZ_DBG_LVL_FN, WLZ_DUMMY_ENTRY, WLZ_EMPTY_OBJ, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_DOMAIN_TYPE, WLZ_ERR_GREY_TYPE, WLZ_ERR_MEM_ALLOC, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PARAM_DATA, WLZ_ERR_VALUES_DATA, WLZ_ERR_VALUES_NULL, WLZ_ERR_VALUES_TYPE, WLZ_GREY_DOUBLE, WLZ_GREY_ERROR, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_LONG, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_TAB_INTL, WLZ_GREY_TAB_RAGR, WLZ_GREY_TAB_RECT, WLZ_GREY_TAB_TILED, WLZ_GREY_UBYTE, WLZ_INTERVALDOMAIN_INTVL, WLZ_INTERVALDOMAIN_RECT, WLZ_PLANEDOMAIN_DOMAIN, WLZ_TRANS_OBJ, WLZ_VOXELVALUETABLE_GREY, WlzAffineTransformCopy(), WlzAffineTransformInverse(), WlzAffineTransformProduct(), WlzFreeAffineTransform(), WlzGreyTableIsTiled(), WlzGreyTableTypeToGreyType(), WlzGreyTableTypeToTableType(), and WlzGreyValueFreeWSp().
Referenced by Wlz3DViewTransformObj(), WlzCCorS2D(), WlzCMeshFromBalLBTDom2D(), WlzCMeshFromBalLBTDom3D(), WlzCMeshIntersectDom2D5(), WlzGetProjectionFromObject(), WlzGreyValueMixing_s(), WlzLBTBalanceDomain2D(), WlzLBTBalanceDomain3D(), WlzLBTIndexObjSetAllNodes2D(), WlzLBTIndexObjSetAllNodes3D(), WlzLBTMakeNodeIndexObj2D(), WlzLBTMakeNodeIndexObj3D(), WlzPolarSample(), WlzProjectObjToPlane(), and WlzTransposeObj().
void WlzGreyValueFreeWSp | ( | WlzGreyValueWSpace * | gVWSp | ) |
Free's the given grey value work space created by WlzGreyValueMakeWSp().
gVWSp | Given grey value work space. |
References AlcFree(), _WlzGreyValueWSpace::gTabTypes3D, _WlzGreyValueWSpace::invTrans, WLZ_DBG, WLZ_DBG_LVL_1, WLZ_DBG_LVL_FN, and WlzFreeAffineTransform().
Referenced by Wlz3DViewTransformObj(), WlzCCorS2D(), WlzCMeshFromBalLBTDom2D(), WlzCMeshFromBalLBTDom3D(), WlzGreyValueMakeWSp(), WlzGreyValueMixing_s(), WlzLBTBalanceDomain2D(), WlzLBTBalanceDomain3D(), WlzLBTIndexObjSetAllNodes2D(), WlzLBTIndexObjSetAllNodes3D(), WlzLBTMakeNodeIndexObj2D(), WlzLBTMakeNodeIndexObj3D(), WlzPolarSample(), WlzProjectObjToPlane(), and WlzTransposeObj().
void WlzGreyValueGet | ( | WlzGreyValueWSpace * | gVWSp, |
double | plane, | ||
double | line, | ||
double | kol | ||
) |
Gets a single grey value/pointer for the given point from the object with which the given work space was initialised.
gVWSp | Grey value work space. |
plane | Plane (z) coordinate of point. |
line | Line (y) coordinate of point. |
kol | Column (x) coordinate of point. |
References _WlzGreyValueWSpace::gTabType, _WlzGreyValueWSpace::invTrans, _WlzGreyValueWSpace::objType, _WlzDVertex3::vtX, _WlzDVertex2::vtX, _WlzDVertex3::vtY, _WlzDVertex2::vtY, _WlzDVertex3::vtZ, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_GREY_TAB_TILED, WLZ_NINT, WlzAffineTransformVertexD2(), and WlzAffineTransformVertexD3().
Referenced by Wlz3DViewTransformObj(), WlzCCorS2D(), WlzCMeshIntersectDom2D5(), WlzGetProjectionFromObject(), WlzGreyValueGetD(), WlzGreyValueGetDir(), WlzGreyValueGetI(), WlzLBTClassifyNode2D(), WlzLBTClassifyNodeFace3D(), WlzLBTCountNodNbrDir2D(), WlzPolarSample(), and WlzTransposeObj().
void WlzGreyValueGetCon | ( | WlzGreyValueWSpace * | gVWSp, |
double | plane, | ||
double | line, | ||
double | kol | ||
) |
Gets the four/eight connected grey values/pointers for the given point which lie at:
(p, k, l), (p, k + 1, l), (p, k, l + 1), (p, k + 1, l + 1), (p + 1, k, l), (p + 1, k + 1, l), (p + 1, k, l + 1), (p + 1, k + 1, l + 1). *
gVWSp | Grey value work space. |
plane | Plane (z) coordinate of point. |
line | Line (y) coordinate of point. |
kol | Column (x) coordinate of point. |
References _WlzGreyValueWSpace::gTabType, _WlzGreyValueWSpace::invTrans, _WlzGreyValueWSpace::objType, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, and WLZ_GREY_TAB_TILED.
WlzGreyType WlzGreyValueGetGreyType | ( | WlzGreyValueWSpace * | gVWSp, |
WlzErrorNum * | dstErr | ||
) |
Access function to get the object's grey type.
gVWSp | Grey value work space. |
dstErr | Destination error pointer, may be NULL. |
References _WlzGreyValueWSpace::gType, WLZ_ERR_NONE, WLZ_ERR_PARAM_NULL, and WLZ_GREY_ERROR.
int WlzGreyValueGetI | ( | WlzGreyValueWSpace * | gVWSp, |
double | plane, | ||
double | line, | ||
double | kol | ||
) |
Gets a single grey value for the given point from the object with which the given work space was initialised.
gVWSp | Grey value work space. |
plane | Plane (z) coordinate of point. |
line | Line (y) coordinate of point. |
kol | Column (x) coordinate of point. |
References _WlzGreyV::dbv, _WlzGreyV::flv, _WlzGreyValueWSpace::gType, _WlzGreyValueWSpace::gVal, _WlzGreyV::inv, _WlzGreyV::lnv, _WlzGreyV::rgbv, _WlzGreyV::shv, _WlzGreyV::ubv, WLZ_CLAMP, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_LONG, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_UBYTE, WLZ_NINT, and WlzGreyValueGet().
double WlzGreyValueGetD | ( | WlzGreyValueWSpace * | gVWSp, |
double | plane, | ||
double | line, | ||
double | kol | ||
) |
Gets a single grey value for the given point from the object with which the given work space was initialised.
gVWSp | Grey value work space. |
plane | Plane (z) coordinate of point. |
line | Line (y) coordinate of point. |
kol | Column (x) coordinate of point. |
References _WlzGreyV::dbv, _WlzGreyV::flv, _WlzGreyValueWSpace::gType, _WlzGreyValueWSpace::gVal, _WlzGreyV::inv, _WlzGreyV::lnv, _WlzGreyV::rgbv, _WlzGreyV::shv, _WlzGreyV::ubv, WLZ_GREY_DOUBLE, WLZ_GREY_FLOAT, WLZ_GREY_INT, WLZ_GREY_LONG, WLZ_GREY_RGBA, WLZ_GREY_SHORT, WLZ_GREY_UBYTE, and WlzGreyValueGet().
int WlzInsideDomain2D | ( | WlzIntervalDomain * | iDom, |
int | line, | ||
int | kol, | ||
WlzErrorNum * | dstErr | ||
) |
Looks to see if the given point is within the given interval domain.
iDom | Given interval domain. |
line | Line (y) position. |
kol | Column (x) position. |
dstErr | Destination error pointer, may be NOT NULL. |
References _WlzIntervalDomain::intvlines, _WlzIntervalLine::intvs, _WlzIntervalDomain::kol1, _WlzIntervalDomain::line1, _WlzIntervalLine::nintvs, _WlzIntervalDomain::type, WLZ_ERR_DOMAIN_TYPE, WLZ_INTERVALDOMAIN_INTVL, and WLZ_INTERVALDOMAIN_RECT.
Referenced by WlzInsideDomain(), and WlzInsideDomain3D().
int WlzInsideDomain3D | ( | WlzPlaneDomain * | pDom, |
int | plane, | ||
int | line, | ||
int | kol, | ||
WlzErrorNum * | dstErr | ||
) |
Looks to see if the given point is within the given 3D domain.
pDom | Given plane domain. |
plane | Plane (z) position. |
line | Line (y) position. |
kol | Column (x) position. |
dstErr | Destination error pointer, may be NOT NULL. |
References _WlzPlaneDomain::domains, _WlzDomain::i, _WlzPlaneDomain::plane1, and WlzInsideDomain2D().
Referenced by WlzInsideDomain().
int WlzInsideDomain | ( | WlzObject * | obj, |
double | plane, | ||
double | line, | ||
double | kol, | ||
WlzErrorNum * | dstErr | ||
) |
Looks to see if the given point is within the objects domain.
obj | Given object. |
plane | Plane (z) position, only used if the object has a 3D domain. |
line | Line (y) position. |
kol | Column (x) position. |
dstErr | Destination error pointer, may be NULL. |
References _WlzValues::core, _WlzDomain::core, _WlzObject::domain, _WlzDomain::i, _WlzValues::obj, _WlzDomain::p, _WlzDomain::t, _WlzCoreDomain::type, _WlzObject::type, _WlzObject::values, _WlzDVertex3::vtX, _WlzDVertex2::vtX, _WlzDVertex3::vtY, _WlzDVertex2::vtY, _WlzDVertex3::vtZ, WLZ_2D_DOMAINOBJ, WLZ_3D_DOMAINOBJ, WLZ_DBG, WLZ_DBG_LVL_1, WLZ_DBG_LVL_FN, WLZ_ERR_DOMAIN_NULL, WLZ_ERR_NONE, WLZ_ERR_OBJECT_NULL, WLZ_ERR_OBJECT_TYPE, WLZ_ERR_PLANEDOMAIN_TYPE, WLZ_ERR_TRANSFORM_TYPE, WLZ_ERR_VALUES_NULL, WLZ_NINT, WLZ_PLANEDOMAIN_DOMAIN, WLZ_TRANS_OBJ, WlzAffineTransformDimension(), WlzAffineTransformInverse(), WlzAffineTransformVertexD2(), WlzAffineTransformVertexD3(), WlzFreeAffineTransform(), WlzInsideDomain2D(), and WlzInsideDomain3D().
Referenced by Wlz2DContains(), WlzCMeshBoundConform2D(), WlzCMeshBoundConform3D(), WlzGeomObjLineSegIntersect2D(), WlzGeomObjLineSegIntersect3D(), WlzGetProjectionFromObject(), WlzLBTDomain2DFromIDomain(), and WlzLBTDomain3DFromPDomain().