1 #include "bbSlicerN4ITKMRIBiascorrection.h"
2 #include "bbSlicerPackage.h"
5 BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, N4ITKMRIBiascorrection )
6 BBTK_BLACK_BOX_IMPLEMENTATION ( N4ITKMRIBiascorrection, bbtk::AtomicBlackBox );
8 void N4ITKMRIBiascorrection::Process ( ) {
13 std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libN4ITKBiasFieldCorrectionLib.so";
14 char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--inputimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinputImageName( ) ) ) ,"@@@@@"," --inputimage ") ),
15 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--maskimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputmaskImageName( ) ) ) ,"@@@@@"," --maskimage ") ),
16 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputImageName( ) ) ) ,"@@@@@"," --outputimage ") ),
17 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputbiasfield" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputoutputBiasFieldName( ) ) ) ,"@@@@@"," --outputbiasfield ") ),
18 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--iterations" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputnumberOfIterations( ) ) ) ,"@@@@@"," --iterations ") ),
19 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--convergencethreshold" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputconvergenceThreshold( ) ) ) ,"@@@@@"," --convergencethreshold ") ),
20 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--meshresolution" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputinitialMeshResolution( ) ) ) ,"@@@@@"," --meshresolution ") ),
21 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--splinedistance" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputsplineDistance( ) ) ) ,"@@@@@"," --splinedistance ") ),
22 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--shrinkfactor" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputshrinkFactor( ) ) ) ,"@@@@@"," --shrinkfactor ") ),
23 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--bsplineorder" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputbsplineOrder( ) ) ) ,"@@@@@"," --bsplineorder ") ),
24 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--weightimage" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputweightImageName( ) ) ) ,"@@@@@"," --weightimage ") ),
25 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--histogramsharpening" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputhistogramSharpening( ) ) ) ,"@@@@@"," --histogramsharpening ") ) };
28 this->execute( lib, _argc, _argv );
32 void N4ITKMRIBiascorrection::execute ( std::string lib, int _argc, char * _argv[] ) {
33 void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL );
35 std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n';
38 typedef int (*method_t )( int argc, char * argv[] );
42 method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" );
43 const char *dlsym_error = dlerror( );
45 std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n';
50 myMethod( _argc, _argv );
55 void N4ITKMRIBiascorrection::bbUserSetDefaultValues ( ) {
58 void N4ITKMRIBiascorrection::bbUserInitializeProcessing ( ) {
61 void N4ITKMRIBiascorrection::bbUserFinalizeProcessing ( ) {
64 // EO namespace bbSlicer