]> Creatis software - creaContours.git/blob - bbtk/src/bbCreaContournDimensions.cxx
7db42f1f976006e73de03c6d9843c3d86d3e9155
[creaContours.git] / bbtk / src / bbCreaContournDimensions.cxx
1 #include "bbCreaContournDimensions.h"
2 #include "bbcreaContoursPackage.h"
3 namespace bbcreaContours
4 {
5
6 BBTK_ADD_BLACK_BOX_TO_PACKAGE(creaContours,nDimensions)
7 BBTK_BLACK_BOX_IMPLEMENTATION(nDimensions,bbtk::WxBlackBox);
8 void nDimensions::Process()
9 {
10  
11         double **vectx, **vecty, **vectz;
12         std::vector<int> size;
13         vtkImageData *mask, *value;
14
15         if(bbGetInputGet()==1){
16                 bbSetInputGet(0);
17                 eventHandler->checkInformationPanel();
18                 eventHandler->getValuesXYZ(vectx, vecty, vectz, &size); 
19                 eventHandler->getMaskValue(mask, value);
20         }
21
22     bbSetOutputX(vectx);
23         bbSetOutputY(vecty);
24         bbSetOutputZ(vectz);
25         bbSetOutputSizeContour(size);
26         bbSetOutputMask(mask);
27         bbSetOutputValue(value);
28 }
29 void nDimensions::CreateWidget()
30 {
31         std::string s = "data";
32         
33         std::string conceptsFN                  =  s + "/holaConceptsFile.cf";
34         std::string imageSourcesFN              = s + "/holaImagesInstantsFile.of";
35         std::string imageSectionsFN             = "";
36         std::string axeThingsFN                 = "";
37
38         std::map<std::string, ImageSourceThing *> * sourcesMap          = new std::map<std::string, ImageSourceThing *>();
39         std::map<std::string, ImageSectionThing *>* sectionsMap         = new std::map<std::string, ImageSectionThing *>();
40         std::map<std::string, AxeThing *>* axesMap                                      = new std::map<std::string, AxeThing *>();
41         std::map<std::string, ContourThing *>* outlinesMap                      = new std::map<std::string, ContourThing *>();  
42
43         vtkImageData* img = bbGetInputIn();
44         if(img==NULL){
45                 vtkMetaImageReader *reader = vtkMetaImageReader::New();
46                 reader->SetFileName( "data/hola.mhd" );
47                 reader->Update();
48                 img = reader->GetOutput();
49         }
50
51         ImageSourceThing * thing                                                                        = new ImageSourceThing(img);
52         sourcesMap->insert(std::pair<std::string, ImageSourceThing *>( "Source Image 1", thing));
53
54         OutlineModelBuilder * _builder                                                          = new OutlineModelBuilder( conceptsFN, s );
55         _builder->buildImageSource_Envornment( imageSourcesFN, sourcesMap );
56         _builder->buildImageSection_Envornment( imageSectionsFN, sectionsMap );         
57         _builder->buildAxe_Envornment(axeThingsFN, axesMap );
58         _builder->buildCountour_Envornment( imageSectionsFN, outlinesMap );
59         
60         wxFrame* frame1 = new wxFrame(bbGetWxParent(), wxID_ANY, wxT("ROI Application  -    Evaluation version, 23 Oct 2008 "), wxPoint(50,50), wxSize(800, 600) );
61         frame = new wxContourMainFrame( frame1, wxID_ANY, _T(""), wxPoint(50,50), wxSize(800, 600) ); 
62         frame1->CreateStatusBar();
63
64
65         wxAuiNotebook * parent = frame->createNotebook();
66
67         OutlineModelManager * modelManager   = new OutlineModelManager( _builder->getImSourceEnv(), _builder->getImSectionEnv(), _builder->getAxesEnv(),  _builder->getContourEnv() );
68
69         std::string xxx1("Instant Chooser");
70         wxInstantChooserPanel * instantPanel = new wxInstantChooserPanel( parent, 
71           xxx1, 
72           true );
73         //ImageSourceThing * imageSource       = modelManager->getImageSourceThingByKeyName( wxT("Source Image 1") );
74         std::string xxx2("Source Image 1");
75         ImageSourceThing * imageSource       = modelManager->getImageSourceThingByKeyName( xxx2);
76         
77         wxContourViewPanel * theViewPanel    = new wxContourViewPanel( imageSource->getSourceImage(), parent ); 
78         
79         eventHandler = new wxContourEventHandler();
80         eventHandler->setModelManager( modelManager );
81         eventHandler->setViewPanel( theViewPanel );
82         eventHandler->setInstantChooserPanel( instantPanel );
83
84         bool successConfiuration = eventHandler->configureEventsHandling();
85
86         frame->setViewPanel( theViewPanel );
87         frame->setInstantChooserPanel( instantPanel );
88
89         successConfiuration &= frame->configurePanels( parent );
90
91
92         //interfMainPanel* pannew = interfMainPanel::getInstance(frame1, eventHandler, s+"/Icons");
93
94    bbSetOutputWidget( frame1 ); 
95
96     
97   
98 }
99 void nDimensions::bbUserConstructor()
100 {
101
102         bbSetInputGet(0);
103
104 }
105 void nDimensions::bbUserCopyConstructor()
106 {
107
108 }
109 void nDimensions::bbUserDestructor()
110 {
111
112 }
113 }
114 // EO namespace bbCreaContour
115
116