#include <itkOrthogonalSwath2DPathFilter.h>
Filter that optimizes a 2D path relative to an image.
OrthogonalSwath2DPathFilter produces an OrthogonallyCorrected2DParametricPath representation of a path that is optimal with respect to an image and an original Fourier series path (sometimes referred to as an "initial contour"). Usage is a little complex. The input image must be preprocessed with ExtractOrthogonalSwath2DImageFilter (the user may want to smooth the image first). The user should then use the resulting swath image to produce a new "merit" swath image of the EXACT same size as the swath image produced in the preceding step. Each pixel value in the merit swath image indicates the local merit of having the path pass through that swath index (taking the absolute value of the vertical partial-derivative of the swath image is often a good way to do this). Both the merit swath image and the path used to extract the swath image should then be passed as inputs to this filter which will search through the merit swath image using dynamic programming to find the absolutely optimum (in terms of the swath image) path.
The file itkOrthogonalSwath2DPathFilterTest.cxx provides a good usage example of itk::OrthogonalSwath2DPathFilter
Definition at line 53 of file itkOrthogonalSwath2DPathFilter.h.
Inheritance diagram for itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >:
Collaboration diagram for itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >:Public Member Functions | |
| virtual::itk::LightObject::Pointer | CreateAnother () const |
| virtual const char * | GetNameOfClass () const |
Public Member Functions inherited from itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath > | |
| virtual::itk::LightObject::Pointer | CreateAnother () const |
| virtual::itk::LightObject::Pointer | CreateAnother () const |
| const InputImageType * | GetImageInput () |
| const InputImageType * | GetImageInput () |
| const InputPathType * | GetPathInput () |
| const InputPathType * | GetPathInput () |
| virtual void | SetImageInput (const TSwathMeritImage *image) |
| virtual void | SetImageInput (const TSwathMeritImage *image) |
| virtual void | SetPathInput (const TFourierSeriesPath *path) |
| virtual void | SetPathInput (const TFourierSeriesPath *path) |
Public Member Functions inherited from itk::PathToPathFilter< TInputPath, TOutputPath > | |
| virtual::itk::LightObject::Pointer | CreateAnother () const |
| const InputPathType * | GetInput () |
| const InputPathType * | GetInput (unsigned int idx) |
| virtual void | SetInput (const InputPathType *path) |
| virtual void | SetInput (unsigned int, const TInputPath *path) |
Public Member Functions inherited from itk::PathSource< TOutputPath > | |
| virtual void | GraftNthOutput (unsigned int idx, OutputPathType *graft) |
| virtual void | GraftOutput (OutputPathType *graft) |
| OutputPathType * | GetOutput () |
| OutputPathType * | GetOutput (unsigned int idx) |
| DataObjectPointer | MakeOutput (DataObjectPointerArraySizeType idx) override |
| virtual DataObjectPointer | MakeOutput (const DataObjectIdentifierType &) |
Public Member Functions inherited from itk::ProcessObject | |
| virtual void | AbortGenerateDataOff () |
| virtual void | AbortGenerateDataOn () |
| virtual void | EnlargeOutputRequestedRegion (DataObject *output) |
| virtual const bool & | GetAbortGenerateData () const |
| DataObjectPointerArray | GetIndexedInputs () |
| DataObjectPointerArray | GetIndexedOutputs () |
| NameArray | GetInputNames () const |
| DataObjectPointerArray | GetInputs () |
| MultiThreaderBase * | GetMultiThreader () const |
| DataObjectPointerArraySizeType | GetNumberOfIndexedInputs () const |
| DataObjectPointerArraySizeType | GetNumberOfIndexedOutputs () const |
| DataObjectPointerArraySizeType | GetNumberOfInputs () const |
| DataObjectPointerArraySizeType | GetNumberOfOutputs () const |
| virtual DataObjectPointerArraySizeType | GetNumberOfValidRequiredInputs () const |
| NameArray | GetOutputNames () const |
| DataObjectPointerArray | GetOutputs () |
| virtual float | GetProgress () const |
| NameArray | GetRequiredInputNames () const |
| bool | HasInput (const DataObjectIdentifierType &key) const |
| bool | HasOutput (const DataObjectIdentifierType &key) const |
| void | IncrementProgress (float increment) |
| virtual void | PrepareOutputs () |
| virtual void | PropagateRequestedRegion (DataObject *output) |
| virtual void | ResetPipeline () |
| virtual void | SetAbortGenerateData (bool _arg) |
| void | SetMultiThreader (MultiThreaderBase *threader) |
| virtual void | Update () |
| virtual void | UpdateLargestPossibleRegion () |
| virtual void | UpdateOutputData (DataObject *output) |
| virtual void | UpdateOutputInformation () |
| void | UpdateProgress (float progress) |
| virtual void | SetReleaseDataFlag (bool val) |
| virtual bool | GetReleaseDataFlag () const |
| void | ReleaseDataFlagOn () |
| void | ReleaseDataFlagOff () |
| virtual void | SetReleaseDataBeforeUpdateFlag (bool _arg) |
| virtual const bool & | GetReleaseDataBeforeUpdateFlag () const |
| virtual void | ReleaseDataBeforeUpdateFlagOn () |
| virtual void | ReleaseDataBeforeUpdateFlagOff () |
| virtual void | SetNumberOfWorkUnits (ThreadIdType numberOfWorkUnits) |
| virtual const ThreadIdType & | GetNumberOfWorkUnits () const |
Public Member Functions inherited from itk::Object | |
| unsigned long | AddObserver (const EventObject &event, Command *cmd) const |
| unsigned long | AddObserver (const EventObject &event, std::function< void(const EventObject &)> function) const |
| virtual void | DebugOff () const |
| virtual void | DebugOn () const |
| Command * | GetCommand (unsigned long tag) |
| bool | GetDebug () const |
| MetaDataDictionary & | GetMetaDataDictionary () |
| const MetaDataDictionary & | GetMetaDataDictionary () const |
| virtual ModifiedTimeType | GetMTime () const |
| virtual const TimeStamp & | GetTimeStamp () const |
| bool | HasObserver (const EventObject &event) const |
| void | InvokeEvent (const EventObject &) |
| void | InvokeEvent (const EventObject &) const |
| virtual void | Modified () const |
| void | Register () const override |
| void | RemoveAllObservers () |
| void | RemoveObserver (unsigned long tag) const |
| void | SetDebug (bool debugFlag) const |
| void | SetReferenceCount (int) override |
| void | UnRegister () const noexcept override |
| void | SetMetaDataDictionary (const MetaDataDictionary &rhs) |
| void | SetMetaDataDictionary (MetaDataDictionary &&rrhs) |
| virtual void | SetObjectName (std::string _arg) |
| virtual const std::string & | GetObjectName () const |
Public Member Functions inherited from itk::LightObject | |
| Pointer | Clone () const |
| virtual void | Delete () |
| virtual int | GetReferenceCount () const |
| void | Print (std::ostream &os, Indent indent=0) const |
Static Public Member Functions | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath > | |
| static Pointer | New () |
| static Pointer | New () |
Static Public Member Functions inherited from itk::PathToPathFilter< TInputPath, TOutputPath > | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::PathSource< TOutputPath > | |
| static Pointer | New () |
Static Public Member Functions inherited from itk::Object | |
| static bool | GetGlobalWarningDisplay () |
| static void | GlobalWarningDisplayOff () |
| static void | GlobalWarningDisplayOn () |
| static Pointer | New () |
| static void | SetGlobalWarningDisplay (bool val) |
Static Public Member Functions inherited from itk::LightObject | |
| static void | BreakOnError () |
| static Pointer | New () |
Private Member Functions | |
| unsigned int | FindAndStoreBestErrorStep (unsigned int x, unsigned int F, unsigned int L) |
| double & | MeritValue (int f, int l, int x) |
| int & | StepValue (int f, int l, int x) |
Private Attributes | |
| OrthogonalCorrectionTablePointer | m_FinalOffsetValues { OrthogonalCorrectionTableType::New() } |
| std::unique_ptr< double[]> | m_MeritValues { nullptr } |
| std::unique_ptr< int[]> | m_OptimumStepsValues { nullptr } |
| std::unique_ptr< int[]> | m_StepValues { nullptr } |
| SizeType | m_SwathSize { { 0 } } |
Additional Inherited Members | |
Static Public Attributes inherited from itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath > | |
| static constexpr unsigned int | InputImageDimension |
| static constexpr unsigned int | InputImageDimension |
Static Protected Member Functions inherited from itk::ProcessObject | |
| template<typename TSourceObject> | |
| static void | MakeRequiredOutputs (TSourceObject &sourceObject, const DataObjectPointerArraySizeType numberOfRequiredOutputs) |
| static constexpr float | progressFixedToFloat (uint32_t fixed) |
| static uint32_t | progressFloatToFixed (float f) |
Protected Attributes inherited from itk::ProcessObject | |
| TimeStamp | m_OutputInformationMTime {} |
| bool | m_Updating {} |
Protected Attributes inherited from itk::LightObject | |
| std::atomic< int > | m_ReferenceCount {} |
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::ConstPointer = SmartPointer<const Self> |
Definition at line 64 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::ImageConstPointer = typename ImageType::ConstPointer |
Definition at line 78 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::ImageType = TSwathMeritImage |
Definition at line 77 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::IndexType = typename InputPathType::IndexType |
Definition at line 86 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::InputPathInputType = typename InputPathType::InputType |
Definition at line 75 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::InputPathPointer = typename InputPathType::Pointer |
Definition at line 74 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::InputPathType = TFourierSeriesPath |
Some convenient type alias.
Definition at line 73 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::OffsetType = typename InputPathType::OffsetType |
Definition at line 87 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::OrthogonalCorrectionTablePointer = OutputPathType::OrthogonalCorrectionTablePointer |
Definition at line 84 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::OrthogonalCorrectionTableType = OutputPathType::OrthogonalCorrectionTableType |
Definition at line 83 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::OutputPathInputType = OutputPathType::InputType |
Definition at line 82 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::OutputPathPointer = OutputPathType::Pointer |
Definition at line 81 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::OutputPathType = OrthogonallyCorrected2DParametricPath |
Definition at line 80 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::Pointer = SmartPointer<Self> |
Definition at line 63 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::Self = OrthogonalSwath2DPathFilter |
Standard class type aliases.
Definition at line 60 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::SizeType = typename ImageType::SizeType |
Definition at line 88 of file itkOrthogonalSwath2DPathFilter.h.
| using itk::OrthogonalSwath2DPathFilter< TFourierSeriesPath, TSwathMeritImage >::Superclass |
Definition at line 61 of file itkOrthogonalSwath2DPathFilter.h.
|
protecteddefault |
Referenced by GetNameOfClass().
|
overrideprotecteddefault |
|
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.
|
private |
|
overrideprotectedvirtual |
This method causes the filter to generate its output.
Reimplemented from itk::ProcessObject.
|
virtual |
Reimplemented from itk::PathAndImageToPathFilter< TFourierSeriesPath, TSwathMeritImage, OrthogonallyCorrected2DParametricPath >.
References OrthogonalSwath2DPathFilter().
|
inlineprivate |
Definition at line 128 of file itkOrthogonalSwath2DPathFilter.h.
References m_MeritValues, and m_SwathSize.
|
static |
Method for creation through the object factory.
|
overrideprotectedvirtual |
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::Object.
|
inlineprivate |
Definition at line 120 of file itkOrthogonalSwath2DPathFilter.h.
References m_StepValues, and m_SwathSize.
|
private |
Definition at line 142 of file itkOrthogonalSwath2DPathFilter.h.
|
private |
Definition at line 137 of file itkOrthogonalSwath2DPathFilter.h.
Referenced by MeritValue().
|
private |
Definition at line 139 of file itkOrthogonalSwath2DPathFilter.h.
|
private |
Definition at line 135 of file itkOrthogonalSwath2DPathFilter.h.
Referenced by StepValue().
|
private |
Definition at line 144 of file itkOrthogonalSwath2DPathFilter.h.
Referenced by MeritValue(), and StepValue().