Medical Imaging Interaction Toolkit  2016.11.0
Medical Imaging Interaction Toolkit
mitk::DiffusionImageCreationFilter Class Reference

The DiffusionImageCreationFilter class creates a diffusion-weighted image out of a given 3D+t regular image and sufficient additional information about gradient directions and b values. More...

#include <mitkDiffusionImageCreationFilter.h>

Inheritance diagram for mitk::DiffusionImageCreationFilter:
Collaboration diagram for mitk::DiffusionImageCreationFilter:

Public Types

typedef short DiffusionPixelType
 
typedef mitk::DiffusionPropertyHelper DPH
 
typedef mitk::Image OutputType
 
typedef mitk::DiffusionPropertyHelper::ImageType VectorImageType
 
typedef mitk::DiffusionPropertyHelper::GradientDirectionType GradientDirectionType
 
typedef mitk::DiffusionPropertyHelper::MeasurementFrameType MeasurementFrameType
 
typedef mitk::DiffusionPropertyHelper::GradientDirectionsContainerType GradientDirectionContainerType
 
- Public Types inherited from mitk::ImageToImageFilter
typedef ImageToImageFilter Self
 
typedef ImageSource Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef Superclass::OutputImageRegionType OutputImageRegionType
 
typedef mitk::Image InputImageType
 
typedef InputImageType::Pointer InputImagePointer
 
typedef InputImageType::ConstPointer InputImageConstPointer
 
typedef SlicedData::RegionType InputImageRegionType
 
- Public Types inherited from mitk::ImageSource
typedef ImageSource Self
 
typedef BaseDataSource Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef mitk::Image OutputImageType
 Some convenient typedefs. More...
 
typedef OutputImageType OutputType
 
typedef OutputImageType::Pointer OutputImagePointer
 
typedef SlicedData::RegionType OutputImageRegionType
 
- Public Types inherited from mitk::BaseDataSource
typedef BaseDataSource Self
 
typedef itk::ProcessObject Superclass
 
typedef itk::SmartPointer< SelfPointer
 
typedef itk::SmartPointer< const SelfConstPointer
 
typedef BaseData OutputType
 
typedef itk::DataObject::DataObjectIdentifierType DataObjectIdentifierType
 

Public Member Functions

 mitkClassMacro (DiffusionImageCreationFilter, ImageToImageFilter) static Pointer New()
 
void SetReferenceImage (mitk::Image::Pointer reference_image)
 SetReferenceImage Set a diffusion image as reference, i.e. the header information will be extracted from it. More...
 
void SetHeaderDescriptor (DiffusionImageHeaderDescriptor header_descriptor)
 SetHeaderDescriptor set the information to be used with the dw image. More...
 
virtual void GenerateData () override
 A version of GenerateData() specific for image processing filters. More...
 
- Public Member Functions inherited from mitk::ImageToImageFilter
virtual std::vector< std::string > GetClassHierarchy () const override
 
virtual const char * GetClassName () const
 
Pointer Clone () const
 
virtual void SetInput (const InputImageType *image)
 
virtual void SetInput (unsigned int, const InputImageType *image)
 
InputImageTypeGetInput (void)
 
InputImageTypeGetInput (unsigned int idx)
 
const InputImageTypeGetInput (void) const
 
const InputImageTypeGetInput (unsigned int idx) const
 
- Public Member Functions inherited from mitk::ImageSource
Pointer Clone () const
 
OutputTypeGetOutput ()
 Get the output data of this image source object. More...
 
const OutputTypeGetOutput () const
 
OutputTypeGetOutput (DataObjectPointerArraySizeType idx)
 
const OutputTypeGetOutput (DataObjectPointerArraySizeType idx) const
 
virtual itk::DataObject::Pointer MakeOutput (DataObjectPointerArraySizeType idx) override
 Make a DataObject of the correct type to used as the specified output. More...
 
virtual itk::DataObject::Pointer MakeOutput (const DataObjectIdentifierType &name) override
 
virtual vtkImageData * GetVtkImageData ()
 
virtual const vtkImageData * GetVtkImageData () const
 
- Public Member Functions inherited from mitk::BaseDataSource
OutputTypeGetOutput ()
 
const OutputTypeGetOutput () const
 
OutputTypeGetOutput (DataObjectPointerArraySizeType idx)
 
