Classes | Public Types | Public Member Functions | Static Public Member Functions | Public Attributes | Protected Member Functions | List of all members
mirtk::PointLocator Class Reference

#include <PointLocator.h>

Inheritance diagram for mirtk::PointLocator:
Inheritance graph
Collaboration diagram for mirtk::PointLocator:
Collaboration graph

Classes

struct  FeatureInfo
 

Public Types

typedef Array< FeatureInfoFeatureList
 List of point features to use for nearest neighbor search.
 

Public Member Functions

Array< int > FindClosestNPoints (int k, double *point, Array< double > *dist2=NULL)
 
Array< int > FindClosestNPoints (int k, vtkPointSet *dataset, const Array< int > *sample, int index, const FeatureList *features, Array< double > *dist2=NULL)
 
Array< int > FindClosestNPoints (int k, vtkPointSet *dataset, const Array< int > *sample, int index, Array< double > *dist2=NULL)
 
Array< int > FindClosestNPoints (int k, vtkPointSet *dataset, int index, const FeatureList *features, Array< double > *dist2=NULL)
 
Array< int > FindClosestNPoints (int k, vtkPointSet *dataset, int index, Array< double > *dist2=NULL)
 
Array< Array< int > > FindClosestNPoints (int k, vtkPointSet *dataset, const Array< int > *sample, const FeatureList *features, Array< Array< double > > *dist2=NULL)
 
Array< Array< int > > FindClosestNPoints (int k, vtkPointSet *dataset, const Array< int > *sample, Array< Array< double > > *dist2=NULL)
 
Array< Array< int > > FindClosestNPoints (int k, vtkPointSet *dataset, const FeatureList *features, Array< Array< double > > *dist2=NULL)
 
Array< Array< int > > FindClosestNPoints (int k, vtkPointSet *dataset, Array< Array< double > > *dist2=NULL)
 
int FindClosestPoint (double *point, double *dist2=NULL)
 
int FindClosestPoint (vtkPointSet *dataset, const Array< int > *sample, int index, const FeatureList *features, double *dist2=NULL)
 
int FindClosestPoint (vtkPointSet *dataset, int index, const FeatureList *features, double *dist2=NULL)
 
int FindClosestPoint (vtkPointSet *dataset, const Array< int > *sample, int index, double *dist2=NULL)
 
int FindClosestPoint (vtkPointSet *dataset, int index, double *dist2=NULL)
 
Array< int > FindClosestPoint (vtkPointSet *dataset, const Array< int > *sample, const FeatureList *features, Array< double > *dist2=NULL)
 
Array< int > FindClosestPoint (vtkPointSet *dataset, const FeatureList *features, Array< double > *dist2=NULL)
 
Array< int > FindClosestPoint (vtkPointSet *dataset, const Array< int > *sample, Array< double > *dist2=NULL)
 
Array< int > FindClosestPoint (vtkPointSet *dataset, Array< double > *dist2=NULL)
 
Array< int > FindPointsWithinRadius (double radius, double *point, Array< double > *dist2=NULL)
 
Array< int > FindPointsWithinRadius (double radius, vtkPointSet *dataset, const Array< int > *sample, int index, const FeatureList *features, Array< double > *dist2=NULL)
 
Array< int > FindPointsWithinRadius (double radius, vtkPointSet *dataset, const Array< int > *sample, int index, Array< double > *dist2=NULL)
 
Array< int > FindPointsWithinRadius (double radius, vtkPointSet *dataset, int index, const FeatureList *features, Array< double > *dist2=NULL)
 
Array< int > FindPointsWithinRadius (double radius, vtkPointSet *dataset, int index, Array< double > *dist2=NULL)
 
Array< Array< int > > FindPointsWithinRadius (double radius, vtkPointSet *dataset, const Array< int > *sample, const FeatureList *features, Array< Array< double > > *dist2=NULL)
 
Array< Array< int > > FindPointsWithinRadius (double radius, vtkPointSet *dataset, const Array< int > *sample, Array< Array< double > > *dist2=NULL)
 
Array< Array< int > > FindPointsWithinRadius (double radius, vtkPointSet *dataset, const FeatureList *features, Array< Array< double > > *dist2=NULL)
 
