1 /* =======================================================================
2 * @author: Leonardo Florez-Valencia
3 * @email: florez-l@javeriana.edu.co
4 * =======================================================================
7 #ifndef __ivq__ITK__ExtractLabelFunction__h__
8 #define __ivq__ITK__ExtractLabelFunction__h__
12 #include <itkFunctionBase.h>
20 template< class _TIn, class _TOut >
21 class ExtractLabelFunction
22 : public itk::FunctionBase< _TIn, _TOut >
25 typedef ExtractLabelFunction Self;
26 typedef itk::FunctionBase< _TIn, _TOut > Superclass;
27 typedef itk::SmartPointer< Self > Pointer;
28 typedef itk::SmartPointer< const Self > ConstPointer;
30 typedef typename Superclass::InputType TInput;
31 typedef typename Superclass::OutputType TOutput;
35 itkTypeMacro( ivq::ITK::ExtractLabelFunction, itk::FunctionBase );
37 itkGetConstMacro( Label, _TIn );
38 itkGetConstMacro( InsideValue, _TOut );
39 itkGetConstMacro( OutsideValue, _TOut );
41 itkSetMacro( Label, _TIn );
42 itkSetMacro( InsideValue, _TOut );
43 itkSetMacro( OutsideValue, _TOut );
46 virtual _TOut Evaluate( const _TIn& in ) const override;
49 ExtractLabelFunction( );
50 virtual ~ExtractLabelFunction( );
53 // Purposely not implemented
54 ExtractLabelFunction( const Self& other );
55 Self& operator=( const Self& other );
67 #ifndef ITK_MANUAL_INSTANTIATION
68 # include <ivq/ITK/ExtractLabelFunction.hxx>
69 #endif // ITK_MANUAL_INSTANTIATION
71 #endif // __ivq__ITK__ExtractLabelFunction__h__