NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
This class takes scalar image as input, and outputs a vector field of image gradient. More...
Public Member Functions | |
virtual const char * | GetClassName () const |
itkStaticConstMacro (Dimension, unsigned int, TInputImage::ImageDimension) | |
void | SetScalarImage (const InputImageType *image) |
virtual void | SetUseMillimetreScaling (bool _arg) |
virtual bool | GetUseMillimetreScaling () |
virtual void | SetDivideByTwo (bool _arg) |
virtual bool | GetDivideByTwo () |
virtual void | SetNormalize (bool _arg) |
virtual bool | GetNormalize () |
virtual void | SetPadValue (InputPixelType _arg) |
virtual InputPixelType | GetPadValue () |
virtual void | SetDerivativeType (DerivativeType _arg) |
virtual DerivativeType | GetDerivativeType () |
virtual void | SetSigma (double _arg) |
virtual double | GetSigma () |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
ScalarImageToNormalizedGradientVectorImageFilter () | |
~ScalarImageToNormalizedGradientVectorImageFilter () | |
void | PrintSelf (std::ostream &os, Indent indent) const |
virtual void | GenerateData () |
This class takes scalar image as input, and outputs a vector field of image gradient.
This class implements step (8) in in Jones et al. Human Brain Mapping 11:12-32 (2000). The input should be the output of itkLaplacianSolverImageFilter, but the filter will work for any scalar image. We simply compute the derivative using 2 point central differences, and normalize it to unit length. The output vector length takes into account anisotropic voxels, so the output vectors are in mm space, and hence are 1mm long.
Additionally, we added a member variable UseMillimetreScaling, so that if true, the size in millimetre of the voxel is taken into account. Defaults to on.
Additionally, we added a member variable, DivideByTwo, so that if true, the difference of the pixel + and pixel - is divided by two. Defaults to on.
Additionally, we added member variable Normalize, which is a boolean to turn normalization to unit length on/off. Defaults to on.
Additionally, we added a pad value. If the current pixel, or +/- 1 pixel in any dimension is == pad value, then the gradient is ignored.
As of 25th Nov 2009, we have wrapped the classes GradientImageFilter and GradientRecursiveGaussianImageFilter.
As of 1st Dec 2009, I have also wrapped smoothing of the vector field. You can supply a sigma (default 0 - i.e. no smoothing) and the resultant vectors will be smoothed. Also, if normalisation is on, the the smoothed vectors come out, normalised to unit length.
typedef SmartPointer<const Self> itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::ConstPointer |
typedef CovariantVectorImageType::Pointer itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::CovariantVectorImagePointer |
typedef Image< CovariantVectorType, itkGetStaticConstMacro(Dimension) > itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::CovariantVectorImageType |
typedef CovariantVector< VectorDataType, itkGetStaticConstMacro(Dimension) > itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::CovariantVectorType |
typedef GaussianSmoothFilterType::Pointer itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::GaussianSmoothFilterPointer |
typedef GaussianSmoothVectorFieldFilter<VectorDataType, itkGetStaticConstMacro(Dimension), itkGetStaticConstMacro(Dimension)> itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::GaussianSmoothFilterType |
typedef GradientImageFilterType::Pointer itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::GradientImageFilterPointer |
typedef GradientImageFilter<TInputImage, VectorDataType, VectorDataType> itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::GradientImageFilterType |
typedef GradientRecursiveGaussianImageFilterType::Pointer itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::GradientRecursiveGaussianImageFilterPointer |
typedef GradientRecursiveGaussianImageFilter<TInputImage, CovariantVectorImageType> itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::GradientRecursiveGaussianImageFilterType |
typedef Superclass::InputImageType itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::InputImageType |
typedef InputImageType::PixelType itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::InputPixelType |
typedef InputImageType::RegionType itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::InputRegionType |
typedef NormaliseFilterType::Pointer itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::NormaliseFilterPointer |
typedef NormaliseVectorFilter<VectorDataType, itkGetStaticConstMacro(Dimension) > itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::NormaliseFilterType |
typedef Image< OutputPixelType, itkGetStaticConstMacro(Dimension) > itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::OutputImageType |
typedef Vector< VectorDataType, itkGetStaticConstMacro(Dimension) > itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::OutputPixelType |
Standard typedefs.
typedef SmartPointer<Self> itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::Pointer |
typedef ScalarImageToNormalizedGradientVectorImageFilter itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::Self |
Standard "Self" typedef.
typedef ImageToImageFilter<TInputImage, Image< Vector< VectorDataType, TInputImage::ImageDimension >, TInputImage::ImageDimension > > itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::Superclass |
typedef TScalarType itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::VectorDataType |
enum itk::ScalarImageToNormalizedGradientVectorImageFilter::DerivativeType |
|
protected |
|
inlineprotected |
|
protectedvirtual |
|
virtual |
Run-time type information (and related methods).
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
|
virtual |
itk::ScalarImageToNormalizedGradientVectorImageFilter< TInputImage, TScalarType >::itkStaticConstMacro | ( | Dimension | , |
unsigned | int, | ||
TInputImage::ImageDimension | |||
) |
Get the number of dimensions we are working in.
|
static |
Method for creation through the object factory.
|
protected |
|
virtual |
Set/Get the derivative type, as this class wraps itkGradientImageFilter and itkGradientRecursiveGaussianImageFilter.
|
virtual |
Scale vector by dividing by two. Default on.
|
virtual |
Turn normalization to unit length on/off. Default on.
|
virtual |
Set a pad value, whereby we skip gradient evaluation. Default -1, which you should probably set to at least zero. I left it at -1 because various cortical thickness test images had lots of zeros in which are important.
|
inline |
Sets the scalar image, at input 0.
|
virtual |
Set/Get the sigma for Gaussian smoothing. Default 0, i.e. off.
|
virtual |
Scale vector by voxel size. Default on.