#include <mitkTeemDiffusionTensor3DReconstructionImageFilter.h>
Definition at line 39 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef itk::SmartPointer<const Self> mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::ConstPointer |
Definition at line 58 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef itk::VectorImage< DiffusionPixelType, 3 > mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::DiffusionImageType |
Definition at line 55 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef DiffusionImagePixelType mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::DiffusionPixelType |
Definition at line 54 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef itk::Image<TensorType,3 > mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::ItkTensorImageType |
Definition at line 49 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef itk::Image<ItkTensorVectorType,3> mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::ItkTensorVectorImageType |
Definition at line 52 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef itk::Vector<TensorPixelType,6> mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::ItkTensorVectorType |
Definition at line 51 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef itk::SmartPointer<Self> mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::Pointer |
Definition at line 58 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef TeemDiffusionTensor3DReconstructionImageFilter mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::Self |
Definition at line 58 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef itk::Object mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::Superclass |
Definition at line 58 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef TTensorPixelType mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::TensorPixelType |
Definition at line 43 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef itk::DiffusionTensor3D<TensorPixelType> mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::TensorType |
Definition at line 48 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef itk::Image<VectorType,3> mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::VectorImageType |
Definition at line 46 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
typedef itk::Vector<TensorPixelType,7> mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::VectorType |
Definition at line 45 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
mitk::TeemDiffusionTensor3DReconstructionImageFilter< D, T >::TeemDiffusionTensor3DReconstructionImageFilter | ( | ) | [protected] |
Definition at line 33 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.cpp.
: m_EstimateErrorImage(false),m_Sigma(-19191919), m_EstimationMethod(TeemTensorEstimationMethodsLLS), m_NumIterations(1),m_ConfidenceThreshold(-19191919.0), m_ConfidenceFuzzyness(0.0),m_MinPlausibleValue(1.0) { }
mitk::TeemDiffusionTensor3DReconstructionImageFilter< D, T >::~TeemDiffusionTensor3DReconstructionImageFilter | ( | ) | [protected, virtual] |
Definition at line 43 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.cpp.
{ }
virtual const char* mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetClassName | ( | ) | const [virtual] |
virtual float mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetConfidenceFuzzyness | ( | ) | [virtual] |
virtual double mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetConfidenceThreshold | ( | ) | [virtual] |
virtual bool mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetEstimateErrorImage | ( | ) | [virtual] |
virtual TeemTensorEstimationMethods mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetEstimationMethod | ( | ) | [virtual] |
virtual DiffusionImage<DiffusionImagePixelType>::Pointer mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetInput | ( | ) | [virtual] |
virtual double mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetMinPlausibleValue | ( | ) | [virtual] |
virtual int mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetNumIterations | ( | ) | [virtual] |
virtual mitk::TensorImage::Pointer mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetOutput | ( | ) | [virtual] |
virtual mitk::TensorImage::Pointer mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetOutputItk | ( | ) | [virtual] |
virtual float mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::GetSigma | ( | ) | [virtual] |
static Pointer mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::New | ( | ) | [static] |
virtual void mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::SetConfidenceFuzzyness | ( | float | _arg ) | [virtual] |
virtual void mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::SetConfidenceThreshold | ( | double | _arg ) | [virtual] |
virtual void mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::SetEstimateErrorImage | ( | bool | _arg ) | [virtual] |
virtual void mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::SetEstimationMethod | ( | TeemTensorEstimationMethods | _arg ) | [virtual] |
virtual void mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::SetInput | ( | typename DiffusionImage< DiffusionImagePixelType >::Pointer | _arg ) | [virtual] |
virtual void mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::SetMinPlausibleValue | ( | double | _arg ) | [virtual] |
virtual void mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::SetNumIterations | ( | int | _arg ) | [virtual] |
virtual void mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::SetSigma | ( | float | _arg ) | [virtual] |
void mitk::TeemDiffusionTensor3DReconstructionImageFilter< D, T >::Update | ( | ) | [virtual] |
Definition at line 76 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.cpp.
References file_replace(), MITK_ERROR, mitk::TensorImage::New(), mitk::TeemTensorEstimationMethodsLLS, mitk::TeemTensorEstimationMethodsMLE, mitk::TeemTensorEstimationMethodsNLS, and mitk::TeemTensorEstimationMethodsWLS.
{ // save input image to nrrd file in temp-folder char filename[512]; srand((unsigned)time(0)); int random_integer = rand(); sprintf( filename, "dwi_%d.nhdr",random_integer); typedef mitk::NrrdDiffusionImageWriter<D> WriterType; typename WriterType::Pointer nrrdWriter = WriterType::New(); nrrdWriter->SetInput( m_Input ); //nrrdWriter->SetDirections(m_Input->GetDirections()); //nrrdWriter->SetB_Value(m_Input->GetB_Value()); nrrdWriter->SetFileName(filename); try { nrrdWriter->Update(); } catch (itk::ExceptionObject e) { std::cout << e << std::endl; } file_replace(filename,"vector","list"); // build up correct command from input params char command[4096]; sprintf( command, "tend estim -i %s -B kvp -o tensors_%d.nhdr -knownB0 true", filename, random_integer); //m_DiffusionImages; if(m_EstimateErrorImage) { sprintf( command, "%s -ee error_image_%d.nhdr", command, random_integer); } if(m_Sigma != -19191919) { sprintf( command, "%s -sigma %f", command, m_Sigma); } switch(m_EstimationMethod) { case TeemTensorEstimationMethodsLLS: sprintf( command, "%s -est lls", command); break; case TeemTensorEstimationMethodsMLE: sprintf( command, "%s -est mle", command); break; case TeemTensorEstimationMethodsNLS: sprintf( command, "%s -est nls", command); break; case TeemTensorEstimationMethodsWLS: sprintf( command, "%s -est wls", command); break; } sprintf( command, "%s -wlsi %d", command, m_NumIterations); if(m_ConfidenceThreshold != -19191919.0) { sprintf( command, "%s -t %f", command, m_ConfidenceThreshold); } sprintf( command, "%s -soft %f", command, m_ConfidenceFuzzyness); sprintf( command, "%s -mv %f", command, m_MinPlausibleValue); // call tend estim command std::cout << "Calling <" << command << ">" << std::endl; int success = system(command); if(!success) { MITK_ERROR << "system command could not be called!"; } remove(filename); sprintf( filename, "dwi_%d.raw", random_integer); remove(filename); // change kind from tensor to vector sprintf( filename, "tensors_%d.nhdr", random_integer); file_replace(filename,"3D-masked-symmetric-matrix","vector"); //file_replace(filename,"3D-symmetric-matrix","vector"); //itksys::SystemTools::ReplaceString(line,"3D-masked-symmetric-matrix","vector"); //itksys::SystemTools::ReplaceString(line,"vector","domain"); // read result as mitk::Image and provide it in m_Output typedef itk::ImageFileReader<VectorImageType> FileReaderType; typename FileReaderType::Pointer reader = FileReaderType::New(); reader->SetFileName(filename); reader->Update(); typename VectorImageType::Pointer vecImage = reader->GetOutput(); remove(filename); sprintf( filename, "tensors_%d.raw", random_integer); remove(filename); typename ItkTensorImageType::Pointer itkTensorImage = ItkTensorImageType::New(); itkTensorImage->SetSpacing( vecImage->GetSpacing() ); // Set the image spacing itkTensorImage->SetOrigin( vecImage->GetOrigin() ); // Set the image origin itkTensorImage->SetDirection( vecImage->GetDirection() ); // Set the image direction itkTensorImage->SetLargestPossibleRegion( vecImage->GetLargestPossibleRegion() ); itkTensorImage->SetBufferedRegion( vecImage->GetLargestPossibleRegion() ); itkTensorImage->SetRequestedRegion( vecImage->GetLargestPossibleRegion() ); itkTensorImage->Allocate(); itk::ImageRegionIterator<VectorImageType> it(vecImage, vecImage->GetLargestPossibleRegion()); itk::ImageRegionIterator<ItkTensorImageType> it2(itkTensorImage, itkTensorImage->GetLargestPossibleRegion()); it2 = it2.Begin(); //#pragma omp parallel private (it) { for(it=it.Begin();!it.IsAtEnd(); ++it, ++it2) { //#pragma omp single nowait { VectorType vec = it.Get(); TensorType tensor; for(int i=1;i<7;i++) tensor[i-1] = vec[i] * vec[0]; it2.Set( tensor ); } } // end for } // end ompparallel m_OutputItk = mitk::TensorImage::New(); m_OutputItk->InitializeByItk(itkTensorImage.GetPointer()); m_OutputItk->SetVolume( itkTensorImage->GetBufferPointer() ); // in case: read resulting error-image and provide it in m_ErrorImage if(m_EstimateErrorImage) { // open error image here } }
float mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_ConfidenceFuzzyness [protected] |
Definition at line 104 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
double mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_ConfidenceThreshold [protected] |
Definition at line 103 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
mitk::Image::Pointer mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_ErrorImage [protected] |
Definition at line 108 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
bool mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_EstimateErrorImage [protected] |
Definition at line 99 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
TeemTensorEstimationMethods mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_EstimationMethod [protected] |
Definition at line 101 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
DiffusionImage<DiffusionImagePixelType>::Pointer mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_Input [protected] |
Definition at line 98 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
double mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_MinPlausibleValue [protected] |
Definition at line 105 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
int mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_NumIterations [protected] |
Definition at line 102 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
mitk::TensorImage::Pointer mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_Output [protected] |
Definition at line 106 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
mitk::TensorImage::Pointer mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_OutputItk [protected] |
Definition at line 107 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.
float mitk::TeemDiffusionTensor3DReconstructionImageFilter< DiffusionImagePixelType, TTensorPixelType >::m_Sigma [protected] |
Definition at line 100 of file mitkTeemDiffusionTensor3DReconstructionImageFilter.h.