Medical Imaging Interaction Toolkit
2016.11.0
Medical Imaging Interaction Toolkit
|
Performs standard head-motion correction by using affine registration of the gradient images. More...
#include <mitkDWIHeadMotionCorrectionFilter.h>
Public Member Functions | |
mitkClassMacro (DWIHeadMotionCorrectionFilter, ImageToImageFilter) static Pointer New() | |
Pointer | Clone () const |
virtual unsigned long | GetSteps () |
virtual unsigned long | GetCurrentStep () |
virtual bool | GetIsInValidState () |
virtual void | SetAbortRegistration (bool _arg) |
virtual void | SetAverageUnweighted (bool _arg) |
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) |
InputImageType * | GetInput (void) |
InputImageType * | GetInput (unsigned int idx) |
const InputImageType * | GetInput (void) const |
const InputImageType * | GetInput (unsigned int idx) const |
Public Member Functions inherited from mitk::ImageSource | |
Pointer | Clone () const |
OutputType * | GetOutput () |
Get the output data of this image source object. More... | |
const OutputType * | GetOutput () const |
OutputType * | GetOutput (DataObjectPointerArraySizeType idx) |
const OutputType * | GetOutput (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 | |
OutputType * | GetOutput () |
const OutputType * | GetOutput () const |
OutputType * | GetOutput (DataObjectPointerArraySizeType idx) |
const OutputType * | GetOutput (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 | |
DWIHeadMotionCorrectionFilter () | |
virtual | ~DWIHeadMotionCorrectionFilter () |
virtual void | GenerateData () override |
A version of GenerateData() specific for image processing filters. 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 | |
unsigned long | m_CurrentStep |
unsigned long | m_Steps |
bool | m_IsInValidState |
Whether the filter is in a valid state, false if error occured. More... | |
bool | m_AbortRegistration |
set flag to abort More... | |
bool | m_AverageUnweighted |
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 () |
Performs standard head-motion correction by using affine registration of the gradient images.
(Head) motion correction is a essential pre-processing step before performing any further analysis of a diffusion-weighted images since all model fits ( tensor, QBI ) rely on an aligned diffusion-weighted dataset. The correction is done in two steps. First the unweighted images ( if multiple present ) are separately registered on the first one by means of rigid registration and normalized correlation as error metric. Second, the weighted gradient images are registered to the unweighted reference ( computed as average from the aligned images from first step ) by an affine transformation using the MattesMutualInformation metric as optimizer guidance.
Definition at line 45 of file mitkDWIHeadMotionCorrectionFilter.h.
typedef short mitk::DWIHeadMotionCorrectionFilter::DiffusionPixelType |
Definition at line 64 of file mitkDWIHeadMotionCorrectionFilter.h.
typedef Superclass::InputImageType mitk::DWIHeadMotionCorrectionFilter::InputImageType |
Definition at line 65 of file mitkDWIHeadMotionCorrectionFilter.h.
typedef itk::VectorImage<DiffusionPixelType, 3> mitk::DWIHeadMotionCorrectionFilter::ITKDiffusionImageType |
Definition at line 67 of file mitkDWIHeadMotionCorrectionFilter.h.
typedef Superclass::OutputImageType mitk::DWIHeadMotionCorrectionFilter::OutputImageType |
Definition at line 66 of file mitkDWIHeadMotionCorrectionFilter.h.
|
protected |
Definition at line 41 of file mitkDWIHeadMotionCorrectionFilter.cpp.
|
inlineprotectedvirtual |
Definition at line 71 of file mitkDWIHeadMotionCorrectionFilter.h.
Pointer mitk::DWIHeadMotionCorrectionFilter::Clone | ( | ) | const |
|
overrideprotectedvirtual |
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.
Reimplemented from mitk::ImageSource.
Definition at line 52 of file mitkDWIHeadMotionCorrectionFilter.cpp.
References AccessFixedDimensionByItk_1, mitk::DiffusionPropertyHelper::BVALUEMAPPROPERTYNAME, mitk::CastToItkImage(), mitk::Image::CopyMemory, mitk::ProportionalTimeGeometry::Expand(), mitk::ImageWriteAccessor::GetData(), mitk::ProportionalTimeGeometry::GetGeometryForTimeStep(), mitk::BaseData::GetProperty(), mitk::DiffusionPropertyHelper::GRADIENTCONTAINERPROPERTYNAME, mitk::DiffusionPropertyHelper::InitializeImage(), mitk::ItkAccumulateFilter(), mitk::DiffusionPropertyHelper::MEASUREMENTFRAMEPROPERTYNAME, MITK_INFO, mitkThrow, mitk::FloatProperty::New(), mitk::ImageTimeSelector::New(), mitk::New(), mitk::Image::New(), mitk::DiffusionPropertyHelper::REFERENCEBVALUEPROPERTYNAME, mitk::Image::ReferenceMemory, and mitk::ProportionalTimeGeometry::SetTimeStepGeometry().
|
virtual |
|
virtual |
|
virtual |
mitk::DWIHeadMotionCorrectionFilter::mitkClassMacro | ( | DWIHeadMotionCorrectionFilter | , |
ImageToImageFilter | |||
) |
|
virtual |
|
virtual |
|
protected |
set flag to abort
Definition at line 78 of file mitkDWIHeadMotionCorrectionFilter.h.
|
protected |
Definition at line 79 of file mitkDWIHeadMotionCorrectionFilter.h.
|
protected |
Definition at line 75 of file mitkDWIHeadMotionCorrectionFilter.h.
|
protected |
Whether the filter is in a valid state, false if error occured.
Definition at line 77 of file mitkDWIHeadMotionCorrectionFilter.h.
|
protected |
Definition at line 76 of file mitkDWIHeadMotionCorrectionFilter.h.