15 #ifndef itkMaskedImageRegistrationMethod_h
16 #define itkMaskedImageRegistrationMethod_h
20 #include <itkImageMaskSpatialObject.h>
21 #include <itkBinaryThresholdImageFilter.h>
22 #include <itkBinaryCrossStructuringElement.h>
23 #include <itkBinaryDilateImageFilter.h>
24 #include <itkCastImageFilter.h>
25 #include <itkSmoothingRecursiveGaussianImageFilter.h>
27 #include <itkMultiplyImageFilter.h>
54 template <
typename TInputImageType>
85 void SetFixedMask(
const InputImageType * fixedMask );
86 itkGetConstObjectMacro( FixedMask, InputImageType );
89 void SetMovingMask(
const InputImageType * movingMask );
90 itkGetConstObjectMacro( MovingMask, InputImageType );
111 typedef BinaryCrossStructuringElement<InputImagePixelType,
113 typedef BinaryDilateImageFilter<InputImageType,
135 itkSetMacro( UseFixedMask,
bool );
136 itkGetConstMacro( UseFixedMask,
bool );
143 itkSetMacro( UseMovingMask,
bool );
144 itkGetConstMacro( UseMovingMask,
bool );
151 itkSetMacro( NumberOfDilations,
unsigned int );
152 itkGetMacro( NumberOfDilations,
unsigned int );
160 itkSetMacro( MaskImageDirectly,
bool );
161 itkGetMacro( MaskImageDirectly,
bool );
171 itkSetMacro( RescaleFixedImage,
bool );
172 itkGetConstMacro( RescaleFixedImage,
bool );
177 itkSetMacro( RescaleFixedMinimum, InputImagePixelType );
178 itkGetConstMacro( RescaleFixedMinimum, InputImagePixelType );
183 itkSetMacro( RescaleFixedMaximum, InputImagePixelType );
184 itkGetConstMacro( RescaleFixedMaximum, InputImagePixelType );
189 itkSetMacro( RescaleFixedBoundaryValue, InputImagePixelType );
190 itkGetConstMacro( RescaleFixedBoundaryValue, InputImagePixelType );
195 itkSetMacro( RescaleFixedLowerThreshold, InputImagePixelType );
196 itkGetConstMacro( RescaleFixedLowerThreshold, InputImagePixelType );
201 itkSetMacro( RescaleFixedUpperThreshold, InputImagePixelType );
202 itkGetConstMacro( RescaleFixedUpperThreshold, InputImagePixelType );
212 itkSetMacro( RescaleMovingImage,
bool );
213 itkGetConstMacro( RescaleMovingImage,
bool );
218 itkSetMacro( RescaleMovingMinimum, InputImagePixelType );
219 itkGetConstMacro( RescaleMovingMinimum, InputImagePixelType );
224 itkSetMacro( RescaleMovingMaximum, InputImagePixelType );
225 itkGetConstMacro( RescaleMovingMaximum, InputImagePixelType );
230 itkSetMacro( RescaleMovingBoundaryValue, InputImagePixelType );
231 itkGetConstMacro( RescaleMovingBoundaryValue, InputImagePixelType );
236 itkSetMacro( RescaleMovingLowerThreshold, InputImagePixelType );
237 itkGetConstMacro( RescaleMovingLowerThreshold, InputImagePixelType );
242 itkSetMacro( RescaleMovingUpperThreshold, InputImagePixelType );
243 itkGetConstMacro( RescaleMovingUpperThreshold, InputImagePixelType );
250 itkSetMacro( ThresholdFixedMask,
bool );
251 itkGetConstMacro( ThresholdFixedMask,
bool );
258 itkSetMacro( FixedMaskMinimum, InputImagePixelType );
259 itkGetConstMacro( FixedMaskMinimum, InputImagePixelType );
266 itkSetMacro( FixedMaskMaximum, InputImagePixelType );
267 itkGetConstMacro( FixedMaskMaximum, InputImagePixelType );
274 itkSetMacro( ThresholdMovingMask,
bool );
275 itkGetConstMacro( ThresholdMovingMask,
bool );
282 itkSetMacro( MovingMaskMinimum, InputImagePixelType );
283 itkGetConstMacro( MovingMaskMinimum, InputImagePixelType );
290 itkSetMacro( MovingMaskMaximum, InputImagePixelType );
291 itkGetConstMacro( MovingMaskMaximum, InputImagePixelType );
298 itkSetMacro( Sigma,
float);
299 itkGetMacro( Sigma,
float);
302 InputImageType* GetFixedImageCopy();
305 InputImageType* GetMovingImageCopy();
311 void PrintSelf(std::ostream& os, Indent indent)
const;
314 virtual void Initialize() throw (ExceptionObject);
317 void CopyImage(const InputImageType*
source, InputImageType*
target);
322 void operator=(const Self&);
324 InputImageConstPointer m_FixedMask;
325 InputImageConstPointer m_MovingMask;
328 bool m_UseMovingMask;
329 bool m_MaskImageDirectly;
330 bool m_RescaleFixedImage;
331 bool m_RescaleMovingImage;
332 bool m_ThresholdFixedMask;
333 bool m_ThresholdMovingMask;
334 unsigned int m_NumberOfDilations;
336 InputImagePixelType m_RescaleFixedMinimum;
337 InputImagePixelType m_RescaleFixedMaximum;
338 InputImagePixelType m_RescaleFixedBoundaryValue;
339 InputImagePixelType m_RescaleFixedLowerThreshold;
340 InputImagePixelType m_RescaleFixedUpperThreshold;
341 InputImagePixelType m_RescaleMovingMinimum;
342 InputImagePixelType m_RescaleMovingMaximum;
343 InputImagePixelType m_RescaleMovingBoundaryValue;
344 InputImagePixelType m_RescaleMovingLowerThreshold;
345 InputImagePixelType m_RescaleMovingUpperThreshold;
347 RescaleFilterPointer m_FixedRescaler;
348 RescaleFilterPointer m_MovingRescaler;
351 SmoothingFilterPointer m_FixedSmoother;
352 SmoothingFilterPointer m_MovingSmoother;
354 InputImagePixelType m_FixedMaskMinimum;
355 InputImagePixelType m_FixedMaskMaximum;
356 InputImagePixelType m_MovingMaskMinimum;
357 InputImagePixelType m_MovingMaskMaximum;
358 ThresholdFilterPointer m_FixedMaskThresholder;
359 ThresholdFilterPointer m_MovingMaskThresholder;
361 DilateMaskFilterPointer m_FixedMaskDilater;
362 DilateMaskFilterPointer m_MovingMaskDilater;
364 MultiplyFilterPointer m_FixedImageMuliplier;
365 MultiplyFilterPointer m_MovingImageMultiplier;
367 CastToMaskImageTypeFilterPointer m_FixedMaskCaster;
368 CastToMaskImageTypeFilterPointer m_MovingMaskCaster;
370 MaskFilterPointer m_FixedMasker;
371 MaskFilterPointer m_MovingMasker;
373 InputImagePointer m_FixedImageCopy;
374 InputImagePointer m_MovingImageCopy;
381 #ifndef ITK_MANUAL_INSTANTIATION
382 #include "itkMaskedImageRegistrationMethod.txx"
BoundaryValueRescaleIntensityImageFilter< InputImageType > RescaleFilterType
Definition: itkMaskedImageRegistrationMethod.h:90
MaskedImageRegistrationMethod Self
Definition: itkMaskedImageRegistrationMethod.h:61
Superclass::TransformType TransformType
Definition: itkSingleResolutionImageRegistrationMethod.h:56
MultiplyFilterType::Pointer MultiplyFilterPointer
Definition: itkMaskedImageRegistrationMethod.h:120
Image< MaskPixelType, InputImageType::ImageDimension > MaskImageType
Definition: itkMaskedImageRegistrationMethod.h:124
Base class for NifTK Image Registration Methods employing a binary mask.
Definition: itkMaskedImageRegistrationMethod.h:55
InputImageType::IndexType InputImageIndexType
Definition: itkMaskedImageRegistrationMethod.h:79
ImageType::SizeType SizeType
Definition: niftkMakeLapUSProbeBasicModel.cxx:31
InputImageType::ConstPointer InputImageConstPointer
Definition: itkMaskedImageRegistrationMethod.h:76
SmoothingRecursiveGaussianImageFilter< InputImageType, InputImageType > SmoothingFilterType
Definition: itkMaskedImageRegistrationMethod.h:103
SmartPointer< Self > Pointer
Definition: itkMaskedImageRegistrationMethod.h:63
RescaleFilterType::Pointer RescaleFilterPointer
Definition: itkMaskedImageRegistrationMethod.h:100
SmoothingFilterType::Pointer SmoothingFilterPointer
Definition: itkMaskedImageRegistrationMethod.h:104
Definition: niftkITKAffineResampleImage.cxx:74
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
BinaryDilateImageFilter< InputImageType, InputImageType, StructuringType > DilateMaskFilterType
Definition: itkMaskedImageRegistrationMethod.h:115
ImageMaskSpatialObject< InputImageType::ImageDimension > MaskFilterType
Definition: itkMaskedImageRegistrationMethod.h:127
CastToMaskImageTypeFilterType::Pointer CastToMaskImageTypeFilterPointer
Definition: itkMaskedImageRegistrationMethod.h:126
InputImageType::PixelType InputImagePixelType
Definition: itkMaskedImageRegistrationMethod.h:74
DilateMaskFilterType::Pointer DilateMaskFilterPointer
Definition: itkMaskedImageRegistrationMethod.h:116
InputImageType::PointType InputImageOriginType
Definition: itkMaskedImageRegistrationMethod.h:81
BinaryCrossStructuringElement< InputImagePixelType, InputImageType::ImageDimension > StructuringType
Definition: itkMaskedImageRegistrationMethod.h:112
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
Superclass::TransformType TransformType
Definition: itkMaskedImageRegistrationMethod.h:129
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
MaskFilterType::Pointer MaskFilterPointer
Definition: itkMaskedImageRegistrationMethod.h:128
SmartPointer< const Self > ConstPointer
Definition: itkMaskedImageRegistrationMethod.h:64
virtual ~MaskedImageRegistrationMethod()
Definition: itkMaskedImageRegistrationMethod.h:310
InputImageType::Pointer InputImagePointer
Definition: itkMaskedImageRegistrationMethod.h:75
InputImageType::SizeType InputImageSizeType
Definition: itkMaskedImageRegistrationMethod.h:78
CastImageFilter< InputImageType, MaskImageType > CastToMaskImageTypeFilterType
Definition: itkMaskedImageRegistrationMethod.h:125
Applies a linear transformation to the intensity levels of the input Image, but takes into an upper a...
Definition: itkBoundaryValueRescaleIntensityImageFilter.h:45
BinaryThresholdImageFilter< InputImageType, InputImageType > ThresholdFilterType
Definition: itkMaskedImageRegistrationMethod.h:107
TInputImageType InputImageType
Definition: itkMaskedImageRegistrationMethod.h:70
InputImageType::SpacingType InputImageSpacingType
Definition: itkMaskedImageRegistrationMethod.h:80
InputImageType::RegionType InputImageRegionType
Definition: itkMaskedImageRegistrationMethod.h:77
MultiplyImageFilter< InputImageType, InputImageType > MultiplyFilterType
Definition: itkMaskedImageRegistrationMethod.h:119
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
SingleResolutionImageRegistrationMethod< TInputImageType, TInputImageType > Superclass
Definition: itkMaskedImageRegistrationMethod.h:62
Base class for NifTK Image Registration Methods.
Definition: itkSingleResolutionImageRegistrationMethod.h:37
InputImageType::DirectionType InputImageDirectionType
Definition: itkMaskedImageRegistrationMethod.h:82
GLsizei GLsizei GLchar * source
Definition: glew.h:1816
ThresholdFilterType::Pointer ThresholdFilterPointer
Definition: itkMaskedImageRegistrationMethod.h:108
GLenum target
Definition: glew.h:5584
unsigned char MaskPixelType
Definition: itkMaskedImageRegistrationMethod.h:123