+/*# ---------------------------------------------------------------------
+#
+# Copyright (c) CREATIS (Centre de Recherche en Acquisition et Traitement de l'Image
+# pour la Sant�)
+# Authors : Eduardo Davila, Frederic Cervenansky, Claire Mouton
+# Previous Authors : Laurent Guigues, Jean-Pierre Roux
+# CreaTools website : www.creatis.insa-lyon.fr/site/fr/creatools_accueil
+#
+# This software is governed by the CeCILL-B license under French law and
+# abiding by the rules of distribution of free software. You can use,
+# modify and/ or redistribute the software under the terms of the CeCILL-B
+# license as circulated by CEA, CNRS and INRIA at the following URL
+# http://www.cecill.info/licences/Licence_CeCILL-B_V1-en.html
+# or in the file LICENSE.txt.
+#
+# As a counterpart to the access to the source code and rights to copy,
+# modify and redistribute granted by the license, users are provided only
+# with a limited warranty and the software's author, the holder of the
+# economic rights, and the successive licensors have only limited
+# liability.
+#
+# The fact that you are presently reading this means that you have had
+# knowledge of the CeCILL-B license and that you accept its terms.
+# ------------------------------------------------------------------------ */
+
#include "bbCreaContournDimensions.h"
-#include "bbCreaContourPackage.h"
-namespace bbCreaContour
+#include "bbcreaContoursPackage.h"
+
+#include "creaSystem.h"
+namespace bbcreaContours
{
-BBTK_ADD_BLACK_BOX_TO_PACKAGE(CreaContour,nDimensions)
+BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaContours,nDimensions)
BBTK_BLACK_BOX_IMPLEMENTATION(nDimensions,bbtk::WxBlackBox);
void nDimensions::Process()
{
-
- double **vectx, **vecty, **vectz;
- std::vector<int> size;
- vtkImageData *mask, *value;
-
+printf("EED nDimensions::Process Start \n" );
+ double **vectx = 0, **vecty = 0, **vectz = 0;
-// eventHandler->getValuesXYZ(vectx, vecty, vectz, &size);
-// eventHandler->getMaskValue(mask, value);
-
- bbSetOutputX(vectx);
- bbSetOutputY(vecty);
- bbSetOutputZ(vectz);
- bbSetOutputSizeContour(size);
- bbSetOutputMask(mask);
- bbSetOutputValue(value);
-}
-void nDimensions::CreateWidget()
-{
- std::string s = "data";
-
- std::string conceptsFN = s + "/holaConceptsFile.cf";
- std::string imageSourcesFN = s + "/holaImagesInstantsFile.of";
- std::string imageSectionsFN = "";
- std::string axeThingsFN = "";
+ std::vector< void * > vectortemp;
+ std::vector<int> size;
+ vtkImageData **mask = 0, **value = 0;
- std::map<std::string, ImageSourceThing *> * sourcesMap = new std::map<std::string, ImageSourceThing *>();
- std::map<std::string, ImageSectionThing *>* sectionsMap = new std::map<std::string, ImageSectionThing *>();
- std::map<std::string, AxeThing *>* axesMap = new std::map<std::string, AxeThing *>();
- std::map<std::string, ContourThing *>* outlinesMap = new std::map<std::string, ContourThing *>();
+ vtkImageData* img = bbGetInputIn();
+ std::vector<vtkImageData*> selectedimages;
+ if(img!=NULL && currentimg!=img)
+ {
+ wxContourMainFrame::getInstance()->ShowToolsPanel(true);
+ currentimg=img;
+ selectedimages.push_back(img);
+printf("EED nDimensions::Process 1 \n" );
+ wxContourMainFrame::getInstance()->setVectImages(selectedimages);
+printf("EED nDimensions::Process 2 \n" );
+ }
- vtkImageData* img = bbGetInputIn();
- if(img==NULL){
- vtkMetaImageReader *reader = vtkMetaImageReader::New();
- reader->SetFileName( "data/hola.mhd" );
- reader->Update();
- img = reader->GetOutput();
+ if(currentimg != NULL)
+ {
+ int contourtype = bbGetInputContourType();
+ //wxContourMainFrame::getInstance()->getValuesXYZ(vectx, vecty, vectz, &size);
+ //wxContourMainFrame::getInstance()->getMaskValue(mask, value, contourtype);
}
- ImageSourceThing * thing = new ImageSourceThing(img);
- sourcesMap->insert(std::pair<std::string, ImageSourceThing *>( "Source Image 1", thing));
+ wxContourMainFrame::getInstance()->RefreshInterface();
+
+
+printf("EED nDimensions::Process 3.1 \n" );
+// bbSetOutputX(vectx);
+printf("EED nDimensions::Process 3.2 \n" );
+// bbSetOutputY(vecty);
+printf("EED nDimensions::Process 3.3 \n" );
+// bbSetOutputZ(vectz);
+printf("EED nDimensions::Process 3.4 \n" );
+// bbSetOutputSizeContour(size);
+printf("EED nDimensions::Process 3.5 \n" );
+// bbSetOutputMask(*mask);
+printf("EED nDimensions::Process 3.6 \n" );
+// bbSetOutputValue(*value);
+printf("EED nDimensions::Process End \n" );
+}
- OutlineModelBuilder * _builder = new OutlineModelBuilder( conceptsFN, s );
- _builder->buildImageSource_Envornment( imageSourcesFN, sourcesMap );
- _builder->buildImageSection_Envornment( imageSectionsFN, sectionsMap );
- _builder->buildAxe_Envornment(axeThingsFN, axesMap );
- _builder->buildCountour_Envornment( imageSectionsFN, outlinesMap );
+//-----------------------------------------------------------------
+void nDimensions::CreateWidget(wxWindow* parent)
+{
+ //vtkImageData* img = bbGetInputIn();
+
+ std::vector<vtkImageData*> selectedimages;
+ //selectedimages.push_back(img);
+
+ //wxFrame* frame1 = new wxFrame(parent, wxID_ANY, wxT("ROI Application - Evaluation version, 23 Oct 2008 "), wxPoint(400,50), wxSize(800, 600) );
+ //frame = wxContourMainFrame::getInstance(frame1, wxID_ANY, wxString(_T("")), wxPoint(100,50), wxSize(800, 600), selectedimages );
+ //new wxContourMainFrame( frame1, wxID_ANY, _T(""), wxPoint(50,50), wxSize(800, 600),selectedimages );
+ //frame1->CreateStatusBar();
+ //bbSetOutputWidget( frame1 );
+std::string datadir=".";
+#ifdef WIN32
+printf("EED WARNING Verify that GetDllAppPath in nDimensions::CreateWidget bbCreaContournDimensions is working.. \n");
+ datadir = crea::System::GetDllAppPath("bbCreaContours.dll");
+#else
+ datadir= crea::System::GetExecutablePath();
+#endif
- frame = new wxContourMainFrame( bbGetWxParent(), wxID_ANY, wxString(""), wxPoint(50,50), wxSize(800, 600) );
-
- wxAuiNotebook * parent = frame->createNotebook();
-
- OutlineModelManager * modelManager = new OutlineModelManager( _builder->getImSourceEnv(), _builder->getImSectionEnv(), _builder->getAxesEnv(), _builder->getContourEnv() );
-
- wxInstantChooserPanel * instantPanel = new wxInstantChooserPanel( parent, "Instant Chooser", true );
- ImageSourceThing * imageSource = modelManager->getImageSourceThingByKeyName( "Source Image 1" );
- wxContourViewPanel * theViewPanel = new wxContourViewPanel( imageSource->getSourceImage(), parent );
- eventHandler = new wxContourEventHandler();
- eventHandler->setModelManager( modelManager );
- eventHandler->setViewPanel( theViewPanel );
- eventHandler->setInstantChooserPanel( instantPanel );
-
- bool successConfiuration = eventHandler->configureEventsHandling();
-
- frame->setViewPanel( theViewPanel );
- frame->setInstantChooserPanel( instantPanel );
-
- successConfiuration &= frame->configurePanels( parent );
-
+#ifdef LINUX /* assume this is OSX */
+ datadir=datadir+"/../share/creaContours";
+#endif // MACOSX
+
+#ifdef MACOSX /* assume this is OSX */
+ datadir=datadir+"/../../../../share/creaContours";
+#endif // MACOSX
+
+
+printf("EED nDimensions::CreateWidget path=%s\n",datadir.c_str() );
- interfMainPanel* pannew = interfMainPanel::getInstance(frame, eventHandler, s+"/Icons");
+ wxContourMainFrame* wxcontourmainframe = wxContourMainFrame::getInstance(parent, wxID_ANY, wxString(_T("")), wxPoint(100,50), wxSize(800, 600), selectedimages,wxDEFAULT_FRAME_STYLE | wxSUNKEN_BORDER,datadir );
+printf("EED nDimensions::CreateWidget 1 \n" );
+ wxContourMainFrame::getInstance()->ShowToolsPanel(false);
+printf("EED nDimensions::CreateWidget 2 \n" );
- bbSetOutputWidget( frame );
+// bbSetOutputWidget( new wxPanel(parent,-1) );
+ bbSetOutputWidget( wxcontourmainframe );
-
-
+printf("EED nDimensions::CreateWidget 3 \n" );
}
-void nDimensions::bbUserConstructor()
-{
-}
-void nDimensions::bbUserCopyConstructor()
+//-----------------------------------------------------------------
+void nDimensions::bbUserSetDefaultValues()
{
-
+ bbSetInputContourType(0);
+ bbSetInputIn(NULL);
}
-void nDimensions::bbUserDestructor()
-{
+//-----------------------------------------------------------------
+void nDimensions::bbUserInitializeProcessing()
+{
}
-}
-// EO namespace bbCreaContour
+//-----------------------------------------------------------------
+void nDimensions::bbUserFinalizeProcessing()
+{
+}
+} // EO namespace bbCreaContour