const OutputTypeGetOutput (DataObjectPointerArraySizeType idx) const
 
virtual void GraftOutput (OutputType *output)
 Graft the specified BaseData onto this BaseDataSource's output. More...
 
virtual void GraftOutput (const DataObjectIdentifierType &key, OutputType *output)
 
virtual void GraftNthOutput (unsigned int idx, OutputType *output)
 Graft the specified base data object onto this BaseDataSource's idx'th output. More...
 
bool Updating () const
 Access itk::ProcessObject::m_Updating. More...
 

Protected Member Functions

 DiffusionImageCreationFilter ()
 
 ~DiffusionImageCreationFilter ()
 
GradientDirectionContainerType::Pointer InternalGetGradientDirections ()
 
MeasurementFrameType InternalGetMeasurementFrame ()
 
float InternalGetBValue ()
 
VectorImageType::Pointer RemapIntoVectorImage (mitk::Image::Pointer input)
 RemapIntoVectorImage Take a 3d+t image and reinterpret it as vector image. More...
 
- Protected Member Functions inherited from mitk::ImageToImageFilter
 ImageToImageFilter ()
 
virtual ~ImageToImageFilter ()
 
virtual void PrintSelf (std::ostream &os, itk::Indent indent) const override
 
virtual void GenerateInputRequestedRegion () override
 
- Protected Member Functions inherited from mitk::ImageSource
 ImageSource ()
 
virtual ~ImageSource ()
 
virtual void ThreadedGenerateData (const OutputImageRegionType &outputRegionForThread, itk::ThreadIdType threadId)
 If an imaging filter can be implemented as a multithreaded algorithm, the filter will provide an implementation of ThreadedGenerateData(). More...
 
virtual void PrepareOutputs () override
 This method is intentionally left blank. More...
 
virtual void AllocateOutputs ()
 The GenerateData method normally allocates the buffers for all of the outputs of a filter. More...
 
virtual void BeforeThreadedGenerateData ()
 If an imaging filter needs to perform processing after the buffer has been allocated but before threads are spawned, the filter can can provide an implementation for BeforeThreadedGenerateData(). More...
 
virtual void AfterThreadedGenerateData ()
 If an imaging filter needs to perform processing after all processing threads have completed, the filter can can provide an implementation for AfterThreadedGenerateData(). More...
 
virtual unsigned int SplitRequestedRegion (unsigned int i, unsigned int num, OutputImageRegionType &splitRegion)
 Split the output's RequestedRegion into "num" pieces, returning region "i" as "splitRegion". More...
 
- Protected Member Functions inherited from mitk::BaseDataSource
 BaseDataSource ()
 
virtual ~BaseDataSource ()
 

Protected Attributes

mitk::Image::Pointer m_ReferenceImage
 
DiffusionImageHeaderDescriptor m_HeaderDescriptor
 
bool m_HeaderDescriptorSet
 

Additional Inherited Members

- Static Public Member Functions inherited from mitk::ImageToImageFilter
static const char * GetStaticNameOfClass ()
 
static Pointer New ()
 
- Static Public Member Functions inherited from mitk::ImageSource
static const char * GetStaticNameOfClass ()
 
static Pointer New ()
 Method for creation through the object factory. More...
 
- Static Public Member Functions inherited from mitk::BaseDataSource
static const char * GetStaticNameOfClass ()
 
- Static Protected Member Functions inherited from mitk::ImageSource
static ITK_THREAD_RETURN_TYPE ThreaderCallback (void *arg)
 Static function used as a "callback" by the MultiThreader. More...
 
- Static Protected Member Functions inherited from mitk::BaseDataSource
static Pointer New ()
 

Detailed Description

The DiffusionImageCreationFilter class creates a diffusion-weighted image out of a given 3D+t regular image and sufficient additional information about gradient directions and b values.

For easier use, the filter supports the usage of reference images. Here a diffusion-weighted (dw) image is expected and the meta information of this image will be used for the output dw image. The diffusion information can also be specified by setting the HeaderDescriptor directly (SetHeaderDescriptor).

At least one of reference image or descriptor must be used, otherwise an exception is thrown.

Definition at line 54 of file mitkDiffusionImageCreationFilter.h.

Member Typedef Documentation

Constructor & Destructor Documentation

mitk::DiffusionImageCreationFilter::DiffusionImageCreationFilter ( )
protected

