1 #include "bbSlicerRicianLMMSEImageFilter.h"
2 #include "bbSlicerPackage.h"
5 BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, RicianLMMSEImageFilter )
6 BBTK_BLACK_BOX_IMPLEMENTATION ( RicianLMMSEImageFilter, bbtk::AtomicBlackBox );
8 void RicianLMMSEImageFilter::Process ( ) {
13 std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libdwiNoiseFilterLib.so";
14 char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iter" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiIterations( ) ) ) ,"@@@@@"," --iter ") ),
15 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--re" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusEstimation( ) ) ) ,"@@@@@"," --re ") ),
16 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--rf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiRadiusFiltering( ) ) ) ,"@@@@@"," --rf ") ),
17 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mnvf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiMinimumNumberOfUsedVoxelsF( ) ) ) ,"@@@@@"," --mnvf ") ),
18 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--mnve" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputiMinimumNumberOfUsedVoxelsE( ) ) ) ,"@@@@@"," --mnve ") ),
19 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--minnstd" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdMinSTD( ) ) ) ,"@@@@@"," --minnstd ") ),
20 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maxnstd" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdMaxSTD( ) ) ) ,"@@@@@"," --maxnstd ") ),
21 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--hrf" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputdResFact( ) ) ) ,"@@@@@"," --hrf ") ),
22 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--uav" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbUseAbsoluteValue( ) ) ) ,"@@@@@"," --uav ") ),
23 Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputVolume( ) ) ) ,"@@@@@","") ),
24 Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputVolume( ) ) ) ,"@@@@@","") ) };
27 this->execute( lib, _argc, _argv );
31 void RicianLMMSEImageFilter::execute ( std::string lib, int _argc, char * _argv[] ) {
32 void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL );
34 std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n';
37 typedef int (*method_t )( int argc, char * argv[] );
41 method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" );
42 const char *dlsym_error = dlerror( );
44 std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n';
49 myMethod( _argc, _argv );
54 void RicianLMMSEImageFilter::bbUserSetDefaultValues ( ) {
57 void RicianLMMSEImageFilter::bbUserInitializeProcessing ( ) {
60 void RicianLMMSEImageFilter::bbUserFinalizeProcessing ( ) {
63 // EO namespace bbSlicer