Array< Array< int > > FindPointsWithinRadius (double radius, vtkPointSet *dataset, Array< Array< double > > *dist2=NULL)
 
 mirtkPublicAggregateMacro (vtkPointSet, DataSet)
 Dataset for which search structure is build.
 
 mirtkPublicAggregateMacro (const Array< int >, Sample)
 Indices of points to consider only or NULL.
 
 mirtkPublicAttributeMacro (FeatureList, Features)
 Indices/names and rescaling parameters of point data arrays.
 
 mirtkPublicAttributeMacro (bool, GlobalIndices)
 Return global _DataSet point indices instead of _Sample indices.
 
 mirtkReadOnlyAttributeMacro (int, NumberOfPoints)
 Number of points in search structure.
 
 mirtkReadOnlyAttributeMacro (int, PointDimension)
 Dimension of feature Arrays/points.
 
virtual ~PointLocator ()
 Destructor.
 
- Public Member Functions inherited from mirtk::Object
virtual const char * NameOfClass () const =0
 Get name of class, which this object is an instance of.
 
virtual ParameterList Parameter () const
 Get parameter name/value pairs.
 
bool Parameter (const ParameterList &)
 Set parameters from name/value pairs.
 
virtual bool Set (const char *name, const char *value)
 
virtual ~Object ()
 Destructor.
 

Static Public Member Functions

static double Distance2BetweenPoints (const double *a, const double *b, int d=3)
 
static Array< Array< int > > FindClosestNPoints (int k, vtkPointSet *dataset1, const Array< int > *sample1, const FeatureList *features1, vtkPointSet *dataset2, const Array< int > *sample2, const FeatureList *features2, Array< Array< double > > *dist2=NULL)
 
static Array< int > FindClosestPoint (vtkPointSet *dataset1, const Array< int > *sample1, const FeatureList *features1, vtkPointSet *dataset2, const Array< int > *sample2, const FeatureList *features2, Array< double > *dist2=NULL)
 
static Array< Array< int > > FindPointsWithinRadius (double radius, vtkPointSet *dataset1, const Array< int > *sample1, const FeatureList *features1, vtkPointSet *dataset2, const Array< int > *sample2, const FeatureList *features2, Array< Array< double > > *dist2=NULL)
 
static vtkDataArray * GetDataArray (vtkPointSet *dataset, const FeatureInfo &feature)
 
static int GetNumberOfPoints (vtkPointSet *dataset, const Array< int > *sample=NULL)
 
static void GetPoint (Point &point, vtkPointSet *dataset, const Array< int > *sample, int index)
 
static void GetPoint (double *point, vtkPointSet *dataset, const Array< int > *sample, int index, const FeatureList *feature=NULL)
 
static void GetPoint (double *point, vtkPointSet *dataset, int index, const FeatureList *feature=NULL)
 
static int GetPointDimension (vtkPointSet *dataset, const FeatureList *feature)
 
static int GetPointIndex (vtkPointSet *dataset, const Array< int > *sample, int index)
 
static PointLocatorNew (vtkPointSet *dataset, const Array< int > *sample=NULL, const FeatureList *feature=NULL)
 
- Static Public Member Functions inherited from mirtk::Object
static const char * NameOfType ()
 Get name of this class type.
 

Public Attributes

SharedPtr< FlannPointLocator > _FlannLocator
 FLANN point locator used for higher-dimensional feature spaces when available.
 
vtkSmartPointer< vtkOctreePointLocator > _VtkLocator
 VTK point locator used for three-dimensional feature spaces.
 

Protected Member Functions

void Initialize ()
 Initialize point locator.
 
 PointLocator ()
 Constructor.
 
- Protected Member Functions inherited from mirtk::Object
template<typename... Args>
void Throw (ErrorType err, const char *func, Args... args) const
 

Additional Inherited Members

- Static Protected Member Functions inherited from mirtk::Object
template<typename... Args>
static void ThrowStatic (ErrorType err, const char *cls, const char *func, Args... args)
 

Detailed Description

Point search structure for establishing point correspondences

This point locator implementation is specialized for use by PointCorrespondence subclass implementations. It allows the search of nearest neighbors within the n-dimensional feature space spanned by the feature arrays used to establish point correspondences.

