Go to the documentation of this file.00001
00002
00003
00004
00005
00006
00007
00008
00009
00010
00011
00012
00013
00014
00015
00016
00017
00018
00019
00020
00021
00022
00023
00024
00025
00026
00027
00028
00029
00030
00031
00032 #ifndef __cmtkPointSpreadFunctionBox_h_included_
00033 #define __cmtkPointSpreadFunctionBox_h_included_
00034
00035 #include <cmtkconfig.h>
00036
00037 namespace
00038 cmtk
00039 {
00040
00043
00045 namespace
00046 PointSpreadFunctions
00047 {
00048
00050 class Box
00051 {
00052 public:
00054 typedef Box Self;
00055
00057 typedef SmartPointer<Self> SmartPtr;
00058
00060 Box( const Vector3D& pixelSize )
00061 {
00062 this->m_Radius = 0.5 * pixelSize;
00063 }
00064
00066 Types::Coordinate GetTruncationRadius( const int dim ) const
00067 {
00068 return this->m_Radius[dim];
00069 }
00070
00072 Types::Coordinate GetWeight( const int dim, const Types::Coordinate r ) const
00073 {
00074 if ( fabs( r ) <= this->m_Radius[dim] )
00075 {
00076 return 1.0;
00077 }
00078 return 0.0;
00079 }
00080
00081 private:
00083 Vector3D m_Radius;
00084 };
00085
00086 }
00087
00089
00090 }
00091
00092 #endif