1 #include "ThresholdImageGrowFunctionSource.h"
3 #include <cpPlugins/Interface/BaseProcessObjects.h>
4 #include <cpPlugins/Interface/Image.h>
5 #include <fpaPlugins/GrowFunction.h>
6 #include <fpa/Image/Functors/RegionGrowThresholdFunction.h>
8 // -------------------------------------------------------------------------
9 fpaPlugins::ThresholdImageGrowFunctionSource::
10 ThresholdImageGrowFunctionSource( )
13 this->_AddInput( "ReferenceImage" );
14 this->_AddOutput< GrowFunction >( "Output" );
16 this->m_Parameters->ConfigureAsReal( "LowerThreshold" );
17 this->m_Parameters->ConfigureAsReal( "UpperThreshold" );
19 this->m_Parameters->SetReal( "LowerThreshold", 0 );
20 this->m_Parameters->SetReal( "UpperThreshold", 0 );
23 // -------------------------------------------------------------------------
24 fpaPlugins::ThresholdImageGrowFunctionSource::
25 ~ThresholdImageGrowFunctionSource( )
29 // -------------------------------------------------------------------------
30 std::string fpaPlugins::ThresholdImageGrowFunctionSource::
33 cpPlugins::Interface::Image* image =
34 this->GetInput< cpPlugins::Interface::Image >( "ReferenceImage" );
36 return( "fpaPlugins::ThresholdImageGrowFunctionSource: No input reference image." );
38 itk::DataObject* itk_image = NULL;
40 cpPlugins_Image_Demangle_AllScalarTypes( 2, image, itk_image, r, _GD0 );
41 else cpPlugins_Image_Demangle_AllScalarTypes( 3, image, itk_image, r, _GD0 );
42 else r = "fpaPlugins::ThresholdImageGrowFunctionSource: no valid reference image.";
47 // -------------------------------------------------------------------------
49 std::string fpaPlugins::ThresholdImageGrowFunctionSource::
50 _GD0( itk::DataObject* data )
52 typedef fpa::Image::Functors::RegionGrowThresholdFunction< I > _F;
53 typename _F::Pointer f = _F::New( );
54 f->SetLowerThreshold( this->m_Parameters->GetReal( "LowerThreshold" ) );
55 f->SetUpperThreshold( this->m_Parameters->GetReal( "UpperThreshold" ) );
58 GrowFunction* out = this->GetOutput< GrowFunction >( "Output" );
61 out->SetITK< _F >( f );
65 return( "fpaPlugins::ThresholdImageGrowFunctionSource: output not correctly created." );