Woolz Image Processing  Version 1.8.3
Wlz3DSubSection.c File Reference

Return a sub-region of a 3D section via a 3D section transform. More...

Macros

#define WLZ_FAST_CODE
 
#define WLZ_GETSUBSEC_POS(P, V, X, Y)
 
#define WLZ_GETSUBSEC_VAL(G, V, K, Y)
 
#define WLZ_GETSUBSEC_CONVAL(G, F0, F1, V, K, Y)
 

Functions

WlzObjectWlzGetSubSectionFromObject (WlzObject *obj, WlzObject *subDomain, WlzThreeDViewStruct *view, WlzInterpolationType interp, WlzObject **maskRtn, WlzErrorNum *dstErr)
 Computes a section through the given 3D object. More...
 

Detailed Description

Return a sub-region of a 3D section via a 3D section transform.

Author
Richard Baldock, Bill Hill
Date
May 2008
Version
Id
d19546f00d06b01d7975e2e235c2f3064f9cacf9
Address: MRC Human Genetics Unit, MRC Institute of Genetics and Molecular Medicine, University of Edinburgh, Western General Hospital, Edinburgh, EH4 2XU, UK.
Copyright (C), [2012], The University Court of the University of Edinburgh, Old College, Edinburgh, UK.

This program is free software; you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation; either version 2 of the License, or (at your option) any later version.

This program is distributed in the hope that it will be useful but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with this program; if not, write to the Free Software Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.

Macro Definition Documentation

◆ WLZ_FAST_CODE

#define WLZ_FAST_CODE

◆ WLZ_GETSUBSEC_POS

#define WLZ_GETSUBSEC_POS (   P,
  V,
  X,
 
)
Value:
(P).vtX = (V)->xp_to_x[(X)] + (Y).vtX; \
(P).vtY = (V)->xp_to_y[(X)] + (Y).vtY; \
(P).vtZ = (V)->xp_to_z[(X)] + (Y).vtZ; \

◆ WLZ_GETSUBSEC_VAL

#define WLZ_GETSUBSEC_VAL (   G,
  V,
  K,
 
)
Value:
{ \
int x; \
WlzDVertex3 p; \
\
x = k - WLZ_NINT((V)->minvals.vtX); \
WLZ_GETSUBSEC_POS(p,(V),x,(Y)) \
WlzGreyValueGet((G), WLZ_NINT(p.vtZ), WLZ_NINT(p.vtY), WLZ_NINT(p.vtX)); \
}
#define WLZ_NINT(X)
Definition: WlzMacro.h:58

◆ WLZ_GETSUBSEC_CONVAL

#define WLZ_GETSUBSEC_CONVAL (   G,
  F0,
  F1,
  V,
  K,
 
)
Value:
{ \
int x; \
WlzDVertex3 p; \
\
x = k - WLZ_NINT((V)->minvals.vtX); \
WLZ_GETSUBSEC_POS(p,(V),x,(Y)) \
WlzGreyValueGetCon((G), p.vtZ, p.vtY, p.vtX); \
(F0).vtX = p.vtX - WLZ_NINT(p.vtX - 0.5); \
(F0).vtY = p.vtY - WLZ_NINT(p.vtY - 0.5); \
(F0).vtZ = p.vtZ - WLZ_NINT(p.vtZ - 0.5); \
(F1).vtX = 1.0 - (F0).vtX; \
(F1).vtY = 1.0 - (F0).vtY; \
(F1).vtZ = 1.0 - (F0).vtZ; \
}
#define WLZ_NINT(X)
Definition: WlzMacro.h:58