Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Generates artificial diffusion weighted image volume from the input fiberbundle using a generic multicompartment model. See "Fiberfox: Facilitating the creation of realistic white matter software phantoms" (DOI: 10.1002/mrm.25045) for details. More...
#include <itkTractsToDWIImageFilter.h>
Public Types | |
typedef TractsToDWIImageFilter | Self |
typedef ImageSource< itk::VectorImage< PixelType, 3 > > | Superclass |
typedef SmartPointer< Self > | Pointer |
typedef SmartPointer< const Self > | ConstPointer |
typedef Superclass::OutputImageType | OutputImageType |
typedef itk::Image< double, 4 > | ItkDoubleImgType4D |
typedef itk::Image< double, 3 > | ItkDoubleImgType |
typedef itk::Image< float, 3 > | ItkFloatImgType |
typedef itk::Image< unsigned char, 3 > | ItkUcharImgType |
typedef mitk::FiberBundle::Pointer | FiberBundleType |
typedef itk::VectorImage< double, 3 > | DoubleDwiType |
typedef itk::Matrix< double, 3, 3 > | MatrixType |
typedef itk::Image< double, 2 > | SliceType |
typedef itk::VnlForwardFFTImageFilter< SliceType >::OutputImageType | ComplexSliceType |
typedef itk::VectorImage< vcl_complex< double >, 3 > | ComplexDwiType |
typedef itk::Vector< double, 3 > | DoubleVectorType |
Public Member Functions | |
Pointer | Clone () const |
virtual const char * | GetClassName () const |
virtual void | SetFiberBundle (FiberBundleType _arg) |
Input fiber bundle. More... | |
virtual void | SetInputImage (typename OutputImageType::Pointer _arg) |
Input diffusion-weighted image. If no fiber bundle is set, then the acquisition is simulated for this image without a new diffusion simulation. More... | |
virtual void | SetUseConstantRandSeed (bool _arg) |
Seed for random generator. More... | |
void | SetParameters (FiberfoxParameters< double > param) |
FiberfoxParameters< double > | GetParameters () |
std::vector< ItkDoubleImgType::Pointer > | GetVolumeFractions () |
mitk::LevelWindow | GetLevelWindow () |
virtual std::string | GetStatusText () |
virtual DoubleDwiType::Pointer | GetPhaseImage () |
virtual DoubleDwiType::Pointer | GetKspaceImage () |
virtual mitk::PointSet::Pointer | GetCoilPointset () |
void | GenerateData () |
Static Public Member Functions | |
static Pointer | New () |
Protected Member Functions | |
TractsToDWIImageFilter () | |
virtual | ~TractsToDWIImageFilter () |
itk::Point< float, 3 > | GetItkPoint (double point[3]) |
itk::Vector< double, 3 > | GetItkVector (double point[3]) |
vnl_vector_fixed< double, 3 > | GetVnlVector (double point[3]) |
vnl_vector_fixed< double, 3 > | GetVnlVector (Vector< float, 3 > &vector) |
double | RoundToNearest (double num) |
std::string | GetTime () |
bool | PrepareLogFile () |
void | PrintToLog (string m, bool addTime=true, bool linebreak=true, bool stdOut=true) |
DoubleDwiType::Pointer | SimulateKspaceAcquisition (std::vector< DoubleDwiType::Pointer > &images) |
void | SimulateExtraAxonalSignal (ItkUcharImgType::IndexType index, double intraAxonalVolume, int g=-1) |
void | SimulateMotion (int g=-1) |
void | CheckVolumeFractionImages () |
ItkDoubleImgType::Pointer | NormalizeInsideMask (ItkDoubleImgType::Pointer image) |
void | InitializeData () |
void | InitializeFiberData () |
double | InterpolateValue (itk::Point< float, 3 > itkP, ItkDoubleImgType::Pointer img) |
Protected Attributes | |
mitk::FiberfoxParameters< double > | m_Parameters |
FiberBundleType | m_FiberBundle |
OutputImageType::Pointer | m_InputImage |
OutputImageType::Pointer | m_OutputImage |
DoubleDwiType::Pointer | m_PhaseImage |
DoubleDwiType::Pointer | m_KspaceImage |
mitk::LevelWindow | m_LevelWindow |
std::vector< ItkDoubleImgType::Pointer > | m_VolumeFractions |
std::string | m_StatusText |
itk::TimeProbe | m_TimeProbe |
bool | m_UseConstantRandSeed |
bool | m_MaskImageSet |
ofstream | m_Logfile |
std::string | m_MotionLog |
std::string | m_SpikeLog |
FiberBundleType | m_FiberBundleWorkingCopy |
we work on an upsampled version of the input bundle More... | |
FiberBundleType | m_FiberBundleTransformed |
transformed bundle simulating headmotion More... | |
itk::Vector< double, 3 > | m_WorkingSpacing |
itk::Point< double, 3 > | m_WorkingOrigin |
ImageRegion< 3 > | m_WorkingImageRegion |
double | m_VoxelVolume |
std::vector< DoubleDwiType::Pointer > | m_CompartmentImages |
ItkUcharImgType::Pointer | m_TransformedMaskImage |
copy of mask image (changes for each motion step) More... | |
ItkUcharImgType::Pointer | m_UpsampledMaskImage |
helper image for motion simulation More... | |
DoubleVectorType | m_Rotation |
DoubleVectorType | m_Translation |
std::vector< DoubleVectorType > | m_Rotations |
stores the individual rotation of each volume (needed for k-space simulation to obtain correct frequency map position) More... | |
std::vector< DoubleVectorType > | m_Translations |
stores the individual translation of each volume (needed for k-space simulation to obtain correct frequency map position) More... | |
double | m_mmRadius |
double | m_SegmentVolume |
bool | m_UseRelativeNonFiberVolumeFractions |
mitk::PointSet::Pointer | m_CoilPointset |
int | m_MotionCounter |
int | m_NumMotionVolumes |
itk::Statistics::MersenneTwisterRandomVariateGenerator::Pointer | m_RandGen |
Generates artificial diffusion weighted image volume from the input fiberbundle using a generic multicompartment model. See "Fiberfox: Facilitating the creation of realistic white matter software phantoms" (DOI: 10.1002/mrm.25045) for details.
Definition at line 38 of file itkTractsToDWIImageFilter.h.
typedef itk::VectorImage< vcl_complex< double >, 3 > itk::TractsToDWIImageFilter< PixelType >::ComplexDwiType |
Definition at line 58 of file itkTractsToDWIImageFilter.h.
typedef itk::VnlForwardFFTImageFilter<SliceType>::OutputImageType itk::TractsToDWIImageFilter< PixelType >::ComplexSliceType |
Definition at line 57 of file itkTractsToDWIImageFilter.h.
typedef SmartPointer< const Self > itk::TractsToDWIImageFilter< PixelType >::ConstPointer |
Definition at line 46 of file itkTractsToDWIImageFilter.h.
typedef itk::VectorImage< double, 3 > itk::TractsToDWIImageFilter< PixelType >::DoubleDwiType |
Definition at line 54 of file itkTractsToDWIImageFilter.h.
typedef itk::Vector< double,3> itk::TractsToDWIImageFilter< PixelType >::DoubleVectorType |
Definition at line 59 of file itkTractsToDWIImageFilter.h.
typedef mitk::FiberBundle::Pointer itk::TractsToDWIImageFilter< PixelType >::FiberBundleType |
Definition at line 53 of file itkTractsToDWIImageFilter.h.
typedef itk::Image<double, 3> itk::TractsToDWIImageFilter< PixelType >::ItkDoubleImgType |
Definition at line 50 of file itkTractsToDWIImageFilter.h.
typedef itk::Image<double, 4> itk::TractsToDWIImageFilter< PixelType >::ItkDoubleImgType4D |
Definition at line 49 of file itkTractsToDWIImageFilter.h.
typedef itk::Image<float, 3> itk::TractsToDWIImageFilter< PixelType >::ItkFloatImgType |
Definition at line 51 of file itkTractsToDWIImageFilter.h.
typedef itk::Image<unsigned char, 3> itk::TractsToDWIImageFilter< PixelType >::ItkUcharImgType |
Definition at line 52 of file itkTractsToDWIImageFilter.h.
typedef itk::Matrix<double, 3, 3> itk::TractsToDWIImageFilter< PixelType >::MatrixType |
Definition at line 55 of file itkTractsToDWIImageFilter.h.
typedef Superclass::OutputImageType itk::TractsToDWIImageFilter< PixelType >::OutputImageType |
Definition at line 48 of file itkTractsToDWIImageFilter.h.
typedef SmartPointer< Self > itk::TractsToDWIImageFilter< PixelType >::Pointer |
Definition at line 45 of file itkTractsToDWIImageFilter.h.
typedef TractsToDWIImageFilter itk::TractsToDWIImageFilter< PixelType >::Self |
Definition at line 43 of file itkTractsToDWIImageFilter.h.
typedef itk::Image< double, 2 > itk::TractsToDWIImageFilter< PixelType >::SliceType |
Definition at line 56 of file itkTractsToDWIImageFilter.h.
typedef ImageSource< itk::VectorImage< PixelType, 3 > > itk::TractsToDWIImageFilter< PixelType >::Superclass |
Definition at line 44 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 61 of file itkTractsToDWIImageFilter.cpp.
References itk::TractsToDWIImageFilter< PixelType >::m_RandGen.
|
protectedvirtual |
Definition at line 71 of file itkTractsToDWIImageFilter.cpp.
|
protected |
Definition at line 375 of file itkTractsToDWIImageFilter.cpp.
References mitk::New().
Pointer itk::TractsToDWIImageFilter< PixelType >::Clone | ( | ) | const |
void itk::TractsToDWIImageFilter< PixelType >::GenerateData | ( | ) |
Definition at line 863 of file itkTractsToDWIImageFilter.cpp.
References max(), min(), and mitk::New().
|
virtual |
|
virtual |
|
protected |
Definition at line 1615 of file itkTractsToDWIImageFilter.cpp.
|
protected |
Definition at line 1625 of file itkTractsToDWIImageFilter.cpp.
|
virtual |
|
inline |
Definition at line 76 of file itkTractsToDWIImageFilter.h.
References itk::TractsToDWIImageFilter< PixelType >::m_LevelWindow.
|
inline |
Output
Definition at line 73 of file itkTractsToDWIImageFilter.h.
References itk::TractsToDWIImageFilter< PixelType >::m_Parameters.
|
virtual |
|
virtual |
|
protected |
Definition at line 1660 of file itkTractsToDWIImageFilter.cpp.
|
protected |
Definition at line 1635 of file itkTractsToDWIImageFilter.cpp.
|
protected |
Definition at line 1645 of file itkTractsToDWIImageFilter.cpp.
|
inline |
Definition at line 74 of file itkTractsToDWIImageFilter.h.
References itk::TractsToDWIImageFilter< PixelType >::m_VolumeFractions.
|
protected |
Definition at line 485 of file itkTractsToDWIImageFilter.cpp.
References mitk::New(), and itk::ResampleDwiImageFilter< TScalarType >::New().
|
protected |
Definition at line 741 of file itkTractsToDWIImageFilter.cpp.
References M_PI.
|
protected |
Definition at line 1544 of file itkTractsToDWIImageFilter.cpp.
|
static |
Referenced by main().
|
protected |
Definition at line 343 of file itkTractsToDWIImageFilter.cpp.
References max(), min(), and mitk::New().
|
protected |
Definition at line 774 of file itkTractsToDWIImageFilter.cpp.
References mitk::IOUtil::GetTempPath(), max(), and MITK_ERROR.
|
protected |
Prepares the log file and returns true if successful or false if failed.
Definition at line 1227 of file itkTractsToDWIImageFilter.cpp.
|
protected |
Definition at line 1655 of file itkTractsToDWIImageFilter.cpp.
|
virtual |
Input fiber bundle.
Input
|
virtual |
Input diffusion-weighted image. If no fiber bundle is set, then the acquisition is simulated for this image without a new diffusion simulation.
|
inline |
param | Simulation parameters. |
Definition at line 69 of file itkTractsToDWIImageFilter.h.
References itk::TractsToDWIImageFilter< PixelType >::m_Parameters.
|
virtual |
Seed for random generator.
|
protected |
Generate signal of non-fiber compartments.
Definition at line 1377 of file itkTractsToDWIImageFilter.cpp.
References MITK_ERROR.
|
protected |
Transform generated image compartment by compartment, channel by channel and slice by slice using DFT and add k-space artifacts/effects.
Definition at line 78 of file itkTractsToDWIImageFilter.cpp.
References mitk::DiffusionSignalModel< ScalarType >::GetT1(), mitk::DiffusionSignalModel< ScalarType >::GetT2(), M_PI, mitk::New(), itk::DftImageFilter< TPixelType >::New(), itk::KspaceImageFilter< TPixelType >::New(), and mitk::PointSet::New().
|
protected |
Move fibers to simulate headmotion
Definition at line 1257 of file itkTractsToDWIImageFilter.cpp.
|
protected |
Definition at line 151 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 141 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 115 of file itkTractsToDWIImageFilter.h.
|
protected |
transformed bundle simulating headmotion
Definition at line 136 of file itkTractsToDWIImageFilter.h.
|
protected |
we work on an upsampled version of the input bundle
Definition at line 135 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 116 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 121 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 122 of file itkTractsToDWIImageFilter.h.
Referenced by itk::TractsToDWIImageFilter< PixelType >::GetLevelWindow().
|
protected |
Definition at line 130 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 129 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 148 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 152 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 131 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 153 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 119 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 114 of file itkTractsToDWIImageFilter.h.
Referenced by itk::TractsToDWIImageFilter< PixelType >::GetParameters(), and itk::TractsToDWIImageFilter< PixelType >::SetParameters().
|
protected |
Definition at line 120 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 155 of file itkTractsToDWIImageFilter.h.
Referenced by itk::TractsToDWIImageFilter< PixelType >::TractsToDWIImageFilter().
|
protected |
Definition at line 144 of file itkTractsToDWIImageFilter.h.
|
protected |
stores the individual rotation of each volume (needed for k-space simulation to obtain correct frequency map position)
Definition at line 146 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 149 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 132 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 124 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 127 of file itkTractsToDWIImageFilter.h.
|
protected |
copy of mask image (changes for each motion step)
Definition at line 142 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 145 of file itkTractsToDWIImageFilter.h.
|
protected |
stores the individual translation of each volume (needed for k-space simulation to obtain correct frequency map position)
Definition at line 147 of file itkTractsToDWIImageFilter.h.
|
protected |
helper image for motion simulation
Definition at line 143 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 128 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 150 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 123 of file itkTractsToDWIImageFilter.h.
Referenced by itk::TractsToDWIImageFilter< PixelType >::GetVolumeFractions().
|
protected |
Definition at line 140 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 139 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 138 of file itkTractsToDWIImageFilter.h.
|
protected |
Definition at line 137 of file itkTractsToDWIImageFilter.h.