The implementation uses either VTK for point search in three dimensions or FLANN for higher dimensional feature spaces if available. Alternatively, an ITK Kd tree is used if the library is available. As last resort, a brute force search without actual Kd tree search structure is performed.

Todo:
Consider actual implementation of own thread-safe N-dimensional Kd tree?
Attention
When only a subset of the points is used, i.e., an index array of point set samples is given (_Sample attribute), the indices returned by this locator are the respective closest sample indices into this sample point index array. Set the _GlobalIndices flag to enable the internal mapping of closest sample indices to global point indices.

Definition at line 68 of file PointLocator.h.

Member Function Documentation

§ Distance2BetweenPoints()

double mirtk::PointLocator::Distance2BetweenPoints ( const double *  a,
const double *  b,
int  d = 3 
)
inlinestatic

Calculate squared Euclidean distance between feature Arrays

Parameters
[in]aFirst feature Array.
[in]bSecond feature Array.
[in]dDimension of feature Arrays.
Returns
Squared Euclidean distance, i.e., dot product of a and b.

Definition at line 746 of file PointLocator.h.

§ FindClosestNPoints() [1/10]

Array<int> mirtk::PointLocator::FindClosestNPoints ( int  k,
double *  point,
Array< double > *  dist2 = NULL 
)

Find k nearest neighbors

Parameters
[in]kNumber of nearest neighbors to find.
[in]pointQuery point.
[out]dist2Squared Euclidean distance of closest point.
Returns
Indices of points in dataset closests to the i-th point in d.

§ FindClosestNPoints() [2/10]

Array< int > mirtk::PointLocator::FindClosestNPoints ( int  k,
vtkPointSet *  dataset,
const Array< int > *  sample,
int  index,
const FeatureList features,
Array< double > *  dist2 = NULL 
)
inline

Find k nearest neighbors

Parameters
[in]kNumber of nearest neighbors to find.
[in]datasetDataset whose nearest neighbors are queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]indexIndex of point in dataset or sample (if not NULL).
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
Indices of points in dataset closests to the i-th point in d.

Definition at line 832 of file PointLocator.h.

§ FindClosestNPoints() [3/10]

Array< int > mirtk::PointLocator::FindClosestNPoints ( int  k,
vtkPointSet *  dataset,
const Array< int > *  sample,
int  index,
Array< double > *  dist2 = NULL 
)
inline

Find k nearest neighbors

Parameters
[in]kNumber of nearest neighbors to find.
[in]datasetDataset whose nearest neighbors are queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]indexIndex of point in dataset or sample (if not NULL).
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
Indices of points in dataset closests to the i-th point in d.

Definition at line 852 of file PointLocator.h.

§ FindClosestNPoints() [4/10]

Array< int > mirtk::PointLocator::FindClosestNPoints ( int  k,
vtkPointSet *  dataset,
int  index,
const FeatureList features,
Array< double > *  dist2 = NULL 
)
inline

Find k nearest neighbors

Parameters
[in]kNumber of nearest neighbors to find.
[in]datasetDataset whose nearest neighbors are queried.
[in]indexIndex of point in dataset.
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
Indices of points in dataset closests to the i-th point in d.

Definition at line 844 of file PointLocator.h.

§ FindClosestNPoints() [5/10]

Array< int > mirtk::PointLocator::FindClosestNPoints ( int  k,
vtkPointSet *  dataset,
int  index,
Array< double > *  dist2 = NULL 
)
inline

Find k nearest neighbors

Parameters
[in]kNumber of nearest neighbors to find.
[in]datasetDataset whose nearest neighbors are queried.
[in]indexIndex of point in dataset.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
Indices of points in dataset closests to the i-th point in d.

Definition at line 860 of file PointLocator.h.

§ FindClosestNPoints() [6/10]

Array<Array<int> > mirtk::PointLocator::FindClosestNPoints ( int  k,
vtkPointSet *  dataset,
const Array< int > *  sample,
const FeatureList features,
Array< Array< double > > *  dist2 = NULL 
)

Find k nearest neighbors

Parameters
[in]kNumber of nearest neighbors to find.
[in]datasetDataset whose nearest neighbors are queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
For each point in dataset, indices of closest k points.

§ FindClosestNPoints() [7/10]

