13 #ifndef mitkShapeBasedInterpolationAlgorithm_h
14 #define mitkShapeBasedInterpolationAlgorithm_h
40 itkFactorylessNewMacro(Self);
44 unsigned int lowerSliceIndex,
46 unsigned int upperSliceIndex,
47 unsigned int requestedIndex,
48 unsigned int sliceDimension,
50 unsigned int timeStep,
54 typedef itk::Image<mitk::ScalarType, 2> DistanceFilterImageType;
56 template <
typename TPixel,
unsigned int VImageDimension>
57 void ComputeDistanceMap(
const itk::Image<TPixel, VImageDimension> *,
mitk::Image::Pointer &result);
61 template <
typename TPixel,
unsigned int VImageDimension>
62 void InterpolateIntermediateSlice(itk::Image<TPixel, VImageDimension> *result,
67 std::map<unsigned int, Image::Pointer> m_DistanceImageCache;
68 std::mutex m_DistanceImageCacheMutex;
#define MITKSEGMENTATION_EXPORT
Interface class for interpolation algorithms.
Shape-based binary image interpolation.
mitkClassMacro(ShapeBasedInterpolationAlgorithm, SegmentationInterpolationAlgorithm)
Image::Pointer Interpolate(Image::ConstPointer lowerSlice, unsigned int lowerSliceIndex, Image::ConstPointer upperSlice, unsigned int upperSliceIndex, unsigned int requestedIndex, unsigned int sliceDimension, Image::Pointer resultImage, unsigned int timeStep, Image::ConstPointer referenceImage) override
Find image slices visible on a given plane.