18 #ifndef __itkDiffusionModelEstimationInSphericalCoordinateImageFilter_hxx 19 #define __itkDiffusionModelEstimationInSphericalCoordinateImageFilter_hxx 26 template<
class TInputImage,
class TOutputImage >
36 template<
class TInputImage,
class TOutputImage >
37 typename LightObject::Pointer
42 typename LightObject::Pointer loPtr = Superclass::InternalClone();
47 itkExceptionMacro(<<
"downcast to type " << this->GetNameOfClass()<<
" failed.");
50 rval->m_SHRank = m_SHRank;
51 rval->m_RadialRank = m_RadialRank;
52 rval->m_BasisSHMatrix = m_BasisSHMatrix;
53 rval->m_BasisRadialMatrix = m_BasisRadialMatrix;
57 template<
class TInputImage,
class TOutputImage >
64 MatrixPointer qOrientations = this->m_SamplingSchemeQSpace->GetOrientationsSpherical();
69 int n_s = qOrientations->Rows();
70 int n_b = (m_SHRank + 1)*(m_SHRank + 2)/2;
71 std::ostringstream msg;
72 msg << this->ThreadIDToString() <<
"Generated the "<< n_s <<
"x" << n_b <<
" Bmatrix...\n";
73 utl::PrintUtlMatrix(*this->m_BasisSHMatrix,
"SHMatrix",
" ", msg << this->ThreadIDToString());
74 this->WriteLogger(msg.str());
78 template<
class TInputImage,
class TOutputImage >
84 Superclass::VerifyInputParameters();
90 template<
class TInputImage,
class TOutputImage >
95 Superclass::PrintSelf(os, indent);
97 PrintVar2(
true, m_SHRank, m_RadialRank, os<<indent);
void PrintSelf(std::ostream &os, Indent indent) const ITK_OVERRIDE
utl_shared_ptr< MatrixType > MatrixPointer
base filter for estimation of diffusion models
bool IsEven(const int value)
void PrintUtlMatrix(const NDArray< T, 2 > &mat, const std::string &str="", const char *separate=" ", std::ostream &os=std::cout)
SmartPointer< Self > Pointer
std::shared_ptr< NDArray< T, 2 > > ComputeSHMatrix(const unsigned int rank, const NDArray< T, 2 > &grad, const int mode)
#define utlGlobalException(cond, expout)
DiffusionModelEstimationInSphericalCoordinateImageFilter()
virtual void VerifyInputParameters() const ITK_OVERRIDE
LightObject::Pointer InternalClone() const ITK_OVERRIDE
#define itkShowPositionThreadedLogger(cond)
virtual void ComputeSHMatrix()
#define PrintVar2(cond, var1, var2, os)