]> Creatis software - creaMaracasVisu.git/blobdiff - bbtk/src/bbmaracasvisuContourCrown.h
The bbtk folder with the maracasvisu bbtk package was added to the creaMaracasVisu...
[creaMaracasVisu.git] / bbtk / src / bbmaracasvisuContourCrown.h
diff --git a/bbtk/src/bbmaracasvisuContourCrown.h b/bbtk/src/bbmaracasvisuContourCrown.h
new file mode 100644 (file)
index 0000000..7ef6ba5
--- /dev/null
@@ -0,0 +1,94 @@
+#ifdef _USE_WXWIDGETS_
+#ifndef __bbmaracasvisuContourCrown_h_INCLUDED__
+#define __bbmaracasvisuContourCrown_h_INCLUDED__
+#include "bbtkWxBlackBox.h"
+
+#include <vtkImageData.h>
+
+#include "Contour/ContourCrownWidget.h"
+
+namespace bbmaracasvisu
+{
+
+class /*BBTK_EXPORT*/ ContourCrown
+ : 
+   public bbtk::WxBlackBox
+{
+  BBTK_BLACK_BOX_INTERFACE(ContourCrown,bbtk::WxBlackBox);
+//==================================================================
+/// User callback called in the box contructor
+virtual void bbUserConstructor();
+/// User callback called in the box copy constructor
+virtual void bbUserCopyConstructor();
+/// User callback called in the box destructor
+virtual void bbUserDestructor();
+//==================================================================
+    BBTK_DECLARE_INPUT(In, vtkImageData*);
+    BBTK_DECLARE_INPUT(wxVtkBaseView, wxVtkBaseView*);
+//JSTG 26-02-08 -------------------------------------------------------
+    BBTK_DECLARE_INPUT(ControlPointsInX,std::vector<double>*);
+       BBTK_DECLARE_INPUT(ControlPointsInY,std::vector<double>*);
+       BBTK_DECLARE_INPUT(ControlPointsInZ,std::vector<double>*);
+//---------------------------------------------------------------------
+       BBTK_DECLARE_OUTPUT(LstValue,std::vector<double>*);
+       BBTK_DECLARE_OUTPUT(LstValuePosX,std::vector<double>*);
+       BBTK_DECLARE_OUTPUT(LstValuePosY,std::vector<double>*);
+       BBTK_DECLARE_OUTPUT(LstValuePosZ,std::vector<double>*);
+       BBTK_DECLARE_OUTPUT(LstContourX,std::vector<double>*);
+       BBTK_DECLARE_OUTPUT(LstContourY,std::vector<double>*);
+       BBTK_DECLARE_OUTPUT(LstContourZ,std::vector<double>*);
+       BBTK_DECLARE_OUTPUT(LstContourCrlX,std::vector<double>*);
+       BBTK_DECLARE_OUTPUT(LstContourCrlY,std::vector<double>*);
+       BBTK_DECLARE_OUTPUT(LstContourCrlZ,std::vector<double>*);
+       BBTK_DECLARE_OUTPUT(ImageValueResult,vtkImageData*);
+       BBTK_DECLARE_OUTPUT(ImageMaskResult,vtkImageData*);
+  BBTK_PROCESS(Process);
+  void Process();
+  BBTK_CREATE_WIDGET(CreateWidget);
+  void CreateWidget();
+
+private:
+       wxMaracasCoutourTool    *mwxwidget;
+       std::vector<double>             LstValue;
+       std::vector<double>             LstValuePosX;
+       std::vector<double>             LstValuePosY;
+       std::vector<double>             LstValuePosZ;
+       std::vector<double>             LstContourX;
+       std::vector<double>             LstContourY;
+       std::vector<double>             LstContourZ;
+       std::vector<double>             LstContourCrlX;
+       std::vector<double>             LstContourCrlY;
+       std::vector<double>             LstContourCrlZ;
+};
+
+BBTK_BEGIN_DESCRIBE_BLACK_BOX(ContourCrown,bbtk::WxBlackBox);
+BBTK_NAME("ContourCrown");
+BBTK_AUTHOR("eduardo.davila [at] creatis.insa-lyon.fr");
+BBTK_DESCRIPTION("Contour crown tool");
+    BBTK_CATEGORY("specific_appli");
+       BBTK_INPUT(ContourCrown,In,"Input Image", vtkImageData *,"" );
+       BBTK_INPUT(ContourCrown,wxVtkBaseView,"maracas visu wxVtkBaseView",wxVtkBaseView*,"");
+//JSTG 26-02-08 ---------------------------------------------------------------------------------------------------------
+       BBTK_INPUT(ContourCrown,ControlPointsInX,"Control Points X Coords ",std::vector<double>*,"");
+       BBTK_INPUT(ContourCrown,ControlPointsInY,"Control Points Y Coords ",std::vector<double>*,"");
+       BBTK_INPUT(ContourCrown,ControlPointsInZ,"Control Points Z Coords ",std::vector<double>*,"");
+//-----------------------------------------------------------------------------------------------------------------------
+       BBTK_OUTPUT(ContourCrown,LstValue          , "Pixel values"                                                             ,       std::vector<double>*,"");
+       BBTK_OUTPUT(ContourCrown,LstValuePosX  , "Positions X of the values"                                    ,       std::vector<double>*,"");
+       BBTK_OUTPUT(ContourCrown,LstValuePosY  , "Positions Y of the values"                                    ,       std::vector<double>*,"");
+       BBTK_OUTPUT(ContourCrown,LstValuePosZ  , "Positions Z of the values"                                    ,       std::vector<double>*,"");
+       BBTK_OUTPUT(ContourCrown,LstContourX   , "Positions X of the contours"                          ,       std::vector<double>*,"");
+       BBTK_OUTPUT(ContourCrown,LstContourY   , "Positions Y of the contours"                          ,       std::vector<double>*,"");
+       BBTK_OUTPUT(ContourCrown,LstContourZ   , "Positions Z of the contours"                          ,       std::vector<double>*,"");
+       BBTK_OUTPUT(ContourCrown,LstContourCrlX, "Positions X of the contour control points"    ,       std::vector<double>*,"");
+       BBTK_OUTPUT(ContourCrown,LstContourCrlY, "Positions Y of the contour control points"    ,       std::vector<double>*,"");
+       BBTK_OUTPUT(ContourCrown,LstContourCrlZ, "Positions Z of the contour control points"    ,       std::vector<double>*,"");
+       BBTK_OUTPUT(ContourCrown,ImageValueResult, "vtkImagedata with the values"       ,       vtkImageData *,"" );
+       BBTK_OUTPUT(ContourCrown,ImageMaskResult, "vtkImagedata with the mask"  ,       vtkImageData *,"" );
+BBTK_END_DESCRIBE_BLACK_BOX(ContourCrown);
+}
+// EO namespace bbmaracasvisu
+
+#endif // __bbmaracasvisuContourCrown_h_INCLUDED__
+#endif // _USE_WXWIDGETS_
+