ITK
4.1.0
Insight Segmentation and Registration Toolkit
|
#include <itkCollidingFrontsImageFilter.h>
Selects a region of space where two independent fronts run towards each other.
The filter can be used to quickly segment anatomical structures (e.g. for level set initialization).
The filter uses two instances of FastMarchingUpwindGradientImageFilter to compute the gradients of arrival times of two wavefronts propagating from two sets of seeds. The input of the filter is used as the speed of the two wavefronts. The output is the dot product between the two gradient vector fields.
The filter works on the following basic idea. In the regions where the dot product between the two gradient fields is negative, the two fronts propagate in opposite directions. In the regions where the dot product is positive, the two fronts propagate in the same direction. This can be used to extract the region of space between two sets of points.
If StopOnTargets is On, then each front will stop as soon as all seeds of the other front have been reached. This can markedly speed up the execution of the filter, since wave propagation does not take place on the complete image.
Optionally, a connectivity criterion can be applied to the resulting dot product image. In this case, the only negative region in the output image is the one connected to the seeds.
Definition at line 61 of file itkCollidingFrontsImageFilter.h.
typedef SmartPointer< const Self > itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::ConstPointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 69 of file itkCollidingFrontsImageFilter.h.
typedef itk::FastMarchingUpwindGradientImageFilter< TInputImage, TOutputImage > itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::FastMarchingUpwindGradientImageFilterType |
FastMarchingUpwindGradientImageFilter typedefs.
Definition at line 99 of file itkCollidingFrontsImageFilter.h.
typedef FastMarchingUpwindGradientImageFilterType::GradientImageType itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::GradientImageType |
Definition at line 111 of file itkCollidingFrontsImageFilter.h.
typedef FastMarchingUpwindGradientImageFilterType::IndexType itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::IndexType |
Definition at line 112 of file itkCollidingFrontsImageFilter.h.
typedef InputImageType::Pointer itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::InputImagePointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 90 of file itkCollidingFrontsImageFilter.h.
typedef TInputImage itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::InputImageType |
Image typedef support
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 89 of file itkCollidingFrontsImageFilter.h.
typedef TInputImage::PixelType itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::InputPixelType |
Definition at line 80 of file itkCollidingFrontsImageFilter.h.
typedef FastMarchingUpwindGradientImageFilterType::NodeContainer itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::NodeContainer |
Definition at line 107 of file itkCollidingFrontsImageFilter.h.
typedef FastMarchingUpwindGradientImageFilterType::NodeContainerPointer itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::NodeContainerPointer |
Definition at line 109 of file itkCollidingFrontsImageFilter.h.
typedef FastMarchingUpwindGradientImageFilterType::NodeType itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::NodeType |
Definition at line 105 of file itkCollidingFrontsImageFilter.h.
typedef OutputImageType::Pointer itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::OutputImagePointer |
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 92 of file itkCollidingFrontsImageFilter.h.
typedef Superclass::OutputImageRegionType itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::OutputImageRegionType |
Superclass typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 95 of file itkCollidingFrontsImageFilter.h.
typedef TOutputImage itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::OutputImageType |
Some convenient typedefs.
Reimplemented from itk::ImageSource< TOutputImage >.
Definition at line 91 of file itkCollidingFrontsImageFilter.h.
typedef TOutputImage::PixelType itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::OutputPixelType |
Extract some information from the image types. Dimensionality of the two images is assumed to be the same.
Definition at line 75 of file itkCollidingFrontsImageFilter.h.
typedef FastMarchingUpwindGradientImageFilterType::PixelType itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::PixelType |
Typedef support of level set method types.
Definition at line 103 of file itkCollidingFrontsImageFilter.h.
typedef SmartPointer< Self > itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::Pointer |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 68 of file itkCollidingFrontsImageFilter.h.
typedef NumericTraits< InputPixelType >::RealType itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::RealType |
Definition at line 81 of file itkCollidingFrontsImageFilter.h.
typedef CollidingFrontsImageFilter itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::Self |
Standard class typedefs.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 66 of file itkCollidingFrontsImageFilter.h.
typedef ImageToImageFilter< TInputImage, TOutputImage > itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::Superclass |
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
Definition at line 67 of file itkCollidingFrontsImageFilter.h.
itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::CollidingFrontsImageFilter | ( | ) | [protected] |
End concept checking
virtual itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::~CollidingFrontsImageFilter | ( | ) | [inline, protected, virtual] |
Definition at line 160 of file itkCollidingFrontsImageFilter.h.
itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::CollidingFrontsImageFilter | ( | const Self & | ) | [private] |
virtual void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::ApplyConnectivityOff | ( | ) | [virtual] |
virtual void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::ApplyConnectivityOn | ( | ) | [virtual] |
virtual::itk::LightObject::Pointer itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::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.
void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::GenerateData | ( | ) | [protected, virtual] |
A version of GenerateData() specific for image processing filters. This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.
Reimplemented from itk::ImageSource< TOutputImage >.
virtual bool itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::GetApplyConnectivity | ( | ) | const [virtual] |
virtual const char* itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::GetNameOfClass | ( | ) | const [virtual] |
Run-time type information (and related methods)
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual double itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::GetNegativeEpsilon | ( | ) | const [virtual] |
NodeContainerPointer itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::GetSeedPoints1 | ( | ) | [inline] |
Get the container of Seed Points representing the first initial front.
Definition at line 124 of file itkCollidingFrontsImageFilter.h.
NodeContainerPointer itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::GetSeedPoints2 | ( | ) | [inline] |
Get the container of Seed Points representing the second initial front.
Definition at line 137 of file itkCollidingFrontsImageFilter.h.
virtual bool itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::GetStopOnTargets | ( | ) | const [virtual] |
static Pointer itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from itk::Object.
void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::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, TOutputImage >.
void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::PrintSelf | ( | std::ostream & | os, |
Indent | indent | ||
) | const [protected, virtual] |
Methods invoked by Print() to print information about the object including superclasses. Typically not called by the user (use Print() instead) but used in the hierarchical print process to combine the output of several classes.
Reimplemented from itk::ImageToImageFilter< TInputImage, TOutputImage >.
virtual void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetApplyConnectivity | ( | bool | _arg | ) | [virtual] |
virtual void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetNegativeEpsilon | ( | double | _arg | ) | [virtual] |
void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetSeedPoints1 | ( | NodeContainer * | points | ) | [inline] |
Set the container of Seed Points representing the first initial front. Seed points are represented as a VectorContainer of LevelSetNodes.
Definition at line 116 of file itkCollidingFrontsImageFilter.h.
void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetSeedPoints2 | ( | NodeContainer * | points | ) | [inline] |
Set the container of Seed Points representing the second initial front. Seed points are represented as a VectorContainer of LevelSetNodes.
Definition at line 129 of file itkCollidingFrontsImageFilter.h.
virtual void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::SetStopOnTargets | ( | bool | _arg | ) | [virtual] |
virtual void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::StopOnTargetsOff | ( | ) | [virtual] |
virtual void itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::StopOnTargetsOn | ( | ) | [virtual] |
itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::typedef | ( | Concept::HasNumericTraits< InputPixelType > | ) |
Begin concept checking This class requires InputHasNumericTraitsCheck in the form of ( Concept::HasNumericTraits< InputPixelType > )
const unsigned int itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::ImageDimension = TOutputImage::ImageDimension [static] |
Extract some information from the image types. Dimensionality of the two images is assumed to be the same.
Definition at line 86 of file itkCollidingFrontsImageFilter.h.
bool itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::m_ApplyConnectivity [private] |
Definition at line 173 of file itkCollidingFrontsImageFilter.h.
double itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::m_NegativeEpsilon [private] |
Definition at line 175 of file itkCollidingFrontsImageFilter.h.
NodeContainerPointer itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::m_SeedPoints1 [private] |
Definition at line 169 of file itkCollidingFrontsImageFilter.h.
NodeContainerPointer itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::m_SeedPoints2 [private] |
Definition at line 170 of file itkCollidingFrontsImageFilter.h.
bool itk::CollidingFrontsImageFilter< TInputImage, TOutputImage >::m_StopOnTargets [private] |
Definition at line 172 of file itkCollidingFrontsImageFilter.h.