template<typename TInput, typename TOutput>
class itk::FastMarchingUpwindGradientImageFilterBase< TInput, TOutput >
Generates the upwind gradient field of fast marching arrival times.
This filter adds some extra functionality to its base class. While the solution T(x) of the Eikonal equation is being generated by the base class with the fast marching method, the filter generates the upwind gradient vectors of T(x), storing them in an image.
Since the Eikonal equation generates the arrival times of a wave travelling at a given speed, the generated gradient vectors can be interpreted as the slowness (1/velocity) vectors of the front (the quantity inside the modulus operator in the Eikonal equation).
Gradient vectors are computed using upwind finite differences, that is, information only propagates from points where the wavefront has already passed. This is consistent with how the fast marching method works.
For an alternative implementation, see itk::FastMarchingUpwindGradientImageFilter.
- Author
- Luca Antiga Ph.D. Biomedical Technologies Laboratory, Bioengineering Department, Mario Negri Institute, Italy.
- See Also
- FastMarchingUpwindGradientImageFilter
Definition at line 53 of file itkFastMarchingUpwindGradientImageFilterBase.h.
|
using | ConstPointer = SmartPointer< const Self > |
|
using | GradientImagePointer = typename GradientImageType::Pointer |
|
using | GradientImageType = Image< GradientPixelType, ImageDimension > |
|
using | GradientPixelType = CovariantVector< OutputPixelType, ImageDimension > |
|
using | NodeType = typename Superclass::NodeType |
|
using | OutputImageType = typename Superclass::OutputImageType |
|
using | OutputPixelType = typename Superclass::OutputPixelType |
|
using | OutputSpacingType = typename Superclass::OutputSpacingType |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = FastMarchingUpwindGradientImageFilterBase |
|
using | Superclass = FastMarchingImageFilterBase< TInput, TOutput > |
|
using | Traits = typename Superclass::Traits |
|
using | ConnectedComponentImagePointer = typename ConnectedComponentImageType::Pointer |
|
using | ConnectedComponentImageType = Image< unsigned int, ImageDimension > |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InputImagePointer = typename Superclass::InputDomainPointer |
|
using | InputImageType = typename Superclass::InputDomainType |
|
using | InputPixelType = typename Superclass::InputPixelType |
|
using | InternalNodeStructureArray = FixedArray< InternalNodeStructure, ImageDimension > |
|
using | LabelImagePointer = typename LabelImageType::Pointer |
|
using | LabelImageType = Image< unsigned char, ImageDimension > |
|
using | LabelType = typename Superclass::LabelType |
|
using | NeighborhoodIteratorType = NeighborhoodIterator< LabelImageType > |
|
using | NeighborhoodRadiusType = typename NeighborhoodIteratorType::RadiusType |
|
using | NodePairContainerConstIterator = typename Traits::NodePairContainerConstIterator |
|
using | NodePairContainerPointer = typename Traits::NodePairContainerPointer |
|
using | NodePairContainerType = typename Traits::NodePairContainerType |
|
using | NodePairType = typename Traits::NodePairType |
|
using | NodeType = typename Traits::NodeType |
|
using | OutputDirectionType = typename OutputImageType::DirectionType |
|
using | OutputImagePointer = typename Superclass::OutputDomainPointer |
|
using | OutputImageType = typename Superclass::OutputDomainType |
|
using | OutputPixelType = typename Superclass::OutputPixelType |
|
using | OutputPointType = typename OutputImageType::PointType |
|
using | OutputRegionType = typename OutputImageType::RegionType |
|
using | OutputSizeType = typename OutputImageType::SizeType |
|
using | OutputSpacingType = typename OutputImageType::SpacingType |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = FastMarchingImageFilterBase |
|
using | Superclass = FastMarchingBase< TInput, TOutput > |
|
using | Traits = typename Superclass::Traits |
|
using | ConstPointer = SmartPointer< const Self > |
|
using | InputDomainPointer = typename Traits::InputDomainPointer |
|
using | InputDomainType = typename Traits::InputDomainType |
|
using | InputPixelType = typename Traits::InputPixelType |
|
using | LabelType = typename Traits::LabelType |
|
using | NodePairContainerConstIterator = typename Traits::NodePairContainerConstIterator |
|
using | NodePairContainerPointer = typename Traits::NodePairContainerPointer |
|
using | NodePairContainerType = typename Traits::NodePairContainerType |
|
using | NodePairType = typename Traits::NodePairType |
|
using | NodeType = typename Traits::NodeType |
|
using | OutputDomainPointer = typename Traits::OutputDomainPointer |
|
using | OutputDomainType = typename Traits::OutputDomainType |
|
using | OutputPixelType = typename Traits::OutputPixelType |
|
using | Pointer = SmartPointer< Self > |
|
using | Self = FastMarchingBase |
|
using | StoppingCriterionPointer = typename StoppingCriterionType::Pointer |
|
using | StoppingCriterionType = FastMarchingStoppingCriterionBase< TInput, TOutput > |
|
using | Superclass = typename FastMarchingTraits< TInput, TOutput >::SuperclassType |
|
using | SuperclassType = typename Traits::SuperclassType |
|
enum | TopologyCheckType {
Nothing = 0,
NoHandles,
Strict
} |
|
using | Traits = FastMarchingTraits< TInput, TOutput > |
|
|
virtual void | ComputeGradient (OutputImageType *oImage, const NodeType &iNode) |
|
| FastMarchingUpwindGradientImageFilterBase () |
|
void | InitializeOutput (OutputImageType *oImage) override |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | UpdateNeighbors (OutputImageType *oImage, const NodeType &iNode) override |
|
| ~FastMarchingUpwindGradientImageFilterBase () override=default |
|
bool | DoesVoxelChangeViolateStrictTopology (const NodeType &) const |
|
bool | DoesVoxelChangeViolateWellComposedness (const NodeType &) const |
|
void | EnlargeOutputRequestedRegion (DataObject *output) override |
|
| FastMarchingImageFilterBase () |
|
void | GenerateOutputInformation () override |
|
void | GetInternalNodesUsed (OutputImageType *oImage, const NodeType &iNode, InternalNodeStructureArray &ioNodesUsed) |
|
unsigned char | GetLabelValueForGivenNode (const NodeType &iNode) const override |
|
const OutputPixelType | GetOutputValue (OutputImageType *oImage, const NodeType &iNode) const override |
|
IdentifierType | GetTotalNumberOfNodes () const override |
|
void | InitializeIndices2D () |
|
void | InitializeIndices3D () |
|
bool | IsChangeWellComposed2D (const NodeType &) const |
|
bool | IsChangeWellComposed3D (const NodeType &) const |
|
bool | IsCriticalC1Configuration2D (const std::bitset< 9 > &) const |
|
bool | IsCriticalC1Configuration3D (const std::bitset< 8 > &) const |
|
bool | IsCriticalC2Configuration2D (const std::bitset< 9 > &) const |
|
unsigned int | IsCriticalC2Configuration3D (const std::bitset< 8 > &) const |
|
bool | IsCriticalC3Configuration2D (const std::bitset< 9 > &) const |
|
bool | IsCriticalC4Configuration2D (const std::bitset< 9 > &) const |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
void | SetLabelValueForGivenNode (const NodeType &iNode, const LabelType &iLabel) override |
|
void | SetOutputValue (OutputImageType *oDomain, const NodeType &iNode, const OutputPixelType &iValue) override |
|
double | Solve (OutputImageType *oImage, const NodeType &iNode, InternalNodeStructureArray &ioNeighbors) const |
|
void | UpdateNeighbors (OutputImageType *oImage, const NodeType &iNode) override |
|
void | UpdateValue (OutputImageType *oImage, const NodeType &iValue) override |
|
| ~FastMarchingImageFilterBase () override=default |
|
bool | CheckTopology (OutputImageType *oImage, const NodeType &iNode) override |
|
void | InitializeOutput (OutputImageType *oImage) override |
|
virtual bool | CheckTopology (OutputDomainType *oDomain, const NodeType &iNode)=0 |
|
| FastMarchingBase () |
|
void | GenerateData () override |
|
virtual const OutputPixelType | GetOutputValue (OutputDomainType *oDomain, const NodeType &iNode) const =0 |
|
void | Initialize (OutputDomainType *oDomain) |
|
virtual void | InitializeOutput (OutputDomainType *oDomain)=0 |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
virtual void | SetOutputValue (OutputDomainType *oDomain, const NodeType &iNode, const OutputPixelType &iValue)=0 |
|
virtual void | UpdateNeighbors (OutputDomainType *oDomain, const NodeType &iNode)=0 |
|
virtual void | UpdateValue (OutputDomainType *oDomain, const NodeType &iNode)=0 |
|
| ~FastMarchingBase () override=default |
|