Array< Array< int > > mirtk::PointLocator::FindClosestNPoints ( int  k,
vtkPointSet *  dataset,
const Array< int > *  sample,
Array< Array< double > > *  dist2 = NULL 
)
inline

Find k nearest neighbors

Parameters
[in]kNumber of nearest neighbors to find.
[in]datasetDataset whose nearest neighbors are queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
For each point in dataset, indices of closest k points.

Definition at line 874 of file PointLocator.h.

§ FindClosestNPoints() [8/10]

Array< Array< int > > mirtk::PointLocator::FindClosestNPoints ( int  k,
vtkPointSet *  dataset,
const FeatureList features,
Array< Array< double > > *  dist2 = NULL 
)
inline

Find k nearest neighbors

Parameters
[in]kNumber of nearest neighbors to find.
[in]datasetDataset whose nearest neighbors are queried.
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
For each point in dataset, indices of closest k points.

Definition at line 867 of file PointLocator.h.

§ FindClosestNPoints() [9/10]

Array< Array< int > > mirtk::PointLocator::FindClosestNPoints ( int  k,
vtkPointSet *  dataset,
Array< Array< double > > *  dist2 = NULL 
)
inline

Find k nearest neighbors

Parameters
[in]kNumber of nearest neighbors to find.
[in]datasetDataset whose nearest neighbors are queried.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
For each point in dataset, indices of closest k points.

Definition at line 881 of file PointLocator.h.

§ FindClosestNPoints() [10/10]

Array< Array< int > > mirtk::PointLocator::FindClosestNPoints ( int  k,
vtkPointSet *  dataset1,
const Array< int > *  sample1,
const FeatureList features1,
vtkPointSet *  dataset2,
const Array< int > *  sample2,
const FeatureList features2,
Array< Array< double > > *  dist2 = NULL 
)
inlinestatic

Find k nearest neighbors

Parameters
[in]kNumber of nearest neighbors to find.
[in]dataset1Dataset whose nearest neighbor is queried.
[in]sample1Indices of points in dataset1 to consider only or NULL for all.
[in]features1Indices and weights of point data in dataset1 to use.
[in]dataset2Dataset in which to perform nearest neighbor search.
[in]sample2Indices of points in dataset2 to consider only or NULL for all.
[in]features2Indices and weights of point data in dataset2 to use.
[out]dist2Squared Euclidean distance of closest point.
Returns
For each point in dataset1, indices of closest k points in dataset2.

Definition at line 888 of file PointLocator.h.

§ FindClosestPoint() [1/10]

int mirtk::PointLocator::FindClosestPoint ( double *  point,
double *  dist2 = NULL 
)

Find closest point

Parameters
[in]pointQuery point.
[out]dist2Squared Euclidean distance of closest point.
Returns
Index of point/sample in dataset closest to the query point.

§ FindClosestPoint() [2/10]

int mirtk::PointLocator::FindClosestPoint ( vtkPointSet *  dataset,
const Array< int > *  sample,
int  index,
const FeatureList features,
double *  dist2 = NULL 
)
inline

Find closest point

Parameters
[in]datasetDataset whose nearest neighbor is queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]indexIndex of point in dataset or sample (if not NULL).
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of closest point.
Returns
Index of point/sample in dataset closest to the i-th point in dataset.

Definition at line 762 of file PointLocator.h.

§ FindClosestPoint() [3/10]

int mirtk::PointLocator::FindClosestPoint ( vtkPointSet *  dataset,
int  index,
const FeatureList features,
double *  dist2 = NULL 
)
inline

Find closest point

Parameters
[in]datasetDataset whose nearest neighbor is queried.
[in]indexIndex of point in dataset or sample (if not NULL).
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of closest point.
Returns
Index of point/sample in dataset closest to the i-th point in dataset.

Definition at line 774 of file PointLocator.h.

§ FindClosestPoint() [4/10]

int mirtk::PointLocator::FindClosestPoint ( vtkPointSet *  dataset,
const Array< int > *  sample,
int  index,
double *  dist2 = NULL 
)
inline

Find closest point

Parameters
[in]datasetDataset whose nearest neighbor is queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]indexIndex of point in dataset or sample (if not NULL).
[out]dist2Squared Euclidean distance of closest point.
Returns
Index of point/sample in dataset closest to the i-th point in dataset.

