15 #ifndef itkCreateForwardBackwardProjectionMatrix_h
16 #define itkCreateForwardBackwardProjectionMatrix_h
20 #include <itk_hash_map.h>
22 #include <vnl/vnl_math.h>
23 #include <vnl/vnl_vector.h>
24 #include <vnl/vnl_sparse_matrix.h>
34 template <
class IntensityType =
float>
37 Image< IntensityType, 2> >
81 itkStaticConstMacro(InputImageDimension,
unsigned int, 3);
82 itkStaticConstMacro(OutputImageDimension,
unsigned int, 2);
91 virtual void GenerateOutputInformation(
void);
100 virtual void GenerateInputRequestedRegion(
void);
101 virtual void EnlargeOutputRequestedRegion(DataObject *output);
107 m_OutputImageSpacing = outImageSpacing;
108 this->GetOutput()->SetSpacing(m_OutputImageSpacing);
112 m_OutputImageOrigin = outImageOrigin;
113 this->GetOutput()->SetOrigin(m_OutputImageOrigin);
125 void PrintSelf(std::ostream& os, Indent indent)
const;
137 virtual void BeforeThreadedGenerateData(
void);
149 virtual void AfterThreadedGenerateData(
void);
165 void ThreadedGenerateData(
const OutputImageRegionType& outputRegionForThread,
166 ThreadIdType threadId );
187 UNDEFINED_DIRECTION=0,
192 } TraversalDirection;
211 void operator=(
const Self&);
217 #ifndef ITK_MANUAL_INSTANTIATION
218 #include "itkCreateForwardBackwardProjectionMatrix.txx"
OutputImageSizeType m_OutputImageSize
The size of the output projected image.
Definition: itkCreateForwardBackwardProjectionMatrix.h:169
InputImageType::SpacingType InputImageSpacingType
Definition: itkCreateForwardBackwardProjectionMatrix.h:60
CreateForwardBackwardProjectionMatrix Self
Definition: itkCreateForwardBackwardProjectionMatrix.h:41
OutputImageType::SpacingType OutputImageSpacingType
Definition: itkCreateForwardBackwardProjectionMatrix.h:66
itk::hash_map< int, VectorType >::const_iterator VectorMapConstIterator
Definition: itkCreateForwardBackwardProjectionMatrix.h:78
itk::hash_map< int, VectorType >::iterator VectorMapIterator
Definition: itkCreateForwardBackwardProjectionMatrix.h:77
ImageType::SizeType SizeType
Definition: niftkMakeLapUSProbeBasicModel.cxx:31
VectorMapType m_outputVectorBackProjAllThread
Definition: itkCreateForwardBackwardProjectionMatrix.h:206
InputImageType::RegionType InputImageRegionType
Definition: itkCreateForwardBackwardProjectionMatrix.h:57
OutputImagePointType m_OutputImageOrigin
The origin of the output projected image.
Definition: itkCreateForwardBackwardProjectionMatrix.h:173
vnl_vector< double > VectorType
Definition: itkCreateForwardBackwardProjectionMatrix.h:73
The base class for 2D-3D forward and back projection.
Definition: itkImageProjectionBaseClass2D3D.h:31
OutputImageType::IndexType OutputImageIndexType
Definition: itkCreateForwardBackwardProjectionMatrix.h:69
void SetRayIntegrationThreshold(double threshold)
Set the ray integration threshold.
Definition: itkCreateForwardBackwardProjectionMatrix.h:117
Definition: niftkITKAffineResampleImage.cxx:74
double m_Threshold
The threshold above which voxels along the ray path are integrated.
Definition: itkCreateForwardBackwardProjectionMatrix.h:176
z
Definition: itkCreateForwardBackwardProjectionMatrix.h:190
ImageType::IndexType IndexType
Definition: niftkMakeLapUSProbeBasicModel.cxx:32
SparseMatrixType m_sparseForwardProjMatrix
Definition: itkCreateForwardBackwardProjectionMatrix.h:195
OutputImageType::PointType OutputImagePointType
Definition: itkCreateForwardBackwardProjectionMatrix.h:67
SmartPointer< const Self > ConstPointer
Definition: itkCreateForwardBackwardProjectionMatrix.h:43
void SetProjectedImageSpacing(OutputImageSpacingType &outImageSpacing)
Set the resolution in mm of the output projected image.
Definition: itkCreateForwardBackwardProjectionMatrix.h:106
VectorType m_outputVectorPerThread
Definition: itkCreateForwardBackwardProjectionMatrix.h:201
OutputImageSpacingType m_OutputImageSpacing
The resolution of the output projected image.
Definition: itkCreateForwardBackwardProjectionMatrix.h:171
bool m_FlagMultiThreadedExecution
Flag to turn multithreading on or off.
Definition: itkCreateForwardBackwardProjectionMatrix.h:179
SmartPointer< Self > Pointer
Definition: itkCreateForwardBackwardProjectionMatrix.h:42
float PixelType
Definition: niftkBreastDCEandADC.cxx:88
void SetProjectedImageSize(OutputImageSizeType &outImageSize)
Set the size in pixels of the output projected image.
Definition: itkCreateForwardBackwardProjectionMatrix.h:104
itk::hash_map< int, VectorType > VectorMapType
Definition: itkCreateForwardBackwardProjectionMatrix.h:76
ImageType::RegionType RegionType
Definition: niftkMakeLapUSProbeBasicModel.cxx:30
OutputImageType::SizeType OutputImageSizeType
Definition: itkCreateForwardBackwardProjectionMatrix.h:65
InputImageType::SizeType InputImageSizeType
Definition: itkCreateForwardBackwardProjectionMatrix.h:59
Image< IntensityType, 2 > OutputImageType
Definition: itkCreateForwardBackwardProjectionMatrix.h:62
InputImageType::PixelType InputImagePixelType
Definition: itkCreateForwardBackwardProjectionMatrix.h:58
Class to project a 3D image into 2D.
Definition: itkCreateForwardBackwardProjectionMatrix.h:35
virtual ~CreateForwardBackwardProjectionMatrix(void)
Definition: itkCreateForwardBackwardProjectionMatrix.h:124
OutputImageType::Pointer OutputImagePointer
Definition: itkCreateForwardBackwardProjectionMatrix.h:63
void SetProjectedImageOrigin(OutputImagePointType &outImageOrigin)
Set the origin of the output projected image.
Definition: itkCreateForwardBackwardProjectionMatrix.h:111
OutputImageType::PixelType OutputImagePixelType
Definition: itkCreateForwardBackwardProjectionMatrix.h:68
void SetSingleThreadedExecution(void)
For debugging purposes, set single threaded execution.
Definition: itkCreateForwardBackwardProjectionMatrix.h:120
x
Definition: itkCreateForwardBackwardProjectionMatrix.h:188
Simultaneous itk::Image and itk::Array (and hence vnl_vector) class.
ImageProjectionBaseClass2D3D< Image< IntensityType, 3 >, Image< IntensityType, 2 > > Superclass
Definition: itkCreateForwardBackwardProjectionMatrix.h:45
InputImageType::Pointer InputImagePointer
Definition: itkCreateForwardBackwardProjectionMatrix.h:55
Image< IntensityType, 3 > InputImageType
Definition: itkCreateForwardBackwardProjectionMatrix.h:51
VectorType m_outputVectorBackProjPerThread
Definition: itkCreateForwardBackwardProjectionMatrix.h:205
vnl_sparse_matrix< double > SparseMatrixType
Definition: itkCreateForwardBackwardProjectionMatrix.h:72
InputImageType::ConstPointer InputImageConstPointer
Definition: itkCreateForwardBackwardProjectionMatrix.h:56
y
Definition: itkCreateForwardBackwardProjectionMatrix.h:189
OutputImageType::RegionType OutputImageRegionType
Definition: itkCreateForwardBackwardProjectionMatrix.h:64
SparseMatrixType m_sparseBackwardProjMatrix
Definition: itkCreateForwardBackwardProjectionMatrix.h:198
VectorMapType m_outputVectorAllThread
Definition: itkCreateForwardBackwardProjectionMatrix.h:202