18 #ifndef __otbUnaryFunctorWithIndexImageFilter_txx
19 #define __otbUnaryFunctorWithIndexImageFilter_txx
30 template <
class TInputImage,
class TOutputImage,
class TFunction>
34 this->SetNumberOfRequiredInputs(1);
36 template <
class TInputImage,
class TOutputImage,
class TFunction>
42 Superclass::GenerateInputRequestedRegion();
46 const_cast<TInputImage *
>(this->GetInput());
49 if (!inputPtr || !outputPtr)
55 typename TInputImage::RegionType inputRequestedRegion;
56 inputRequestedRegion = inputPtr->GetRequestedRegion();
59 if (inputRequestedRegion.Crop(inputPtr->GetLargestPossibleRegion()))
61 inputPtr->SetRequestedRegion(inputRequestedRegion);
70 inputPtr->SetRequestedRegion(inputRequestedRegion);
74 std::ostringstream msg;
75 msg << this->GetNameOfClass()
76 <<
"::GenerateInputRequestedRegion()";
78 e.
SetDescription(
"Requested region is (at least partially) outside the largest possible region.");
87 template <
class TInputImage,
class TOutputImage,
class TFunction>
92 InputImagePointer inputPtr =
dynamic_cast<const TInputImage*
>(ProcessObjectType::GetInput(0));
96 this->CallCopyOutputRegionToInputRegion(inputRegionForThread, outputRegionForThread);
112 progress.CompletedPixel();