ITK 6.0.0
Insight Toolkit
 
Loading...
Searching...
No Matches
itkGaussianRandomSpatialNeighborSubsampler.h
Go to the documentation of this file.
1/*=========================================================================
2 *
3 * Copyright NumFOCUS
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 * https://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 itkGaussianRandomSpatialNeighborSubsampler_h
19#define itkGaussianRandomSpatialNeighborSubsampler_h
20
22
23namespace itk::Statistics
24{
44
45template <typename TSample, typename TRegion>
47 : public UniformRandomSpatialNeighborSubsampler<TSample, TRegion>
48{
49public:
50 ITK_DISALLOW_COPY_AND_MOVE(GaussianRandomSpatialNeighborSubsampler);
51
58
60 itkOverrideGetNameOfClassMacro(GaussianRandomSpatialNeighborSubsampler);
61
63 itkNewMacro(Self);
64
66 using typename Superclass::SampleType;
67 using typename Superclass::SampleConstPointer;
69 using typename Superclass::InstanceIdentifier;
70
71 using typename Superclass::SubsampleType;
72 using typename Superclass::SubsamplePointer;
75
76 using typename Superclass::SearchSizeType;
77 using typename Superclass::RandomIntType;
79 using typename Superclass::RadiusType;
80 using typename Superclass::RegionType;
81 using typename Superclass::IndexType;
82 using typename Superclass::SizeType;
83 using typename Superclass::ImageHelperType;
84
85 using RealType = double;
86
89 static constexpr int DefaultVariance = 900;
90
92 itkSetMacro(Variance, RealType);
93
95 itkGetConstMacro(Variance, RealType);
96
97protected:
103 [[nodiscard]] typename LightObject::Pointer
104 InternalClone() const override;
105
108
109 void
110 PrintSelf(std::ostream & os, Indent indent) const override;
111
116 GetIntegerVariate(RandomIntType lowerBound, RandomIntType upperBound, RandomIntType mean) override;
117
119}; // end of class GaussianRandomSpatialNeighborSubsampler
120
121} // namespace itk::Statistics
122
123#ifndef ITK_MANUAL_INSTANTIATION
124# include "itkGaussianRandomSpatialNeighborSubsampler.hxx"
125#endif
126
127#endif
Control indentation during Print() invocation.
Definition itkIndent.h:50
SmartPointer< Self > Pointer
Implements transparent reference counting.
GaussianRandomSpatialNeighborSubsampler< TSample, TRegion > Self
RandomIntType GetIntegerVariate(RandomIntType lowerBound, RandomIntType upperBound, RandomIntType mean) override
LightObject::Pointer InternalClone() const override
void PrintSelf(std::ostream &os, Indent indent) const override
UniformRandomSpatialNeighborSubsampler< TSample, TRegion > Superclass
ImageHelper< Self::ImageDimension, Self::ImageDimension > ImageHelperType
typename SubsampleType::InstanceIdentifierHolder InstanceIdentifierHolder