22 #ifndef __StreamingSimpleMosaicFilter_hxx
23 #define __StreamingSimpleMosaicFilter_hxx
33 template <
class TInputImage,
class TOutputImage,
class TInternalValueType>
41 const unsigned int nbOfUsedInputImages = Superclass::GetNumberOfUsedInputImages();
44 const unsigned int nBands = Superclass::GetNumberOfBands();
47 IteratorType outputIt(mosaicImage, outputRegionForThread);
51 interpolatedMathPixel.SetSize(nBands);
54 typename std::vector<InputImageType*> currentImage;
55 typename std::vector<InterpolatorPointerType> interp;
56 Superclass::PrepareImageAccessors(currentImage, interp);
61 for (outputIt.GoToBegin(); !outputIt.IsAtEnd(); ++outputIt)
67 mosaicImage->TransformIndexToPhysicalPoint(outputIt.GetIndex(), geoPoint);
70 for (
unsigned int i = 0; i < nbOfUsedInputImages; i++)
73 unsigned int imgIndex = Superclass::GetUsedInputImageIndice(i);
78 if (interp[i]->IsInsideBuffer(geoPoint))
85 if (Superclass::IsPixelNotEmpty(interpolatedPixel))
88 for (
unsigned int band = 0; band < nBands; band++)
90 if (this->GetShiftScaleInputImages())
93 this->ShiftScaleValue(pixelValue, imgIndex, band);
106 outputIt.Set(outputPixel);
Superclass::IteratorType IteratorType
Superclass::OutputImagePointType OutputImagePointType
Superclass::InputImagePixelType InputImagePixelType
Superclass::OutputImagePixelType OutputImagePixelType
Superclass::OutputImageRegionType OutputImageRegionType
Superclass::OutputImageInternalPixelType OutputImageInternalPixelType
void DynamicThreadedGenerateData(const OutputImageRegionType &outputRegionForThread) override
Superclass::OutputImageType OutputImageType
Superclass::InternalPixelType InternalPixelType
Superclass::InternalValueType InternalValueType
The "otb" namespace contains all Orfeo Toolbox (OTB) classes.