Medical Imaging Interaction Toolkit  2018.4.99-389bf124
Medical Imaging Interaction Toolkit
mitkShapeBasedInterpolationAlgorithm.h
Go to the documentation of this file.
1 /*============================================================================
2 
3 The Medical Imaging Interaction Toolkit (MITK)
4 
5 Copyright (c) German Cancer Research Center (DKFZ)
6 All rights reserved.
7 
8 Use of this source code is governed by a 3-clause BSD license that can be
9 found in the LICENSE file.
10 
11 ============================================================================*/
12 
13 #ifndef mitkShapeBasedInterpolationAlgorithm_h_Included
14 #define mitkShapeBasedInterpolationAlgorithm_h_Included
15 
18 
19 namespace mitk
20 {
34  {
35  public:
37  itkFactorylessNewMacro(Self);
38  itkCloneMacro(Self);
39 
40  Image::Pointer Interpolate(Image::ConstPointer lowerSlice,
41  unsigned int lowerSliceIndex,
42  Image::ConstPointer upperSlice,
43  unsigned int upperSliceIndex,
44  unsigned int requestedIndex,
45  unsigned int sliceDimension,
46  Image::Pointer resultImage,
47  unsigned int timeStep,
48  Image::ConstPointer referenceImage) override;
49 
50  private:
51  typedef itk::Image<mitk::ScalarType, 2> DistanceFilterImageType;
52 
53  template <typename TPixel, unsigned int VImageDimension>
54  void ComputeDistanceMap(const itk::Image<TPixel, VImageDimension> *, mitk::Image::Pointer &result);
55 
56  template <typename TPixel, unsigned int VImageDimension>
57  void InterpolateIntermediateSlice(itk::Image<TPixel, VImageDimension> *result,
58  const mitk::Image::Pointer &lowerDistanceImage,
59  const mitk::Image::Pointer &upperDistanceImage,
60  float ratio);
61  };
62 
63 } // namespace
64 
65 #endif
Interface class for interpolation algorithms.
#define MITKSEGMENTATION_EXPORT
DataCollection - Class to facilitate loading/accessing structured data.
#define mitkClassMacro(className, SuperClassName)
Definition: mitkCommon.h:40