18#ifndef itkJointDomainImageToListSampleAdaptor_h
19#define itkJointDomainImageToListSampleAdaptor_h
39template <
typename TImage>
87template <
typename TImage>
89 :
public ListSample<typename ImageJointDomainTraits<TImage>::MeasurementVectorType>
119 using typename Superclass::MeasurementVectorSizeType;
123 using typename Superclass::AbsoluteFrequencyType;
124 using typename Superclass::TotalAbsoluteFrequencyType;
125 using typename Superclass::InstanceIdentifier;
178 itkSetMacro(UsePixelContainer,
bool);
179 itkGetConstMacro(UsePixelContainer,
bool);
180 itkBooleanMacro(UsePixelContainer);
220 m_MeasurementVectorCache = m_Adaptor->GetMeasurementVector(m_InstanceIdentifier);
221 return this->m_MeasurementVectorCache;
227 return m_InstanceIdentifier;
233 ++m_InstanceIdentifier;
250 m_InstanceIdentifier = iid;
285 this->ConstIterator::operator=(iter);
308 Iterator iter(
this, m_Image->GetPixelContainer()->Size());
326 ConstIterator iter(
this, m_Image->GetPixelContainer()->Size());
344 bool m_UsePixelContainer{};
351#ifndef ITK_MANUAL_INSTANTIATION
352# include "itkJointDomainImageToListSampleAdaptor.hxx"
Base class for all data objects in ITK.
Simulate a standard C array with copy semantics.
A multi-dimensional iterator templated over image type that walks a region of pixels.
Control indentation during Print() invocation.
Trait to determine what datatype is needed if the specified pixel types are "joined" into a single ve...
Base class for most ITK classes.
Traits for a pixel that define the dimension and component type.
typename TPixelType::ValueType ValueType
static constexpr unsigned int Dimension
A templated class holding a geometric point in n-Dimensional space.
InstanceIdentifier GetInstanceIdentifier() const
ConstIterator(const ConstIterator &iter)
bool operator==(const ConstIterator &it) const
ITK_UNEQUAL_OPERATOR_MEMBER_FUNCTION(ConstIterator)
ConstIterator(const JointDomainImageToListSampleAdaptor *adaptor, InstanceIdentifier iid)
MeasurementVectorType m_MeasurementVectorCache
InstanceIdentifier m_InstanceIdentifier
AbsoluteFrequencyType GetFrequency() const
const MeasurementVectorType & GetMeasurementVector() const
ConstIterator & operator=(const ConstIterator &iter)
ConstIterator(const JointDomainImageToListSampleAdaptor *adaptor)
ConstIterator & operator++()
const JointDomainImageToListSampleAdaptor * m_Adaptor
Iterator(const JointDomainImageToListSampleAdaptor *adaptor, InstanceIdentifier iid)
Iterator(const Iterator &iter)
ConstIterator & operator=(const ConstIterator &it)=delete
Iterator & operator=(const Iterator &iter)
Iterator(const Self *adaptor)=delete
Iterator(const ConstIterator &it)=delete
This adaptor returns measurement vectors composed of an image pixel's range domain value (pixel value...
ConstIterator Begin() const
typename ImageType::PixelContainerConstPointer PixelContainerConstPointer
const TImage * GetImage() const
typename ImageJointDomainTraitsType::RangeDomainMeasurementType RangeDomainMeasurementType
TotalAbsoluteFrequencyType GetTotalFrequency() const override
typename ImageType::SizeType ImageSizeType
typename ImageJointDomainTraitsType::PointType PointType
typename ImageType::Pointer ImagePointer
typename ImageType::ConstPointer ImageConstPointer
InstanceIdentifier Size() const override
typename ImageType::PixelType PixelType
void PrintSelf(std::ostream &os, Indent indent) const override
std::vector< InstanceIdentifier > InstanceIdentifierVectorType
typename ImageType::RegionType ImageRegionType
~JointDomainImageToListSampleAdaptor() override=default
const MeasurementVectorType & GetMeasurementVector(InstanceIdentifier id) const override
typename ImageJointDomainTraitsType::MeasurementType MeasurementType
typename ImageJointDomainTraitsType::CoordinateRepType CoordinateRepType
AbsoluteFrequencyType GetFrequency(InstanceIdentifier id) const override
typename ImageType::IndexType ImageIndexType
JointDomainImageToListSampleAdaptor()
void SetNormalizationFactors(NormalizationFactorsType &factors)
ConstIterator End() const
void SetImage(const TImage *image)
typename ImageJointDomainTraitsType::MeasurementVectorType MeasurementVectorType
MeasurementVectorType ValueType
This class is the native implementation of the a Sample with an STL container.
typename MeasurementVectorTraits::InstanceIdentifier InstanceIdentifier
NumericTraits< AbsoluteFrequencyType >::AccumulateType TotalAbsoluteFrequencyType
MeasurementVectorTraits::AbsoluteFrequencyType AbsoluteFrequencyType
SmartPointer< const Self > ConstPointer
SmartPointer< Self > Pointer
ImageBaseType::RegionType RegionType
ImageBaseType::IndexType IndexType
constexpr unsigned int Dimension
ImageBaseType::PointType PointType
ImageBaseType::SizeType SizeType
The "itk" namespace contains all Insight Segmentation and Registration Toolkit (ITK) classes....
This class provides the type definition for the measurement vector in the joint domain (range domain ...
typename JoinTraitsType::ValueType MeasurementType
static constexpr unsigned int ImageDimension
typename PixelTraitsType::ValueType RangeDomainMeasurementType
static constexpr unsigned int Dimension