15 #ifndef itkRegistrationForceFilter_h
16 #define itkRegistrationForceFilter_h
18 #include <itkImageToImageFilter.h>
19 #include <itkVector.h>
21 #include <itkDisplacementFieldJacobianDeterminantFilter.h>
38 template<
class TFixedImage,
class TMovingImage,
class TScalarType>
40 public ImageToImageFilter<TFixedImage,
42 Vector< TScalarType, TFixedImage::ImageDimension>,
43 TFixedImage::ImageDimension> >
49 typedef ImageToImageFilter<TFixedImage,
51 Vector< TScalarType, TFixedImage::ImageDimension>,
60 itkStaticConstMacro(
Dimension,
unsigned int, TFixedImage::ImageDimension);
64 typedef Vector< OutputDataType, itkGetStaticConstMacro(Dimension) >
OutputPixelType;
68 typedef typename Superclass::InputImageRegionType
RegionType;
97 virtual void SetNthInput(
unsigned int idx,
const InputImageType *);
100 itkSetObjectMacro( Metric, MetricType );
101 itkGetObjectMacro( Metric, MetricType );
107 itkSetMacro( ScaleToSizeOfVoxelAxis,
bool );
108 itkGetMacro( ScaleToSizeOfVoxelAxis,
bool );
111 itkSetMacro( FixedUpperPixelValue, InputImagePixelType);
112 itkGetMacro( FixedUpperPixelValue, InputImagePixelType);
115 itkSetMacro( FixedLowerPixelValue, InputImagePixelType);
116 itkGetMacro( FixedLowerPixelValue, InputImagePixelType);
119 itkSetMacro( MovingUpperPixelValue, InputImagePixelType);
120 itkGetMacro( MovingUpperPixelValue, InputImagePixelType);
123 itkSetMacro( MovingLowerPixelValue, InputImagePixelType);
124 itkGetMacro( MovingLowerPixelValue, InputImagePixelType);
129 itkSetMacro(IsSymmetric,
bool);
130 itkGetMacro(IsSymmetric,
bool);
133 virtual void SetFixedImageMask(
const FixedImageMaskType* fixedImageMask) { this->m_FixedImageMask = fixedImageMask; }
143 this->m_FixedImageTransformJacobian = jacobian;
151 this->m_MovingImageTransformJacobian = jacobian;
157 void PrintSelf(std::ostream& os, Indent indent)
const;
160 virtual void BeforeThreadedGenerateData();
163 virtual void AfterThreadedGenerateData();
207 void operator=(
const Self&);
213 #ifndef ITK_MANUAL_INSTANTIATION
214 #include "itkRegistrationForceFilter.txx"
JacobianImageType::Pointer m_FixedImageTransformJacobian
Definition: itkRegistrationForceFilter.h:194
MetricPointer m_Metric
Definition: itkRegistrationForceFilter.h:166
SpatialObject< Dimension > FixedImageMaskType
Definition: itkRegistrationForceFilter.h:81
Image< double, TFixedImage::ImageDimension > JacobianImageType
Definition: itkRegistrationForceFilter.h:85
virtual void SetFixedImage(const InputImageType *image)
Definition: itkRegistrationForceFilter.h:88
TScalarType MeasureType
Definition: itkRegistrationForceFilter.h:69
Computes similarity between two objects to be registered using Histogram.
Definition: itkHistogramSimilarityMeasure.h:33
HistogramType::SizeType HistogramSizeType
Definition: itkHistogramSimilarityMeasure.h:59
virtual void SetFixedImageTransformJacobian(typename JacobianImageType::Pointer jacobian)
Definition: itkRegistrationForceFilter.h:141
RegistrationForceFilter Self
Definition: itkRegistrationForceFilter.h:48
HistogramType::AbsoluteFrequencyType HistogramFrequencyType
Definition: itkHistogramSimilarityMeasure.h:61
GLenum GLsizei GLenum GLenum const GLvoid * image
Definition: glew.h:4052
MetricType::HistogramFrequencyType HistogramFrequencyType
Definition: itkRegistrationForceFilter.h:78
JacobianImageType::Pointer m_MovingImageTransformJacobian
Definition: itkRegistrationForceFilter.h:199
TScalarType OutputDataType
Definition: itkRegistrationForceFilter.h:63
Definition: niftkITKAffineResampleImage.cxx:74
MetricType::HistogramPointer HistogramPointer
Definition: itkRegistrationForceFilter.h:75
virtual void SetUnTransformedMovingImage(const InputImageType *image)
Definition: itkRegistrationForceFilter.h:94
Superclass::InputImageType InputImageType
Definition: itkRegistrationForceFilter.h:66
MetricType::HistogramIteratorType HistogramIteratorType
Definition: itkRegistrationForceFilter.h:79
InputImagePixelType m_MovingUpperPixelValue
Definition: itkRegistrationForceFilter.h:178
Superclass::InputImageRegionType RegionType
Definition: itkRegistrationForceFilter.h:68
InputImagePixelType m_FixedUpperPixelValue
Definition: itkRegistrationForceFilter.h:172
ImageToImageFilter< TFixedImage, Image< Vector< TScalarType, TFixedImage::ImageDimension >, TFixedImage::ImageDimension > > Superclass
Definition: itkRegistrationForceFilter.h:52
Extends Histogram to provide standard Entropy functions.
Definition: itkUCLHistogram.h:32
HistogramType::MeasurementVectorType HistogramMeasurementVectorType
Definition: itkHistogramSimilarityMeasure.h:60
const FixedImageMaskType * m_FixedImageMask
Definition: itkRegistrationForceFilter.h:184
SmartPointer< Self > Pointer
Definition: itkRegistrationForceFilter.h:53
This class takes as input 2 input images, and outputs the registration force.
Definition: itkRegistrationForceFilter.h:39
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
HistogramType::Pointer HistogramPointer
Definition: itkHistogramSimilarityMeasure.h:58
InputImagePixelType m_MovingLowerPixelValue
Definition: itkRegistrationForceFilter.h:181
virtual void SetMovingImageTransformJacobian(typename JacobianImageType::Pointer jacobian)
Definition: itkRegistrationForceFilter.h:149
~RegistrationForceFilter()
Definition: itkRegistrationForceFilter.h:156
HistogramSimilarityMeasure< TFixedImage, TMovingImage > MetricType
Definition: itkRegistrationForceFilter.h:72
MetricType::HistogramType HistogramType
Definition: itkRegistrationForceFilter.h:74
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
InputImagePixelType m_FixedLowerPixelValue
Definition: itkRegistrationForceFilter.h:175
const unsigned int Dimension
Definition: niftkBreastDCEandADC.cxx:89
Vector< OutputDataType, itkGetStaticConstMacro(Dimension) > OutputPixelType
Definition: itkRegistrationForceFilter.h:64
bool m_IsSymmetric
Definition: itkRegistrationForceFilter.h:189
MetricType::Pointer MetricPointer
Definition: itkRegistrationForceFilter.h:73
Image< OutputPixelType, itkGetStaticConstMacro(Dimension) > OutputImageType
Definition: itkRegistrationForceFilter.h:65
InputImageType::PixelType InputImagePixelType
Definition: itkRegistrationForceFilter.h:67
MetricType::HistogramMeasurementVectorType HistogramMeasurementVectorType
Definition: itkRegistrationForceFilter.h:77
virtual void SetTransformedMovingImage(const InputImageType *image)
Definition: itkRegistrationForceFilter.h:91
MetricType::HistogramSizeType HistogramSizeType
Definition: itkRegistrationForceFilter.h:76
HistogramType::Iterator HistogramIteratorType
Definition: itkHistogramSimilarityMeasure.h:62
GLsizei const GLcharARB ** string
Definition: glew.h:5194
bool m_ScaleToSizeOfVoxelAxis
Definition: itkRegistrationForceFilter.h:169
virtual void SetFixedImageMask(const FixedImageMaskType *fixedImageMask)
Definition: itkRegistrationForceFilter.h:133
SmartPointer< const Self > ConstPointer
Definition: itkRegistrationForceFilter.h:54
SmartPointer< Self > Pointer
Definition: itkHistogramSimilarityMeasure.h:41