18 #ifndef rtkAddMatrixAndDiagonalImageFilter_h 19 #define rtkAddMatrixAndDiagonalImageFilter_h 21 #include "itkImageToImageFilter.h" 40 template <
class TDiagonal,
41 class TMatrix = itk::Image<itk::Vector<
typename TDiagonal::PixelType::ValueType,
42 TDiagonal::PixelType::Dimension * TDiagonal::PixelType::Dimension>,
43 TDiagonal::ImageDimension>>
51 using Superclass = itk::ImageToImageFilter<TMatrix, TMatrix>;
61 static constexpr
unsigned int nChannels = TDiagonal::PixelType::Dimension;
64 using dataType =
typename TDiagonal::PixelType::ValueType;
68 SetInputDiagonal(
const TDiagonal * gradient);
70 SetInputMatrix(
const TMatrix * hessian);
78 GenerateInputRequestedRegion()
override;
82 DynamicThreadedGenerateData(
const typename TDiagonal::RegionType & outputRegionForThread)
override;
85 typename TDiagonal::ConstPointer
87 typename TMatrix::ConstPointer
94 #ifndef ITK_MANUAL_INSTANTIATION 95 # include "rtkAddMatrixAndDiagonalImageFilter.hxx" typename TDiagonal::PixelType::ValueType dataType
itk::ImageToImageFilter< TMatrix, TMatrix > Superclass
For each vector-valued pixel, adds a vector to the diagonal of a matrix.
itk::SmartPointer< Self > Pointer