this->m_SourceToAxis = 1000.0;
this->m_EdgePaddingValue = itk::NumericTraits<OutputPixelType>::Zero;//density images
this->m_RigidTransformMatrix.SetIdentity();
this->m_SourceToAxis = 1000.0;
this->m_EdgePaddingValue = itk::NumericTraits<OutputPixelType>::Zero;//density images
this->m_RigidTransformMatrix.SetIdentity();
BackProjectImageFilter<InputImageType, OutputImageType>
::CalculateProjectionMatrix( void )
{
BackProjectImageFilter<InputImageType, OutputImageType>
::CalculateProjectionMatrix( void )
{
// Projection on YZ plane+pixelTrans
itk::Matrix<double,3,4> temp;
// Projection on YZ plane+pixelTrans
itk::Matrix<double,3,4> temp;
template <class InputImageType, class OutputImageType>
void
BackProjectImageFilter<InputImageType, OutputImageType>
template <class InputImageType, class OutputImageType>
void
BackProjectImageFilter<InputImageType, OutputImageType>
//Compute the first input coordinate (invert Y/X)
homInputPoint= (m_ProjectionMatrix * homOutputPoint);
//Compute the first input coordinate (invert Y/X)
homInputPoint= (m_ProjectionMatrix * homOutputPoint);
- iPoint[0]=-homInputPoint[0]/homInputPoint[2];
- iPoint[1]=homInputPoint[1]/homInputPoint[2];
+ iPoint[0]=-homInputPoint[0]/homInputPoint[2] + m_PanelShift[0];
+ iPoint[1]=homInputPoint[1]/homInputPoint[2] + m_PanelShift[1];
typedef itk::LinearInterpolateImageFunction< InputImageType, double > InterpolatorType;
typename InterpolatorType::Pointer interpolator = InterpolatorType::New();
typedef itk::LinearInterpolateImageFunction< InputImageType, double > InterpolatorType;
typename InterpolatorType::Pointer interpolator = InterpolatorType::New();