Definition at line 782 of file PointLocator.h.

§ FindClosestPoint() [5/10]

int mirtk::PointLocator::FindClosestPoint ( vtkPointSet *  dataset,
int  index,
double *  dist2 = NULL 
)
inline

Find closest point

Parameters
[in]datasetDataset whose nearest neighbor is queried.
[in]indexIndex of point in dataset.
[out]dist2Squared Euclidean distance of closest point.
Returns
Index of point/sample in dataset closest to the i-th point in dataset.

Definition at line 790 of file PointLocator.h.

§ FindClosestPoint() [6/10]

Array<int> mirtk::PointLocator::FindClosestPoint ( vtkPointSet *  dataset,
const Array< int > *  sample,
const FeatureList features,
Array< double > *  dist2 = NULL 
)

Find closest point

Parameters
[in]datasetDataset whose nearest neighbor is queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of closest point.
Returns
Indices of points/samples closest to each point in dataset.

§ FindClosestPoint() [7/10]

Array< int > mirtk::PointLocator::FindClosestPoint ( vtkPointSet *  dataset,
const FeatureList features,
Array< double > *  dist2 = NULL 
)
inline

Find closest point

Parameters
[in]datasetDataset whose nearest neighbor is queried.
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of closest point.
Returns
Indices of points/samples closest to each point in dataset.

Definition at line 797 of file PointLocator.h.

§ FindClosestPoint() [8/10]

Array< int > mirtk::PointLocator::FindClosestPoint ( vtkPointSet *  dataset,
const Array< int > *  sample,
Array< double > *  dist2 = NULL 
)
inline

Find closest point

Parameters
[in]datasetDataset whose nearest neighbor is queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[out]dist2Squared Euclidean distance of closest point.
Returns
Indices of points/samples closest to each point in dataset.

Definition at line 804 of file PointLocator.h.

§ FindClosestPoint() [9/10]

Array< int > mirtk::PointLocator::FindClosestPoint ( vtkPointSet *  dataset,
Array< double > *  dist2 = NULL 
)
inline

Find closest point

Parameters
[in]datasetDataset whose nearest neighbor is queried.
[out]dist2Squared Euclidean distance of closest point.
Returns
Indices of points/samples closest to each point in dataset.

Definition at line 811 of file PointLocator.h.

§ FindClosestPoint() [10/10]

Array< int > mirtk::PointLocator::FindClosestPoint ( vtkPointSet *  dataset1,
const Array< int > *  sample1,
const FeatureList features1,
vtkPointSet *  dataset2,
const Array< int > *  sample2,
const FeatureList features2,
Array< double > *  dist2 = NULL 
)
inlinestatic

Find closest point

Parameters
[in]dataset1Dataset whose nearest neighbor is queried.
[in]sample1Indices of points in dataset1 to consider only or NULL for all.
[in]features1Indices and weights of point data in dataset1 to use.
[in]dataset2Dataset in which to perform nearest neighbor search.
[in]sample2Indices of points in dataset2 to consider only or NULL for all.
[in]features2Indices and weights of point data in dataset2 to use.
[out]dist2Squared Euclidean distance of closest point.
Returns
Indices of points/samples in dataset2 which are closest to each point in dataset1.

Definition at line 818 of file PointLocator.h.

§ FindPointsWithinRadius() [1/10]

Array<int> mirtk::PointLocator::FindPointsWithinRadius ( double  radius,
double *  point,
Array< double > *  dist2 = NULL 
)

Find neighbors within search radius

Parameters
[in]radiusSearch radius in N-D point feature space.
[in]pointQuery point.
[out]dist2Squared Euclidean distance of closest point.
Returns
Indices of points in dataset closests to the i-th point in d.

§ FindPointsWithinRadius() [2/10]

Array< int > mirtk::PointLocator::FindPointsWithinRadius ( double  radius,
vtkPointSet *  dataset,
const Array< int > *  sample,
int  index,
const FeatureList features,
Array< double > *  dist2 = NULL 
)
inline

Find neighbors within search radius

