]> Creatis software - creaCLI.git/blobdiff - ModuleCall/GenSrc/bbSlicerModelMaker.h
All Slicer modules succesfully compiled into BBTK boxes :P
[creaCLI.git] / ModuleCall / GenSrc / bbSlicerModelMaker.h
diff --git a/ModuleCall/GenSrc/bbSlicerModelMaker.h b/ModuleCall/GenSrc/bbSlicerModelMaker.h
new file mode 100644 (file)
index 0000000..05045b3
--- /dev/null
@@ -0,0 +1,92 @@
+#ifndef __bbSlicerModelMaker_h_INCLUDED__
+#define __bbSlicerModelMaker_h_INCLUDED__
+
+#include "bbSlicer_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+
+#include <vector>
+#include <cstdlib>
+#include <dlfcn.h>
+#include <sstream>
+#include <fstream>
+#include <iostream>
+
+#include <ModuleDescriptionUtilities.h>
+#include <ModuleDescriptionParser.h>
+#include <ModuleParameterGroup.h>
+#include <ModuleDescription.h>
+#include <ModuleParameter.h>
+
+#include "CreationTool.h"
+
+namespace bbSlicer {
+
+    class bbSlicer_EXPORT ModelMaker
+    :
+    public bbtk::AtomicBlackBox {
+        BBTK_BLACK_BOX_INTERFACE ( ModelMaker , bbtk::AtomicBlackBox ) ;
+
+        // GENERATED ARGS        
+        
+BBTK_DECLARE_INPUT ( InputVolume , std::string );
+BBTK_DECLARE_INPUT ( ColorTable , std::string );
+BBTK_DECLARE_INPUT ( ModelSceneFile , std::string );
+BBTK_DECLARE_INPUT ( Name , std::string );
+BBTK_DECLARE_INPUT ( GenerateAll , bool );
+BBTK_DECLARE_INPUT ( Labels , std::vector<int> );
+BBTK_DECLARE_INPUT ( StartLabel , int );
+BBTK_DECLARE_INPUT ( EndLabel , int );
+BBTK_DECLARE_INPUT ( SkipUnNamed , bool );
+BBTK_DECLARE_INPUT ( JointSmoothing , bool );
+BBTK_DECLARE_INPUT ( Smooth , int );
+BBTK_DECLARE_INPUT ( FilterType , std::string );
+BBTK_DECLARE_INPUT ( Decimate , float );
+BBTK_DECLARE_INPUT ( SplitNormals , bool );
+BBTK_DECLARE_INPUT ( PointNormals , bool );
+BBTK_DECLARE_INPUT ( Pad , bool );
+BBTK_DECLARE_INPUT ( SaveIntermediateModels , bool );
+BBTK_DECLARE_INPUT ( debug , bool );
+
+        // EO GENERATED ARGS
+
+        BBTK_PROCESS ( Process ) ;
+        void Process ( ) ;
+    private:
+        void execute ( std::string lib , int _argc , char * _argv[] ) ;
+    } ;
+
+    BBTK_BEGIN_DESCRIBE_BLACK_BOX ( ModelMaker , bbtk::AtomicBlackBox ) ;
+    BBTK_NAME ( "ModelMaker" ) ;
+    BBTK_AUTHOR ( "Nicole Aucoin, BWH Ron Kikinis, BWH, Bill Lorensen GE" ) ;
+    BBTK_DESCRIPTION ( "Create 3D surface models from segmented data. pModels are imported into Slicer under a model hierarchy node in a MRML scene. The model colors are set by the color table associated with the input volume these colours will only be visible if you load the model scene file. /ppbCreate Multiple:/b/pp If you specify a list of Labels, it will over ride any start/end label settings. /pp If you click iGenerate All/i it will over ride the list of lables and any start/end label settings. /ppbModel Maker Settings:/b/pp You can set the number of smoothing iterations, target reduction in number of polygons decimal percentage. Use 0 and 1 if you wish no smoothing nor decimation. brYou can set the flags to split normals or generate point normals in this pane as well. brYou can save a copy of the models after intermediate steps marching cubes, smoothing, and decimation if not joint smoothing, otherwise just after decimation; these models are not saved in the mrml file, turn off deleting temporary files first in the python window: brislicer.modules.modelmaker.cliModuleLogic.DeleteTemporaryFilesOff/i/p" ) ;
+    BBTK_CATEGORY ( "Surface Models" ) ;
+
+    // GENERATED DESCRPTION
+    
+BBTK_INPUT(ModelMaker , InputVolume , "InputVolume" , std::string, "");
+BBTK_INPUT(ModelMaker , ColorTable , "ColorTable" , std::string, "");
+BBTK_INPUT(ModelMaker , ModelSceneFile , "ModelSceneFile" , std::string, "");
+BBTK_INPUT(ModelMaker , Name , "Name" , std::string, "");
+BBTK_INPUT(ModelMaker , GenerateAll , "GenerateAll" , bool, "");
+BBTK_INPUT(ModelMaker , Labels , "Labels" , std::vector<int>, "");
+BBTK_INPUT(ModelMaker , StartLabel , "StartLabel" , int, "");
+BBTK_INPUT(ModelMaker , EndLabel , "EndLabel" , int, "");
+BBTK_INPUT(ModelMaker , SkipUnNamed , "SkipUnNamed" , bool, "");
+BBTK_INPUT(ModelMaker , JointSmoothing , "JointSmoothing" , bool, "");
+BBTK_INPUT(ModelMaker , Smooth , "Smooth" , int, "");
+BBTK_INPUT(ModelMaker , FilterType , "FilterType" , std::string, "");
+BBTK_INPUT(ModelMaker , Decimate , "Decimate" , float, "");
+BBTK_INPUT(ModelMaker , SplitNormals , "SplitNormals" , bool, "");
+BBTK_INPUT(ModelMaker , PointNormals , "PointNormals" , bool, "");
+BBTK_INPUT(ModelMaker , Pad , "Pad" , bool, "");
+BBTK_INPUT(ModelMaker , SaveIntermediateModels , "SaveIntermediateModels" , bool, "");
+BBTK_INPUT(ModelMaker , debug , "debug" , bool, "");
+
+    // EO GENERATED DESCRIPTION
+
+    BBTK_END_DESCRIBE_BLACK_BOX ( ModelMaker ) ;
+}
+
+#endif // __bbSlicerModelMaker_h_INCLUDED__
+
+