NifTK
16.4.1 - 0798f20
CMIC's Translational Medical Imaging Platform
|
Takes a mask, dilates outwards, blurs with a gaussian, then substitutes in the dilated mask, so you end up with a bigger mask than you started, with gaussian blurred edges (ie. smooth drop off to zero). More...
Public Types | |
typedef ExtendedBrainMaskWithSmoothDropOffCompositeFilter | Self |
typedef ImageToImageFilter < TImageType, TImageType > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef TImageType | ImageType |
typedef ImageType::Pointer | ImagePointer |
typedef BinaryThresholdImageFilter < TImageType, TImageType > | BinaryThresholdFilterType |
typedef BinaryThresholdFilterType::Pointer | BinaryThresholdFilterPointer |
typedef BinaryCrossStructuringElement < typename TImageType::PixelType, TImageType::ImageDimension > | StructuringElementType |
typedef BinaryDilateImageFilter < TImageType, TImageType, StructuringElementType > | BinaryDilateFilterType |
typedef BinaryDilateFilterType::Pointer | BinaryDilateFilterPointer |
typedef DiscreteGaussianImageFilter < TImageType, TImageType > | GaussianFilterType |
typedef GaussianFilterType::Pointer | GaussianFilterPointer |
typedef InjectSourceImageGreaterThanZeroIntoTargetImageFilter < TImageType, TImageType, TImageType > | InjectSourceImageGreaterThanZeroIntoTargetImageFilterType |
typedef InjectSourceImageGreaterThanZeroIntoTargetImageFilterType::Pointer | InjectSourceImageGreaterThanZeroIntoTargetImageFilterPointer |
Public Member Functions | |
virtual const char * | GetClassName () const |
void | PrintSelf (std::ostream &os, itk::Indent indent) const |
virtual float | GetInitialThreshold () |
virtual void | SetInitialThreshold (float _arg) |
virtual unsigned int | GetFirstNumberOfDilations () |
virtual void | SetFirstNumberOfDilations (unsigned int _arg) |
virtual unsigned int | GetSecondNumberOfDilations () |
virtual void | SetSecondNumberOfDilations (unsigned int _arg) |
virtual float | GetGaussianFWHM () |
virtual void | SetGaussianFWHM (float _arg) |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
ExtendedBrainMaskWithSmoothDropOffCompositeFilter () | |
virtual | ~ExtendedBrainMaskWithSmoothDropOffCompositeFilter () |
void | GenerateData () |
Takes a mask, dilates outwards, blurs with a gaussian, then substitutes in the dilated mask, so you end up with a bigger mask than you started, with gaussian blurred edges (ie. smooth drop off to zero).
This filter is designed for Nicky Hobbs to create a brain mask for her fluid registration experiments. As per email from Jo Barnes, you have 4 parameters,
1.) Threshold using value T 2.) First stage of dilation = X voxels 3.) Second stage of dilation = Y voxels 4.) Gaussian FWHM = Z millimetres
and the process is:
1.) Threshold using value T so that if value < T, output = 0 else value = 1. 2.) Dilate mask by X voxels in all directions, let's call the result mask A (binary); 3.) Dilate mask A further by Y voxels in all directions, let's call the result mask B (binary); 4.) Applied to mask B gaussian smoothing with a Zmm FWHM kernel, to generate an approximation to a smooth signal drop-off, let's call the result mask C (reals); 5.) Replaced the inner portion of mask C with mask A, i.e. to enforce the preservation of the original signal intensity values in a neighbourhood of 8 voxels around the original brain mask, followed by a smooth drop-off around that, let's call the result mask D (reals); 6.) The output is mask D.
This class can be used as an example of a Composite Filter.
typedef BinaryDilateFilterType::Pointer itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::BinaryDilateFilterPointer |
typedef BinaryDilateImageFilter<TImageType, TImageType, StructuringElementType> itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::BinaryDilateFilterType |
typedef BinaryThresholdFilterType::Pointer itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::BinaryThresholdFilterPointer |
typedef BinaryThresholdImageFilter<TImageType, TImageType> itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::BinaryThresholdFilterType |
typedef SmartPointer<const Self> itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::ConstPointer |
typedef GaussianFilterType::Pointer itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::GaussianFilterPointer |
typedef DiscreteGaussianImageFilter<TImageType, TImageType> itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::GaussianFilterType |
typedef ImageType::Pointer itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::ImagePointer |
typedef TImageType itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::ImageType |
typedef InjectSourceImageGreaterThanZeroIntoTargetImageFilter<TImageType, TImageType, TImageType> itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::InjectSourceImageGreaterThanZeroIntoTargetImageFilterType |
typedef SmartPointer<Self> itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::Pointer |
typedef ExtendedBrainMaskWithSmoothDropOffCompositeFilter itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::Self |
typedef BinaryCrossStructuringElement<typename TImageType::PixelType, TImageType::ImageDimension> itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::StructuringElementType |
typedef ImageToImageFilter<TImageType, TImageType> itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::Superclass |
|
protected |
|
protectedvirtual |
|
protected |
|
virtual |
Run-time type information
|
virtual |
|
virtual |
|
virtual |
Set/Get our parameters.
|
virtual |
|
static |
Method for creation through object factory
void itk::ExtendedBrainMaskWithSmoothDropOffCompositeFilter< TImageType >::PrintSelf | ( | std::ostream & | os, |
itk::Indent | indent | ||
) | const |
Display
|
virtual |
|
virtual |
|
virtual |
|
virtual |