41template <
typename TSample>
80#if defined(__clang__) && defined(__has_warning)
81# if __has_warning("-Winconsistent-missing-override")
82# pragma clang diagnostic push
83# pragma clang diagnostic ignored "-Winconsistent-missing-override"
91 return this->m_IdHolder;
94#if defined(__clang__) && defined(__has_warning)
95# if __has_warning("-Winconsistent-missing-override")
96# pragma clang diagnostic pop
138 Swap(
unsigned int index1,
unsigned int index2);
179 return (m_Iter == it.
m_Iter);
194 return m_Sample->GetFrequency(*m_Iter);
200 return m_Sample->GetMeasurementVector(*m_Iter);
206 return (m_Iter - m_Subsample->GetIdHolder().begin());
216 , m_Subsample(classSample)
217 , m_Sample(classSample->GetSample())
221 typename InstanceIdentifierHolder::const_iterator
m_Iter;
246 this->ConstIterator::operator=(iter);
255 Iterator(
typename InstanceIdentifierHolder::const_iterator iter,
const Self * classSample);
261 Iterator(
typename InstanceIdentifierHolder::iterator iter,
Self * classSample)
273 Iterator iter(m_IdHolder.begin(),
this);
283 Iterator iter(m_IdHolder.end(),
this);
311 const TSample * m_Sample{};
313 unsigned int m_ActiveDimension{};
319#ifndef ITK_MANUAL_INSTANTIATION
320# include "itkSubsample.hxx"
Base class for all data objects in ITK.
Control indentation during Print() invocation.
InstanceIdentifier GetInstanceIdentifier() const
bool operator==(const ConstIterator &it) const
AbsoluteFrequencyType GetFrequency() const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(ConstIterator)
InstanceIdentifierHolder::const_iterator m_Iter
const MeasurementVectorType & GetMeasurementVector() const
ConstIterator(const Self *sample)
ConstIterator(const ConstIterator &iter)
ConstIterator & operator=(const ConstIterator &iter)
ConstIterator & operator++()
ConstIterator(typename InstanceIdentifierHolder::const_iterator iter, const Self *classSample)
ConstIterator & operator=(const ConstIterator &it)
Iterator(const Self *sample)
Iterator(const Iterator &iter)
Iterator(typename InstanceIdentifierHolder::iterator iter, Self *classSample)
Iterator(typename InstanceIdentifierHolder::const_iterator iter, const Self *classSample)
Iterator(const ConstIterator &it)
Iterator & operator=(const Iterator &iter)
This class stores a subset of instance identifiers from another sample object. You can create a subsa...
void Graft(const DataObject *thatObject) override
TotalAbsoluteFrequencyType GetTotalFrequency() const override
AbsoluteFrequencyType GetFrequencyByIndex(unsigned int index) const
InstanceIdentifier GetInstanceIdentifier(unsigned int index)
ConstIterator Begin() const
typename TSample::AbsoluteFrequencyType AbsoluteFrequencyType
typename TSample::InstanceIdentifier InstanceIdentifier
void InitializeWithAllInstances()
MeasurementVectorType ValueType
void Swap(unsigned int index1, unsigned int index2)
InstanceIdentifier Size() const override
typename TSample::MeasurementVectorType MeasurementVectorType
~Subsample() override=default
const TSample * GetSample() const
typename TSample::TotalAbsoluteFrequencyType TotalAbsoluteFrequencyType
void PrintSelf(std::ostream &os, Indent indent) const override
const MeasurementVectorType & GetMeasurementVectorByIndex(unsigned int index) const
AbsoluteFrequencyType GetFrequency(InstanceIdentifier id) const override
void AddInstance(InstanceIdentifier id)
std::vector< InstanceIdentifier > InstanceIdentifierHolder
const MeasurementVectorType & GetMeasurementVector(InstanceIdentifier id) const override
ConstIterator End() const
typename TSample::MeasurementType MeasurementType
const InstanceIdentifierHolder & GetIdHolder() const
void SetSample(const TSample *sample)
typename TSample::Pointer SamplePointer
SmartPointer< Self > Pointer
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....