15 #ifndef itkHighResLaplacianSolverImageFilter_h
16 #define itkHighResLaplacianSolverImageFilter_h
19 #include <itkNearestNeighborInterpolateImageFunction.h>
38 template <
class TInputImage,
typename TScalarType=
double>
79 typedef Point<TScalarType, InputImageType::ImageDimension>
PointType;
82 typedef std::map<unsigned long int, FiniteDifferenceVoxelType*>
MapType;
83 typedef std::pair<unsigned long int, FiniteDifferenceVoxelType*>
PairType;
87 itkSetMacro(VoxelMultiplicationFactor,
int);
88 itkGetMacro(VoxelMultiplicationFactor,
int);
98 virtual void PrintSelf(std::ostream&, Indent)
const;
101 virtual void GenerateData();
105 void operator=(
const Self&);
108 int m_VoxelMultiplicationFactor;
110 bool GetValue(InputImageType* highResImage,
111 InputImageType* lowResImage,
112 NearestNeighbourInterpolatorType* interpolator,
113 InputImageIndexType&
index,
114 InputImagePixelType&
result);
116 void InsertNeighbour(
117 FiniteDifferenceVoxelType* greyVoxel,
118 InputImagePixelType& neighbourValue,
119 unsigned long int& mapIndexOfVoxel,
120 InputImageIndexType& itkImageIndexOfVoxel,
122 unsigned long int& numberOfDuplicates,
123 unsigned long int& numberOfBoundaryPoints
126 MapType m_MapOfVoxels;
133 #ifndef ITK_MANUAL_INSTANTIATION
134 #include "itkHighResLaplacianSolverImageFilter.txx"
HighResLaplacianSolverImageFilter Self
Definition: itkHighResLaplacianSolverImageFilter.h:44
itk::NearestNeighborInterpolateImageFunction< TInputImage, TScalarType > NearestNeighbourInterpolatorType
Definition: itkHighResLaplacianSolverImageFilter.h:80
Simple data type to hold a voxel value, and indexes that can be used to refer to other voxels...
Definition: itkFiniteDifferenceVoxel.h:32
ImageType::SizeType SizeType
Definition: niftkMakeLapUSProbeBasicModel.cxx:31
InputImageType::SpacingType InputImageSpacingType
Definition: itkHighResLaplacianSolverImageFilter.h:69
OutputImageType::IndexType OutputImageIndexType
Definition: itkHighResLaplacianSolverImageFilter.h:75
std::map< unsigned long int, FiniteDifferenceVoxelType * > MapType
Definition: itkHighResLaplacianSolverImageFilter.h:82
OutputImageType::RegionType OutputImageRegionType
Definition: itkHighResLaplacianSolverImageFilter.h:73
Definition: niftkITKAffineResampleImage.cxx:74
OutputImageType::Pointer OutputImagePointer
Definition: itkHighResLaplacianSolverImageFilter.h:71
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
InputImageType::PointType InputImageOriginType
Definition: itkHighResLaplacianSolverImageFilter.h:67
TScalarType OutputPixelType
Definition: itkHighResLaplacianSolverImageFilter.h:53
OutputImageType::SizeType OutputImageSizeType
Definition: itkHighResLaplacianSolverImageFilter.h:74
InputImageType::RegionType InputImageRegionType
Definition: itkHighResLaplacianSolverImageFilter.h:65
GLuint64EXT * result
Definition: glew.h:12084
Solves Laplace equation over the cortical volume, but can be run at very high resolution, by setting the VoxelMultiplicationFactor to determine an effective voxel size.
Definition: itkHighResLaplacianSolverImageFilter.h:39
MapType * GetMapOfVoxels()
Definition: itkHighResLaplacianSolverImageFilter.h:91
OutputImageType::DirectionType OutputImageDirectionType
Definition: itkHighResLaplacianSolverImageFilter.h:76
InputImageType::Pointer InputImagePointer
Definition: itkHighResLaplacianSolverImageFilter.h:62
std::pair< unsigned long int, FiniteDifferenceVoxelType * > PairType
Definition: itkHighResLaplacianSolverImageFilter.h:83
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
InputImageType::IndexType InputImageIndexType
Definition: itkHighResLaplacianSolverImageFilter.h:63
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
OutputImageType::SpacingType OutputImageSpacing
Definition: itkHighResLaplacianSolverImageFilter.h:72
FiniteDifferenceVoxel< InputImageType::ImageDimension, 2, InputImagePixelType, InputImagePixelType > FiniteDifferenceVoxelType
Definition: itkHighResLaplacianSolverImageFilter.h:81
Point< TScalarType, InputImageType::ImageDimension > PointType
Definition: itkHighResLaplacianSolverImageFilter.h:79
GLuint index
Definition: glew.h:1798
OutputImageType::PointType OutputImageOriginType
Definition: itkHighResLaplacianSolverImageFilter.h:77
SmartPointer< Self > Pointer
Definition: itkHighResLaplacianSolverImageFilter.h:46
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
InputImageType::SizeType InputImageSizeType
Definition: itkHighResLaplacianSolverImageFilter.h:66
LaplacianSolverImageFilter< TInputImage > Superclass
Definition: itkHighResLaplacianSolverImageFilter.h:45
MapType::const_iterator IteratorType
Definition: itkHighResLaplacianSolverImageFilter.h:84
Image< OutputPixelType, TInputImage::ImageDimension > OutputImageType
Definition: itkHighResLaplacianSolverImageFilter.h:70
ContinuousIndex< TScalarType, InputImageType::ImageDimension > ContinuousIndexType
Definition: itkHighResLaplacianSolverImageFilter.h:78
InputImageType::PointType InputImagePointType
Definition: itkHighResLaplacianSolverImageFilter.h:68
TInputImage::PixelType InputPixelType
Definition: itkHighResLaplacianSolverImageFilter.h:58
SmartPointer< const Self > ConstPointer
Definition: itkHighResLaplacianSolverImageFilter.h:47
TInputImage InputImageType
Definition: itkHighResLaplacianSolverImageFilter.h:61
Solves Laplace equation over the cortical volume.
Definition: itkLaplacianSolverImageFilter.h:49
InputImageType::PixelType InputImagePixelType
Definition: itkHighResLaplacianSolverImageFilter.h:64