Public Types | Public Member Functions | Static Public Member Functions | Protected Member Functions | Protected Attributes

mitk::NrrdTensorImageWriter Class Reference
[Process Classes]

#include <mitkNrrdTensorImageWriter.h>

Inheritance diagram for mitk::NrrdTensorImageWriter:
Inheritance graph
[legend]
Collaboration diagram for mitk::NrrdTensorImageWriter:
Collaboration graph
[legend]

List of all members.

Public Types

typedef NrrdTensorImageWriter Self
typedef
mitk::FileWriterWithInformation 
Superclass
typedef itk::SmartPointer< SelfPointer
typedef itk::SmartPointer
< const Self
ConstPointer
typedef mitk::TensorImage InputType

Public Member Functions

virtual const char * GetClassName () const
virtual void Write ()
virtual void Update ()
virtual void SetFileName (const char *_arg)
virtual const char * GetFileName () const
virtual void SetFilePrefix (const char *_arg)
virtual const char * GetFilePrefix () const
virtual void SetFilePattern (const char *_arg)
virtual const char * GetFilePattern () const
void SetInput (InputType *input)
InputTypeGetInput ()
virtual bool GetSuccess ()
virtual std::vector< std::string > GetPossibleFileExtensions ()
virtual const char * GetDefaultFilename ()
virtual const char * GetFileDialogPattern ()
virtual const char * GetDefaultExtension ()
virtual bool CanWriteDataType (BaseData::Pointer data)
virtual void DoWrite (BaseData::Pointer data)

Static Public Member Functions

static Pointer New ()

Protected Member Functions

 NrrdTensorImageWriter ()
virtual ~NrrdTensorImageWriter ()
virtual void GenerateData ()

Protected Attributes

std::string m_FileName
std::string m_FilePrefix
std::string m_FilePattern
bool m_Success

Detailed Description

Writes diffusion volumes to a file

Definition at line 33 of file mitkNrrdTensorImageWriter.h.


Member Typedef Documentation

typedef itk::SmartPointer<const Self> mitk::NrrdTensorImageWriter::ConstPointer

Reimplemented from mitk::FileWriterWithInformation.

Definition at line 37 of file mitkNrrdTensorImageWriter.h.

Definition at line 41 of file mitkNrrdTensorImageWriter.h.

typedef itk::SmartPointer<Self> mitk::NrrdTensorImageWriter::Pointer

Reimplemented from mitk::FileWriterWithInformation.

Definition at line 37 of file mitkNrrdTensorImageWriter.h.

Reimplemented from mitk::FileWriterWithInformation.

Definition at line 37 of file mitkNrrdTensorImageWriter.h.

Reimplemented from mitk::FileWriterWithInformation.

Definition at line 37 of file mitkNrrdTensorImageWriter.h.


Constructor & Destructor Documentation

mitk::NrrdTensorImageWriter::NrrdTensorImageWriter (  ) [protected]

Definition at line 26 of file mitkNrrdTensorImageWriter.cpp.

    : m_FileName(""), m_FilePrefix(""), m_FilePattern(""), m_Success(false)
{
    this->SetNumberOfRequiredInputs( 1 );
}
mitk::NrrdTensorImageWriter::~NrrdTensorImageWriter (  ) [protected, virtual]

Definition at line 33 of file mitkNrrdTensorImageWriter.cpp.

{}

Member Function Documentation

virtual bool mitk::NrrdTensorImageWriter::CanWriteDataType ( BaseData::Pointer  data ) [inline, virtual]

Implements mitk::FileWriterWithInformation.

Definition at line 101 of file mitkNrrdTensorImageWriter.h.

Referenced by DoWrite().

{ return (dynamic_cast<mitk::TensorImage*>(data.GetPointer()) != NULL); };  
virtual void mitk::NrrdTensorImageWriter::DoWrite ( BaseData::Pointer  data ) [inline, virtual]

Implements mitk::FileWriterWithInformation.

Definition at line 102 of file mitkNrrdTensorImageWriter.h.

References CanWriteDataType(), SetInput(), and Update().

                                               { 
      if (CanWriteDataType(data)) {
        this->SetInput(dynamic_cast<mitk::TensorImage*>(data.GetPointer())); 
        this->Update(); 
      }
    };
void mitk::NrrdTensorImageWriter::GenerateData (  ) [protected, virtual]

Definition at line 37 of file mitkNrrdTensorImageWriter.cpp.

References mitk::CastToItkImage().

{
    m_Success = false;
    InputType* input = this->GetInput();
    if (input == NULL)
    {
        itkWarningMacro(<<"Sorry, input to NrrdTensorImageWriter is NULL!");    
        return;
    }
    if ( m_FileName == "" )
    {
        itkWarningMacro( << "Sorry, filename has not been set!" );
        return ;
    }
    
    itk::NrrdImageIO::Pointer io = itk::NrrdImageIO::New();
    io->SetFileType( itk::ImageIOBase::Binary );

    typedef itk::Image<itk::DiffusionTensor3D<float>,3> ImageType;
    typedef itk::ImageFileWriter<ImageType> WriterType;
    WriterType::Pointer nrrdWriter = WriterType::New();
    
    ImageType::Pointer outimage = ImageType::New();
    CastToItkImage(input, outimage);

    nrrdWriter->SetInput( outimage );
    nrrdWriter->SetImageIO(io);
    nrrdWriter->SetFileName(m_FileName);

    try
    {
      nrrdWriter->Update();
    }
    catch (itk::ExceptionObject e)
    {
      std::cout << e << std::endl;
    }

    m_Success = true;
}
virtual const char* mitk::NrrdTensorImageWriter::GetClassName (  ) const [virtual]

