ITK  4.0.0
Insight Segmentation and Registration Toolkit
Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Private Member Functions | Private Attributes
itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType > Class Template Reference

Computes the gradient of an image using directional derivatives. More...

#include <itkGradientImageFilter.h>

Inheritance diagram for itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >:
Collaboration diagram for itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >:

List of all members.

Public Types

typedef SmartPointer< const SelfConstPointer
typedef InputImageType::PixelType InputPixelType
typedef TOperatorValueType OperatorValueType
typedef OutputImageType::RegionType OutputImageRegionType
typedef CovariantVector
< OutputValueType,
itkGetStaticConstMacro(OutputImageDimension) > 
OutputPixelType
typedef TOutputValueType OutputValueType
typedef SmartPointer< SelfPointer
typedef GradientImageFilter Self
typedef ImageToImageFilter
< InputImageType,
OutputImageType
Superclass
typedef TInputImage InputImageType
typedef InputImageType::Pointer InputImagePointer
typedef Image< CovariantVector
< TOutputValueType,
itkGetStaticConstMacro(OutputImageDimension) >
, itkGetStaticConstMacro(OutputImageDimension) > 
OutputImageType
typedef OutputImageType::Pointer OutputImagePointer

Public Member Functions

virtual ::itk::LightObject::Pointer CreateAnother (void) const
virtual void GenerateInputRequestedRegion () throw ( InvalidRequestedRegionError )
virtual const char * GetNameOfClass () const
void SetUseImageSpacingOff ()
void SetUseImageSpacingOn ()
 typedef (Concept::HasNumericTraits< OutputValueType >) OutputHasNumericTraitsCheck
 typedef (Concept::Convertible< InputPixelType, OutputValueType >) InputConvertibleToOutputCheck
virtual void SetUseImageSpacing (bool _arg)
virtual bool GetUseImageSpacing () const

Static Public Member Functions

static Pointer New ()

Static Public Attributes

static const unsigned int InputImageDimension = TInputImage::ImageDimension
static const unsigned int OutputImageDimension = TInputImage::ImageDimension

Protected Member Functions

void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId)

Private Member Functions

 GradientImageFilter (const Self &)
void operator= (const Self &)

Private Attributes

bool m_UseImageDirection
bool m_UseImageSpacing
virtual void SetUseImageDirection (bool _arg)
virtual bool GetUseImageDirection () const
virtual void UseImageDirectionOn ()
virtual void UseImageDirectionOff ()
 GradientImageFilter ()
virtual ~GradientImageFilter ()
void PrintSelf (std::ostream &os, Indent indent) const

Detailed Description

template<class TInputImage, class TOperatorValueType = float, class TOutputValueType = float>
class itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >

Computes the gradient of an image using directional derivatives.

Computes the gradient of an image using directional derivatives. The directional derivative at each pixel location is computed by convolution with a first-order derivative operator.

The second template parameter defines the value type used in the derivative operator (defaults to float). The third template parameter defines the value type used for output image (defaults to float). The output image is defined as a covariant vector image whose value type is specified as this third template parameter.

See also:
Image
Neighborhood
NeighborhoodOperator
NeighborhoodIterator

Definition at line 49 of file itkGradientImageFilter.h.


Member Typedef Documentation

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef SmartPointer< const Self > itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::ConstPointer
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef InputImageType::Pointer itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::InputImagePointer
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef TInputImage itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::InputImageType
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef InputImageType::PixelType itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::InputPixelType

Image typedef support.

Definition at line 85 of file itkGradientImageFilter.h.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef TOperatorValueType itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::OperatorValueType

Definition at line 89 of file itkGradientImageFilter.h.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef OutputImageType::Pointer itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::OutputImagePointer
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef OutputImageType::RegionType itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::OutputImageRegionType
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef Image< CovariantVector< TOutputValueType, itkGetStaticConstMacro(OutputImageDimension) >, itkGetStaticConstMacro(OutputImageDimension) > itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::OutputImageType
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef CovariantVector< OutputValueType, itkGetStaticConstMacro(OutputImageDimension) > itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::OutputPixelType

Definition at line 93 of file itkGradientImageFilter.h.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef TOutputValueType itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::OutputValueType

Definition at line 90 of file itkGradientImageFilter.h.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef SmartPointer< Self > itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::Pointer
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef GradientImageFilter itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::Self
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
typedef ImageToImageFilter< InputImageType, OutputImageType > itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::Superclass

Constructor & Destructor Documentation

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::GradientImageFilter ( ) [protected]

End concept checking The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coodinate system of physical space. The difference is whether we take into account the image Direction or not. The flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. The default value of this flag is On.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
virtual itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::~GradientImageFilter ( ) [protected, virtual]

End concept checking The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coodinate system of physical space. The difference is whether we take into account the image Direction or not. The flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. The default value of this flag is On.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::GradientImageFilter ( const Self ) [private]

Member Function Documentation

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
virtual::itk::LightObject::Pointer itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::CreateAnother ( void  ) const [virtual]

