1 #include "bbSlicerFastNonrigidBSplineregistration.h"
2 #include "bbSlicerPackage.h"
5 BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FastNonrigidBSplineregistration )
6 BBTK_BLACK_BOX_IMPLEMENTATION ( FastNonrigidBSplineregistration, bbtk::AtomicBlackBox );
8 void FastNonrigidBSplineregistration::Process ( ) {
13 std::string lib = "/home/riveros/.slicer/Slicer4-bin/Slicer-build/lib/Slicer-4.0/cli-modules/libBSplineDeformableRegistrationLib.so";
14 char * _argv[ ] = { Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-i" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputIterations( ) ) ) ,"@@@@@"," -i ") ),
15 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputgridSize( ) ) ) ,"@@@@@"," -g ") ),
16 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ) ,"@@@@@"," -b ") ),
17 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ) ,"@@@@@"," -s ") ),
18 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--constrain" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputConstrainDeformation( ) ) ) ,"@@@@@"," --constrain ") ),
19 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMaximumDeformation( ) ) ) ,"@@@@@"," -m ") ),
20 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputDefaultPixelValue( ) ) ) ,"@@@@@"," -d ") ),
21 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ) ,"@@@@@"," --initialtransform ") ),
22 Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ) ,"@@@@@","") ),
23 Mthd::Aux::toCharArrray( Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ) ,"@@@@@","") ),
24 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ) ,"@@@@@"," --outputtransform ") ),
25 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputwarp" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputOutputWarp( ) ) ) ,"@@@@@"," --outputwarp ") ),
26 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename" ) + Mthd::Aux::replace_str ( ( Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) ,"@@@@@"," --resampledmovingfilename ") ) };
29 this->execute( lib, _argc, _argv );
33 void FastNonrigidBSplineregistration::execute ( std::string lib, int _argc, char * _argv[] ) {
34 void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL );
36 std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n';
39 typedef int (*method_t )( int argc, char * argv[] );
43 method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" );
44 const char *dlsym_error = dlerror( );
46 std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n';
51 myMethod( _argc, _argv );
56 void FastNonrigidBSplineregistration::bbUserSetDefaultValues ( ) {
59 void FastNonrigidBSplineregistration::bbUserInitializeProcessing ( ) {
62 void FastNonrigidBSplineregistration::bbUserFinalizeProcessing ( ) {
65 // EO namespace bbSlicer