Definition at line 73 of file mitkDiffusionImageCreationFilter.cpp.

References m_HeaderDescriptorSet.

mitk::DiffusionImageCreationFilter::~DiffusionImageCreationFilter ( )
protected

Definition at line 82 of file mitkDiffusionImageCreationFilter.cpp.

Member Function Documentation

void mitk::DiffusionImageCreationFilter::GenerateData ( )
overridevirtual

A version of GenerateData() specific for image processing filters.

This implementation will split the processing across multiple threads. The buffer is allocated by this method. Then the BeforeThreadedGenerateData() method is called (if provided). Then, a series of threads are spawned each calling ThreadedGenerateData(). After all the threads have completed processing, the AfterThreadedGenerateData() method is called (if provided). If an image processing filter cannot be threaded, the filter should provide an implementation of GenerateData(). That implementation is responsible for allocating the output buffer. If a filter an be threaded, it should NOT provide a GenerateData() method but should provide a ThreadedGenerateData() instead.

See also
ThreadedGenerateData()

Reimplemented from mitk::ImageSource.

Definition at line 102 of file mitkDiffusionImageCreationFilter.cpp.

References mitk::DiffusionPropertyHelper::BVALUEMAPPROPERTYNAME, mitk::BValueMapProperty::CreateBValueMap(), mitk::DiffusionPropertyHelper::GRADIENTCONTAINERPROPERTYNAME, mitk::DiffusionPropertyHelper::MEASUREMENTFRAMEPROPERTYNAME, mitkThrow, mitk::FloatProperty::New(), mitk::New(), and mitk::DiffusionPropertyHelper::REFERENCEBVALUEPROPERTYNAME.

float mitk::DiffusionImageCreationFilter::InternalGetBValue ( )
protected
mitk::DiffusionImageCreationFilter::GradientDirectionContainerType::Pointer mitk::DiffusionImageCreationFilter::InternalGetGradientDirections ( )
protected
mitk::DiffusionImageCreationFilter::MeasurementFrameType mitk::DiffusionImageCreationFilter::InternalGetMeasurementFrame ( )
protected
mitk::DiffusionImageCreationFilter::mitkClassMacro ( DiffusionImageCreationFilter  ,
ImageToImageFilter   
)

class macros

mitk::DiffusionImageCreationFilter::VectorImageType::Pointer mitk::DiffusionImageCreationFilter::RemapIntoVectorImage ( mitk::Image::Pointer  input)
protected

RemapIntoVectorImage Take a 3d+t image and reinterpret it as vector image.

Returns
vectoriamge

Definition at line 38 of file mitkDiffusionImageCreationFilter.cpp.

References mitk::CastToItkImage(), MITK_ERROR, mitk::ImageTimeSelector::New(), and mitk::New().

void mitk::DiffusionImageCreationFilter::SetHeaderDescriptor ( DiffusionImageHeaderDescriptor  header_descriptor)

SetHeaderDescriptor set the information to be used with the dw image.

Parameters
header_descriptor
See also
DiffusionImageHeaderDescriptor

Definition at line 143 of file mitkDiffusionImageCreationFilter.cpp.

void mitk::DiffusionImageCreationFilter::SetReferenceImage ( mitk::Image::Pointer  reference_image)

SetReferenceImage Set a diffusion image as reference, i.e. the header information will be extracted from it.

Parameters
reference_imageA reference diffusion-weigted image - will throw exception of the input is not DW image

Definition at line 87 of file mitkDiffusionImageCreationFilter.cpp.

References mitk::DiffusionPropertyHelper::IsDiffusionWeightedImage(), and mitkThrow.

Member Data Documentation

DiffusionImageHeaderDescriptor mitk::DiffusionImageCreationFilter::m_HeaderDescriptor
protected

Definition at line 100 of file mitkDiffusionImageCreationFilter.h.

bool mitk::DiffusionImageCreationFilter::m_HeaderDescriptorSet
protected

Definition at line 101 of file mitkDiffusionImageCreationFilter.h.

Referenced by DiffusionImageCreationFilter().

mitk::Image::Pointer mitk::DiffusionImageCreationFilter::m_ReferenceImage
protected

Definition at line 98 of file mitkDiffusionImageCreationFilter.h.


The documentation for this class was generated from the following files: