18 #ifndef __itkMeshFromSphericalFunctionImageFilter_h 19 #define __itkMeshFromSphericalFunctionImageFilter_h 34 template <
class TInputImage,
class TOutputMesh=vtkPolyData>
88 itkSetMacro(Normalization, NormalizationType);
89 itkGetMacro(Normalization, NormalizationType);
91 itkSetMacro(Orientations, MatrixPointer);
92 itkGetMacro(Orientations, MatrixPointer);
95 itkSetMacro(
Pow,
double);
96 itkGetMacro(
Pow,
double);
99 itkSetMacro(RemoveNegativeValues,
bool);
100 itkGetMacro(RemoveNegativeValues,
bool);
101 itkBooleanMacro(RemoveNegativeValues);
105 return m_Orientations->Rows();
111 m_Orientations(new MatrixType())
114 m_RemoveNegativeValues =
false;
115 m_Normalization =
NONE;
116 this->m_RemoveNegativeValues =
false;
118 this->m_ColorScheme = Superclass::DIRECTION;
126 PrintVar(
true, os<<indent, m_Pow, m_RemoveNegativeValues);
127 PrintEnum4(
true, m_Normalization,
NONE, MIN_MAX, UNIT_MAX, UNIT_INTEGRAL, os<<indent);
133 typename LightObject::Pointer loPtr = Superclass::InternalClone();
135 typename Self::Pointer rval =
dynamic_cast<Self *
>(loPtr.GetPointer());
138 itkExceptionMacro(<<
"downcast to type " << this->GetNameOfClass()<<
" failed.");
142 rval->m_RemoveNegativeValues = m_RemoveNegativeValues;
143 rval->m_Orientations = m_Orientations;
144 rval->m_Normalization = m_Normalization;
163 void operator=(
const Self&);
Superclass::OutputMeshScalarType OutputMeshScalarType
utl_shared_ptr< MatrixType > MatrixPointer
InputImageType::Pointer InputImagePointer
NormalizationType m_Normalization
LightObject::Pointer InternalClone() const ITK_OVERRIDE
~MeshFromSphericalFunctionImageFilter()
InputImageType::PixelType InputImagePixelType
MeshFromSphericalFunctionImageFilter()
auto Pow(const TLeft &lhs, const TRight &rhs) -> decltype(utl::F< utl::Functor::Pow< Expr2ValueType< TLeft, TRight >> >(lhs, rhs))
SphereTessellatorType::Pointer SphereTessellatorPointer
Superclass::OutputMeshPointsType OutputMeshPointsType
void PrintUtlMatrix(const NDArray< T, 2 > &mat, const std::string &str="", const char *separate=" ", std::ostream &os=std::cout)
#define PrintEnum4(cond, var, val1, val2, val3, val4, os)
Superclass::OutputMeshRGBType OutputMeshRGBType
InputImageType::IndexType InputImageIndexType
SphereTessellatorType::BasicShapeType BasicShapeType
InputImageType::SizeType InputImageSizeType
MeshFromImageImageFilter< TInputImage, TOutputMesh > Superclass
void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
InputImageType::SpacingType InputImageSpacingType
Superclass::OutputMeshCellArrayType OutputMeshCellArrayType
Superclass::VectorPointer VectorPointer
InputImageType::PointType InputImagePointType
SmartPointer< Self > Pointer
Superclass::STDVectorType STDVectorType
Compute mesh from SH coefficients.
InputImageType::RegionType InputImageRegionType
MatrixPointer m_Orientations
bool m_RemoveNegativeValues
InputImageType::ConstPointer InputImageConstPointer
TInputImage InputImageType
#define PrintVar(cond, os,...)
Superclass::OutputMeshPolyDataPointer OutputMeshPolyDataPointer
TOutputMesh OutputMeshPolyDataType
Compute mesh from general spherical function.
Superclass::VectorType VectorType
SmartPointer< const Self > ConstPointer
SphereTessellator< double > SphereTessellatorType
Superclass::STDVectorPointer STDVectorPointer
unsigned int GetNumberOfOrientations() const
MeshFromSphericalFunctionImageFilter Self
SmartPointer< Self > Pointer
SmartPointer< Self > Pointer
Tesselates a sphere via subdivision of tetrahedron, octahedron, or icosahedron.
Superclass::MatrixType MatrixType
Superclass::MatrixPointer MatrixPointer
InputImageType::SizeValueType InputImageSizeValueType