Class DescreteMetric
source code
Find neighboring points in descretized space
If input space is descretized and all points fill in N-dimensional cube,
this finder returns list of neighboring points for a given distance.
For all origin
coordinates this class exclusively operates on discretized
values, not absolute coordinates (which are e.g. in mm).
Additionally, this metric has the notion of compatible and incompatible
dataspace metrics, i.e. the descrete space might contain dimensions for
which computing an overall distance is not meaningful. This could, for
example, be a combined spatio-temporal space (three spatial dimension,
plus the temporal one). This metric allows to define a boolean mask
(compatmask) which dimensions share the same dataspace metrics and for
which the distance function should be evaluated. If a compatmask is
provided, all cordinates are projected into the subspace of the non-zero
dimensions and distances are computed within that space.
However, by using a per dimension radius argument for the getNeighbor
methods, it is nevertheless possible to define a neighborhood along all
dimension. For all non-compatible axes the respective radius is treated
as a one-dimensional distance along the respective axis.
|
__init__(self,
elementsize=1,
distance_function=cartesianDistance,
compatmask=None)
x.__init__(...) initializes x; see help(type(x)) for signature |
source code
|
|
|
|
|
_computeFilter(self,
radius)
(Re)compute filter_coord based on given radius |
source code
|
|
|
getNeighbors(self,
origin,
radius=0)
Returns coordinates of the neighbors which are within
distance from coord. |
source code
|
|
|
_setFilter(self,
filter_coord)
Lets allow to specify some custom filter to use |
source code
|
|
|
_getFilter(self)
Lets allow to specify some custom filter to use |
source code
|
|
|
|
|
|
|
_setCompatMask(self,
compatmask)
Set new value of compatmask |
source code
|
|
Inherited from Metric :
getNeighbor
Inherited from object :
__delattr__ ,
__format__ ,
__getattribute__ ,
__hash__ ,
__new__ ,
__reduce__ ,
__reduce_ex__ ,
__repr__ ,
__setattr__ ,
__sizeof__ ,
__str__ ,
__subclasshook__
|
|
filter_coord = property(fget= _getFilter, fset= _setFilter)
|
|
elementsize = property(fget= lambda self: self.__elementsize, ...
|
|
compatmask = property(_getCompatMask, _setCompatMask)
|
Inherited from object :
__class__
|
__init__(self,
elementsize=1,
distance_function=cartesianDistance,
compatmask=None)
(Constructor)
| source code
|
x.__init__(...) initializes x; see help(type(x)) for signature
- Parameters:
elementsize , float , | , sequence - The extent of a dataspace element along all dimensions.
distance_function , functor - The distance measure used to determine distances between
dataspace elements.
compatmask , 1D , bool , array , | , None - A mask where all non-zero elements indicate dimensions
with compatible spacemetrics. If None (default) all dimensions
are assumed to have compatible spacemetrics.
- Overrides:
object.__init__
|
Returns coordinates of the neighbors which are within
distance from coord.
- Parameters:
origin , 1D , array - The center coordinate of the neighborhood.
radius , scalar , | , sequence - If a scalar, the radius is treated as identical along all dimensions
of the dataspace. If a sequence, it defines a per dimension radius,
thus has to have the same number of elements as dimensions.
Currently, only spherical neighborhoods are supported. Therefore,
the radius has to be equal along all dimensions flagged as having
compatible dataspace metrics. It is, however, possible to define
variant radii for all other dimensions.
- Overrides:
Metric.getNeighbors
|
Return compatmask
Don't modify in place since it would need to require to reset
__filter_radius whenever changed
|
elementsize
- Value:
property(fget= lambda self: self.__elementsize, fset= _setElementSize)
|
|