18 #ifndef rtkBlockDiagonalMatrixVectorMultiplyImageFilter_h 19 #define rtkBlockDiagonalMatrixVectorMultiplyImageFilter_h 21 #include "itkImageToImageFilter.h" 34 template <
class TVectorImage,
36 itk::Image<itk::Vector<
typename TVectorImage::PixelType::ValueType,
37 TVectorImage::PixelType::Dimension * TVectorImage::PixelType::Dimension>,
38 TVectorImage::ImageDimension>>
40 :
public itk::ImageToImageFilter<TVectorImage, TVectorImage>
47 using Superclass = itk::ImageToImageFilter<TVectorImage, TVectorImage>;
57 static constexpr
unsigned int nChannels = TVectorImage::PixelType::Dimension;
60 using dataType =
typename TVectorImage::PixelType::ValueType;
64 SetInput1(
const TVectorImage * vector);
66 SetInput2(
const TMatrixImage * matrix);
74 GenerateInputRequestedRegion()
override;
78 DynamicThreadedGenerateData(
const typename TVectorImage::RegionType & outputRegionForThread)
override;
81 typename TVectorImage::ConstPointer
83 typename TMatrixImage::ConstPointer
90 #ifndef ITK_MANUAL_INSTANTIATION 91 # include "rtkBlockDiagonalMatrixVectorMultiplyImageFilter.hxx" itk::ImageToImageFilter< TVectorImage, TVectorImage > Superclass
Multiplies matrix by vector.
itk::SmartPointer< Self > Pointer
typename TVectorImage::PixelType::ValueType dataType