15 #ifndef itkForwardAndBackProjectionDifferenceFilter_h
16 #define itkForwardAndBackProjectionDifferenceFilter_h
18 #include <itkImageToImageFilter.h>
19 #include <itkConceptChecking.h>
42 template <
class IntensityType =
float>
44 public ImageToImageFilter<Image<IntensityType, 3>,
45 Image<IntensityType, 3> >
51 typedef ImageToImageFilter<Image< IntensityType, 3>,
116 void SetInputVolume( InputVolumeType *im3D);
119 void SetInputProjectionVolume( InputProjectionVolumeType *im2D);
126 InputVolumePointer GetPointerToInputVolume(
void);
129 itkStaticConstMacro(InputVolumeDimension,
unsigned int,
130 InputVolumeType::ImageDimension);
131 itkStaticConstMacro(OutputBackProjectedDifferencesDimension,
unsigned int,
132 OutputBackProjectedDifferencesType::ImageDimension);
139 virtual void GenerateInputRequestedRegion();
140 virtual void EnlargeOutputRequestedRegion(DataObject *output);
143 void Initialise(
void);
153 void PrintSelf(std::ostream& os, Indent indent)
const;
182 void operator=(
const Self&);
188 #ifndef ITK_MANUAL_INSTANTIATION
189 #include "itkForwardAndBackProjectionDifferenceFilter.txx"
bool m_FlagPipelineInitialised
Flag indicating whether the filter has been initialised.
Definition: itkForwardAndBackProjectionDifferenceFilter.h:159
InputProjectionVolumeType::PointType InputProjectionVolumePointType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:78
InputVolumeType::RegionType InputVolumeRegionType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:66
EulerAffineTransformType::Pointer EulerAffineTransformPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:89
void ClearVolumePriorToNextBackProjection(void)
Set the backprojection volume to zero prior to the next back-projection.
Definition: itkForwardAndBackProjectionDifferenceFilter.h:146
itk::Subtract2DImageFromVolumeSliceFilter< IntensityType > Subtract2DImageFromVolumeSliceFilterType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:106
SmartPointer< Self > Pointer
Definition: itkProjectionGeometry.h:36
Class to project a 3D image into 2D.
Definition: itkBackwardImageProjector2Dto3D.h:29
ImageType::SizeType SizeType
Definition: niftkMakeLapUSProbeBasicModel.cxx:31
OutputBackProjectedDifferencesType::SpacingType OutputBackProjectedDifferencesSpacingType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:85
Class to compute the difference between a reconstruction estimate and the target set of 2D projection...
Definition: itkForwardAndBackProjectionDifferenceFilter.h:43
Image< IntensityType, 3 > InputVolumeType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:60
Image< IntensityType, 3 > InputProjectionVolumeType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:72
SmartPointer< Self > Pointer
Definition: itkSubtract2DImageFromVolumeSliceFilter.h:39
SmartPointer< Self > Pointer
Definition: itkForwardImageProjector3Dto2D.h:36
Implements an operator for pixel-wise subtraction of a slice of a 3D volume from a 2D image...
Definition: itkSubtract2DImageFromVolumeSliceFilter.h:31
SmartPointer< const Self > ConstPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:54
PerspectiveProjectionTransformType::Pointer PerspectiveProjectionTransformPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:92
ProjectionGeometryPointer m_ProjectionGeometry
The specific projection geometry to be used.
Definition: itkForwardAndBackProjectionDifferenceFilter.h:174
Definition: niftkITKAffineResampleImage.cxx:74
itk::BackwardImageProjector2Dto3D< IntensityType > BackwardImageProjector2Dto3DType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:109
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
InputVolumeType::SpacingType InputVolumeSpacingType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:69
OutputBackProjectedDifferencesType::PixelType OutputBackProjectedDifferencesPixelType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:83
InputProjectionVolumeType::RegionType InputProjectionVolumeRegionType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:74
ForwardProjectorOutputImageType::Pointer ForwardProjectorOutputImagePointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:98
InputProjectionVolumeType::PixelType InputProjectionVolumePixelType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:75
InputProjectionVolumeType::SpacingType InputProjectionVolumeSpacingType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:77
ForwardImageProjector3Dto2DType::OutputImageType ForwardProjectorOutputImageType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:97
Subtract2DImageFromVolumeSliceFilterType::Pointer Subtract2DImageFromVolumeSliceFilterPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:107
InputVolumeType::SizeType InputVolumeSizeType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:68
InputVolumeType::PixelType InputVolumePixelType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:67
ProjectionGeometryType::Pointer ProjectionGeometryPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:113
SmartPointer< Self > Pointer
Definition: itkBackwardImageProjector2Dto3D.h:36
virtual void VerifyInputInformation()
Definition: itkForwardAndBackProjectionDifferenceFilter.h:178
OutputBackProjectedDifferencesType::Pointer OutputBackProjectedDifferencesPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:81
Abstract class to calculate the geometry of a CT or tomo machine.
Definition: itkProjectionGeometry.h:29
ForwardAndBackProjectionDifferenceFilter Self
Definition: itkForwardAndBackProjectionDifferenceFilter.h:50
itk::EulerAffineTransform< double, 3, 3 > EulerAffineTransformType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:88
Subtract2DImageFromVolumeSliceFilterPointer m_SubtractProjectionFromEstimate
A filter to perform the subtraction.
Definition: itkForwardAndBackProjectionDifferenceFilter.h:168
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
ForwardProjectorOutputImageType::PixelType ForwardProjectorOutputImagePixelType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:103
ForwardProjectorOutputImageType::SizeType ForwardProjectorOutputImageSizeType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:100
ForwardProjectorOutputImageType::RegionType ForwardProjectorOutputImageRegionType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:99
InputProjectionVolumeType::SizeType InputProjectionVolumeSizeType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:76
ForwardImageProjector3Dto2DPointer m_ForwardProjector
The forward-projector.
Definition: itkForwardAndBackProjectionDifferenceFilter.h:165
Class to project a 3D image into 2D.
Definition: itkForwardImageProjector3Dto2D.h:29
InputVolumeType::Pointer InputVolumePointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:64
SmartPointer< Self > Pointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:53
InputVolumeType::ConstPointer InputVolumeConstPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:65
Image< IntensityType, 3 > OutputBackProjectedDifferencesType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:80
ImageToImageFilter< Image< IntensityType, 3 >, Image< IntensityType, 3 > > Superclass
Definition: itkForwardAndBackProjectionDifferenceFilter.h:52
ForwardImageProjector3Dto2DType::Pointer ForwardImageProjector3Dto2DPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:95
itk::ProjectionGeometry< IntensityType > ProjectionGeometryType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:112
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
OutputBackProjectedDifferencesType::SizeType OutputBackProjectedDifferencesSizeType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:84
InputVolumeType::PointType InputVolumePointType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:70
InputProjectionVolumeType::Pointer InputProjectionVolumePointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:73
ForwardProjectorOutputImageType::PointType ForwardProjectorOutputImagePointType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:102
ForwardProjectorOutputImageType::SpacingType ForwardProjectorOutputImageSpacingType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:101
itk::PerspectiveProjectionTransform< double > PerspectiveProjectionTransformType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:91
unsigned int m_NumberOfProjections
The number of projection images.
Definition: itkForwardAndBackProjectionDifferenceFilter.h:162
BackwardImageProjector2Dto3DType::Pointer BackwardImageProjector2Dto3DPointer
Definition: itkForwardAndBackProjectionDifferenceFilter.h:110
OutputBackProjectedDifferencesType::PointType OutputBackProjectedDifferencesPointType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:86
virtual ~ForwardAndBackProjectionDifferenceFilter()
Definition: itkForwardAndBackProjectionDifferenceFilter.h:151
itk::ForwardImageProjector3Dto2D< IntensityType > ForwardImageProjector3Dto2DType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:94
ForwardProjectorOutputImageType::IndexType ForwardProjectorOutputImageIndexType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:104
OutputBackProjectedDifferencesType::RegionType OutputBackProjectedDifferencesRegionType
Definition: itkForwardAndBackProjectionDifferenceFilter.h:82
BackwardImageProjector2Dto3DPointer m_BackProjector
The back-projector.
Definition: itkForwardAndBackProjectionDifferenceFilter.h:171