Reimplemented from mitk::FileWriterWithInformation.

virtual const char* mitk::NrrdTensorImageWriter::GetDefaultExtension (  ) [inline, virtual]

Implements mitk::FileWriterWithInformation.

Definition at line 100 of file mitkNrrdTensorImageWriter.h.

{ return ".dti"; }
virtual const char* mitk::NrrdTensorImageWriter::GetDefaultFilename (  ) [inline, virtual]

Implements mitk::FileWriterWithInformation.

Definition at line 98 of file mitkNrrdTensorImageWriter.h.

{ return "Tensors.dti"; }
virtual const char* mitk::NrrdTensorImageWriter::GetFileDialogPattern (  ) [inline, virtual]

Implements mitk::FileWriterWithInformation.

Definition at line 99 of file mitkNrrdTensorImageWriter.h.

{ return "Tensor Images (*.dti *.hdti)"; }
virtual const char* mitk::NrrdTensorImageWriter::GetFileName (  ) const [virtual]
Returns:
the name of the file to be written to disk.

Implements mitk::FileWriter.

virtual const char* mitk::NrrdTensorImageWriter::GetFilePattern (  ) const [virtual]
Warning:
multiple write not (yet) supported

Implements mitk::FileWriter.

virtual const char* mitk::NrrdTensorImageWriter::GetFilePrefix (  ) const [virtual]
Warning:
multiple write not (yet) supported

Implements mitk::FileWriter.

mitk::TensorImage * mitk::NrrdTensorImageWriter::GetInput ( void   )
Returns:
the 0'th input object of the filter.

Definition at line 85 of file mitkNrrdTensorImageWriter.cpp.

{
    if ( this->GetNumberOfInputs() < 1 )
    {
        return NULL;
    }
    else
    {
        return dynamic_cast<InputType*> ( this->ProcessObject::GetInput( 0 ) );
    }
}
std::vector< std::string > mitk::NrrdTensorImageWriter::GetPossibleFileExtensions (  ) [virtual]
Returns:
possible file extensions for the data type associated with the writer

Implements mitk::FileWriter.

Definition at line 98 of file mitkNrrdTensorImageWriter.cpp.

{
  std::vector<std::string> possibleFileExtensions;
  possibleFileExtensions.push_back(".dti");
  possibleFileExtensions.push_back(".hdti");
  return possibleFileExtensions;
}
virtual bool mitk::NrrdTensorImageWriter::GetSuccess (  ) [virtual]

Returns false if an error happened during writing

static Pointer mitk::NrrdTensorImageWriter::New (  ) [static]
virtual void mitk::NrrdTensorImageWriter::SetFileName ( const char *  _arg ) [virtual]

Sets the filename of the file to write.

Parameters:
FileNamethe name of the file to write.

Implements mitk::FileWriter.

virtual void mitk::NrrdTensorImageWriter::SetFilePattern ( const char *  _arg ) [virtual]
Warning:
multiple write not (yet) supported

Implements mitk::FileWriter.

virtual void mitk::NrrdTensorImageWriter::SetFilePrefix ( const char *  _arg ) [virtual]
Warning:
multiple write not (yet) supported

Implements mitk::FileWriter.

void mitk::NrrdTensorImageWriter::SetInput ( InputType input )

Sets the input object for the filter.

Parameters:
inputthe diffusion volumes to write to file.

Definition at line 79 of file mitkNrrdTensorImageWriter.cpp.

Referenced by DoWrite().

{
    this->ProcessObject::SetNthInput( 0, diffVolumes );
}
virtual void mitk::NrrdTensorImageWriter::Update (  ) [inline, virtual]

Definition at line 39 of file mitkNrrdTensorImageWriter.h.

Referenced by DoWrite().

virtual void mitk::NrrdTensorImageWriter::Write (  ) [inline, virtual]

Implements mitk::FileWriter.

Definition at line 39 of file mitkNrrdTensorImageWriter.h.


Member Data Documentation

std::string mitk::NrrdTensorImageWriter::m_FileName [protected]

Definition at line 117 of file mitkNrrdTensorImageWriter.h.

Definition at line 121 of file mitkNrrdTensorImageWriter.h.

Definition at line 119 of file mitkNrrdTensorImageWriter.h.

Definition at line 123 of file mitkNrrdTensorImageWriter.h.


The documentation for this class was generated from the following files:
 All Classes Namespaces Files Functions Variables Typedefs Enumerations Enumerator Properties Friends Defines