#include <mitkNrrdTensorImageReader.h>


Public Types | |
| typedef mitk::TensorImage | OutputType |
| typedef mitk::TensorImageSource | DTImgSourceType |
| typedef NrrdTensorImageReader | Self |
| typedef DTImgSourceType | Superclass |
| typedef itk::SmartPointer< Self > | Pointer |
| typedef itk::SmartPointer < const Self > | ConstPointer |
Public Member Functions | |
| virtual const char * | GetClassName () const |
| const char * | GetFileName () const |
| Get the specified the file to load. | |
| void | SetFileName (const char *aFileName) |
| Specify the file to load. | |
| const char * | GetFilePrefix () const |
| Get the specified file prefix for the file(s) to load. | |
| void | SetFilePrefix (const char *aFilePrefix) |
| Specify file prefix for the file(s) to load. | |
| const char * | GetFilePattern () const |
| Get the specified file pattern for the file(s) to load. The sprintf format used to build filename from FilePrefix and number. | |
| void | SetFilePattern (const char *aFilePattern) |
| Specified file pattern for the file(s) to load. The sprintf format used to build filename from FilePrefix and number. | |
Static Public Member Functions | |
| static Pointer | New () |
| Method for creation through the object factory. | |
| static bool | CanReadFile (const std::string filename, const std::string filePrefix, const std::string filePattern) |
Protected Member Functions | |
| virtual void | GenerateData () |
| virtual void | GenerateOutputInformation () |
Protected Attributes | |
| std::string | m_FileName |
| std::string | m_FilePrefix |
| std::string | m_FilePattern |
Definition at line 35 of file mitkNrrdTensorImageReader.h.
| typedef itk::SmartPointer<const Self> mitk::NrrdTensorImageReader::ConstPointer |
Reimplemented from mitk::TensorImageSource.
Definition at line 42 of file mitkNrrdTensorImageReader.h.
Definition at line 40 of file mitkNrrdTensorImageReader.h.
Definition at line 39 of file mitkNrrdTensorImageReader.h.
| typedef itk::SmartPointer<Self> mitk::NrrdTensorImageReader::Pointer |
Reimplemented from mitk::TensorImageSource.
Definition at line 42 of file mitkNrrdTensorImageReader.h.
Reimplemented from mitk::TensorImageSource.
Definition at line 42 of file mitkNrrdTensorImageReader.h.
Reimplemented from mitk::TensorImageSource.
Definition at line 42 of file mitkNrrdTensorImageReader.h.
| bool mitk::NrrdTensorImageReader::CanReadFile | ( | const std::string | filename, |
| const std::string | filePrefix, | ||
| const std::string | filePattern | ||
| ) | [static] |
Definition at line 143 of file mitkNrrdTensorImageReader.cpp.
{
// First check the extension
if( filename == "" )
{
return false;
}
std::string ext = itksys::SystemTools::GetFilenameLastExtension(filename);
ext = itksys::SystemTools::LowerCase(ext);
if (ext == ".hdti" || ext == ".dti")
{
return true;
}
return false;
}
| void mitk::NrrdTensorImageReader::GenerateData | ( | ) | [protected, virtual] |
Does the real work.
Reimplemented from mitk::ImageSource.
Definition at line 33 of file mitkNrrdTensorImageReader.cpp.
{
if ( m_FileName == "")
{
throw itk::ImageFileReaderException(__FILE__, __LINE__, "Sorry, the filename is empty!");
}
else
{
try
{
typedef itk::VectorImage<float,3> ImageType;
itk::NrrdImageIO::Pointer io = itk::NrrdImageIO::New();
typedef itk::ImageFileReader<ImageType> FileReaderType;
FileReaderType::Pointer reader = FileReaderType::New();
reader->SetImageIO(io);
reader->SetFileName(this->m_FileName);
reader->Update();
ImageType::Pointer img = reader->GetOutput();
typedef itk::Image<itk::DiffusionTensor3D<float>,3> VecImgType;
VecImgType::Pointer vecImg = VecImgType::New();
vecImg->SetSpacing( img->GetSpacing() ); // Set the image spacing
vecImg->SetOrigin( img->GetOrigin() ); // Set the image origin
vecImg->SetDirection( img->GetDirection() ); // Set the image direction
vecImg->SetRegions( img->GetLargestPossibleRegion());
vecImg->Allocate();
itk::ImageRegionIterator<VecImgType> ot (vecImg, vecImg->GetLargestPossibleRegion() );
ot = ot.Begin();
itk::ImageRegionIterator<ImageType> it (img, img->GetLargestPossibleRegion() );
it = it.Begin();
typedef ImageType::PixelType VarPixType;
typedef VecImgType::PixelType FixPixType;
while (!it.IsAtEnd())
{
VarPixType vec = it.Get();
FixPixType fixVec(vec.GetDataPointer());
ot.Set(fixVec);
++ot;
++it;
}
this->GetOutput()->InitializeByItk(vecImg.GetPointer());
this->GetOutput()->SetVolume(vecImg->GetBufferPointer());
}
catch(std::exception& e)
{
throw itk::ImageFileReaderException(__FILE__, __LINE__, e.what());
}
catch(...)
{
throw itk::ImageFileReaderException(__FILE__, __LINE__, "Sorry, an error occurred while reading the requested DTI file!");
}
}
}
| void mitk::NrrdTensorImageReader::GenerateOutputInformation | ( | void | ) | [protected, virtual] |
Definition at line 93 of file mitkNrrdTensorImageReader.cpp.
{
}
| virtual const char* mitk::NrrdTensorImageReader::GetClassName | ( | ) | const [virtual] |
Reimplemented from mitk::TensorImageSource.
| const char * mitk::NrrdTensorImageReader::GetFileName | ( | ) | const [virtual] |
Get the specified the file to load.
Either the FileName or FilePrefix plus FilePattern are used to read.
Implements mitk::FileReader.
Definition at line 101 of file mitkNrrdTensorImageReader.cpp.
{
return m_FileName.c_str();
}
| const char * mitk::NrrdTensorImageReader::GetFilePattern | ( | ) | const [virtual] |
Get the specified file pattern for the file(s) to load. The sprintf format used to build filename from FilePrefix and number.
You should specify either a FileName or FilePrefix. Use FilePrefix if the data is stored in multiple files.
Implements mitk::FileReader.
Definition at line 129 of file mitkNrrdTensorImageReader.cpp.
{
return m_FilePattern.c_str();
}
| const char * mitk::NrrdTensorImageReader::GetFilePrefix | ( | ) | const [virtual] |
Get the specified file prefix for the file(s) to load.
You should specify either a FileName or FilePrefix. Use FilePrefix if the data is stored in multiple files.
Implements mitk::FileReader.
Definition at line 115 of file mitkNrrdTensorImageReader.cpp.
{
return m_FilePrefix.c_str();
}
| static Pointer mitk::NrrdTensorImageReader::New | ( | ) | [static] |
Method for creation through the object factory.
Reimplemented from mitk::TensorImageSource.
| void mitk::NrrdTensorImageReader::SetFileName | ( | const char * | aFileName ) | [virtual] |
Specify the file to load.
Either the FileName or FilePrefix plus FilePattern are used to read.
Implements mitk::FileReader.
Definition at line 108 of file mitkNrrdTensorImageReader.cpp.
{
m_FileName = aFileName;
}
| void mitk::NrrdTensorImageReader::SetFilePattern | ( | const char * | aFilePattern ) | [virtual] |
Specified file pattern for the file(s) to load. The sprintf format used to build filename from FilePrefix and number.
You should specify either a FileName or FilePrefix. Use FilePrefix if the data is stored in multiple files.
Implements mitk::FileReader.
Definition at line 136 of file mitkNrrdTensorImageReader.cpp.
{
m_FilePattern = aFilePattern;
}
| void mitk::NrrdTensorImageReader::SetFilePrefix | ( | const char * | aFilePrefix ) | [virtual] |
Specify file prefix for the file(s) to load.
You should specify either a FileName or FilePrefix. Use FilePrefix if the data is stored in multiple files.
Implements mitk::FileReader.
Definition at line 122 of file mitkNrrdTensorImageReader.cpp.
{
m_FilePrefix = aFilePrefix;
}
std::string mitk::NrrdTensorImageReader::m_FileName [protected] |
Definition at line 60 of file mitkNrrdTensorImageReader.h.
std::string mitk::NrrdTensorImageReader::m_FilePattern [protected] |
Definition at line 62 of file mitkNrrdTensorImageReader.h.
std::string mitk::NrrdTensorImageReader::m_FilePrefix [protected] |
Definition at line 61 of file mitkNrrdTensorImageReader.h.
1.7.2