<html>
<head>
<style><!--
.hmmessage P
{
margin:0px;
padding:0px
}
body.hmmessage
{
font-size: 10pt;
font-family:Tahoma
}
--></style>
</head>
<body class='hmmessage'><div dir='ltr'>
hi everyone<br>Im trying to use a header that one of my proffesor gave me, i did make a program but when i compile the header has some problems... next you can see the header text and the error using the function  <font style="" color="#FF0000">itkGetConstObjectMacro</font> how should i put the type of the function?? im really lost about it and i try everthing..<br>the error that i get is<font style="font-size: 12pt;" size="3"> ‘TSpatialObject’ does not name a type</font>
in the red line on the text on next, what kind of type?? i cant find anything about that function and im new with itk... thank you<br><br><br>#ifndef __ITKEXT__IMAGE__IMAGEMOMENTS__H__<br>#define __ITKEXT__IMAGE__IMAGEMOMENTS__H__<br><br>#include &lt;itkFunctionBase.h&gt;<br>#include &lt;itkImageRegionConstIteratorWithIndex.h&gt;<br>#include &lt;itkMatrix.h&gt;<br>#include &lt;itkSpatialObject.h&gt;<br><br>#include "itkExtMomentsCalculator.h"<br><br>namespace itkExt<br>{<br>&nbsp; /**<br>&nbsp;&nbsp; */<br>&nbsp; template&lt; class I, class M = I &gt;<br>&nbsp; class ImageMoments<br>&nbsp;&nbsp;&nbsp; : public itk::Object<br>&nbsp; {<br>&nbsp; public:<br>&nbsp;&nbsp;&nbsp; typedef ImageMoments&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Self;<br>&nbsp;&nbsp;&nbsp; typedef itk::Object&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Superclass;<br>&nbsp;&nbsp;&nbsp; typedef itk::SmartPointer&lt; Self &gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; Pointer;<br>&nbsp;&nbsp;&nbsp; typedef itk::SmartPointer&lt; const Self &gt; ConstPointer;<br><br>&nbsp;&nbsp;&nbsp; itkStaticConstMacro( Dimension, unsigned int, I::ImageDimension );<br><br>&nbsp;&nbsp;&nbsp; typedef I&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TImage;<br>&nbsp;&nbsp;&nbsp; typedef M&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TImageMask;<br>&nbsp;&nbsp;&nbsp; typedef typename TImage::IndexType&nbsp; TIndex;<br>&nbsp;&nbsp;&nbsp; typedef typename TImage::PixelType&nbsp; TPixel;<br>&nbsp;&nbsp;&nbsp; typedef typename TImage::RegionType TRegion;<br>&nbsp;&nbsp;&nbsp; typedef typename TImage::ValueType&nbsp; TScalar;<br><br>&nbsp;&nbsp;&nbsp; typedef itkExt::MomentsCalculator&lt; TScalar, Dimension &gt; TCalculator;<br>&nbsp;&nbsp;&nbsp; typedef typename TCalculator::THMatrix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; THMatrix;<br>&nbsp;&nbsp;&nbsp; typedef typename TCalculator::TMatrix&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TMatrix;<br>&nbsp;&nbsp;&nbsp; typedef typename TCalculator::TPoint&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TPoint;&nbsp;&nbsp;&nbsp; <br>&nbsp;&nbsp;&nbsp; typedef typename TCalculator::TVector&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TVector;<br>&nbsp;&nbsp;&nbsp; typedef FixedArray &lt;double,TDimension&gt;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; TSpatialObject;<br><br>&nbsp;&nbsp;&nbsp; <br>&nbsp;protected:<br>&nbsp;&nbsp;&nbsp; typedef itk::ImageRegionConstIteratorWithIndex&lt; TImage &gt; _TIterator;<br><br>&nbsp; public:<br>&nbsp;&nbsp;&nbsp; itkNewMacro( Self );<br>&nbsp;&nbsp;&nbsp; itkTypeMacro( ImageMoments, itkObject );<br><br>&nbsp;&nbsp;&nbsp; itkGetConstObjectMacro( Image, TImage );<br>&nbsp;&nbsp;&nbsp; itkGetConstObjectMacro( ImageMask, TImageMask );<br>&nbsp;&nbsp;&nbsp; <font style="" color="#FF0000">itkGetConstObjectMacro( SpatialMask, TSpatialObject );</font><font style="" color="#FF0000"><br></font><font style="" color="#FF0000">&nbsp;&nbsp;&nbsp; itkGetObjectMacro( PixelFunction,&nbsp; PixelFunctionType );</font><br><br>&nbsp;&nbsp;&nbsp; itkSetConstObjectMacro( Image, TImage );<br>&nbsp;&nbsp;&nbsp; itkSetConstObjectMacro( ImageMask, TImageMask );<br>&nbsp;&nbsp;&nbsp; itkSetConstObjectMacro( SpatialMask, TSpatialObject );<br>&nbsp;&nbsp;&nbsp; itkSetObjectMacro( PixelFunction, TPixelFunction );<br><br>&nbsp; public:<br>&nbsp;&nbsp;&nbsp; const TScalar&amp; GetMass( ) const<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { return( this-&gt;m_Calculator.GetMass( ) ); }<br>&nbsp;&nbsp;&nbsp; const TVector&amp; GetCenter( ) const<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { return( this-&gt;m_Calculator.GetCenter( ) ); }<br>&nbsp;&nbsp;&nbsp; const TVector&amp; GetOffset( ) const<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { return( this-&gt;m_Calculator.GetOffset( ) ); }<br>&nbsp;&nbsp;&nbsp; const TMatrix&amp; GetInertia( ) const<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { return( this-&gt;m_Calculator.GetInertia( ) ); }<br>&nbsp;&nbsp;&nbsp; const TVector&amp; GetProperValues( ) const<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { return( this-&gt;m_Calculator.GetProperValues( ) ); }<br>&nbsp;&nbsp;&nbsp; const TMatrix&amp; GetProperMatrix( ) const<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { return( this-&gt;m_Calculator.GetProperMatrix( ) ); }<br>&nbsp;&nbsp;&nbsp; THMatrix GetHomogeneousMatrix( ) const<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { return( this-&gt;m_Calculator.GetHomogeneousMatrix( ) ); }<br><br>&nbsp;&nbsp;&nbsp; void AlignProperMatrix( const TVector&amp; dir )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { this-&gt;m_Calculator.AlignProperMatrix( dir ); }<br>&nbsp;&nbsp;&nbsp; void AlignProperMatrix( const TMatrix&amp; rot )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { this-&gt;m_Calculator.AlignProperMatrix( rot ); }<br><br>&nbsp;&nbsp;&nbsp; virtual void Compute( )<br>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; { this-&gt;Compute( this-&gt;m_Image-&gt;GetRequestedRegion( ) ); }<br>&nbsp;&nbsp;&nbsp; virtual void Compute( const TRegion&amp; reg );<br>&nbsp;&nbsp;&nbsp; virtual void Modified( ) const;<br><br>&nbsp; protected:<br>&nbsp;&nbsp;&nbsp; ImageMoments( );<br>&nbsp;&nbsp;&nbsp; virtual ~ImageMoments( );<br><br>&nbsp;&nbsp;&nbsp; bool _ComputeValue( TPixel&amp; v, TVector&amp; p, const _TIterator&amp; i ) const;<br><br>&nbsp; private:<br>&nbsp;&nbsp;&nbsp; ImageMoments( const Self&amp; );&nbsp;&nbsp; // Not impl.<br>&nbsp;&nbsp;&nbsp; void operator=( const Self&amp; ); // Not impl.<br><br>&nbsp; protected:<br>&nbsp;&nbsp;&nbsp; TCalculator m_Calculator;<br><br>&nbsp;&nbsp;&nbsp; typename TImage::ConstPointer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_Image;<br>&nbsp;&nbsp;&nbsp; typename TImageMask::ConstPointer&nbsp;&nbsp;&nbsp;&nbsp; m_ImageMask;<br>&nbsp;&nbsp;&nbsp; typename TSpatialObject::ConstPointer m_SpatialMask;<br>&nbsp;&nbsp;&nbsp; typename TPixelFunction::Pointer&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; m_PixelFunction;<br>&nbsp; };<br><br>} // ecapseman<br><br>#include "itkExtImageMoments.txx"<br><br>#endif // __ITKEXT__IMAGE__IMAGEMOMENTS__H__<br><br>// eof - $RCSfile: itkExtImageMoments.h,v $<br><br><br><br><h1 id="ecxtitle_div2200963175"><br></h1><h1 id="ecxtitle_div2200963175"><br></h1>                                               </div></body>
</html>