shapeworks::ParticleImageDomain
#include <ParticleImageDomain.h>
Inherits from shapeworks::ParticleRegionDomain, shapeworks::ParticleDomain
Inherited by shapeworks::ParticleImageDomainWithGradients< T >
Public Types
Name | |
---|---|
using std::shared_ptr< ParticleImageDomain > | Pointer |
using itk::Image< T, DIMENSION > | ImageType |
using ParticleRegionDomain::PointType | PointType |
Public Functions
Name | |
---|---|
void | SetImage(ImageType * I, double narrow_band) |
virtual double | GetSurfaceArea() const override |
PointType | GetOrigin() const |
ImageType::SizeType | GetSize() const |
ImageType::SpacingType | GetSpacing() const |
ImageType::RegionType::IndexType | GetIndex() const |
virtual PointType | GetValidLocationNear(PointType p) const override |
T | Sample(const PointType & p) const |
virtual double | GetMaxDiameter() const override |
virtual void | DeleteImages() override |
virtual void | UpdateZeroCrossingPoint() override |
Protected Functions
Name | |
---|---|
openvdb::FloatGrid::Ptr | GetVDBImage() const |
ParticleImageDomain() | |
virtual | ~ParticleImageDomain() |
void | PrintSelf(std::ostream & os, itk::Indent indent) const |
openvdb::math::Transform::Ptr | transform() const |
openvdb::Vec3R | ToVDBCoord(const PointType & p) const |
Additional inherited members
Public Functions inherited from shapeworks::ParticleRegionDomain
Name | |
---|---|
virtual bool | ApplyConstraints(PointType & p) const |
virtual const PointType & | GetUpperBound() const |
virtual const PointType & | GetLowerBound() const |
void | SetUpperBound(const PointType _UpperBound) |
void | SetLowerBound(const PointType _LowerBound) |
void | SetRegion(const PointType & lowerBound, const PointType & upperBound) |
Protected Functions inherited from shapeworks::ParticleRegionDomain
Name | |
---|---|
ParticleRegionDomain() | |
virtual | ~ParticleRegionDomain() |
bool | IsInsideBuffer(const PointType & p) const |
Public Types inherited from shapeworks::ParticleDomain
Name | |
---|---|
using vnl_matrix_fixed< float, 3, 3 > | GradNType |
using vnl_vector_fixed< double, 3 > | VectorDoubleType |
using vnl_vector_fixed< float, 3 > | VectorFloatType |
Public Functions inherited from shapeworks::ParticleDomain
Name | |
---|---|
virtual bool | ApplyConstraints(PointType & p, int idx, bool dbg =false) const =0 |
virtual PointType | UpdateParticlePosition(const PointType & point, int idx, VectorDoubleType & update) const =0 |
virtual void | InvalidateParticlePosition(int idx) const |
virtual VectorDoubleType | ProjectVectorToSurfaceTangent(VectorDoubleType & gradE, const PointType & pos, int idx) const =0 |
virtual VectorFloatType | SampleGradientAtPoint(const PointType & point, int idx) const =0 |
virtual VectorFloatType | SampleNormalAtPoint(const PointType & point, int idx) const =0 |
virtual GradNType | SampleGradNAtPoint(const PointType & p, int idx) const =0 |
virtual double | Distance(const PointType & a, int idx_a, const PointType & b, int idx_b, VectorDoubleType * out_grad =nullptr) const |
virtual double | SquaredDistance(const PointType & a, int idx_a, const PointType & b, int idx_b) const |
virtual bool | IsWithinDistance(const PointType & a, int idx_a, const PointType & b, int idx_b, double test_dist, double & distance) const |
virtual double | GetCurvature(const PointType & p, int idx) const =0 |
virtual double | GetSurfaceMeanCurvature() const =0 |
virtual double | GetSurfaceStdDevCurvature() const =0 |
virtual const PointType & | GetLowerBound() const =0 |
virtual const PointType & | GetUpperBound() const =0 |
virtual PointType | GetZeroCrossingPoint() const =0 |
virtual void | DeletePartialDerivativeImages() =0 |
bool | IsDomainFixed() const |
virtual shapeworks::DomainType | GetDomainType() const =0 |
std::shared_ptr< shapeworks::Constraints > | GetConstraints() const |
virtual PointType | GetPositionAfterSplit(const PointType & pt, const VectorDoubleType & local_direction, const VectorDoubleType & global_direction, double epsilon) const |
void | SetDomainID(int id) |
void | SetDomainName(std::string name) |
Protected Functions inherited from shapeworks::ParticleDomain
Name | |
---|---|
ParticleDomain() | |
virtual | ~ParticleDomain() |
Protected Attributes inherited from shapeworks::ParticleDomain
Name | |
---|---|
bool | m_FixedDomain |
int | m_DomainID |
std::string | m_DomainName |
std::shared_ptr< shapeworks::Constraints > | constraints |
Detailed Description
template <class T >
class shapeworks::ParticleImageDomain;
A bounding-box region domain that sets its bounding box according to the origin, spacing, and RequestedRegion of a specified itk::Image. This Domain object may be sampled for interpolated image values using the Sample(Point) method.
Public Types Documentation
using Pointer
using shapeworks::ParticleImageDomain< T >::Pointer = std::shared_ptr<ParticleImageDomain>;
Standard class typedefs
using ImageType
using shapeworks::ParticleImageDomain< T >::ImageType = itk::Image<T, DIMENSION>;
Type of the ITK image used by this class.
using PointType
using shapeworks::ParticleImageDomain< T >::PointType = ParticleRegionDomain::PointType;
Point type of the domain (not the image).
Public Functions Documentation
function SetImage
inline void SetImage(
ImageType * I,
double narrow_band
)
Set/Get the itk::Image specifying the particle domain. The set method modifies the parent class LowerBound and UpperBound.
function GetSurfaceArea
inline virtual double GetSurfaceArea() const override
Reimplements: shapeworks::ParticleDomain::GetSurfaceArea
Use for neighborhood radius.
function GetOrigin
inline PointType GetOrigin() const
function GetSize
inline ImageType::SizeType GetSize() const
function GetSpacing
inline ImageType::SpacingType GetSpacing() const
function GetIndex
inline ImageType::RegionType::IndexType GetIndex() const
function GetValidLocationNear
inline virtual PointType GetValidLocationNear(
PointType p
) const override
Reimplements: shapeworks::ParticleDomain::GetValidLocationNear
GetValidLocation returns a PointType location on the surface. Used for placing the first particle.
function Sample
inline T Sample(
const PointType & p
) const
Sample the image at a point. This method performs bounds checking.
function GetMaxDiameter
inline virtual double GetMaxDiameter() const override
Reimplements: shapeworks::ParticleDomain::GetMaxDiameter
GetMaxDiameter returns the maximum diameter of the domain and is used for computing sigma
function DeleteImages
inline virtual void DeleteImages() override
Reimplements: shapeworks::ParticleDomain::DeleteImages
Reimplemented by: shapeworks::ParticleImageDomainWithGradients::DeleteImages, shapeworks::ParticleImageDomainWithGradN::DeleteImages
Used when a domain is fixed.
function UpdateZeroCrossingPoint
inline virtual void UpdateZeroCrossingPoint() override
Reimplements: shapeworks::ParticleDomain::UpdateZeroCrossingPoint
Protected Functions Documentation
function GetVDBImage
inline openvdb::FloatGrid::Ptr GetVDBImage() const
function ParticleImageDomain
inline ParticleImageDomain()
function ~ParticleImageDomain
inline virtual ~ParticleImageDomain()
function PrintSelf
inline void PrintSelf(
std::ostream & os,
itk::Indent indent
) const
function transform
inline openvdb::math::Transform::Ptr transform() const
function ToVDBCoord
inline openvdb::Vec3R ToVDBCoord(
const PointType & p
) const
Updated on 2022-07-23 at 16:40:06 -0600