template<typename TInputImage, typename TOutputImage>
class itk::CurvatureAnisotropicDiffusionImageFilter< TInputImage, TOutputImage >
This filter performs anisotropic diffusion on a scalar itk::Image using the modified curvature diffusion equation (MCDE) implemented in itkCurvatureNDAnisotropicDiffusionFunction. For detailed information on anisotropic diffusion and the MCDE see itkAnisotropicDiffusionFunction and itkCurvatureNDAnisotropicDiffusionFunction.
- Inputs and Outputs
- The input and output to this filter must be a scalar itk::Image with numerical pixel types (float or double). A user defined type which correctly defines arithmetic operations with floating point accuracy should also give correct results.
- Parameters
- Please first read all the documentation found in AnisotropicDiffusionImageFilter and AnisotropicDiffusionFunction. Also see CurvatureNDAnisotropicDiffusionFunction.
The default time step for this filter is set to the maximum theoretically stable value: 0.5 / 2^N, where N is the dimensionality of the image. For a 2D image, this means valid time steps are below 0.1250. For a 3D image, valid time steps are below 0.0625.
- See Also
- AnisotropicDiffusionImageFilter
-
AnisotropicDiffusionFunction
-
CurvatureNDAnisotropicDiffusionFunction
- Examples:
- Filtering/CurvatureAnisotropicDiffusionImageFilter.cxx, Segmentation/CurvesLevelSetImageFilter.cxx, Segmentation/FastMarchingImageFilter.cxx, Segmentation/GeodesicActiveContourImageFilter.cxx, Segmentation/GeodesicActiveContourShapePriorLevelSetImageFilter.cxx, and Segmentation/ShapeDetectionLevelSetFilter.cxx.
Definition at line 58 of file itkCurvatureAnisotropicDiffusionImageFilter.h.
|
| | CurvatureAnisotropicDiffusionImageFilter () |
| |
| virtual void | InitializeIteration () |
| |
| | ~CurvatureAnisotropicDiffusionImageFilter () |
| |
| | AnisotropicDiffusionImageFilter () |
| |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| |
| | ~AnisotropicDiffusionImageFilter () |
| |
| virtual void | AllocateUpdateBuffer () |
| |
| virtual void | ApplyUpdate (const TimeStepType &dt) |
| |
| virtual TimeStepType | CalculateChange () |
| |
| virtual void | CopyInputToOutput () |
| |
| | DenseFiniteDifferenceImageFilter () |
| |
| virtual UpdateBufferType * | GetUpdateBuffer () |
| |
| virtual void | ThreadedApplyUpdate (const TimeStepType &dt, const ThreadRegionType ®ionToProcess, ThreadIdType threadId) |
| |
| virtual TimeStepType | ThreadedCalculateChange (const ThreadRegionType ®ionToProcess, ThreadIdType threadId) |
| |
| | ~DenseFiniteDifferenceImageFilter () |
| |
| virtual void | ApplyUpdate (const TimeStepType &dt)=0 |
| |
| | FiniteDifferenceImageFilter () |
| |
| virtual void | GenerateData () |
| |
| virtual void | GenerateInputRequestedRegion () |
| |
| virtual bool | Halt () |
| |
| virtual void | Initialize () |
| |
| virtual void | PostProcessOutput () |
| |
| virtual TimeStepType | ResolveTimeStep (const std::vector< TimeStepType > &timeStepList, const std::vector< bool > &valid) const |
| |
| virtual void | SetElapsedIterations (IdentifierType _arg) |
| |
| virtual bool | ThreadedHalt (void *) |
| |
| virtual | ~FiniteDifferenceImageFilter () |
| |
| virtual void | AllocateOutputs () |
| |
| virtual bool | GetRunningInPlace () const |
| |
| | InPlaceImageFilter () |
| |
| virtual void | ReleaseInputs () |
| |
| | ~InPlaceImageFilter () |
| |
| virtual void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
| |
| virtual void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
| |
| | ImageToImageFilter () |
| |
| virtual void | VerifyInputInformation () |
| |
| | ~ImageToImageFilter () |
| |
| void | PushBackInput (const DataObject *input) |
| |
| void | PushFrontInput (const DataObject *input) |
| |
| virtual void | AfterThreadedGenerateData () |
| |
| virtual void | BeforeThreadedGenerateData () |
| |
virtual const
ImageRegionSplitterBase * | GetImageRegionSplitter (void) const |
| |
| | ImageSource () |
| |
| virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion) |
| |
| virtual void | ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, ThreadIdType threadId) |
| |
| virtual | ~ImageSource () |
| |
| virtual void | AddInput (DataObject *input) |
| |
| virtual void | AddOutput (DataObject *output) |
| |
| virtual void | CacheInputReleaseDataFlags () |
| |
| virtual void | GenerateOutputInformation () |
| |
| virtual void | GenerateOutputRequestedRegion (DataObject *output) |
| |
virtual const
DataObjectPointerArraySizeType & | GetNumberOfRequiredOutputs () const |
| |
| bool | IsIndexedInputName (const DataObjectIdentifierType &) const |
| |
| bool | IsIndexedOutputName (const DataObjectIdentifierType &) const |
| |
| | itkLegacyMacro (virtual void RemoveOutput(DataObject *output)) |
| |
| | itkLegacyMacro (void SetNumberOfOutputs(DataObjectPointerArraySizeType num)) |
| |
| | itkLegacyMacro (virtual void RemoveInput(DataObject *input)) |
| |
| | itkLegacyMacro (void SetNumberOfInputs(DataObjectPointerArraySizeType num)) |
| |
| DataObjectPointerArraySizeType | MakeIndexFromInputName (const DataObjectIdentifierType &name) const |
| |
| DataObjectPointerArraySizeType | MakeIndexFromOutputName (const DataObjectIdentifierType &name) const |
| |
| DataObjectIdentifierType | MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const |
| |
| DataObjectIdentifierType | MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const |
| |
| | ProcessObject () |
| |
| virtual void | PropagateResetPipeline () |
| |
| virtual void | RemoveInput (const DataObjectIdentifierType &key) |
| |
| virtual void | RemoveInput (DataObjectPointerArraySizeType) |
| |
| virtual void | RemoveOutput (const DataObjectIdentifierType &key) |
| |
| virtual void | RemoveOutput (DataObjectPointerArraySizeType idx) |
| |
| virtual void | RestoreInputReleaseDataFlags () |
| |
| virtual void | SetInput (const DataObjectIdentifierType &key, DataObject *input) |
| |
| virtual void | SetNthInput (DataObjectPointerArraySizeType num, DataObject *input) |
| |
| virtual void | SetNthOutput (DataObjectPointerArraySizeType num, DataObject *output) |
| |
| void | SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num) |
| |
| void | SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num) |
| |
| virtual void | SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg) |
| |
| virtual void | SetOutput (const DataObjectIdentifierType &key, DataObject *output) |
| |
| virtual void | SetPrimaryInput (DataObject *input) |
| |
| virtual void | SetPrimaryOutput (DataObject *output) |
| |
| virtual void | VerifyPreconditions () |
| |
| | ~ProcessObject () |
| |
| DataObject * | GetInput (const DataObjectIdentifierType &key) |
| |
| const DataObject * | GetInput (const DataObjectIdentifierType &key) const |
| |
| DataObject * | GetInput (DataObjectPointerArraySizeType idx) |
| |
| const DataObject * | GetInput (DataObjectPointerArraySizeType idx) const |
| |
| DataObject * | GetPrimaryInput () |
| |
| const DataObject * | GetPrimaryInput () const |
| |
| virtual void | SetPrimaryInputName (const DataObjectIdentifierType &key) |
| |
| virtual const char * | GetPrimaryInputName (void) const |
| |
| virtual void | SetNumberOfRequiredInputs (DataObjectPointerArraySizeType) |
| |
virtual const
DataObjectPointerArraySizeType & | GetNumberOfRequiredInputs () const |
| |
| bool | AddRequiredInputName (const DataObjectIdentifierType &) |
| |
| bool | AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
| |
| bool | RemoveRequiredInputName (const DataObjectIdentifierType &) |
| |
| bool | IsRequiredInputName (const DataObjectIdentifierType &) const |
| |
| void | SetRequiredInputNames (const NameArray &) |
| |
| DataObject * | GetOutput (const DataObjectIdentifierType &key) |
| |
| const DataObject * | GetOutput (const DataObjectIdentifierType &key) const |
| |
| virtual void | SetPrimaryOutputName (const DataObjectIdentifierType &key) |
| |
| virtual const char * | GetPrimaryOutputName (void) const |
| |
| DataObject * | GetOutput (DataObjectPointerArraySizeType idx) |
| |
| const DataObject * | GetOutput (DataObjectPointerArraySizeType idx) const |
| |
| DataObject * | GetPrimaryOutput () |
| |
| const DataObject * | GetPrimaryOutput () const |
| |
| | Object () |
| |
| bool | PrintObservers (std::ostream &os, Indent indent) const |
| |
| virtual void | SetTimeStamp (const TimeStamp &time) |
| |
| virtual | ~Object () |
| |
| virtual LightObject::Pointer | InternalClone () const |
| |
| | LightObject () |
| |
| virtual void | PrintHeader (std::ostream &os, Indent indent) const |
| |
| virtual void | PrintTrailer (std::ostream &os, Indent indent) const |
| |
| virtual | ~LightObject () |
| |