go home Home | Main Page | Modules | Namespace List | Class Hierarchy | Alphabetical List | Data Structures | File List | Namespace Members | Data Fields | Globals | Related Pages
itkANNFixedRadiusTreeSearch.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright UMC Utrecht and contributors
4 *
5 * Licensed under the Apache License, Version 2.0 (the "License");
6 * you may not use this file except in compliance with the License.
7 * You may obtain a copy of the License at
8 *
9 * http://www.apache.org/licenses/LICENSE-2.0.txt
10 *
11 * Unless required by applicable law or agreed to in writing, software
12 * distributed under the License is distributed on an "AS IS" BASIS,
13 * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
14 * See the License for the specific language governing permissions and
15 * limitations under the License.
16 *
17 *=========================================================================*/
18#ifndef itkANNFixedRadiusTreeSearch_h
19#define itkANNFixedRadiusTreeSearch_h
20
22
23namespace itk
24{
25
35template <class TListSample>
36class ITK_TEMPLATE_EXPORT ANNFixedRadiusTreeSearch : public BinaryANNTreeSearchBase<TListSample>
37{
38public:
40
44 using Pointer = SmartPointer<Self>;
45 using ConstPointer = SmartPointer<const Self>;
46
48 itkNewMacro(Self);
49
52
54 using typename Superclass::ListSampleType;
55 using typename Superclass::BinaryTreeType;
57 using typename Superclass::IndexArrayType;
58 using typename Superclass::DistanceArrayType;
59
60 using typename Superclass::ANNPointType; // double *
61 using typename Superclass::ANNIndexType; // int
62 using typename Superclass::ANNIndexArrayType; // int *
63 using typename Superclass::ANNDistanceType; // double
64 using typename Superclass::ANNDistanceArrayType; // double *
65
66 using typename Superclass::BinaryANNTreeType;
67
69 itkSetClampMacro(ErrorBound, double, 0.0, 1e14);
70 itkGetConstMacro(ErrorBound, double);
71
73 itkSetMacro(SquaredRadius, double);
74 itkGetConstMacro(SquaredRadius, double);
75
77 void
78 Search(const MeasurementVectorType & qp, IndexArrayType & ind, DistanceArrayType & dists) override;
79
81 virtual void
82 Search(const MeasurementVectorType & qp, IndexArrayType & ind, DistanceArrayType & dists, double sqRad);
83
84protected:
86 ~ANNFixedRadiusTreeSearch() override = default;
87
89 double m_ErrorBound{};
90 double m_SquaredRadius{};
91};
92
93} // end namespace itk
94
95#ifndef ITK_MANUAL_INSTANTIATION
96# include "itkANNFixedRadiusTreeSearch.hxx"
97#endif
98
99#endif // end #ifndef itkANNFixedRadiusTreeSearch_h
SmartPointer< const Self > ConstPointer
ITK_DISALLOW_COPY_AND_MOVE(ANNFixedRadiusTreeSearch)
~ANNFixedRadiusTreeSearch() override=default
virtual void Search(const MeasurementVectorType &qp, IndexArrayType &ind, DistanceArrayType &dists, double sqRad)
void Search(const MeasurementVectorType &qp, IndexArrayType &ind, DistanceArrayType &dists) override
typename BinaryTreeType::MeasurementVectorType MeasurementVectorType


Generated on 2024-07-17 for elastix by doxygen 1.11.0 (9b424b03c9833626cd435af22a444888fbbb192d) elastix logo