1 #include "bbmaracasvisuImageBrowserReader.h"
2 #include "bbmaracasvisuPackage.h"
4 #include <marDynData.h>
8 namespace bbmaracasvisu
11 //------------------------------------------------------------------------------------------------------------------------------------
12 // Event handling auxiliar class
13 //------------------------------------------------------------------------------------------------------------------------------------
15 //--------------------------------------------------------------------------------------------------------------------------------
16 // Constructors ans destructors
17 //--------------------------------------------------------------------------------------------------------------------------------
18 wxMaracasImageBrowser02_EvtHandler::wxMaracasImageBrowser02_EvtHandler(
19 ImageBrowserReader *bbParent,
20 wxMaracasImageBrowser02 * wxmaracasimagebrowser02
24 mbbtkImageBrowserReader = bbParent;
25 mmaracasimagebrowser02 = wxmaracasimagebrowser02;
27 wxmaracasimagebrowser02->PushEventHandler(this);
28 Connect(mmaracasimagebrowser02->GetId(),wxEVT_MARACASIMAGEBROWSERCUTIMAGE,(wxObjectEventFunction) (wxCommandEventFunction) &wxMaracasImageBrowser02_EvtHandler::OnCutImage );
31 //--------------------------------------------------------------------------------------------------------------------------------
32 wxMaracasImageBrowser02_EvtHandler :: ~wxMaracasImageBrowser02_EvtHandler()
36 //--------------------------------------------------------------------------------------------------------------------------------
37 void wxMaracasImageBrowser02_EvtHandler :: OnCutImage(wxCommandEvent& event)
39 mbbtkImageBrowserReader->DefineImageOutput();
42 //--------------------------------------------------------------------
43 //--------------------------------------------------------------------
44 //--------------------------------------------------------------------
49 BBTK_ADD_BLACK_BOX_TO_PACKAGE(maracasvisu,ImageBrowserReader)
50 BBTK_BLACK_BOX_IMPLEMENTATION(ImageBrowserReader,bbtk::WxBlackBox);
52 //--------------------------------------------------------------------
53 void ImageBrowserReader::Process()
56 if (marparameters!=NULL){
60 marparameters = new marParameters();
63 if (wxmaracasimagebrowser02!=NULL){
64 delete wxmaracasimagebrowser02;
65 delete wxmaracasimagebrowser02_eventHandler;
66 wxmaracasimagebrowser02 = NULL;
67 wxmaracasimagebrowser02_eventHandler = NULL;
71 if (marfilesbase!=NULL){
72 marfilesbase->CleanListImages();
77 if (bbGetInputType()==-1 ) marfilesbase = new marGdcmDicomILPD(marparameters);
78 if (bbGetInputType()== 0 ) marfilesbase = new marRAWFiles(marparameters);
79 if (bbGetInputType()== 100) marfilesbase = new marGdcmDicomILPD(marparameters);
80 if (bbGetInputType()== 200) marfilesbase = new marRAW2Files(marparameters);
81 if (bbGetInputType()== 300) marfilesbase = new marRAW2AsciiFiles(marparameters);
83 if (marfilesbase!=NULL){
85 // marfilesbase->CleanListImages();
86 std::vector <std::string*> *lstStringFileName;
87 lstStringFileName = marfilesbase->GetListImages( );
88 int i,size = bbGetInputLstFileName().size();
89 for ( i=0 ; i<size; i++ ){
90 lstStringFileName->push_back( new std::string(bbGetInputLstFileName()[i]) );
93 wxmaracasimagebrowser02 = new wxMaracasImageBrowser02( bbGetOutputWidget() ,
95 marfilesbase->getParameters()
97 wxmaracasimagebrowser02_eventHandler = new wxMaracasImageBrowser02_EvtHandler(this,
98 wxmaracasimagebrowser02
101 wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
102 sizer->Add( wxmaracasimagebrowser02 , 1, wxALL|wxGROW, 0);
103 bbGetOutputWidget()->SetSizer(sizer);
104 bbGetOutputWidget()->Layout();
106 marfilesbase->loadActualSerie( NULL/*this->_progressGauge*/ );
107 vtkImageData *dummy = marfilesbase->getVolume( )->castVtk();
108 wxmaracasimagebrowser02->LoadData( new marImageData(dummy) );
109 wxmaracasimagebrowser02->Start();
111 } // if marfilesbase!=NULL
114 //--------------------------------------------------------------------
115 void ImageBrowserReader::CreateWidget()
117 bbSetOutputWidget( new wxPanel( bbGetWxParent() , -1 ) );
120 //--------------------------------------------------------------------
121 void ImageBrowserReader::bbUserConstructor()
123 bbSetInputType(-999);
124 marparameters = NULL;
126 wxmaracasimagebrowser02 = NULL;
127 wxmaracasimagebrowser02_eventHandler = NULL;
130 //--------------------------------------------------------------------
131 void ImageBrowserReader::bbUserCopyConstructor()
135 //--------------------------------------------------------------------
136 void ImageBrowserReader::bbUserDestructor()
140 void ImageBrowserReader::DefineImageOutput()
143 wxmaracasimagebrowser02->ForceToFinisReadActiveImages( );
144 wxmaracasimagebrowser02->GetROI( voi );
146 vtkImageData *imagedata;
147 marDynData *dyndata = new marDynData( marfilesbase->getParameters() );
148 dyndata->loadData( marfilesbase->getVolume( ) , voi );
149 imagedata = dyndata->getVolume( )->castVtk();
151 bbSetOutputOut( imagedata );
158 // EO namespace bbmaracasvisu