14 #ifndef __itkImageFileCastWriter_h
15 #define __itkImageFileCastWriter_h
17 #include "itkImageFileWriter.h"
18 #include "itkImageIOBase.h"
19 #include "itkExceptionObject.h"
21 #include "itkImageIORegion.h"
22 #include "itkCastImageFilter.h"
35 template<
class TInputImage >
63 itkSetStringMacro( OutputComponentType );
64 itkGetStringMacro( OutputComponentType );
81 template<
class OutputComponentType >
83 const OutputComponentType & itkNotUsed( dummy ) )
85 typedef Image< OutputComponentType, InputImageDimension > DiskImageType;
86 typedef typename PixelTraits< InputImagePixelType >::ValueType InputImageComponentType;
87 typedef Image< InputImageComponentType, InputImageDimension > ScalarInputImageType;
88 typedef CastImageFilter< ScalarInputImageType, DiskImageType > CasterType;
92 this->GetImageIO()->SetPixelTypeInfo( static_cast< const OutputComponentType * >( 0 ) );
95 typename CasterType::Pointer caster = CasterType::New();
97 typename ScalarInputImageType::Pointer localInputImage = ScalarInputImageType::New();
98 localInputImage->Graft( inputImage );
99 caster->SetInput( localInputImage );
103 OutputComponentType * pixelBuffer = caster->GetOutput()->GetBufferPointer();
104 void * convertedBuffer =
static_cast< void *
>( pixelBuffer );
105 return convertedBuffer;
121 #ifndef ITK_MANUAL_INSTANTIATION
122 #include "itkImageFileCastWriter.hxx"
125 #endif // __itkImageFileCastWriter_h
Superclass::InputImageType InputImageType
Casts pixel type and writes image data.
SmartPointer< const Self > ConstPointer
Superclass::InputImagePixelType InputImagePixelType
std::string m_OutputComponentType
SmartPointer< Self > Pointer
void operator=(const Self &)
void * ConvertScalarImage(const DataObject *inputImage, const OutputComponentType &)
Superclass::InputImageRegionType InputImageRegionType
Superclass::InputImagePointer InputImagePointer
ProcessObject::Pointer m_Caster
std::string GetDefaultOutputComponentType(void) const
itkStaticConstMacro(InputImageDimension, unsigned int, InputImageType::ImageDimension)
ImageFileWriter< TInputImage > Superclass