Parameters
[in]radiusSearch radius in N-D point feature space.
[in]datasetDataset whose nearest neighbors are queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]indexIndex of point in dataset or sample (if not NULL).
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
Indices of points in dataset closests to the i-th point in d.

Definition at line 902 of file PointLocator.h.

§ FindPointsWithinRadius() [3/10]

Array< int > mirtk::PointLocator::FindPointsWithinRadius ( double  radius,
vtkPointSet *  dataset,
const Array< int > *  sample,
int  index,
Array< double > *  dist2 = NULL 
)
inline

Find neighbors within search radius

Parameters
[in]radiusSearch radius in N-D point feature space.
[in]datasetDataset whose nearest neighbors are queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]indexIndex of point in dataset or sample (if not NULL).
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
Indices of points in dataset closests to the i-th point in d.

Definition at line 922 of file PointLocator.h.

§ FindPointsWithinRadius() [4/10]

Array< int > mirtk::PointLocator::FindPointsWithinRadius ( double  radius,
vtkPointSet *  dataset,
int  index,
const FeatureList features,
Array< double > *  dist2 = NULL 
)
inline

Find neighbors within search radius

Parameters
[in]radiusSearch radius in N-D point feature space.
[in]datasetDataset whose nearest neighbors are queried.
[in]indexIndex of point in dataset.
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
Indices of points in dataset closests to the i-th point in d.

Definition at line 914 of file PointLocator.h.

§ FindPointsWithinRadius() [5/10]

Array< int > mirtk::PointLocator::FindPointsWithinRadius ( double  radius,
vtkPointSet *  dataset,
int  index,
Array< double > *  dist2 = NULL 
)
inline

Find neighbors within search radius

Parameters
[in]radiusSearch radius in N-D point feature space.
[in]datasetDataset whose nearest neighbors are queried.
[in]indexIndex of point in dataset.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
Indices of points in dataset closests to the i-th point in d.

Definition at line 930 of file PointLocator.h.

§ FindPointsWithinRadius() [6/10]

Array<Array<int> > mirtk::PointLocator::FindPointsWithinRadius ( double  radius,
vtkPointSet *  dataset,
const Array< int > *  sample,
const FeatureList features,
Array< Array< double > > *  dist2 = NULL 
)

Find neighbors within search radius

Parameters
[in]radiusSearch radius in N-D point feature space.
[in]datasetDataset whose nearest neighbors are queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
For each point in dataset, indices of points within search radius.

§ FindPointsWithinRadius() [7/10]

Array< Array< int > > mirtk::PointLocator::FindPointsWithinRadius ( double  radius,
vtkPointSet *  dataset,
const Array< int > *  sample,
Array< Array< double > > *  dist2 = NULL 
)
inline

Find neighbors within search radius

Parameters
[in]radiusSearch radius in N-D point feature space.
[in]datasetDataset whose nearest neighbors are queried.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
For each point in dataset, indices of points within search radius.

Definition at line 945 of file PointLocator.h.

§ FindPointsWithinRadius() [8/10]

Array< Array< int > > mirtk::PointLocator::FindPointsWithinRadius ( double  radius,
vtkPointSet *  dataset,
const FeatureList features,
Array< Array< double > > *  dist2 = NULL 
)
inline

Find neighbors within search radius

Parameters
[in]radiusSearch radius in N-D point feature space.
[in]datasetDataset whose nearest neighbors are queried.
[in]featuresIndices and weights of point data in dataset to use.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
For each point in dataset, indices of points within search radius.

Definition at line 937 of file PointLocator.h.

§ FindPointsWithinRadius() [9/10]

Array< Array< int > > mirtk::PointLocator::FindPointsWithinRadius ( double  radius,
vtkPointSet *  dataset,
Array< Array< double > > *  dist2 = NULL 
)
inline

Find neighbors within search radius

Parameters
[in]radiusSearch radius in N-D point feature space.
[in]datasetDataset whose nearest neighbors are queried.
[out]dist2Squared Euclidean distance of found nearest neighbors.
Returns
For each point in dataset, indices of points within search radius.

Definition at line 952 of file PointLocator.h.

§ FindPointsWithinRadius() [10/10]

