22 #ifndef __StreamingMosaicFilterWithBlendingBase_hxx
23 #define __StreamingMosaicFilterWithBlendingBase_hxx
30 template <
class TInputImage,
class TOutputImage,
class TDistanceImage,
class TInternalValueType>
35 m_DistanceOffset = 0.0;
38 typename DistanceImageDefaultInterpolatorType::Pointer interp = DistanceImageDefaultInterpolatorType::New();
46 template <
class TInputImage,
class TOutputImage,
class TDistanceImage,
class TInternalValueType>
50 if (inputImageIndex % 2 == 0)
52 itkDebugMacro(<<
"Input #" << inputImageIndex <<
" is an InputImage and will be used");
53 Superclass::AddUsedInputImageIndex(inputImageIndex);
57 itkDebugMacro(<<
"Input #" << inputImageIndex <<
" is an DistanceImage and will NOT be used");
65 template <
class TInputImage,
class TOutputImage,
class TDistanceImage,
class TInternalValueType>
68 return 0.5 * this->GetNumberOfInputs();
77 template <
class TInputImage,
class TOutputImage,
class TDistanceImage,
class TInternalValueType>
79 typename std::vector<DistanceImageType*>& currentDistanceImage,
typename std::vector<DistanceImageInterpolatorPointer>& distanceInterpolator)
83 const unsigned int n = Superclass::GetNumberOfUsedInputImages();
85 currentDistanceImage.reserve(n);
86 distanceInterpolator.reserve(n);
89 for (
unsigned int i = 0; i < n; i++)
92 currentDistanceImage.push_back(
static_cast<DistanceImageType*
>(Superclass::ProcessObject::GetInput(Superclass::GetUsedInputImageIndice(i) + 1)));
96 distanceInterpolator[i]->SetInputImage(currentDistanceImage[i]);