]> Creatis software - creaMaracasVisu.git/commitdiff
*** empty log message ***
authorJuan Prieto <Juan.Prieto@creatis.insa-lyon.fr>
Fri, 27 Nov 2009 19:49:59 +0000 (19:49 +0000)
committerJuan Prieto <Juan.Prieto@creatis.insa-lyon.fr>
Fri, 27 Nov 2009 19:49:59 +0000 (19:49 +0000)
bbtk/bbs/appli/ExampleOpenDialog.bbs [new file with mode: 0644]
bbtk/src/bbcreaMaracasVisuOpenImageDialog.cxx [new file with mode: 0644]
bbtk/src/bbcreaMaracasVisuOpenImageDialog.h [new file with mode: 0644]
bbtk/src/bbcreaMaracasVisuVolumeRendering.cxx
lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.cxx [new file with mode: 0644]
lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.h [new file with mode: 0644]

diff --git a/bbtk/bbs/appli/ExampleOpenDialog.bbs b/bbtk/bbs/appli/ExampleOpenDialog.bbs
new file mode 100644 (file)
index 0000000..1632a7c
--- /dev/null
@@ -0,0 +1,7 @@
+load std
+load wx
+load creaMaracasVisu
+
+new OpenImageDialog diag
+
+exec diag
\ No newline at end of file
diff --git a/bbtk/src/bbcreaMaracasVisuOpenImageDialog.cxx b/bbtk/src/bbcreaMaracasVisuOpenImageDialog.cxx
new file mode 100644 (file)
index 0000000..1099679
--- /dev/null
@@ -0,0 +1,63 @@
+#include "bbcreaMaracasVisuOpenImageDialog.h"
+#include "bbcreaMaracasVisuPackage.h"
+
+namespace bbcreaMaracasVisu
+{
+
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,OpenImageDialog)
+BBTK_BLACK_BOX_IMPLEMENTATION(OpenImageDialog,bbtk::AtomicBlackBox);
+void OpenImageDialog::Process()
+{
+// THE MAIN PROCESSING METHOD BODY 
+//   Here we simply set the input 'In' value to the output 'Out' 
+//   And print out the output value 
+// INPUT/OUTPUT ACCESSORS ARE OF THE FORM : 
+//    void bbSet{Input|Output}NAME(const TYPE&) 
+//    const TYPE& bbGet{Input|Output}NAME() const  
+//    Where : 
+//    * NAME is the name of the input/output 
+//      (the one provided in the attribute 'name' of the tag 'input') 
+//    * TYPE is the C++ type of the input/output 
+//      (the one provided in the attribute 'type' of the tag 'input')
+
+
+       OpenLoadImageDialog diag = OpenLoadImageDialog();
+
+
+
+    bbSetOutputOut( diag.getImageData() ); 
+    std::cout << "Output value = " <<bbGetOutputOut() << std::endl; 
+  
+}
+void OpenImageDialog::bbUserSetDefaultValues()
+{
+//  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX  
+//    Here we initialize the input 'In' to 0 
+  // bbSetInputIn(0); 
+  
+}
+void OpenImageDialog::bbUserInitializeProcessing()
+{
+//  THE INITIALIZATION METHOD BODY : 
+//    Here does nothing  
+//    but this is where you should allocate the internal/output pointers  
+//    if any  
+  
+}
+void OpenImageDialog::bbUserFinalizeProcessing()
+{
+//  THE FINALIZATION METHOD BODY : 
+//    Here does nothing  
+//    but this is where you should desallocate the internal/output pointers  
+//    if any 
+  
+}
+}
+// EO namespace bbcreaMaracasVisu
+
+
diff --git a/bbtk/src/bbcreaMaracasVisuOpenImageDialog.h b/bbtk/src/bbcreaMaracasVisuOpenImageDialog.h
new file mode 100644 (file)
index 0000000..e0e9681
--- /dev/null
@@ -0,0 +1,34 @@
+#ifndef __bbcreaMaracasVisuOpenImageDialog_h_INCLUDED__
+#define __bbcreaMaracasVisuOpenImageDialog_h_INCLUDED__
+#include "bbcreaMaracasVisu_EXPORT.h"
+#include "bbtkAtomicBlackBox.h"
+#include "iostream"
+#include "OpenLoadImageDialog.h"
+
+namespace bbcreaMaracasVisu
+{
+
+class bbcreaMaracasVisu_EXPORT OpenImageDialog
+ : 
+   public bbtk::AtomicBlackBox
+{
+  BBTK_BLACK_BOX_INTERFACE(OpenImageDialog,bbtk::AtomicBlackBox);
+  //BBTK_DECLARE_INPUT(In,double);
+  BBTK_DECLARE_OUTPUT(Out,vtkImageData*);
+  BBTK_PROCESS(Process);
+  void Process();
+};
+
+BBTK_BEGIN_DESCRIBE_BLACK_BOX(OpenImageDialog,bbtk::AtomicBlackBox);
+BBTK_NAME("OpenImageDialog");
+BBTK_AUTHOR("juanprietob@gmail.com");
+BBTK_DESCRIPTION("If Gimmicks");
+BBTK_CATEGORY("__CATEGORY__");
+//BBTK_INPUT(OpenImageDialog,In,"First input",double,"");
+BBTK_OUTPUT(OpenImageDialog,Out,"First output",vtkImageData*,"");
+BBTK_END_DESCRIBE_BLACK_BOX(OpenImageDialog);
+}
+// EO namespace bbcreaMaracasVisu
+
+#endif // __bbcreaMaracasVisuOpenImageDialog_h_INCLUDED__
+
index 52428576790e80081eb1eb501ce839f18f413a6d..dd5d70a07ec3d37ac9eb037e781a22e25498a4d7 100644 (file)
@@ -6,92 +6,93 @@
 namespace bbcreaMaracasVisu
 {
 
-BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,VolumeRendering)
-BBTK_BLACK_BOX_IMPLEMENTATION(VolumeRendering,bbtk::WxBlackBox);
-void VolumeRendering::Process()
-{
-// THE MAIN PROCESSING METHOD BODY 
-//   Here we simply set the input 'In' value to the output 'Out' 
-//   And print out the output value 
-// INPUT/OUTPUT ACCESSORS ARE OF THE FORM : 
-//    void bbSet{Input|Output}NAME(const TYPE&) 
-//    const TYPE& bbGet{Input|Output}NAME() const  
-//    Where : 
-//    * NAME is the name of the input/output 
-//      (the one provided in the attribute 'name' of the tag 'input') 
-//    * TYPE is the C++ type of the input/output 
-//      (the one provided in the attribute 'type' of the tag 'input') 
-       wxMaracasMultipleVolumeRendererView* volview = (wxMaracasMultipleVolumeRendererView*)bbGetOutputWidget();
-       vtkImageData* _img1 = bbGetInputIn0();
-       vtkImageData* _img2 = bbGetInputIn1();
-       vtkImageData* _img3 = bbGetInputIn2();
-       vtkImageData* _img4 = bbGetInputIn3();
-       vtkRenderer* renderer = bbGetInputRenderer();
+       BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaMaracasVisu,VolumeRendering)
+       BBTK_BLACK_BOX_IMPLEMENTATION(VolumeRendering,bbtk::WxBlackBox);
+       void VolumeRendering::Process()
+       {
+        
+       // THE MAIN PROCESSING METHOD BODY 
+       //   Here we simply set the input 'In' value to the output 'Out' 
+       //   And print out the output value 
+       // INPUT/OUTPUT ACCESSORS ARE OF THE FORM : 
+       //    void bbSet{Input|Output}NAME(const TYPE&) 
+       //    const TYPE& bbGet{Input|Output}NAME() const  
+       //    Where : 
+       //    * NAME is the name of the input/output 
+       //      (the one provided in the attribute 'name' of the tag 'input') 
+       //    * TYPE is the C++ type of the input/output 
+       //      (the one provided in the attribute 'type' of the tag 'input') 
+               wxMaracasMultipleVolumeRendererView* volview = (wxMaracasMultipleVolumeRendererView*)bbGetOutputWidget();
+               vtkImageData* _img1 = bbGetInputIn0();
+               vtkImageData* _img2 = bbGetInputIn1();
+               vtkImageData* _img3 = bbGetInputIn2();
+               vtkImageData* _img4 = bbGetInputIn3();
+               vtkRenderer* renderer = bbGetInputRenderer();
 
-       if(volview!=NULL){
-               if(renderer!=NULL&&_currentrenderer != renderer){
-                       volview->setRenderer(renderer);                 
-                       _currentrenderer = renderer;
-               }
-               if(_currentrenderer!=NULL){
-                       if(_img1 !=NULL){
-                       volview->addVolume(_img1, "INPUT 1");
-                       }
-                       if(_img2 !=NULL){
-                               volview->addVolume(_img2, "INPUT 2");
-                       }
-                       if(_img3 !=NULL){
-                               volview->addVolume(_img3, "INPUT 3");
+               if(volview!=NULL){
+                       if(renderer!=NULL&&_currentrenderer != renderer){
+                               volview->setRenderer(renderer);                 
+                               _currentrenderer = renderer;
                        }
-                       if(_img4 !=NULL){
-                               volview->addVolume(_img4, "INPUT 4");
-                       }
-               }       
+                       if(_currentrenderer!=NULL){
+                               if(_img1 !=NULL){
+                               volview->addVolume(_img1, "INPUT 1");
+                               }
+                               if(_img2 !=NULL){
+                                       volview->addVolume(_img2, "INPUT 2");
+                               }
+                               if(_img3 !=NULL){
+                                       volview->addVolume(_img3, "INPUT 3");
+                               }
+                               if(_img4 !=NULL){
+                                       volview->addVolume(_img4, "INPUT 4");
+                               }
+                       }       
+               }
 
-               //vtkImageData* img1 = ;
+                       //vtkImageData* img1 = ;
 
-               /*bbSetOutputOut0(volview->GetOutputImages()[0]);
-               bbSetOutputOut1(volview->GetOutputImages()[1]);
-               bbSetOutputOut2(volview->GetOutputImages()[2]);
-               bbSetOutputOut3(volview->GetOutputImages()[3]);*/
+                       /*bbSetOutputOut0(volview->GetOutputImages()[0]);
+                       bbSetOutputOut1(volview->GetOutputImages()[1]);
+                       bbSetOutputOut2(volview->GetOutputImages()[2]);
+                       bbSetOutputOut3(volview->GetOutputImages()[3]);*/
 
-}
-void VolumeRendering::CreateWidget(wxWindow* parent)
-{
-       wxMaracasMultipleVolumeRendererView* volview = wxMaracasMultipleVolumeRendererView::getInstance(parent);
-       bbSetOutputWidget(volview);
-}
-void VolumeRendering::bbUserSetDefaultValues()
-{
-//  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX  
-//  Here we initialize the input 'In' to 0 
-    bbSetInputIn0(0); 
-    bbSetInputIn1(0); 
-    bbSetInputIn2(0); 
-    bbSetInputIn3(0); 
-    bbSetInputRenderer(0);  
+       }
+       void VolumeRendering::CreateWidget(wxWindow* parent)
+       {
+               wxMaracasMultipleVolumeRendererView* volview = wxMaracasMultipleVolumeRendererView::getInstance(parent);
+               bbSetOutputWidget(volview);
+       }
+       void VolumeRendering::bbUserSetDefaultValues()
+       {
+        
+       //  SET HERE THE DEFAULT INPUT/OUTPUT VALUES OF YOUR BOX  
+       //  Here we initialize the input 'In' to 0 
+               bbSetInputIn0(0); 
+               bbSetInputIn1(0); 
+               bbSetInputIn2(0); 
+               bbSetInputIn3(0); 
+               bbSetInputRenderer(0);  
 
-       bbSetOutputOut0(NULL);
-       bbSetOutputOut1(NULL);
-       bbSetOutputOut2(NULL);
-       bbSetOutputOut3(NULL);
-  
-}
-void VolumeRendering::bbUserInitializeProcessing()
-{ 
-       _currentrenderer = NULL;
-}
-void VolumeRendering::bbUserFinalizeProcessing()
-{
-//  THE FINALIZATION METHOD BODY : 
-//    Here does nothing  
-//    but this is where you should desallocate the internal/output pointers  
-//    if any 
-  
-}
+               bbSetOutputOut0(NULL);
+               bbSetOutputOut1(NULL);
+               bbSetOutputOut2(NULL);
+               bbSetOutputOut3(NULL);
+         
+       }
+       void VolumeRendering::bbUserInitializeProcessing()
+       
+               _currentrenderer = NULL;
+       }
+       void VolumeRendering::bbUserFinalizeProcessing()
+       {
+        
+       //  THE FINALIZATION METHOD BODY : 
+       //    Here does nothing  
+       //    but this is where you should desallocate the internal/output pointers  
+       //    if any 
+         
+       }
 }
 // EO namespace bbcreaMaracasVisu
 
diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.cxx b/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.cxx
new file mode 100644 (file)
index 0000000..23d080f
--- /dev/null
@@ -0,0 +1,58 @@
+
+#include "OpenLoadImageDialog.h"
+
+typedef vtkImageData* (*GETIMAGEDATADIALOG)();
+
+OpenLoadImageDialog::OpenLoadImageDialog()
+{
+
+
+       img = NULL;
+       bool gimmicknotfound = true;
+       
+#ifdef WIN32
+       HINSTANCE gimmickhandle; 
+       gimmickhandle = LoadLibrary(TEXT("creaImageIO2.dll"));  
+       if(gimmickhandle!=NULL){        
+
+               
+               GETIMAGEDATADIALOG getImageDataDialog;
+
+               getImageDataDialog = (GETIMAGEDATADIALOG)GetProcAddress(gimmickhandle, "getImageDataDialog");
+
+               std::cout<<"imagedatadialog "<<getImageDataDialog<<std::endl;
+
+               if(getImageDataDialog!=NULL){
+                       img = getImageDataDialog();
+                       gimmicknotfound = false;
+               }
+       }       
+#else
+       //GNU part
+#endif
+
+
+       if(gimmicknotfound){
+
+               wxFileDialog* FD = 
+                 new wxFileDialog( 0, _T("Read Image"),wxEmptyString,wxEmptyString, _T("*.mhd"));
+               
+               if (FD->ShowModal()==wxID_OK)
+               {
+                       std::string  path= FD->GetPath();
+
+                       vtkMetaImageReader *reader =  vtkMetaImageReader::New();        
+                       reader->SetFileName(path.c_str());              
+                       img = reader->GetOutput();              
+               }               
+       }       
+}
+
+//-------------------------------------------------------------------
+OpenLoadImageDialog::~OpenLoadImageDialog()
+{
+}
+
+vtkImageData* OpenLoadImageDialog::getImageData(){
+       return img;
+}
\ No newline at end of file
diff --git a/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.h b/lib/maracasVisuLib/src/interface/wxWindows/widgets/OpenLoadImageDialog.h
new file mode 100644 (file)
index 0000000..1cdcf89
--- /dev/null
@@ -0,0 +1,25 @@
+#ifndef OpenLoadImageDialog_H_
+#define OpenLoadImageDialog_H_
+
+#include "marTypes.h"
+#include "vtkImageData.h"
+#include "vtkMetaImageReader.h"
+#include "wx/wx.h"
+
+
+
+class creaMaracasVisu_EXPORT OpenLoadImageDialog {
+public:
+       OpenLoadImageDialog();
+       ~OpenLoadImageDialog();
+       
+
+       vtkImageData* getImageData();
+protected:
+
+private:
+       vtkImageData* img;
+       
+};
+
+#endif /*OpenLoadImageDialog_H_*/