18 #ifndef __itkMaskedStatisticsImageFilter_h
19 #define __itkMaskedStatisticsImageFilter_h
21 #include "itkImageToImageFilter.h"
22 #include "itkNumericTraits.h"
24 #include "itkSimpleDataObjectDecorator.h"
48 template<
typename TInputImage ,
typename TMaskImage = ::itk::Image<
unsigned char, TInputImage::ImageDimension> >
50 public ImageToImageFilter< TInputImage, TInputImage >
55 typedef ImageToImageFilter< TInputImage, TInputImage >
Superclass;
70 typedef typename TInputImage::SizeType
SizeType;
76 TInputImage::ImageDimension);
79 typedef typename NumericTraits< PixelType >::RealType
RealType;
137 using Superclass::MakeOutput;
143 #ifdef ITK_USE_CONCEPT_CHECKING
145 itkConceptMacro( InputHasNumericTraitsCheck,
146 ( Concept::HasNumericTraits< PixelType > ) );
153 void PrintSelf(std::ostream & os, Indent indent)
const override;
169 outputRegionForThread,
170 ThreadIdType threadId)
override;
180 void operator=(
const Self &);
182 Array< RealType > m_ThreadSum;
183 Array< RealType > m_SumOfSquares;
184 Array< SizeValueType > m_Count;
185 Array< PixelType > m_ThreadMin;
186 Array< PixelType > m_ThreadMax;
191 #ifndef ITK_MANUAL_INSTANTIATION
192 #include "itkMaskedStatisticsImageFilter.hxx"
Compute min. max, variance and mean of an (masked) Image.
NumericTraits< PixelType >::RealType RealType
MaskedStatisticsImageFilter()
void AfterThreadedGenerateData() override
const PixelObjectType * GetMaximumOutput() const
PixelObjectType * GetMinimumOutput()
MaskImageType::RegionType MaskImageRegionType
void PrintSelf(std::ostream &os, Indent indent) const override
void ThreadedGenerateData(const RegionType &outputRegionForThread, ThreadIdType threadId) override
SimpleDataObjectDecorator< PixelType > PixelObjectType
SmartPointer< Self > Pointer
TInputImage::SizeType SizeType
Superclass::InputImagePointer InputImagePointer
RealObjectType * GetVarianceOutput()
RealObjectType * GetMeanOutput()
SmartPointer< const Self > ConstPointer
void GenerateInputRequestedRegion() override
void BeforeThreadedGenerateData() override
~MaskedStatisticsImageFilter() override
const RealObjectType * GetSigmaOutput() const
MaskedStatisticsImageFilter Self
PixelType GetMaximum() const
TInputImage::PixelType PixelType
RealObjectType * GetSumOutput()
void AllocateOutputs() override
const PixelObjectType * GetMinimumOutput() const
TInputImage::IndexType IndexType
ImageToImageFilter< TInputImage, TInputImage > Superclass
RealObjectType * GetSigmaOutput()
RealType GetSigma() const
const RealObjectType * GetVarianceOutput() const
ProcessObject::DataObjectPointerArraySizeType DataObjectPointerArraySizeType
DataObjectPointer MakeOutput(DataObjectPointerArraySizeType idx) override
DataObject::Pointer DataObjectPointer
const RealObjectType * GetSumOutput() const
RealType GetVariance() const
Superclass::InputImageType InputImageType
itkStaticConstMacro(ImageDimension, unsigned int, TInputImage::ImageDimension)
MaskImageType::ConstPointer MaskImageConstPointer
const RealObjectType * GetMeanOutput() const
void EnlargeOutputRequestedRegion(DataObject *data) override
TInputImage::RegionType RegionType
SimpleDataObjectDecorator< RealType > RealObjectType
PixelType GetMinimum() const
PixelObjectType * GetMaximumOutput()
::mitk::Image InputImageType