#include <mitkNrrdDiffusionImageWriter.h>


Public Types | |
| typedef NrrdDiffusionImageWriter | Self |
| typedef mitk::FileWriterWithInformation | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer < const Self > | ConstPointer |
| typedef mitk::DiffusionImage < TPixelType > | 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) |
| InputType * | GetInput () |
| 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 | |
| NrrdDiffusionImageWriter () | |
| virtual | ~NrrdDiffusionImageWriter () |
| virtual void | GenerateData () |
Protected Attributes | |
| std::string | m_FileName |
| std::string | m_FilePrefix |
| std::string | m_FilePattern |
| bool | m_Success |
Writes diffusion volumes to a file
Definition at line 34 of file mitkNrrdDiffusionImageWriter.h.
| typedef itk::SmartPointer<const Self> mitk::NrrdDiffusionImageWriter< TPixelType >::ConstPointer |
Reimplemented from mitk::FileWriterWithInformation.
Definition at line 38 of file mitkNrrdDiffusionImageWriter.h.
| typedef mitk::DiffusionImage<TPixelType> mitk::NrrdDiffusionImageWriter< TPixelType >::InputType |
Definition at line 42 of file mitkNrrdDiffusionImageWriter.h.
| typedef itk::SmartPointer<Self> mitk::NrrdDiffusionImageWriter< TPixelType >::Pointer |
Reimplemented from mitk::FileWriterWithInformation.
Definition at line 38 of file mitkNrrdDiffusionImageWriter.h.
| typedef NrrdDiffusionImageWriter mitk::NrrdDiffusionImageWriter< TPixelType >::Self |
Reimplemented from mitk::FileWriterWithInformation.
Definition at line 38 of file mitkNrrdDiffusionImageWriter.h.
| typedef mitk::FileWriterWithInformation mitk::NrrdDiffusionImageWriter< TPixelType >::Superclass |
Reimplemented from mitk::FileWriterWithInformation.
Definition at line 38 of file mitkNrrdDiffusionImageWriter.h.
| mitk::NrrdDiffusionImageWriter< TPixelType >::NrrdDiffusionImageWriter | ( | ) | [protected] |
Definition at line 28 of file mitkNrrdDiffusionImageWriter.cpp.
: m_FileName(""), m_FilePrefix(""), m_FilePattern(""), m_Success(false) { this->SetNumberOfRequiredInputs( 1 ); }
| mitk::NrrdDiffusionImageWriter< TPixelType >::~NrrdDiffusionImageWriter | ( | ) | [protected, virtual] |
Definition at line 35 of file mitkNrrdDiffusionImageWriter.cpp.
{}
| virtual bool mitk::NrrdDiffusionImageWriter< TPixelType >::CanWriteDataType | ( | BaseData::Pointer | data ) | [inline, virtual] |
Implements mitk::FileWriterWithInformation.
Definition at line 102 of file mitkNrrdDiffusionImageWriter.h.
Referenced by mitk::NrrdDiffusionImageWriter< TPixelType >::DoWrite().
{ return (dynamic_cast<mitk::DiffusionImage<TPixelType>*>(data.GetPointer()) != NULL); };
| virtual void mitk::NrrdDiffusionImageWriter< TPixelType >::DoWrite | ( | BaseData::Pointer | data ) | [inline, virtual] |
Implements mitk::FileWriterWithInformation.
Definition at line 103 of file mitkNrrdDiffusionImageWriter.h.
References mitk::NrrdDiffusionImageWriter< TPixelType >::CanWriteDataType(), mitk::NrrdDiffusionImageWriter< TPixelType >::SetInput(), and mitk::NrrdDiffusionImageWriter< TPixelType >::Update().
{
if (CanWriteDataType(data)) {
this->SetInput(dynamic_cast<mitk::DiffusionImage<TPixelType>*>(data.GetPointer()));
this->Update();
}
};
| void mitk::NrrdDiffusionImageWriter< TPixelType >::GenerateData | ( | ) | [protected, virtual] |
Definition at line 39 of file mitkNrrdDiffusionImageWriter.cpp.
References mitk::DiffusionImage< TPixelType >::GetB_Value(), mitk::DiffusionImage< TPixelType >::GetDirections(), and mitk::DiffusionImage< TPixelType >::GetVectorImage().
{
m_Success = false;
InputType* input = this->GetInput();
if (input == NULL)
{
itkWarningMacro(<<"Sorry, input to NrrdDiffusionImageWriter is NULL!");
return;
}
if ( m_FileName == "" )
{
itkWarningMacro( << "Sorry, filename has not been set!" );
return ;
}
char keybuffer[512];
char valbuffer[512];
std::string tmp;
itk::VectorImage<short,3>::Pointer img = input->GetVectorImage();
img->GetMetaDataDictionary();
//itk::MetaDataDictionary dic = input->GetImage()->GetMetaDataDictionary();
sprintf( valbuffer, "(%1f,%1f,%1f) (%1f,%1f,%1f) (%1f,%1f,%1f)", 1.0f,0.0f,0.0f,0.0f,1.0f,0.0f,0.0f,0.0f,1.0f);
itk::EncapsulateMetaData<std::string>(input->GetVectorImage()->GetMetaDataDictionary(),std::string("measurement frame"),std::string(valbuffer));
sprintf( valbuffer, "DWMRI");
itk::EncapsulateMetaData<std::string>(input->GetVectorImage()->GetMetaDataDictionary(),std::string("modality"),std::string(valbuffer));
if(input->GetDirections()->Size())
{
sprintf( valbuffer, "%1f", input->GetB_Value() );
itk::EncapsulateMetaData<std::string>(input->GetVectorImage()->GetMetaDataDictionary(),std::string("DWMRI_b-value"),std::string(valbuffer));
}
for(unsigned int i=0; i<input->GetDirections()->Size(); i++)
{
sprintf( keybuffer, "DWMRI_gradient_%04d", i );
/*if(itk::ExposeMetaData<std::string>(input->GetMetaDataDictionary(),
std::string(keybuffer),tmp))
continue;*/
sprintf( valbuffer, "%1f %1f %1f", input->GetDirections()->ElementAt(i).get(0),
input->GetDirections()->ElementAt(i).get(1), input->GetDirections()->ElementAt(i).get(2));
itk::EncapsulateMetaData<std::string>(input->GetVectorImage()->GetMetaDataDictionary(),std::string(keybuffer),std::string(valbuffer));
}
itk::NrrdImageIO::Pointer io = itk::NrrdImageIO::New();
//io->SetNrrdVectorType( nrrdKindList );
io->SetFileType( itk::ImageIOBase::Binary );
typedef itk::VectorImage<TPixelType,3> ImageType;
typedef itk::ImageFileWriter<ImageType> WriterType;
typename WriterType::Pointer nrrdWriter = WriterType::New();
nrrdWriter->UseInputMetaDataDictionaryOn();
nrrdWriter->SetInput( input->GetVectorImage() );
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::NrrdDiffusionImageWriter< TPixelType >::GetClassName | ( | ) | const [virtual] |
Reimplemented from mitk::FileWriterWithInformation.
| virtual const char* mitk::NrrdDiffusionImageWriter< TPixelType >::GetDefaultExtension | ( | ) | [inline, virtual] |
Implements mitk::FileWriterWithInformation.
Definition at line 101 of file mitkNrrdDiffusionImageWriter.h.
{ return ".dwi"; }
| virtual const char* mitk::NrrdDiffusionImageWriter< TPixelType >::GetDefaultFilename | ( | ) | [inline, virtual] |
Implements mitk::FileWriterWithInformation.
Definition at line 99 of file mitkNrrdDiffusionImageWriter.h.
{ return "DiffusionWeightedImages.dwi"; }
| virtual const char* mitk::NrrdDiffusionImageWriter< TPixelType >::GetFileDialogPattern | ( | ) | [inline, virtual] |
Implements mitk::FileWriterWithInformation.
Definition at line 100 of file mitkNrrdDiffusionImageWriter.h.
{ return "Diffusion Weighted Images (*.dwi *.hdwi)"; }
| virtual const char* mitk::NrrdDiffusionImageWriter< TPixelType >::GetFileName | ( | ) | const [virtual] |
Implements mitk::FileWriter.
| virtual const char* mitk::NrrdDiffusionImageWriter< TPixelType >::GetFilePattern | ( | ) | const [virtual] |
Implements mitk::FileWriter.
| virtual const char* mitk::NrrdDiffusionImageWriter< TPixelType >::GetFilePrefix | ( | ) | const [virtual] |
Implements mitk::FileWriter.
| mitk::DiffusionImage< TPixelType > * mitk::NrrdDiffusionImageWriter< TPixelType >::GetInput | ( | void | ) |
Definition at line 119 of file mitkNrrdDiffusionImageWriter.cpp.
{
if ( this->GetNumberOfInputs() < 1 )
{
return NULL;
}
else
{
return dynamic_cast<InputType*> ( this->ProcessObject::GetInput( 0 ) );
}
}
| std::vector< std::string > mitk::NrrdDiffusionImageWriter< TPixelType >::GetPossibleFileExtensions | ( | ) | [virtual] |
Implements mitk::FileWriter.
Definition at line 132 of file mitkNrrdDiffusionImageWriter.cpp.
{
std::vector<std::string> possibleFileExtensions;
possibleFileExtensions.push_back(".dwi");
possibleFileExtensions.push_back(".hdwi");
return possibleFileExtensions;
}
| virtual bool mitk::NrrdDiffusionImageWriter< TPixelType >::GetSuccess | ( | ) | [virtual] |
Returns false if an error happened during writing
| static Pointer mitk::NrrdDiffusionImageWriter< TPixelType >::New | ( | ) | [static] |
| virtual void mitk::NrrdDiffusionImageWriter< TPixelType >::SetFileName | ( | const char * | _arg ) | [virtual] |
Sets the filename of the file to write.
| FileName | the name of the file to write. |
Implements mitk::FileWriter.
| virtual void mitk::NrrdDiffusionImageWriter< TPixelType >::SetFilePattern | ( | const char * | _arg ) | [virtual] |
Implements mitk::FileWriter.
| virtual void mitk::NrrdDiffusionImageWriter< TPixelType >::SetFilePrefix | ( | const char * | _arg ) | [virtual] |
Implements mitk::FileWriter.
| void mitk::NrrdDiffusionImageWriter< TPixelType >::SetInput | ( | InputType * | input ) |
Sets the input object for the filter.
| input | the diffusion volumes to write to file. |
Definition at line 113 of file mitkNrrdDiffusionImageWriter.cpp.
Referenced by mitk::NrrdDiffusionImageWriter< TPixelType >::DoWrite().
{
this->ProcessObject::SetNthInput( 0, diffVolumes );
}
| virtual void mitk::NrrdDiffusionImageWriter< TPixelType >::Update | ( | ) | [inline, virtual] |
Definition at line 40 of file mitkNrrdDiffusionImageWriter.h.
Referenced by mitk::NrrdDiffusionImageWriter< TPixelType >::DoWrite().
| virtual void mitk::NrrdDiffusionImageWriter< TPixelType >::Write | ( | ) | [inline, virtual] |
Implements mitk::FileWriter.
Definition at line 40 of file mitkNrrdDiffusionImageWriter.h.
std::string mitk::NrrdDiffusionImageWriter< TPixelType >::m_FileName [protected] |
Definition at line 118 of file mitkNrrdDiffusionImageWriter.h.
std::string mitk::NrrdDiffusionImageWriter< TPixelType >::m_FilePattern [protected] |
Definition at line 122 of file mitkNrrdDiffusionImageWriter.h.
std::string mitk::NrrdDiffusionImageWriter< TPixelType >::m_FilePrefix [protected] |
Definition at line 120 of file mitkNrrdDiffusionImageWriter.h.
bool mitk::NrrdDiffusionImageWriter< TPixelType >::m_Success [protected] |
Definition at line 124 of file mitkNrrdDiffusionImageWriter.h.
1.7.2