Textures

From OTBWiki
Jump to: navigation, search

Classes for textures change since OTB 3.4. OTB 3.4 contains both interfaces to enable a smooth migration. The following releases of OTB will use only the new code.

Here is an example of how to use the new classes:

Replace the old code

typedef otb::Functor::ContrastTextureFunctor<PixelType, PixelType>  FunctorType;
typedef otb::UnaryFunctorNeighborhoodWithOffsetImageFilter<ImageType,
                                          ImageType, FunctorType> TexturesFilterType;

TexturesFilterType::Pointer texturesFilter = TexturesFilterType::New();

texturesFilter->SetRadius(radius);

typedef ImageType::OffsetType OffsetType;
OffsetType offset;
offset[0] =  xOffset;
offset[1] =  yOffset;

texturesFilter->SetOffset(offset);
texturesFilter->SetInput(reader->GetOutput());
writer->SetInput(texturesFilter->GetOutput());

by the equivalent new code:

typedef otb::ScalarImageToTexturesFilter<ImageType, ImageType> TexturesFilterType;

//or  typedef otb::ScalarImageToAdvancedTexturesFilter<ImageType, ImageType> TexturesFilterType;

TexturesFilterType::Pointer texturesFilter = TexturesFilterType::New();
typedef ImageType::SizeType SizeType;
SizeType sradius;
sradius.Fill(radius);

texturesFilter->SetRadius(sradius);

typedef ImageType::OffsetType OffsetType;
OffsetType offset;
offset[0] =  xOffset;
offset[1] =  yOffset;

texturesFilter->SetOffset(offset);

texturesFilter->SetInputImageMinimum(0);
texturesFilter->SetInputImageMaximum(255);

texturesFilter->SetInput(reader->GetOutput());
writer->SetInput(texturesFilter->GetContrastOutput());


Back to Migration guide