Array< Array< int > > mirtk::PointLocator::FindPointsWithinRadius ( double  radius,
vtkPointSet *  dataset1,
const Array< int > *  sample1,
const FeatureList features1,
vtkPointSet *  dataset2,
const Array< int > *  sample2,
const FeatureList features2,
Array< Array< double > > *  dist2 = NULL 
)
inlinestatic

Find neighbors within search radius

Parameters
[in]radiusSearch radius in N-D point feature space.
[in]dataset1Dataset whose nearest neighbor is queried.
[in]sample1Indices of points in dataset1 to consider only or NULL for all.
[in]features1Indices and weights of point data in dataset1 to use.
[in]dataset2Dataset in which to perform nearest neighbor search.
[in]sample2Indices of points in dataset2 to consider only or NULL for all.
[in]features2Indices and weights of point data in dataset2 to use.
[out]dist2Squared Euclidean distance of closest point.
Returns
For each point in dataset1, indices of points in dataset2 within search radius.

Definition at line 959 of file PointLocator.h.

§ GetDataArray()

vtkDataArray * mirtk::PointLocator::GetDataArray ( vtkPointSet *  dataset,
const FeatureInfo feature 
)
inlinestatic

Get point data array

Parameters
[in]datasetDataset.
[in]featureIndex/name and weight/rescaling parameters.
Returns
Pointer to point data array of dataset or NULL.

Definition at line 657 of file PointLocator.h.

§ GetNumberOfPoints()

int mirtk::PointLocator::GetNumberOfPoints ( vtkPointSet *  dataset,
const Array< int > *  sample = NULL 
)
inlinestatic

Get number of points

Parameters
[in]datasetDataset.
[in]sampleIndices of points in dataset to consider only or NULL for all.
Returns
Number of (sample) points.

Definition at line 665 of file PointLocator.h.

§ GetPoint() [1/3]

void mirtk::PointLocator::GetPoint ( Point point,
vtkPointSet *  dataset,
const Array< int > *  sample,
int  index 
)
inlinestatic

Get spatial (sample) point

Parameters
[out]pointSpatial point.
[in]datasetDataset.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]indexIndex of point in dataset or sample (if not NULL).

Definition at line 701 of file PointLocator.h.

§ GetPoint() [2/3]

void mirtk::PointLocator::GetPoint ( double *  point,
vtkPointSet *  dataset,
const Array< int > *  sample,
int  index,
const FeatureList feature = NULL 
)
inlinestatic

Get feature Array

Parameters
[out]pointFeature Array.
[in]datasetDataset.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]indexIndex of point in dataset or sample (if not NULL).
[in]featureIndices/names and weights/rescaling parameters of features.

Definition at line 711 of file PointLocator.h.

§ GetPoint() [3/3]

void mirtk::PointLocator::GetPoint ( double *  point,
vtkPointSet *  dataset,
int  index,
const FeatureList feature = NULL 
)
inlinestatic

Get feature Array

Parameters
[out]pointFeature Array.
[in]datasetDataset.
[in]indexIndex of point in dataset.
[in]featureIndices/names and weights/rescaling parameters of features.

Definition at line 739 of file PointLocator.h.

§ GetPointDimension()

int mirtk::PointLocator::GetPointDimension ( vtkPointSet *  dataset,
const FeatureList feature 
)
inlinestatic

Get size of feature Arrays

Parameters
[in]datasetDataset.
[in]featureIndices/names and weights/rescaling parameters of features.

Definition at line 671 of file PointLocator.h.

§ GetPointIndex()

int mirtk::PointLocator::GetPointIndex ( vtkPointSet *  dataset,
const Array< int > *  sample,
int  index 
)
inlinestatic

Get index of feature Array

Parameters
[in]datasetDataset.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]indexIndex of point in dataset or sample (if not NULL).
Returns
Index of feature Array/point in dataset.

Definition at line 694 of file PointLocator.h.

§ New()

static PointLocator* mirtk::PointLocator::New ( vtkPointSet *  dataset,
const Array< int > *  sample = NULL,
const FeatureList feature = NULL 
)
static

Construct new point locator for search in given dataset

Parameters
[in]datasetDataset in which points are searched.
[in]sampleIndices of points in dataset to consider only or NULL for all.
[in]featureIndices and weights of point data in dataset to use.

The documentation for this class was generated from the following file: