]> Creatis software - creaCLI.git/blob - bbtk_Slicer_PKG/src/bbSlicerFastNonrigidBSplineregistration.cxx
a4f41cbf22071dbfbb388764adf13c2181e16715
[creaCLI.git] / bbtk_Slicer_PKG / src / bbSlicerFastNonrigidBSplineregistration.cxx
1 #include "bbSlicerFastNonrigidBSplineregistration.h"
2 #include "bbSlicerPackage.h"
3
4 namespace bbSlicer {
5     BBTK_ADD_BLACK_BOX_TO_PACKAGE ( Slicer, FastNonrigidBSplineregistration )
6     BBTK_BLACK_BOX_IMPLEMENTATION ( FastNonrigidBSplineregistration, bbtk::AtomicBlackBox );
7
8     void FastNonrigidBSplineregistration::Process ( ) {
9
10         // GENERATED
11
12 int _argc =13;
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::toString( bbGetInputIterations( ) ) ),
15 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-g"  ) + Mthd::Aux::toString( bbGetInputgridSize( ) ) ),
16 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-b"  ) + Mthd::Aux::toString( bbGetInputHistogramBins( ) ) ),
17 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-s"  ) + Mthd::Aux::toString( bbGetInputSpatialSamples( ) ) ),
18 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--constrain"  ) + Mthd::Aux::toString( bbGetInputConstrainDeformation( ) ) ),
19 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-m"  ) + Mthd::Aux::toString( bbGetInputMaximumDeformation( ) ) ),
20 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "-d"  ) + Mthd::Aux::toString( bbGetInputDefaultPixelValue( ) ) ),
21 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--initialtransform"  ) + Mthd::Aux::toString( bbGetInputInitialTransform( ) ) ),
22 Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputFixedImageFileName( ) ) ),
23 Mthd::Aux::toCharArrray( Mthd::Aux::toString( bbGetInputMovingImageFileName( ) ) ),
24 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputtransform"  ) + Mthd::Aux::toString( bbGetInputOutputTransform( ) ) ),
25 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--outputwarp"  ) + Mthd::Aux::toString( bbGetInputOutputWarp( ) ) ),
26 Mthd::Aux::toCharArrray( Mthd::Aux::toString( "--resampledmovingfilename"  ) + Mthd::Aux::toString( bbGetInputResampledImageFileName( ) ) ) };
27
28         // EO GENERATED
29         this->execute( lib, _argc, _argv );
30
31     }
32
33     void FastNonrigidBSplineregistration::execute ( std::string lib, int _argc, char * _argv[] ) {
34         void* handle = dlopen( lib.c_str( ), RTLD_NOW | RTLD_GLOBAL );
35         if ( ! handle ) {
36             std::cerr << "CAN'T OPEN LIBRARY: " << dlerror( ) << '\n';
37             return;
38         }
39         typedef int (*method_t )( int argc, char * argv[] );
40         // RESET ERROR
41         dlerror( );
42         // PROTOTYPE
43         method_t myMethod = ( method_t ) dlsym( handle, "ModuleEntryPoint" );
44         const char *dlsym_error = dlerror( );
45         if ( dlsym_error ) {
46             std::cerr << "CAN'T LOAD SYMBOL 'ModuleEntryPoint':" << dlsym_error << '\n';
47             dlclose( handle );
48             return;
49         }
50         // METHOD CALL
51         myMethod( _argc, _argv );
52         // CLOSING LIB
53         dlclose( handle );
54     }
55
56     void FastNonrigidBSplineregistration::bbUserSetDefaultValues ( ) {
57     }
58
59     void FastNonrigidBSplineregistration::bbUserInitializeProcessing ( ) {
60     }
61
62     void FastNonrigidBSplineregistration::bbUserFinalizeProcessing ( ) {
63     }
64 }
65 // EO namespace bbSlicer
66
67