forked from RTKConsortium/PCT
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathpctZengBackProjectionImageFilter.h
More file actions
61 lines (48 loc) · 2.08 KB
/
pctZengBackProjectionImageFilter.h
File metadata and controls
61 lines (48 loc) · 2.08 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
#ifndef __pctZengBackProjectionImageFilter_h
#define __pctZengBackProjectionImageFilter_h
#include <itkImageToImageFilter.h>
#include <rtkThreeDCircularProjectionGeometry.h>
#include "rtkConfiguration.h"
/** \class ZengBackProjectionImageFilter
*
* From an input 4D image where the 4th dimension is the angle, computes
* the weighted backprojection for DBP described in [Zeng, Med Phys, 2007].
*
* \author Simon Rit
*/
namespace pct
{
template<class TInputImage, class TOutputImage=itk::Image<typename TInputImage::PixelType, TInputImage::ImageDimension-1> >
class ITK_EXPORT ZengBackProjectionImageFilter:
public itk::ImageToImageFilter<TInputImage, TOutputImage>
{
public:
/** Standard class typedefs. */
typedef ZengBackProjectionImageFilter Self;
typedef itk::ImageToImageFilter<TInputImage, TOutputImage> Superclass;
typedef itk::SmartPointer<Self> Pointer;
typedef itk::SmartPointer<const Self> ConstPointer;
/** Some convenient typedefs. */
typedef TInputImage InputImageType;
typedef TOutputImage OutputImageType;
typedef typename TOutputImage::RegionType OutputImageRegionType;
/** Standard New method. */
itkNewMacro(Self);
/** Runtime information support. */
itkTypeMacro(ZengBackProjectionImageFilter, itk::ImageToImageFilter);
protected:
ZengBackProjectionImageFilter();
~ZengBackProjectionImageFilter(){}
virtual void GenerateOutputInformation() ITK_OVERRIDE;
virtual void DynamicThreadedGenerateData(const OutputImageRegionType& outputRegionForThread) ITK_OVERRIDE;
using Superclass::MakeOutput;
virtual itk::DataObject::Pointer MakeOutput(itk::ProcessObject::DataObjectPointerArraySizeType idx) ITK_OVERRIDE;
private:
ZengBackProjectionImageFilter(const Self&); //purposely not implemented
void operator=(const Self&); //purposely not implemented
}; // end of class
} // end namespace pct
#ifndef ITK_MANUAL_INSTANTIATION
#include "pctZengBackProjectionImageFilter.txx"
#endif
#endif