Create an object from an instance, potentially deferring to a factory. This method allows you to create an instance of an object that is exactly the same type as the referring object. This is useful in cases where an object has been cast back to a base class.

Reimplemented from itk::Object.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
virtual void itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::GenerateInputRequestedRegion ( ) throw ( InvalidRequestedRegionError ) [virtual]
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
virtual const char* itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::GetNameOfClass ( ) const [virtual]
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
virtual bool itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::GetUseImageDirection ( ) const [virtual]

End concept checking The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coodinate system of physical space. The difference is whether we take into account the image Direction or not. The flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. The default value of this flag is On.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
virtual bool itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::GetUseImageSpacing ( ) const [virtual]

Set/Get whether or not the filter will use the spacing of the input image in its calculations

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
static Pointer itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::New ( ) [static]

Method for creation through the object factory.

Reimplemented from itk::Object.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
void itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::operator= ( const Self ) [private]

PushBackInput(), PushFronInput() in the public section force the input to be the type expected by an ImageToImageFilter. However, these methods end of "hiding" the versions from the superclass (ProcessObject) whose arguments are DataObjects. Here, we re-expose the versions from ProcessObject to avoid warnings about hiding methods from the superclass.

Reimplemented from itk::ImageToImageFilter< TInputImage, Image< CovariantVector< TOutputValueType,::itk::GetImageDimension< TInputImage >::ImageDimension >,::itk::GetImageDimension< TInputImage >::ImageDimension > >.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
void itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::PrintSelf ( std::ostream &  os,
Indent  indent 
) const [protected, virtual]

End concept checking The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coodinate system of physical space. The difference is whether we take into account the image Direction or not. The flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. The default value of this flag is On.

Reimplemented from itk::ImageToImageFilter< TInputImage, Image< CovariantVector< TOutputValueType,::itk::GetImageDimension< TInputImage >::ImageDimension >,::itk::GetImageDimension< TInputImage >::ImageDimension > >.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
virtual void itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::SetUseImageDirection ( bool  _arg) [virtual]

End concept checking The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coodinate system of physical space. The difference is whether we take into account the image Direction or not. The flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. The default value of this flag is On.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
virtual void itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::SetUseImageSpacing ( bool  _arg) [virtual]

Set/Get whether or not the filter will use the spacing of the input image in its calculations

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
void itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::SetUseImageSpacingOff ( ) [inline]

Ignore the image spacing. Use this option if you want derivatives in isotropic pixel space. Default is UseImageSpacingOn.

Definition at line 112 of file itkGradientImageFilter.h.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
void itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::SetUseImageSpacingOn ( ) [inline]

Use the image spacing information in calculations. Use this option if you want derivatives in physical space. Default is UseImageSpacingOn.

Definition at line 107 of file itkGradientImageFilter.h.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
void itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::ThreadedGenerateData ( const OutputImageRegionType outputRegionForThread,
ThreadIdType  threadId 
) [protected, virtual]

GradientImageFilter can be implemented as a multithreaded filter. Therefore, this implementation provides a ThreadedGenerateData() routine which is called for each processing thread. The output image data is allocated automatically by the superclass prior to calling ThreadedGenerateData(). ThreadedGenerateData can only write to the portion of the output image specified by the parameter "outputRegionForThread"

See also:
ImageToImageFilter::ThreadedGenerateData(), ImageToImageFilter::GenerateData()

Reimplemented from itk::ImageSource< Image< CovariantVector< TOutputValueType,::itk::GetImageDimension< TInputImage >::ImageDimension >,::itk::GetImageDimension< TInputImage >::ImageDimension > >.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::typedef ( Concept::HasNumericTraits< OutputValueType )

This class requires OutputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< OutputValueType > )

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::typedef ( Concept::Convertible< InputPixelType, OutputValueType )

Begin concept checking This class requires InputConvertibleToOutputCheck in the form of ( Concept::Convertible< InputPixelType, OutputValueType > )

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
virtual void itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::UseImageDirectionOff ( ) [virtual]

End concept checking The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coodinate system of physical space. The difference is whether we take into account the image Direction or not. The flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. The default value of this flag is On.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
virtual void itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::UseImageDirectionOn ( ) [virtual]

End concept checking The UseImageDirection flag determines whether image derivatives are computed with respect to the image grid or with respect to the physical space. When this flag is ON the derivatives are computed with respect to the coodinate system of physical space. The difference is whether we take into account the image Direction or not. The flag ON will take into account the image direction and will result in an extra matrix multiplication compared to the amount of computation performed when the flag is OFF. The default value of this flag is On.


Member Data Documentation

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
const unsigned int itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::InputImageDimension = TInputImage::ImageDimension [static]
template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
bool itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::m_UseImageDirection [private]

Definition at line 171 of file itkGradientImageFilter.h.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
bool itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::m_UseImageSpacing [private]

Definition at line 167 of file itkGradientImageFilter.h.

template<class TInputImage , class TOperatorValueType = float, class TOutputValueType = float>
const unsigned int itk::GradientImageFilter< TInputImage, TOperatorValueType, TOutputValueType >::OutputImageDimension = TInputImage::ImageDimension [static]

The documentation for this class was generated from the following file: