17 #ifndef __itkImageToListGenerator_txx
18 #define __itkImageToListGenerator_txx
24 namespace Statistics {
26 template <
class TImage,
class TMaskImage >
30 this->SetNumberOfRequiredInputs(1);
31 this->SetNumberOfRequiredOutputs(1);
35 m_MaskValue = NumericTraits<MaskPixelType>::max();
38 template <
class TImage,
class TMaskImage >
43 Superclass::PrintSelf(os,indent);
44 os << indent <<
"MaskValue: "
45 <<
static_cast<typename NumericTraits<MaskPixelType>::PrintType
>(
50 template <
class TImage,
class TMaskImage >
57 const_cast< ImageType* >( image ) );
60 template <
class TImage,
class TMaskImage >
67 const_cast< MaskImageType* >( image ) );
70 template <
class TImage,
class TMaskImage >
75 if (this->GetNumberOfInputs() < 1)
84 template <
class TImage,
class TMaskImage >
89 if (this->GetNumberOfInputs() < 2)
98 template <
class TImage,
class TMaskImage >
104 ListSampleOutputType::New();
105 decoratedOutput->Set( ListSampleType::New() );
109 template <
class TImage,
class TMaskImage >
121 const ImageType *input = this->GetInput();
126 if (this->GetNumberOfInputs() > 1)
128 maskImage =
const_cast< MaskImageType *
>(this->GetMaskImage());
132 IteratorType it( input, input->GetBufferedRegion() );
138 MaskIteratorType mit( maskImage, input->GetBufferedRegion() );
140 while (!it.IsAtEnd())
142 if (mit.Get() == this->m_MaskValue)
154 while (!it.IsAtEnd())
164 template <
class TImage,
class TMaskImage >
169 Superclass::GenerateOutputInformation();
177 itkGetStaticConstMacro( MeasurementVectorSize ));
180 template <
class TImage,
class TMaskImage >
187 Superclass::GenerateInputRequestedRegion();
196 if (this->GetNumberOfInputs() > 1)
201 const_cast< ImageType *
>( this->GetInput() );
202 if (!image->GetBufferedRegion().IsInside( maskImage->GetBufferedRegion()) )
204 maskImage->SetRequestedRegion( image->GetBufferedRegion() );
209 template <
class TImage,
class TMaskImage >
217 return decoratedOutput->
Get();