![]() |
Shapeworks Studio
2.1
Shape analysis software suite
|
#include <itkPSMImplicitSurfaceDomain.h>
Inheritance diagram for itk::PSMImplicitSurfaceDomain< T, VDimension >:
Collaboration diagram for itk::PSMImplicitSurfaceDomain< T, VDimension >:Public Types | |
| typedef PSMImplicitSurfaceDomain | Self |
| typedef PSMImageDomainWithCurvature< T, VDimension > | Superclass |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef WeakPointer< const Self > | ConstWeakPointer |
| typedef Superclass::ImageType | ImageType |
| typedef Superclass::PointType | PointType |
| typedef T | PixelType |
Public Types inherited from itk::PSMImageDomainWithCurvature< T, VDimension > | |
| typedef PSMImageDomainWithCurvature | Self |
| typedef PSMImageDomainWithHessians< T, VDimension > | Superclass |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef WeakPointer< const Self > | ConstWeakPointer |
| typedef Superclass::PointType | PointType |
| typedef Superclass::ImageType | ImageType |
| typedef Superclass::ScalarInterpolatorType | ScalarInterpolatorType |
| typedef Superclass::VnlMatrixType | VnlMatrixType |
Public Types inherited from itk::PSMImageDomainWithHessians< T, VDimension > | |
| typedef PSMImageDomainWithHessians | Self |
| typedef PSMImageDomainWithGradients< T, VDimension > | Superclass |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef WeakPointer< const Self > | ConstWeakPointer |
| typedef Superclass::PointType | PointType |
| typedef Superclass::ImageType | ImageType |
| typedef Superclass::ScalarInterpolatorType | ScalarInterpolatorType |
| typedef vnl_matrix_fixed< T, VDimension, VDimension > | VnlMatrixType |
Public Types inherited from itk::PSMImageDomainWithGradients< T, VDimension > | |
| typedef PSMImageDomainWithGradients | Self |
| typedef PSMImageDomain< T, VDimension > | Superclass |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef WeakPointer< const Self > | ConstWeakPointer |
| typedef Superclass::PointType | PointType |
| typedef Superclass::ImageType | ImageType |
| typedef Superclass::ScalarInterpolatorType | ScalarInterpolatorType |
| typedef GradientImageFilter< ImageType > | GradientImageFilterType |
| typedef GradientImageFilterType::OutputImageType | GradientImageType |
| typedef VectorLinearInterpolateImageFunction< GradientImageType, typename PointType::CoordRepType > | GradientInterpolatorType |
| typedef FixedArray< T, VDimension > | VectorType |
| typedef vnl_vector_fixed< T, VDimension > | VnlVectorType |
Public Types inherited from itk::PSMImageDomain< T, VDimension > | |
| typedef PSMImageDomain | Self |
| typedef PSMRegionDomain< VDimension > | Superclass |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef WeakPointer< const Self > | ConstWeakPointer |
| typedef Image< T, VDimension > | ImageType |
| typedef Superclass::PointType | PointType |
| typedef LinearInterpolateImageFunction< ImageType, typename PointType::CoordRepType > | ScalarInterpolatorType |
Public Types inherited from itk::PSMRegionDomain< VDimension > | |
| typedef PSMRegionDomain | Self |
| typedef PSMDomain< VDimension > | Superclass |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef WeakPointer< const Self > | ConstWeakPointer |
| typedef Point< double, VDimension > | PointType |
Public Types inherited from itk::PSMDomain< VDimension > | |
| typedef PSMDomain | Self |
| typedef DataObject | Superclass |
| typedef SmartPointer< Self > | Pointer |
| typedef SmartPointer< const Self > | ConstPointer |
| typedef WeakPointer< const Self > | ConstWeakPointer |
| typedef Point< double, VDimension > | PointType |
Public Member Functions | |
| itkNewMacro (Self) | |
| itkTypeMacro (PSMImplicitSurfaceDomain, ParticleClipByRegionDomain) | |
| itkStaticConstMacro (Dimension, unsigned int, VDimension) | |
| itkSetMacro (Tolerance, T) | |
| itkGetMacro (Tolerance, T) | |
| virtual bool | ApplyConstraints (PointType &p) const |
| virtual bool | ApplyVectorConstraints (vnl_vector_fixed< double, VDimension > &gradE, const PointType &pos, double maxtimestep) const |
| virtual double | Distance (const PointType &, const PointType &) const |
| void | SetCuttingPlane (const vnl_vector< double > &a, const vnl_vector< double > &b, const vnl_vector< double > &c) |
| void | RemoveCuttingPlane () |
| bool | IsCuttingPlaneDefined () const |
| const vnl_vector_fixed< double, VDimension > & | GetCuttingPlanePoint () const |
| const vnl_vector_fixed< double, VDimension > & | GetCuttingPlaneNormal () const |
| void | AddSphere (const vnl_vector_fixed< double, VDimension > &v, double r) |
| double | GetSphereRadius (unsigned int i) const |
| vnl_vector_fixed< double, VDimension > | GetSphereCenter (unsigned int i) const |
| unsigned int | GetNumberOfSpheres () const |
Public Member Functions inherited from itk::PSMImageDomainWithCurvature< T, VDimension > | |
| itkNewMacro (Self) | |
| itkTypeMacro (PSMImageDomainWithCurvature, PSMImageDomainWithHessians) | |
| itkStaticConstMacro (Dimension, unsigned int, VDimension) | |
| void | SetImage (ImageType *I) |
| double | GetCurvature (const PointType &pos) const |
| ImageType::Pointer * | GetCurvatureImage () |
Public Member Functions inherited from itk::PSMImageDomainWithHessians< T, VDimension > | |
| itkNewMacro (Self) | |
| itkTypeMacro (PSMImageDomainWithHessians, PSMImageDomainWithGradients) | |
| itkStaticConstMacro (Dimension, unsigned int, VDimension) | |
| void | SetImage (ImageType *I) |
| VnlMatrixType | SampleHessianVnl (const PointType &p) const |
| itkSetMacro (Sigma, double) | |
| itkGetMacro (Sigma, double) | |
| ScalarInterpolatorType::Pointer * | GetInterpolators () |
| ImageType::Pointer * | GetPartialDerivatives () |
Public Member Functions inherited from itk::PSMImageDomainWithGradients< T, VDimension > | |
| itkNewMacro (Self) | |
| itkTypeMacro (PSMImageDomainWithGradients, PSMImageDomain) | |
| itkStaticConstMacro (Dimension, unsigned int, VDimension) | |
| void | SetImage (ImageType *I) |
| itkGetObjectMacro (GradientImage, GradientImageType) | |
| VectorType | SampleGradient (const PointType &p) const |
| VnlVectorType | SampleGradientVnl (const PointType &p) const |
| VnlVectorType | SampleNormalVnl (const PointType &p, T epsilon=1.0e-5) const |
| itkGetObjectMacro (GradientInterpolator, GradientInterpolatorType) | |
Public Member Functions inherited from itk::PSMImageDomain< T, VDimension > | |
| itkNewMacro (Self) | |
| itkTypeMacro (PSMImageDomain, PSMRegionDomain) | |
| itkStaticConstMacro (Dimension, unsigned int, VDimension) | |
| void | SetImage (ImageType *I) |
| itkGetObjectMacro (Image, ImageType) | |
| itkGetConstObjectMacro (Image, ImageType) | |
| T | Sample (const PointType &p) const |
| bool | IsInsideBuffer (const PointType &p) const |
| itkGetObjectMacro (ScalarInterpolator, ScalarInterpolatorType) | |
Public Member Functions inherited from itk::PSMRegionDomain< VDimension > | |
| itkNewMacro (Self) | |
| itkTypeMacro (PSMRegionDomain, PSMDomain) | |
| itkStaticConstMacro (Dimension, unsigned int, VDimension) | |
| itkSetMacro (LowerBound, PointType) | |
| itkSetMacro (UpperBound, PointType) | |
| virtual const PointType & | GetUpperBound () const |
| virtual const PointType & | GetLowerBound () const |
| void | SetRegion (const PointType &l, const PointType &u) |
Public Member Functions inherited from itk::PSMDomain< VDimension > | |
| itkNewMacro (Self) | |
| itkTypeMacro (PSMDomain, DataObject) | |
| itkStaticConstMacro (Dimension, unsigned int, VDimension) | |
| void | DisableConstraints () |
| void | EnableConstraints () |
| bool | GetConstraintsEnabled () const |
| void | SetConstraintsEnabled (bool g) |
Protected Member Functions | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
Protected Member Functions inherited from itk::PSMImageDomainWithCurvature< T, VDimension > | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| double | MeanCurvature (const PointType &pos) |
| double | vnl_trace (const VnlMatrixType &m) const |
Protected Member Functions inherited from itk::PSMImageDomainWithHessians< T, VDimension > | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
| void | DeletePartialDerivativeImages () |
Protected Member Functions inherited from itk::PSMImageDomainWithGradients< T, VDimension > | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
Protected Member Functions inherited from itk::PSMImageDomain< T, VDimension > | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
Protected Member Functions inherited from itk::PSMRegionDomain< VDimension > | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
Protected Member Functions inherited from itk::PSMDomain< VDimension > | |
| void | PrintSelf (std::ostream &os, Indent indent) const |
Additional Inherited Members | |
Protected Attributes inherited from itk::PSMDomain< VDimension > | |
| bool | m_ConstraintsEnabled |
A 3D cartesian domain that constrains points so that they always lie an implicit surface. The implicit surface is defined as the zero isosurface of the given image. Constraints are applied using a Newton-Raphson iteration, and this class assumes it has a distance transform as an image.
Definition at line 35 of file itkPSMImplicitSurfaceDomain.h.
| typedef PSMImplicitSurfaceDomain itk::PSMImplicitSurfaceDomain< T, VDimension >::Self |
Standard class typedefs
Definition at line 40 of file itkPSMImplicitSurfaceDomain.h.
|
inline |
Maintain a list of spheres within the domain. These are used as soft constraints by some particle forcing functions.
Definition at line 104 of file itkPSMImplicitSurfaceDomain.h.
|
virtual |
Apply any constraints to the given point location. This method constrains points to lie within the given domain and on a given implicit surface. If the point is not already on the surface, it is projected back to the surface using a Newton-Raphson iteration. IMPORTANT: This method returns the true/false value of its superclass, and does not indicate changes only due to projection. This is done for speed: we typically will only want to know if a point tried to move outside of the bounding box domain, since movement off the surface will be very common. Consider subclassing this method to add a check for significant differences in the input and output points.
Reimplemented from itk::PSMRegionDomain< VDimension >.
Definition at line 89 of file itkPSMImplicitSurfaceDomain.hxx.
|
virtual |
Optionally add a repulsion from a planar boundar specified in m_CuttingPlane
Reimplemented from itk::PSMImageDomainWithGradients< T, VDimension >.
Definition at line 50 of file itkPSMImplicitSurfaceDomain.hxx.
|
virtual |
Define a distance measure on the surface. Note that this distance measure is NOT the geodesic distance, as one might expect, but is only a Euclidean distance which ignores points whose normals are not sufficiently aligned (method returns a negative number). The assumption here is that points are sufficiently close to one another on the surface that they may be considered to lie in a tangent plane.
Reimplemented from itk::PSMDomain< VDimension >.
Definition at line 134 of file itkPSMImplicitSurfaceDomain.hxx.
|
inline |
Returns the center point of sphere i. If sphere i does not exist, returns 0 vector.
Definition at line 122 of file itkPSMImplicitSurfaceDomain.h.
|
inline |
Returns the radius of sphere i, or 0.0 if sphere i does not exist
Definition at line 114 of file itkPSMImplicitSurfaceDomain.h.
| itk::PSMImplicitSurfaceDomain< T, VDimension >::itkNewMacro | ( | Self | ) |
Method for creation through the object factory.
| itk::PSMImplicitSurfaceDomain< T, VDimension >::itkSetMacro | ( | Tolerance | , |
| T | |||
| ) |
Set/Get the precision of the projection operation. The resulting projection will be within the specified tolerance.
| itk::PSMImplicitSurfaceDomain< T, VDimension >::itkStaticConstMacro | ( | Dimension | , |
| unsigned | int, | ||
| VDimension | |||
| ) |
Dimensionality of the domain of the particle system.
| itk::PSMImplicitSurfaceDomain< T, VDimension >::itkTypeMacro | ( | PSMImplicitSurfaceDomain< T, VDimension > | , |
| ParticleClipByRegionDomain | |||
| ) |
Run-time type information (and related methods).
1.8.11