1 // =========================================================================
2 // @author Leonardo Florez Valencia
3 // @email florez-l@javeriana.edu.co
4 // =========================================================================
5 #ifndef __fpa__Config__h__
6 #define __fpa__Config__h__
10 // -------------------------------------------------------------------------
11 #define fpaTraitsMacro( __t__ ) \
12 typedef __t__::TInternalTraits::TInputValue TInputValue; \
13 typedef __t__::TInternalTraits::TNeighborhood TNeighborhood; \
14 typedef __t__::TInternalTraits::TMark TMark; \
15 typedef __t__::TInternalTraits::TNode TNode; \
16 typedef __t__::TInternalTraits::TNodes TNodes; \
17 typedef __t__::TInternalTraits::TOutputValue TOutputValue; \
18 typedef __t__::TInternalTraits::TPoint TPoint; \
19 typedef __t__::TInternalTraits::TSeed TSeed; \
20 typedef __t__::TInternalTraits::TSeeds TSeeds; \
21 typedef __t__::TInternalTraits::TVertex TVertex
23 // -------------------------------------------------------------------------
24 #define fpaFilterInputMacro( __n__, __t__ ) \
26 unsigned int m_##__n__##Idx; \
28 __t__* Get##__n__( ) \
31 dynamic_cast< __t__* >( \
32 this->itk::ProcessObject::GetInput( \
33 this->m_##__n__##Idx \
36 const __t__* Get##__n__( ) const \
39 dynamic_cast< const __t__* >( \
40 this->itk::ProcessObject::GetInput( \
41 this->m_##__n__##Idx \
44 void Set##__n__( __t__* i ) \
46 this->itk::ProcessObject::SetNthInput( this->m_##__n__##Idx, i ); \
49 // -------------------------------------------------------------------------
50 #define fpaFilterInputConfigureMacro( __n__, __t__ ) \
51 this->m_##__n__##Idx = this->GetNumberOfRequiredInputs( ); \
52 this->itk::ProcessObject::SetNumberOfRequiredInputs( \
53 this->m_##__n__##Idx + 1 \
56 // -------------------------------------------------------------------------
57 #define fpaFilterOutputMacro( __n__, __t__ ) \
59 unsigned int m_##__n__##Idx; \
61 __t__* Get##__n__( ) \
64 dynamic_cast< __t__* >( \
65 this->itk::ProcessObject::GetOutput( \
66 this->m_##__n__##Idx \
69 const __t__* Get##__n__( ) const \
72 dynamic_cast< const __t__* >( \
73 this->itk::ProcessObject::GetOutput( \
74 this->m_##__n__##Idx \
78 // -------------------------------------------------------------------------
79 #define fpaFilterOutputConfigureMacro( __n__, __t__ ) \
80 this->m_##__n__##Idx = this->GetNumberOfRequiredOutputs( ); \
81 this->itk::ProcessObject::SetNumberOfRequiredOutputs( \
82 this->m_##__n__##Idx + 1 \
84 this->SetNthOutput( this->m_##__n__##Idx, __t__::New( ) )
86 #endif // __fpa__Config__h__