18#ifndef itkNDImageTemplate_h
19#define itkNDImageTemplate_h
22#include "itkImageFileReader.h"
46template <
typename TPixel,
unsigned int VDimension>
73 using typename Superclass::PixelType;
240 template <
typename TIn,
typename TOut>
244 static_assert(TIn().size() == VDimension);
245 static_assert(std::is_same_v<
decltype(TIn().data()),
typename TOut::ValueType *>);
247 return TOut(in.data(), VDimension);
250 template <
typename TIn,
typename TOut>
255 static_assert(TOut().size() == VDimension);
256 static_assert(std::is_same_v<
decltype(*(TIn().begin())),
decltype(*(TOut().begin()))>);
259 std::copy_n(in.begin(), VDimension, out.begin());
266#ifndef ITK_MANUAL_INSTANTIATION
267# include "itkNDImageTemplate.hxx"
typename Spacing2DType::ValueType SpacingValueType
Array< IndexValueType > IndexType
Array< SizeValueType > SizeType
typename ImageBase< 2 >::OffsetValueType OffsetValueType
typename Image< TPixel, 2 >::PixelContainer PixelContainer
Array< OffsetValueType > OffsetType
Array< PointValueType > PointType
typename Image< TPixel, 2 >::PixelContainerConstPointer PixelContainerConstPointer
Array< SpacingValueType > SpacingType
typename Image< TPixel, 2 >::AccessorType AccessorType
typename Image< TPixel, 2 >::InternalPixelType InternalPixelType
typename Point2DType::ValueType PointValueType
typename Image< TPixel, 2 >::ValueType ValueType
DataObject::Pointer DataObjectPointer
typename Image< TPixel, 2 >::PixelContainerPointer PixelContainerPointer
IndexType ComputeIndex(OffsetValueType offset) const override
PointType GetOrigin() override
itkOverrideGetNameOfClassMacro(NDImageTemplate)
typename ImageType::SpacingType SpacingTypeD
itkGetModifiableObjectMacro(Image, DataObject)
const TPixel * GetBufferPointer() const override
Array< IndexValueType > IndexType
Array< SizeValueType > SizeType
void SetImageIOWriter(ImageIOBase *_arg) override
void SetOrigin(const PointType &origin) override
void SetOutputFileName(const char *name) override
PixelContainer * GetPixelContainer() override
typename ReaderType::Pointer ReaderPointer
void FillBuffer(const TPixel &value) override
itkStaticConstMacro(Dimension, unsigned int, VDimension)
typename ImageBase< 2 >::OffsetValueType OffsetValueType
typename Image< TPixel, 2 >::PixelContainer PixelContainer
typename ImageType::PointType PointTypeD
const TPixel & GetPixel(const IndexType &index) const override
TPixel & GetPixel(const IndexType &index) override
void SetRegions(SizeType size) override
ITK_DISALLOW_COPY_AND_MOVE(NDImageTemplate)
~NDImageTemplate() override=default
void SetPixel(const IndexType &index, const TPixel &value) override
typename ImageType::Pointer ImagePointer
itkGetModifiableObjectMacro(Writer, ProcessObject)
itkGetModifiableObjectMacro(Reader, ProcessObject)
Array< PointValueType > PointType
const OffsetValueType * GetOffsetTable() const override
void Initialize() override
AccessorType GetPixelAccessor() override
Image< TPixel, VDimension > ImageType
ImageIOBase * GetImageIOReader() override
typename ImageType::IndexType IndexTypeD
const PixelContainer * GetPixelContainer() const override
void SetInputFileName(const char *name) override
ImageFileWriter< ImageType > WriterType
typename WriterType::Pointer WriterPointer
const char * GetOutputFileName() override
void CreateNewImage() override
NDImageTemplate()=default
Array< SpacingValueType > SpacingType
typename Image< TPixel, 2 >::AccessorType AccessorType
SmartPointer< Self > Pointer
void SetRequestedRegion(DataObject *data) override
const AccessorType GetPixelAccessor() const override
ImageFileReader< ImageType > ReaderType
NDImageBase< TPixel > Superclass
unsigned int GetImageDimension() override
static TOut ConvertToDynamicArray(const TIn &in)
SmartPointer< const Self > ConstPointer
void SetPixelContainer(PixelContainer *container) override
unsigned int ImageDimension() override
void SetImageIOReader(ImageIOBase *_arg) override
SpacingType GetSpacing() override
TPixel * GetBufferPointer() override
void SetSpacing(const SpacingType &spacing) override
typename ImageType::OffsetType OffsetTypeD
static TOut ConvertToStaticArray(const TIn &in)
ImageIOBase * GetImageIOWriter() override
typename ImageType::SizeType SizeTypeD
const char * GetInputFileName() override
void CopyInformation(const DataObject *data) override
OffsetValueType ComputeOffset(const IndexType &ind) const override