ITK
5.2.0
Insight Toolkit
|
#include <itkHilbertPath.h>
Public Types | |
using | ConstPointer = SmartPointer< const Self > |
using | HilbertOrderType = unsigned int |
using | HilbertPathSizeType = typename HilbertPathType::size_type |
using | HilbertPathType = std::vector< IndexType > |
using | IndexType = OutputType |
using | InputType = typename Superclass::InputType |
using | OffsetType = typename Superclass::OffsetType |
using | OutputType = typename Superclass::OutputType |
using | PathIndexType = InputType |
using | Pointer = SmartPointer< Self > |
using | Self = HilbertPath< TIndexValue, VDimension > |
using | Superclass = Path< unsigned int, Index< VDimension >, VDimension > |
Public Types inherited from itk::Path< TIndexValue, Index< VDimension >, VDimension > | |
using | ConstPointer = SmartPointer< const Self > |
using | IndexType = Index< VDimension > |
using | InputType = TIndexValue |
using | OffsetType = Offset< VDimension > |
using | OutputType = Index< VDimension > |
using | Pointer = SmartPointer< Self > |
using | Self = Path |
using | Superclass = DataObject |
Public Types inherited from itk::DataObject | |
using | ConstPointer = SmartPointer< const Self > |
using | DataObjectIdentifierType = std::string |
using | DataObjectPointerArraySizeType = std::vector< Pointer >::size_type |
using | Pointer = SmartPointer< Self > |
using | Self = DataObject |
using | Superclass = Object |
Public Types inherited from itk::Object | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = Object |
using | Superclass = LightObject |
Public Types inherited from itk::LightObject | |
using | ConstPointer = SmartPointer< const Self > |
using | Pointer = SmartPointer< Self > |
using | Self = LightObject |
Public Member Functions | |
virtual ::itk::LightObject::Pointer | CreateAnother () const |
InputType | EndOfInput () const override |
OutputType | Evaluate (const PathIndexType &input) const override |
virtual InputType | EvaluateInverse (const IndexType &input) |
OutputType | EvaluateToIndex (const PathIndexType &input) const override |
virtual const char * | GetNameOfClass () const |
OffsetType | IncrementInput (InputType &) const override |
Public Member Functions inherited from itk::Path< TIndexValue, Index< VDimension >, VDimension > | |
virtual OutputType | Evaluate (const InputType &input) const=0 |
virtual IndexType | EvaluateToIndex (const InputType &input) const=0 |
virtual OffsetType | IncrementInput (InputType &input) const=0 |
virtual InputType | StartOfInput () const |
Public Member Functions inherited from itk::DataObject | |
void | DisconnectPipeline () |
bool | GetDataReleased () const |
virtual const bool & | GetReleaseDataFlag () const |
SmartPointer< ProcessObject > | GetSource () const |
DataObjectPointerArraySizeType | GetSourceOutputIndex () const |
const DataObjectIdentifierType & | GetSourceOutputName () const |
virtual void | PropagateRequestedRegion () |
void | ReleaseData () |
virtual void | ReleaseDataFlagOff () |
virtual void | ReleaseDataFlagOn () |
virtual void | ResetPipeline () |
void | SetReleaseDataFlag (bool flag) |
bool | ShouldIReleaseData () const |
virtual void | Update () |
virtual void | UpdateOutputData () |
virtual void | UpdateOutputInformation () |
void | SetPipelineMTime (ModifiedTimeType time) |
virtual const ModifiedTimeType & | GetPipelineMTime () const |
virtual ModifiedTimeType | GetUpdateMTime () const |
virtual void | SetRealTimeStamp (RealTimeStamp _arg) |
virtual const RealTimeStamp & | GetRealTimeStamp () const |
virtual void | PrepareForNewData () |
virtual void | DataHasBeenGenerated () |
virtual void | SetRequestedRegionToLargestPossibleRegion () |
virtual bool | RequestedRegionIsOutsideOfTheBufferedRegion () |
virtual bool | VerifyRequestedRegion () |
virtual void | CopyInformation (const DataObject *) |
virtual void | SetRequestedRegion (const DataObject *) |
virtual void | Graft (const DataObject *) |
Public Member Functions inherited from itk::Object | |
unsigned long | AddObserver (const EventObject &event, Command *) |
unsigned long | AddObserver (const EventObject &event, Command *) 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) |
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::DataObject | |
static bool | GetGlobalReleaseDataFlag () |
static void | GlobalReleaseDataFlagOff () |
static void | GlobalReleaseDataFlagOn () |
static Pointer | New () |
static void | SetGlobalReleaseDataFlag (bool val) |
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 () |
Additional Inherited Members | |
Protected Member Functions inherited from itk::Path< TIndexValue, Index< VDimension >, VDimension > | |
virtual IndexType | GetZeroIndex () const |
virtual OffsetType | GetZeroOffset () const |
Path () | |
void | PrintSelf (std::ostream &os, Indent indent) const override |
~Path () override=default | |
Protected Member Functions inherited from itk::DataObject | |
DataObject () | |
~DataObject () override | |
virtual void | PropagateResetPipeline () |
Protected Member Functions inherited from itk::Object | |
Object () | |
~Object () override | |
bool | PrintObservers (std::ostream &os, Indent indent) const |
virtual void | SetTimeStamp (const TimeStamp &timeStamp) |
Protected Member Functions inherited from itk::LightObject | |
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 () |
Protected Attributes inherited from itk::LightObject | |
std::atomic< int > | m_ReferenceCount |
Represent an n-dimensional Hilbert path for a given order.
This class is used to construct a Hilbert spacing-filling curve (or path) for a given order and given dimension. The locality- preserving properties make the Hilbert path an attractive option for mapping multi-dimensional data to a single array.
The path is defined by its dimensionality and order( >= 1 ) with its starting point at [0]^Dimension. The size of the path in each dimension is 2^order where each discrete location is visited by that path. For example, a 2-D Hilbert path of order 8 can map each pixel of a 256x256 image onto a single array. More properties and visualizations can be found in various places on the web.
The implementation is based on Chris Hamilton, "Compact Hilbert Indices", Technical Report CS-2006-07, July 24, 2006. and a direct porting of the Aldo Cortesi's python code found at https://github.com/cortesi/scurve
Definition at line 54 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::ConstPointer = SmartPointer<const Self> |
Definition at line 63 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::HilbertOrderType = unsigned int |
Definition at line 81 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::HilbertPathSizeType = typename HilbertPathType::size_type |
Definition at line 83 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::HilbertPathType = std::vector<IndexType> |
Definition at line 82 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::IndexType = OutputType |
Definition at line 80 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::InputType = typename Superclass::InputType |
Definition at line 76 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::OffsetType = typename Superclass::OffsetType |
Definition at line 84 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::OutputType = typename Superclass::OutputType |
OutputType type alias support
Definition at line 75 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::PathIndexType = InputType |
The input/output type alias
Definition at line 79 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::Pointer = SmartPointer<Self> |
Definition at line 62 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::Self = HilbertPath<TIndexValue, VDimension> |
Standard class type aliases.
Definition at line 60 of file itkHilbertPath.h.
using itk::HilbertPath< TIndexValue, VDimension >::Superclass = Path<unsigned int, Index<VDimension>, VDimension> |
Definition at line 61 of file itkHilbertPath.h.
|
protected |
Remove all steps from the path
|
overrideprotecteddefault |
Remove all steps from the path
|
inlinevirtual |
Remove all steps from the path
Definition at line 126 of file itkHilbertPath.h.
|
private |
Remove all steps from the path
|
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.
|
inlineoverridevirtual |
Where does the path end (what is the last valid input value)?
Reimplemented from itk::Path< TIndexValue, Index< VDimension >, VDimension >.
Definition at line 110 of file itkHilbertPath.h.
|
inlineoverride |
Evaluate the hilbert path for the index at the specified path-position.
Definition at line 90 of file itkHilbertPath.h.
|
inlinevirtual |
Evaluate the hilbert path for the path-position at the specified index.
Definition at line 103 of file itkHilbertPath.h.
|
inlineoverride |
Definition at line 96 of file itkHilbertPath.h.
|
private |
Remove all steps from the path
|
private |
Remove all steps from the path
|
private |
Remove all steps from the path
|
private |
Remove all steps from the path
|
virtual |
Remove all steps from the path
|
private |
Remove all steps from the path
|
private |
Remove all steps from the path
|
private |
Remove all steps from the path
|
virtual |
Run-time type information (and related methods).
Reimplemented from itk::Path< TIndexValue, Index< VDimension >, VDimension >.
|
private |
Remove all steps from the path
|
private |
Remove all steps from the path
|
private |
Remove all steps from the path
|
inlineoverride |
Increment the input variable passed by reference and then return the index stored at the new path-position.
Definition at line 119 of file itkHilbertPath.h.
|
inlineoverridevirtual |
Needed for Pipelining
Reimplemented from itk::DataObject.
Definition at line 142 of file itkHilbertPath.h.
|
static |
New() method for dynamic construction
|
inlinevirtual |
How many steps in the path?
Definition at line 135 of file itkHilbertPath.h.
|
overrideprotectedvirtual |
Remove all steps from the path
Reimplemented from itk::DataObject.
|
private |
Remove all steps from the path
|
virtual |
Set/get Hilbert order. The multi-dimensional space is of size 2^(HilbertOrder).
PathIndexType itk::HilbertPath< TIndexValue, VDimension >::TransformMultiDimensionalIndexToPathIndex | ( | const IndexType & | index | ) |
Convert the multidimensional index to the path index
IndexType itk::HilbertPath< TIndexValue, VDimension >::TransformPathIndexToMultiDimensionalIndex | ( | const PathIndexType | id | ) |
Convert the path index to the multidimensional index location
|
staticconstexpr |
Dimension underlying input image.
Definition at line 72 of file itkHilbertPath.h.
|
private |
Remove all steps from the path
Definition at line 207 of file itkHilbertPath.h.
|
private |
Remove all steps from the path
Definition at line 208 of file itkHilbertPath.h.