Apply a Filter to a Specified Region of an Image#
Synopsis#
Computes the derivative of an image in a particular direction.
Results#
Input image#
Output in QuickView#
Code#
C++#
#include "itkImage.h"
#include "itkImageFileReader.h"
#include "itkDerivativeImageFilter.h"
#ifdef ENABLE_QUICKVIEW
# include "QuickView.h"
#endif
int
main(int argc, char * argv[])
{
// Verify command line arguments
if (argc < 2)
{
std::cerr << "Usage: " << std::endl;
std::cerr << argv[0] << " inputImageFile" << std::endl;
return EXIT_FAILURE;
}
// Parse command line arguments
std::string inputFileName = argv[1];
// Setup types
using FloatImageType = itk::Image<float, 2>;
using UnsignedCharImageType = itk::Image<unsigned char, 2>;
using filterType = itk::DerivativeImageFilter<UnsignedCharImageType, FloatImageType>;
const auto input = itk::ReadImage<UnsignedCharImageType>(inputFileName);
// Create and setup a derivative filter
auto derivativeFilter = filterType::New();
derivativeFilter->SetInput(input);
derivativeFilter->SetDirection(0); // "x" axis
#ifdef ENABLE_QUICKVIEW
QuickView viewer;
viewer.AddImage<UnsignedCharImageType>(input);
viewer.AddImage<FloatImageType>(derivativeFilter->GetOutput());
viewer.Visualize();
#endif
return EXIT_SUCCESS;
}
Classes demonstrated#
-
template<typename TInputImage, typename TOutputImage>
class DerivativeImageFilter : public itk::ImageToImageFilter<TInputImage, TOutputImage> Computes the directional derivative of an image. The directional derivative at each pixel location is computed by convolution with a derivative operator of user-specified order.
SetOrder specifies the order of the derivative.
SetDirection specifies the direction of the derivative with respect to the coordinate axes of the image.
See also
Image
See also
Neighborhood
See also
NeighborhoodOperator
See also
NeighborhoodIterator
