|
static Pointer | New () |
|
static void | SetGlobalDefaultDirectionTolerance (double) |
|
static double | GetGlobalDefaultDirectionTolerance () |
|
static void | SetGlobalDefaultCoordinateTolerance (double) |
|
static double | GetGlobalDefaultCoordinateTolerance () |
|
static bool | GetGlobalWarningDisplay () |
|
static void | GlobalWarningDisplayOff () |
|
static void | GlobalWarningDisplayOn () |
|
static Pointer | New () |
|
static void | SetGlobalWarningDisplay (bool val) |
|
static void | BreakOnError () |
|
static Pointer | New () |
|
using | InputToOutputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::OutputImageDimension, Self::InputImageDimension > |
|
using | OutputToInputRegionCopierType = ImageToImageFilterDetail::ImageRegionCopier< Self::InputImageDimension, Self::OutputImageDimension > |
|
| SparseFieldLevelSetImageFilter () |
|
| ~SparseFieldLevelSetImageFilter () override=default |
|
void | PrintSelf (std::ostream &os, Indent indent) const override |
|
virtual ValueType | CalculateUpdateValue (const IndexType &, const TimeStepType &dt, const ValueType &value, const ValueType &change) |
|
void | PostProcessOutput () override |
|
virtual void | InitializeBackgroundPixels () |
|
void | Initialize () override |
|
void | CopyInputToOutput () override |
|
void | AllocateUpdateBuffer () override |
|
void | ApplyUpdate (const TimeStepType &dt) override |
|
TimeStepType | CalculateChange () override |
|
void | ConstructLayer (StatusType from, StatusType to) |
|
void | ConstructActiveLayer () |
|
void | InitializeActiveLayerValues () |
|
void | PropagateLayerValues (StatusType from, StatusType to, StatusType promote, int InOrOut) |
|
void | PropagateAllLayerValues () |
|
void | UpdateActiveLayerValues (TimeStepType dt, LayerType *UpList, LayerType *DownList) |
|
void | ProcessStatusList (LayerType *InputList, LayerType *OutputList, StatusType ChangeToStatus, StatusType SearchForStatus) |
|
void | ProcessOutsideList (LayerType *OutsideList, StatusType ChangeToStatus) |
|
virtual ValueType | GetValueZero () const |
|
virtual ValueType | GetValueOne () const |
|
| FiniteDifferenceImageFilter () |
|
| ~FiniteDifferenceImageFilter () override=default |
|
void | GenerateData () override |
|
void | GenerateInputRequestedRegion () override |
|
virtual bool | Halt () |
|
virtual bool | ThreadedHalt (void *) |
|
virtual TimeStepType | ResolveTimeStep (const std::vector< TimeStepType > &timeStepList, const std::vector< bool > &valid) const |
|
virtual void | SetElapsedIterations (IdentifierType _arg) |
|
| InPlaceImageFilter ()=default |
|
| ~InPlaceImageFilter () override=default |
|
void | AllocateOutputs () override |
|
void | ReleaseInputs () override |
|
virtual bool | GetRunningInPlace () const |
|
| ImageToImageFilter () |
|
| ~ImageToImageFilter () override=default |
|
void | VerifyInputInformation () ITKv5_CONST override |
|
virtual void | CallCopyOutputRegionToInputRegion (InputImageRegionType &destRegion, const OutputImageRegionType &srcRegion) |
|
virtual void | CallCopyInputRegionToOutputRegion (OutputImageRegionType &destRegion, const InputImageRegionType &srcRegion) |
|
void | PushBackInput (const DataObject *input) override |
|
void | PushFrontInput (const DataObject *input) override |
|
| ImageSource () |
|
| ~ImageSource () override=default |
|
void | ClassicMultiThread (ThreadFunctionType callbackFunction) |
|
virtual void | ThreadedGenerateData (const OutputImageRegionType ®ion, ThreadIdType threadId) |
|
virtual void | DynamicThreadedGenerateData (const OutputImageRegionType &outputRegionForThread) |
|
virtual void | BeforeThreadedGenerateData () |
|
virtual void | AfterThreadedGenerateData () |
|
virtual const ImageRegionSplitterBase * | GetImageRegionSplitter () const |
|
virtual unsigned int | SplitRequestedRegion (unsigned int i, unsigned int pieces, OutputImageRegionType &splitRegion) |
|
virtual bool | GetDynamicMultiThreading () const |
|
virtual void | SetDynamicMultiThreading (bool _arg) |
|
virtual void | DynamicMultiThreadingOn () |
|
virtual void | DynamicMultiThreadingOff () |
|
| ProcessObject () |
|
| ~ProcessObject () override |
|
DataObject * | GetInput (const DataObjectIdentifierType &key) |
|
const DataObject * | GetInput (const DataObjectIdentifierType &key) const |
|
DataObject * | GetInput (DataObjectPointerArraySizeType idx) |
|
const DataObject * | GetInput (DataObjectPointerArraySizeType idx) const |
|
virtual void | SetInput (const DataObjectIdentifierType &key, DataObject *input) |
|
virtual void | SetNthInput (DataObjectPointerArraySizeType idx, DataObject *input) |
|
virtual void | AddInput (DataObject *input) |
|
virtual void | RemoveInput (const DataObjectIdentifierType &key) |
|
virtual void | RemoveInput (DataObjectPointerArraySizeType) |
|
DataObject * | GetPrimaryInput () |
|
const DataObject * | GetPrimaryInput () const |
|
virtual void | SetPrimaryInputName (const DataObjectIdentifierType &key) |
|
virtual const char * | GetPrimaryInputName () const |
|
virtual void | SetPrimaryInput (DataObject *object) |
|
void | SetNumberOfIndexedInputs (DataObjectPointerArraySizeType num) |
|
virtual void | SetNumberOfRequiredInputs (DataObjectPointerArraySizeType) |
|
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredInputs () const |
|
bool | RemoveRequiredInputName (const DataObjectIdentifierType &) |
|
bool | IsRequiredInputName (const DataObjectIdentifierType &) const |
|
void | SetRequiredInputNames (const NameArray &) |
|
bool | AddRequiredInputName (const DataObjectIdentifierType &) |
|
bool | AddRequiredInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
|
void | AddOptionalInputName (const DataObjectIdentifierType &) |
|
void | AddOptionalInputName (const DataObjectIdentifierType &, DataObjectPointerArraySizeType idx) |
|
DataObject * | GetOutput (const DataObjectIdentifierType &key) |
|
const DataObject * | GetOutput (const DataObjectIdentifierType &key) const |
|
virtual void | SetPrimaryOutputName (const DataObjectIdentifierType &key) |
|
virtual const char * | GetPrimaryOutputName () const |
|
DataObject * | GetOutput (DataObjectPointerArraySizeType i) |
|
const DataObject * | GetOutput (DataObjectPointerArraySizeType i) const |
|
virtual void | SetOutput (const DataObjectIdentifierType &name, DataObject *output) |
|
virtual void | RemoveOutput (const DataObjectIdentifierType &key) |
|
DataObject * | GetPrimaryOutput () |
|
const DataObject * | GetPrimaryOutput () const |
|
virtual void | SetPrimaryOutput (DataObject *object) |
|
virtual void | SetNthOutput (DataObjectPointerArraySizeType idx, DataObject *output) |
|
virtual void | AddOutput (DataObject *output) |
|
virtual void | RemoveOutput (DataObjectPointerArraySizeType idx) |
|
virtual void | SetNumberOfRequiredOutputs (DataObjectPointerArraySizeType _arg) |
|
virtual const DataObjectPointerArraySizeType & | GetNumberOfRequiredOutputs () const |
|
void | SetNumberOfIndexedOutputs (DataObjectPointerArraySizeType num) |
|
DataObjectIdentifierType | MakeNameFromInputIndex (DataObjectPointerArraySizeType idx) const |
|
DataObjectIdentifierType | MakeNameFromOutputIndex (DataObjectPointerArraySizeType idx) const |
|
DataObjectPointerArraySizeType | MakeIndexFromInputName (const DataObjectIdentifierType &name) const |
|
DataObjectPointerArraySizeType | MakeIndexFromOutputName (const DataObjectIdentifierType &name) const |
|
bool | IsIndexedInputName (const DataObjectIdentifierType &) const |
|
bool | IsIndexedOutputName (const DataObjectIdentifierType &) const |
|
virtual void | VerifyPreconditions () ITKv5_CONST |
|
virtual void | GenerateOutputRequestedRegion (DataObject *output) |
|
virtual void | GenerateOutputInformation () |
|
virtual void | PropagateResetPipeline () |
|
virtual void | CacheInputReleaseDataFlags () |
|
virtual void | RestoreInputReleaseDataFlags () |
|
virtual bool | GetThreaderUpdateProgress () const |
|
virtual void | ThreaderUpdateProgressOn () |
|
virtual void | ThreaderUpdateProgressOff () |
|
virtual void | SetThreaderUpdateProgress (bool arg) |
|
| Object () |
|
| ~Object () override |
|
bool | PrintObservers (std::ostream &os, Indent indent) const |
|
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
|
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 () |
|
static const ImageRegionSplitterBase * | GetGlobalDefaultSplitter () |
|
static ITK_THREAD_RETURN_FUNCTION_CALL_CONVENTION | ThreaderCallback (void *arg) |
|
static constexpr float | progressFixedToFloat (uint32_t fixed) |
|
static uint32_t | progressFloatToFixed (float f) |
|
SparseFieldCityBlockNeighborList< NeighborhoodIterator< OutputImageType > > | m_NeighborList |
|
double | m_ConstantGradientValue { 1.0 } |
|
OutputImageType::Pointer | m_ShiftedImage |
|
LayerListType | m_Layers |
|
unsigned int | m_NumberOfLayers { 2 } |
|
StatusImageType::Pointer | m_StatusImage |
|
LayerNodeStorageType::Pointer | m_LayerNodeStore |
|
ValueType | m_IsoSurfaceValue |
|
UpdateBufferType | m_UpdateBuffer |
|
bool | m_InterpolateSurfaceLocation { true } |
|
const InputImageType * | m_InputImage |
|
OutputImageType * | m_OutputImage |
|
bool | m_IsInitialized |
|
IdentifierType | m_NumberOfIterations |
|
IdentifierType | m_ElapsedIterations |
|
bool | m_ManualReinitialization |
|
double | m_RMSChange |
|
double | m_MaximumRMSError |
|
bool | m_DynamicMultiThreading |
|
bool | m_Updating |
|
TimeStamp | m_OutputInformationMTime |
|
std::atomic< int > | m_ReferenceCount |
|
static ValueType | m_ValueOne |
|
static ValueType | m_ValueZero |
|
static StatusType | m_StatusChanging |
|
static StatusType | m_StatusActiveChangingUp |
|
static StatusType | m_StatusActiveChangingDown |
|
static StatusType | m_StatusBoundaryPixel |
|
static StatusType | m_StatusNull |
|
template<typename TInputImage, typename TOutputImage>
class itk::SparseFieldFourthOrderLevelSetImageFilter< TInputImage, TOutputImage >
This class implements the fourth order level set PDE framework.
- This class adds a ProcessNormals method to SparseFieldLevelSetImageFilter class. The ProcessNormals method uses the ImplicitManifoldNormalDiffusionFilter class to generate a SparseImage of filtered normal vectors. We make a copy of the current state of the output image (also referred to as level set image) for this class and pass it to ImplicitManifoldNormalDiffusionFilter. That class computes the normal vectors to the level set image and filters them. The output is in the form of a sparse image templated with the NormalBandNode type. We then compute curvatures from that output and store them in the SparseImage as well. This SparseImage is passed onto the LevelSetFunctionWithRefitTerm filter class to be used as a target in the propagation term.
- INPUT and OUTPUT
- Same as SparseFieldLevelSetImageFilter
- PARAMETERS
- MaxRefitIteration sets the maximum number of allowable iterations between calls to ProcessNormals. The decision of when to call the ProcessNormals method is made in InitializeIteration according to a few criteria one of which is this maximum number of iterations.
- MaxNormalIteration sets the maximum number of diffusion iterations on the normals to be performed by the ImplicitManifoldNormalDiffusionFilter class. Please read the documentation for that class.
- CurvatureBandWidth determines the width of the band to be processed in ImplicitManifoldNormalDiffusionFilter.
- RMSChangeNormalProcessTrigger provides another mechanism in InitializeIteration for calling the ProcessNormals method. Whenever the RMS change reported by SparseFieldLevelSetImageFilter falls below this parameter ProcessNormals is called regardless of whether MaxRefitIteration has been reached. This parameter could be used to speed up the algorithm; however, it can also effect the results. Use with caution. Default is 0 which does nothing.
- IMPORTANT
- Defaults for above parameters are set in the constructor. Users should not change these unless they have a good understanding of the algorithm.
- OTHER PARAMETERS
- NormalProcessType tells ImplicitManifoldNormalVectorFilter whether to use isotropic or anisotropic diffusion. A value of 0 means isotropic whereas a value of 1 means anisotropic diffusion. If this parameter is set to 1, NormalProcessConductance determines the level of detail preservation. Please read the documentation for ImplicitManifoldNormalVectorFilter and AnisotropicFourthOrderLevelSetImageFilter.
- NormalProcessUnsharpFlag turns unsharp masking on/off. If this parameter is turned on, then NormalProcessUnsharpWeight should be set. Please read the documentation for ImplicitManifoldNormalVectorFilter.
- IMPORTANT
- Users of this class must define the Halt function.
Definition at line 154 of file itkSparseFieldFourthOrderLevelSetImageFilter.h.