diff --git a/Modules/DiffusionImaging/DiffusionCore/IODataStructures/DiffusionWeightedImages/mitkDiffusionImageCorrectionFilter.cpp b/Modules/DiffusionImaging/DiffusionCore/IODataStructures/DiffusionWeightedImages/mitkDiffusionImageCorrectionFilter.cpp new file mode 100644 index 0000000000..7a5b2e1aca --- /dev/null +++ b/Modules/DiffusionImaging/DiffusionCore/IODataStructures/DiffusionWeightedImages/mitkDiffusionImageCorrectionFilter.cpp @@ -0,0 +1,36 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center, +Division of Medical and Biological Informatics. +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + + +#ifndef MITKDIFFUSIONIMAGECORRECTIONFILTER_CPP +#define MITKDIFFUSIONIMAGECORRECTIONFILTER_CPP + +#include "mitkDiffusionImageCorrectionFilter.h" + +template< typename TPixelType > +mitk::DiffusionImageCorrectionFilter::DiffusionImageCorrectionFilter() +{ + +} + +template< typename TPixelType > +void mitk::DiffusionImageCorrectionFilter +::CorrectDirections( const TransformsVectorType& transformations) +{ + +} + +#endif diff --git a/Modules/DiffusionImaging/DiffusionCore/IODataStructures/DiffusionWeightedImages/mitkDiffusionImageCorrectionFilter.h b/Modules/DiffusionImaging/DiffusionCore/IODataStructures/DiffusionWeightedImages/mitkDiffusionImageCorrectionFilter.h new file mode 100644 index 0000000000..9fa399c4b3 --- /dev/null +++ b/Modules/DiffusionImaging/DiffusionCore/IODataStructures/DiffusionWeightedImages/mitkDiffusionImageCorrectionFilter.h @@ -0,0 +1,77 @@ +/*=================================================================== + +The Medical Imaging Interaction Toolkit (MITK) + +Copyright (c) German Cancer Research Center, +Division of Medical and Biological Informatics. +All rights reserved. + +This software is distributed WITHOUT ANY WARRANTY; without +even the implied warranty of MERCHANTABILITY or FITNESS FOR +A PARTICULAR PURPOSE. + +See LICENSE.txt or http://www.mitk.org for details. + +===================================================================*/ + +#ifndef MITKDIFFUSIONIMAGECORRECTIONFILTER_H +#define MITKDIFFUSIONIMAGECORRECTIONFILTER_H + +#include "mitkDiffusionImageSource.h" + +namespace mitk +{ +/** + * @class DiffusionImageCorrectionFilter + */ +template< typename TPixelType > +class DiffusionImageCorrectionFilter + : public DiffusionImageSource< TPixelType > +{ +public: + /** class macros */ + mitkClassMacro( DiffusionImageCorrectionFilter, + DiffusionImageSource ) + + itkSimpleNewMacro(Self) + + typedef vnl_vector_fixed< double, 3 > GradientDirectionType; + typedef vnl_matrix_fixed< double, 3, 3 > TransformMatrixType; + typedef itk::VectorContainer< unsigned int, GradientDirectionType >::Pointer + GradientDirectionContainerType; + + typedef std::vector< TransformMatrixType > TransformsVectorType; + + typedef typename Superclass::OutputType DiffusionImageType; + typedef typename OutputType::Pointer DiffusionImageTypePointer; + typedef itk::VectorImage ImageType; + + /** + * @brief Set the mitk image ( a 3d+t image ) which is to be reinterpreted as dw image + * @param mitkImage + */ + void SetImage( DiffusionImageTypePointer input ) + { + m_SourceImage = input; + } + + /** + * @brief Correct each gradient direction according to the given transform + * + * The size of the input is expected to correspond to the count of gradient images in the image. + */ + void CorrectDirections( const TransformsVectorType& ); + + +protected: + DiffusionImageCorrectionFilter(); + virtual ~DiffusionImageCorrectionFilter() {} + + DiffusionImageTypePointer m_SourceImage; +}; + +} + +#include "mitkDiffusionImageCorrectionFilter.h" + +#endif // MITKDIFFUSIONIMAGECORRECTIONFILTER_H