+++ /dev/null
-/*=========================================================================
-
- Program: wxMaracas
- Module: $RCSfile: wxMaracasFrame02.cxx,v $
- Language: C++
- Date: $Date: 2008/10/31 16:32:10 $
- Version: $Revision: 1.1 $
-
- Copyright: (c) 2002, 2003
- License:
-
- This software is distributed WITHOUT ANY WARRANTY; without even
- the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
- PURPOSE. See the above copyright notice for more information.
-
-=========================================================================*/
-
-
-#include <wx/wx.h>
-#include <wx/frame.h>
-#include <wx/dir.h>
-#include <wx/arrstr.h>
-
-#include <vtkCommand.h>
-#include <vtkImageChangeInformation.h>
-#include <vtkImageCast.h>
-#include <vtkImageData.h>
-#include <vtkImageViewer2.h>
-#include <vtkCamera.h>
-#include <vtkRenderer.h>
-
-
-#include <gdcm.h>
-#include <gdcmFile.h>
-#include "vtkGdcmReader.h"
-
-
-#include "wxMaracasParametersDialog.h"
-#include "wxMaracasDataBrowser.h"
-#include "widgets/wxSTLWidget_02.h"
-#include "widgets/wxSTLWidget_03.h"
-#include "widgets/wxMPRWidget.h"
-
-
-#include <wx/panel.h>
-#include <wx/toolbar.h>
-#include <wx/dialog.h>
-#include <wx/colordlg.h>
-#include <wx/listctrl.h>
-#include <wx/textctrl.h>
-
-// EED Borrame not used
-#include "wxMaracasImageBrowser.h"
-
-#include "wxMaracasHelpDialog.h"
-#include "marDictionary.h"
-#include "kernel/marImageData.h"
-
-
-
-//using namespace std;
-#include "wxMaracasFrame02.h"
-
-#include "ILPD/src/controlerInterface/ILPDViewListPatient.h"
-#include "ILPD/src/wxInterface/ILPDViewWxWindow.h"
-
-
-// ----------------------------------------------------------------------------
-// Maracas "logic world" headers
-// ----------------------------------------------------------------------------
-//#include <kernel/marInterface.h>
-
-#ifndef __WXMSW__
- #include "res/bitmaps/connect.xpm"
- #include "res/bitmaps/params.xpm"
- #include "res/bitmaps/imagebrowser.xpm"
- #include "res/bitmaps/3D.xpm"
- #include "res/bitmaps/plans.xpm"
- #include "res/bitmaps/quant.xpm"
- #include "res/bitmaps/rotate.xpm"
- #include "res/bitmaps/bright.xpm"
- #include "res/bitmaps/pan.xpm"
- #include "res/bitmaps/zoom.xpm"
- #include "res/bitmaps/clear.xpm"
- #include "res/bitmaps/intensity.xpm"
- #include "res/bitmaps/help.xpm"
- #include "res/bitmaps/stl.xpm"
- #include "res/bitmaps/creatis_logo.xpm"
- #include "res/bitmaps/MPR.xpm"
- #include "res/bitmaps/Axis_JF.xpm"
- #include "res/bitmaps/Axis_JF_MH1.xpm"
- #include "res/bitmaps/Axis_JF_MH2.xpm"
- #include "res/bitmaps/ProcessingCT.xpm"
- #include "res/bitmaps/QuantificationCT.xpm"
- #include "res/icons/maracas.xpm"
-
-
- #include "res/bitmaps2/v2_bi_bl_CTQuantification.xpm"
- #include "res/bitmaps2/v2_bi_bl_Information.xpm"
- #include "res/bitmaps2/v2_bi_bl_IRMQuantification.xpm"
- #include "res/bitmaps2/v2_bi_bl_ListPatient_Voi.xpm"
- #include "res/bitmaps2/v2_bi_bl_Logo.xpm"
- #include "res/bitmaps2/v2_bi_bl_ManualRegistration.xpm"
- #include "res/bitmaps2/v2_bi_bl_Params.xpm"
- #include "res/bitmaps2/v2_bi_bl_Processing.xpm"
- #include "res/bitmaps2/v2_bi_bl_STLFormat.xpm"
- #include "res/bitmaps2/v2_bi_bl_Tests.xpm"
- #include "res/bitmaps2/v2_bi_bl_VascularTree.xpm"
- #include "res/bitmaps2/v2_bi_mask.xpm"
- #include "res/bitmaps2/v2_bi_re_CTQuantification.xpm"
- #include "res/bitmaps2/v2_bi_re_IRMQuantification.xpm"
- #include "res/bitmaps2/v2_bi_re_ListPatient_Voi.xpm"
- #include "res/bitmaps2/v2_bi_re_Logo.xpm"
- #include "res/bitmaps2/v2_bi_re_ManualRegistration.xpm"
- #include "res/bitmaps2/v2_bi_re_Params.xpm"
- #include "res/bitmaps2/v2_bi_re_Processing.xpm"
- #include "res/bitmaps2/v2_bi_re_STLFormat.xpm"
- #include "res/bitmaps2/v2_bi_re_Tests.xpm"
- #include "res/bitmaps2/v2_bi_re_VascularTree.xpm"
- #include "res/bitmaps2/v2_sm_bl_AddAllPatients.xpm"
- #include "res/bitmaps2/v2_sm_bl_AddPatient.xpm"
- #include "res/bitmaps2/v2_sm_bl_AxisExtraction.xpm"
- #include "res/bitmaps2/v2_sm_bl_CreateDICOMDIR.xpm"
- #include "res/bitmaps2/v2_sm_bl_ListPatient.xpm"
- #include "res/bitmaps2/v2_sm_bl_MPR.xpm"
- #include "res/bitmaps2/v2_sm_bl_OpenDICOMDIR.xpm"
- #include "res/bitmaps2/v2_sm_bl_OpenDirectory.xpm"
- #include "res/bitmaps2/v2_sm_bl_ProcessingCT.xpm"
- #include "res/bitmaps2/v2_sm_bl_Processing.xpm"
- #include "res/bitmaps2/v2_sm_bl_Quantification.xpm"
- #include "res/bitmaps2/v2_sm_bl_STLFormat.xpm"
- #include "res/bitmaps2/v2_sm_bl_TreeExtraction_JF_MH.xpm"
- #include "res/bitmaps2/v2_sm_bl_voi.xpm"
- #include "res/bitmaps2/v2_sm_mask.xpm"
- #include "res/bitmaps2/v2_sm_re_ListPatient.xpm"
- #include "res/bitmaps2/v2_sm_re_voi.xpm"
- #include "res/bitmaps2/v2_sm_tr_MPR.xpm"
- #include "res/bitmaps2/v2_sm_tr_Processing.xpm"
- #include "res/bitmaps2/v2_sm_tr_Quantification.xpm"
- #include "res/bitmaps2/v2_sm_tr_STLFormat.xpm"
- #include "res/bitmaps2/v2_sm_tr_VOI.xpm"
-#endif
-
-
-
-
-
-
-BEGIN_EVENT_TABLE( wxMaracasFrame02, wxFrame )
- EVT_MENU( ID_TOOLBAR_DATA_BROWSER , wxMaracasFrame02::OnLoadPatientData )
-
- EVT_MENU( ID_TOOLBAR_PARAMETERS , wxMaracasFrame02::OnParameters )
- EVT_MENU( ID_TOOLBAR_IMAGE_BROWSER , wxMaracasFrame02::OnLoadImageData02 )
- EVT_MENU( ID_TOOLBAR_3D_BROWSER , wxMaracasFrame02::OnStartExperiment )
- EVT_MENU( ID_TOOLBAR_HELP , wxMaracasFrame02::OnHelp )
- EVT_MENU( ID_TOOLBAR_PLANS , wxMaracasFrame02::OnQuant )
-
- EVT_MENU( ID_TOOLBAR_MPR , wxMaracasFrame02::OnMPR )
- EVT_MENU( ID_TOOLBAR_PROCESSING_CT , wxMaracasFrame02::OnProcessingCT )
- EVT_MENU( ID_TOOLBAR_QUANTIFICATION_CT, wxMaracasFrame02::OnQuantificationCT )
-
- EVT_MENU( ID_TOOLBAR_EMPTY_PANEL , wxMaracasFrame02::OnEmptyPanel )
- EVT_MENU( ID_TOOLBAR_EMPTY_PANEL_2 , wxMaracasFrame02::OnEmptyPanel_2 )
-
- EVT_MENU( ID_TOOLBAR_STL , wxMaracasFrame02::OnStl )
- EVT_CLOSE( wxMaracasFrame02::OnQuit )
-
- // EED : This is not top !!!!!!!!!!!
- EVT_TOOL( 19999 , wxMaracasFrame02::OnRegenerateAll )
- EVT_TOOL( 19998 , wxMaracasFrame02::OnRegenerateSplineAxe )
- EVT_TOOL( 19997 , wxMaracasFrame02::OnCleanContours )
- EVT_TOOL( 19996 , wxMaracasFrame02::OnRegenerateSignal )
-
- EVT_LIST_ITEM_ACTIVATED( ID_SERIES_LIST, wxMaracasFrame02::OnLoadImageData )
-
- EVT_TOOL(wxSurfaceWidget::ID_BUTTON_NEW_AXIS, wxMaracasFrame02::OnNewAxis )
- EVT_TOOL(wxSurfaceWidget::ID_BUTTON_DELETE_AXIS,wxMaracasFrame02::OnDeleteAxis )
-END_EVENT_TABLE( );
-
-//----------------------------------------------------------------------------
-wxMaracasFrame02::wxMaracasFrame02( wxFrame *parent, wxWindowID id,
- marInterface *mar, marInterfaceCT *marCT,
- char *dictionaryFileName,
- const wxString& title, const wxPoint& pos,
- const wxSize& size, long style)
- : wxFrame( parent, id, title, pos, size, style)
-{
- marDictionary marDict;
-// marDict.LoadDictionary_French();
- marDict.LoadDictionary_English();
-// marDict.LoadDictionary_Japanese();
-
-
-/*
- if (!marDict.LoadDictionaryFile(dictionaryFileName)){
- wxMessageBox( _T("Error: File(s) marDict.txt not found..."),
- _T("DxMM : MARACAS"), wxOK | wxCENTRE | wxICON_ERROR , this);
- }
-
-*/
- _mar = mar;
- _marCT = marCT;
-
- //good luck !
- vtkObject *a = vtkObject::New();
- a->GlobalWarningDisplayOff();
- a->Delete();
-
- // At the begining, there were nothing, just a window...
- _actual_panel = NULL;
-
- // And the programmer said: let there be a status bar
- this->CreateStatusBar( );
-
- this->GetStatusBar()->SetFieldsCount( 2 );
- wxRect rect;
- this->GetStatusBar()->GetFieldRect(1, rect);
- //wxPoint pos;
- //wxSize size;
- //_progressGauge = new wxGauge( this->GetStatusBar(), -1, 100);
-// _progressGauge = new wxGauge( this->GetStatusBar(), -1, 50,
-// rect.GetPosition(), rect.GetSize());
- this->GetStatusBar()->Show();
- this->PositionStatusBar();
-
- // And an icon (to be unique)
- //TODO change the icon to the real one!
- this->SetIcon( wxICON( maracas_icon ) );
-
- // And a toolbar (for dummy users)
- this->RecreateToolbar( );
-
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::RecreateToolbar( )
-{
- wxToolBar* toolBar = this->GetToolBar( );
- delete toolBar;
- this->SetToolBar( NULL );
-
- toolBar = this->CreateToolBar( TOOLBAR_STYLE, ID_TOOLBAR );
-
- // Set up toolbar
- wxBitmap toolBarBitmaps[ 28+1 ];
-
- /**
- * wxBitmap vs. wxBITMAP -> add _xpm at the end of the file
- */
- toolBarBitmaps[ 0 ] = wxBITMAP( toolbar_connect );
- toolBarBitmaps[ 4 ] = wxBITMAP( toolbar_params );
- toolBarBitmaps[ 7 ] = wxBITMAP( toolbar_imagebrowser );
- toolBarBitmaps[ 9 ] = wxBITMAP( toolbar_triD );
- toolBarBitmaps[ 10 ] = wxBITMAP( toolbar_plans );
- toolBarBitmaps[ 11 ] = wxBITMAP( toolbar_quant );
- toolBarBitmaps[ 12 ] = wxBITMAP( toolbar_rotate );
- toolBarBitmaps[ 13 ] = wxBITMAP( toolbar_bright );
- toolBarBitmaps[ 14 ] = wxBITMAP( toolbar_pan );
- toolBarBitmaps[ 15 ] = wxBITMAP( toolbar_zoom );
- toolBarBitmaps[ 16 ] = wxBITMAP( toolbar_clear );
- toolBarBitmaps[ 17 ] = wxBITMAP( toolbar_intensity );
- toolBarBitmaps[ 20 ] = wxBITMAP( toolbar_help );
-
- toolBarBitmaps[ 21 ] = wxBITMAP( vesselstoolbar_stl );
-
- toolBarBitmaps[ 22 ] = wxBITMAP( creatis_logo );
- toolBarBitmaps[ 23 ] = wxBITMAP( TOOLBAR_MPR );
- toolBarBitmaps[ 24 ] = wxBITMAP( TOOLBAR_AXIS_JF );
- toolBarBitmaps[ 25 ] = wxBITMAP( TOOLBAR_AXIS_JF_MH1 );
- toolBarBitmaps[ 26 ] = wxBITMAP( TOOLBAR_AXIS_JF_MH2 );
- toolBarBitmaps[ 27 ] = wxBITMAP( TOOLBAR_PROCESSINGCT );
- toolBarBitmaps[ 28 ] = wxBITMAP( TOOLBAR_QUANTIFICATIONCT );
-
- /*
- toolBarBitmaps[ 1 ] = wxBitmap( toolbar_loadexp );
- toolBarBitmaps[ 2 ] = wxBitmap( toolbar_save );
- toolBarBitmaps[ 3 ] = wxBitmap( toolbar_excel );
- toolBarBitmaps[ 5 ] = wxBitmap( toolbar_wizard );
- toolBarBitmaps[ 6 ] = wxBitmap( toolbar_back );
- toolBarBitmaps[ 8 ] = wxBitmap( toolbar_subtract );
-
- toolBarBitmaps[ 18 ] = wxBitmap( toolbar_linear );
- toolBarBitmaps[ 19 ] = wxBitmap( toolbar_area );
- */
- // Set size & margins
- toolBar->SetMargins( 4, 4 );
- toolBar->SetToolBitmapSize( wxSize( toolBarBitmaps[ 0 ].GetWidth( ), toolBarBitmaps[ 0 ].GetHeight( ) ) );
-
- // Adding tools
- toolBar->AddTool( ID_TOOLBAR_DATA_BROWSER, toolBarBitmaps[ 0 ], _T("Patient data"), _T("Load patient data: studies & series") );
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_IMAGE_BROWSER, toolBarBitmaps[ 7 ], _T("Load image data"), _T("Load DICOM images from disk") );
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_3D_BROWSER, toolBarBitmaps[ 9 ], _T("Start 3D"), _T("Load 3D representation") );
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_PLANS, toolBarBitmaps[ 10 ], _T("Plan"), _T("Planes") );
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_STL, toolBarBitmaps[ 21 ], _T("STL"), _T("Stl") );
- toolBar->AddSeparator( );
-
-
-
-//EED toolBar->AddTool( ID_TOOLBAR_QUANT, toolBarBitmaps[ 11 ], "Quant", "Quant" );
-//EED toolBar->AddSeparator( );
- //The following has been commented out temporarlily
- /*
- toolBar->AddTool( ID_TOOLBAR_ROTATE, toolBarBitmaps[ 12 ], "Rotate", "Rotate" );
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_BRIGHT, toolBarBitmaps[ 13 ], "Bright", "Bright" );
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_PAN, toolBarBitmaps[ 14 ], "Pan", "Pan" );
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_ZOOM, toolBarBitmaps[ 15 ], "Zoom", "Zoom" );
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_CLEAR, toolBarBitmaps[ 16 ], "Clear", "Clear" );
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_INTENSITY, toolBarBitmaps[ 17 ], "Intensity", "Intensity" );
- toolBar->AddSeparator( );*/
- toolBar->AddTool( ID_TOOLBAR_PARAMETERS , toolBarBitmaps[ 4 ] , _T("Parameters"), _T("Load parameters for modifying") );
- toolBar->AddTool( ID_TOOLBAR_HELP , toolBarBitmaps[ 20 ] , _T("Help"), _T("Help") );
-
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_MPR , toolBarBitmaps[ 23 ], _T("MPR"), _T("MPR") );
- toolBar->AddTool( ID_TOOLBAR_PROCESSING_CT , toolBarBitmaps[ 27 ], _T("ProcessingCT"), _T("ProcessingCT") );
- toolBar->AddTool( ID_TOOLBAR_QUANTIFICATION_CT , toolBarBitmaps[ 28 ], _T("QuantificationCT"), _T("QuantificationCT") );
- toolBar->AddSeparator( );
- toolBar->AddTool( ID_TOOLBAR_EMPTY_PANEL , toolBarBitmaps[ 24 ], _T("EmptyPanel"), _T("EmptyPanel") );
- toolBar->AddTool( ID_TOOLBAR_EMPTY_PANEL_2 , toolBarBitmaps[ 26 ], _T("EmptyPanel_2"), _T("EmptyPanel_2") );
- toolBar->AddSeparator( );
-
-
- wxBitmapButton *btnCreatisLogo = new wxBitmapButton(toolBar,-1/*ID_BUTTON_ABOUTCREATIS*/,toolBarBitmaps[ 22 ] );
- btnCreatisLogo->SetSize(81+10,20+10);
- btnCreatisLogo->SetBackgroundColour(wxColour(0,0,153));
- Connect(btnCreatisLogo->GetId(), wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasFrame02::OnAboutCreatis );
-
- toolBar->AddControl(btnCreatisLogo);
-
- toolBar->Realize( );
- toolBar->SetRows( 1 );
-
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnAboutCreatis( wxCommandEvent& event ){
-
- wxMaracasHelpDialog *dlg = new wxMaracasHelpDialog(this, -1, "Creatis", wxPoint(200,200), wxDefaultSize, wxDEFAULT_DIALOG_STYLE);
- dlg->ShowModal();
- dlg->Close();
-
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnQuit( wxCloseEvent& event ){
-
- if( _actual_panel != NULL ) delete _actual_panel;
-
-
- this->Destroy();
-
-
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnLoadPatientData( wxCommandEvent& event )
-{
- wxBusyCursor wait;
- wxToolBar* toolBar = this->GetToolBar( );
- //Disabling tool
- //wxToolBar::EnableTool This function should only be called after Realize.
- toolBar->EnableTool(ID_TOOLBAR_IMAGE_BROWSER , true);
- toolBar->EnableTool(ID_TOOLBAR_3D_BROWSER , false);
- toolBar->EnableTool(ID_TOOLBAR_PLANS , false);
- toolBar->EnableTool(ID_TOOLBAR_QUANT , false);
- toolBar->EnableTool(ID_TOOLBAR_STL , false);
-
- toolBar->EnableTool(ID_TOOLBAR_MPR , false);
- toolBar->EnableTool(ID_TOOLBAR_PROCESSING_CT , false);
- toolBar->EnableTool(ID_TOOLBAR_QUANTIFICATION_CT , false);
- toolBar->EnableTool(ID_TOOLBAR_EMPTY_PANEL , false);
- toolBar->EnableTool(ID_TOOLBAR_EMPTY_PANEL_2 , false );
-
-
- // Create panel
- if( _actual_panel != NULL ) delete _actual_panel;
-
-
-
-/*
-ver esto para reconectar ILPD
-wxMaracasFrame02::OnLoadPatientData
-wxMaracasFrame02::OnLoadImageData02
-wxMaracasApp02::OnInit
-*/
-
-// EED ILPD
- wxILPD* pnl = new wxILPD( this );
- ILPDViewListPatient* _ilpdViewListPatient = new ILPDViewListPatient( new ILPDViewWxWindow(pnl) );
-
-// wxMaracasDataBrowser* pnl = new wxMaracasDataBrowser( this, _mar, -1 );
-
-
- _actual_panel = pnl;
-
- // cf.: http://www.wxwindows.org/manuals/2.4.0/wx490.htm
- // Force a resize. This should probably be replaced by a call to a wxFrame
- // function that lays out default decorations and the remaining content window.
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- this->Show(true);
-
- // Load panel data
-// pnl->LoadData( );
-
-
-}
-
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnParameters( wxCommandEvent& event )
-{
- wxMaracasParametersDialog *d = new wxMaracasParametersDialog( this, _mar );
- d->ShowModal( );
- d->Close( true );
-}
-
-// EED Borrme not used
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnLoadImageData( wxListEvent& event ){
- wxBusyCursor wait;
-
- // Create panel
- if( _actual_panel != NULL ) delete _actual_panel;
- wxMaracasImageBrowser* pnl = new wxMaracasImageBrowser( this, _mar, -1 );
-
- // Resize
- _actual_panel = pnl;
-
- // Load panel data
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- //this->Show(true);
-
- //wxDialog dialog(this, -1, "coucou");
- //dialog.ShowModal();
- //dialog.Show(true);
- //wxGauge gauge( this, -1, 50);
-
- /**
- AS a first step I'll pass a wxGauge as parameter this doesn't
- sound very good, should use EVT_TIMER instead...
- */
- _mar->_dicom->loadActualSerie( this->_progressGauge );
- vtkImageData *dummy = _mar->_dicom->getVolume( )->castVtk();
- //float range[2];
- //dummy->GetScalarRange( range );
-
- pnl->LoadData( dummy );
- //_view_image->ConstructVTK( (vtkImageData *)_mar->_dicom->getVolume( ));
- //^ this is not working ??? I don't understand why, some VTK pipeline mystery
-
- this->GetToolBar()->EnableTool(ID_TOOLBAR_IMAGE_BROWSER, false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER, true);
-
- this->GetToolBar()->EnableTool(ID_TOOLBAR_PLANS, false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_STL, false);
-
- //Add patient name to the frame title
- this->SetTitle( _T("Patient Name : ") + _mar->_dicom->GetPatientName() );
-}
-
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnLoadImageData02( wxCommandEvent& event ){
- wxBusyCursor wait;
-
-
-// EED ILPD
- wxILPD *wxilpd=(wxILPD*)_actual_panel;
- vector <string*> lstStringFileName;
- wxilpd->GetLstImageFiles(&lstStringFileName);
- if (lstStringFileName.size()!=0)
- {
- marGdcmDicomILPD *margdcmdicomILPD = (marGdcmDicomILPD*)_mar->_dicom;
- marGdcmDicomILPD *margdcmdicomILPD2 = (marGdcmDicomILPD*)_marCT->_dicom;
-// margdcmdicomILPD->SetListImages( &lstStringFileName );
-// margdcmdicomILPD2->SetListImages( &lstStringFileName );
-
-
- // Create panel
- if( _actual_panel != NULL ) delete _actual_panel;
- wxMaracasImageBrowser02* pnl = new wxMaracasImageBrowser02( this, _mar->_dicom, _mar->_parameters );
-
- // Resize
- _actual_panel = pnl;
-
- // Load panel data
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
-
- _mar->_dicom->loadActualSerie( this->_progressGauge );
- _marCT->_dicom->loadActualSerie( this->_progressGauge);
- vtkImageData *dummy = _mar->_dicom->getVolume( )->castVtk();
- pnl->LoadData( new marImageData(dummy) );
- pnl->Start();
-
- this->GetToolBar()->EnableTool(ID_TOOLBAR_IMAGE_BROWSER , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_PLANS , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_STL , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_MPR , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL_2 , true );
-
- } // if lstStringFileName.size
-
-
-
-//Add patient name to the frame title
-// EED attention
-// this->SetTitle( "Patient Name : " + _mar->_dicom->GetPatientName() );
-
-}
-
-
-//----------------------------------------------------------------------------
-
-void wxMaracasFrame02::OnStartExperiment( wxCommandEvent& event )
-{
- wxBusyCursor wait;
- int voi[ 6 ];
- if (((wxMaracasImageBrowser02*)_actual_panel )->GetRoiSelected()){
- ((wxMaracasImageBrowser02*)_actual_panel )->ForceToFinisReadActiveImages( );
- ((wxMaracasImageBrowser02*)_actual_panel )->GetROI( voi );
-
- _mar->_experiment->setVOI( voi );
- _mar->initExperiment( );
-
- // Create panel
- if( _actual_panel != NULL ) { delete _actual_panel; }
- _wxmaracas3dbrowser = new wxMaracas3DBrowser( this, _mar, -1,ID_TOOLBAR_PLANS );
- _actual_panel = _wxmaracas3dbrowser;
-
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- //this->Show(true);
-
- // Load panel data
- _wxmaracas3dbrowser->LoadData( );
-
- //this->GetToolBar()->EnableTool(ID_TOOLBAR_DATA_BROWSER, false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_IMAGE_BROWSER , true);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER , false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_MPR , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL_2 , false );
- } else {
- wxMessageDialog *msg =new wxMessageDialog(this, _T("VOI not selected"), _T("Warning"), wxOK );
- msg->ShowModal();
- msg->Destroy();
- }
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnHelp (wxCommandEvent& event )
-{
- wxMaracasHelpDialog* help = new wxMaracasHelpDialog(this, -1);
- help->ShowModal();
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnStl(wxCommandEvent& event ){
-
- DeletePanels();
-
- _wxmaracassurfaceSTLwidget = new wxSurfaceSTLWidget(this);
- _wxmaracassurfaceSTLwidget->ShowMARACASData( _mar );
- _actual_panel = _wxmaracassurfaceSTLwidget;
-
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- this->Show(true);
-
- // Load panel data
- this->GetToolBar()->EnableTool(ID_TOOLBAR_PLANS , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_STL , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_IMAGE_BROWSER , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_MPR , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL_2 , false );
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnQuant (wxCommandEvent& event )
-{
- DeletePanels();
- _wxmaracasquantification = new wxMaracasQuantification( this, _mar, -1 );
- _actual_panel = _wxmaracasquantification;
-
-
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- this->Show(true);
-
- // Load panel data
- _wxmaracasquantification->LoadData( );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_PLANS, false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER, false);
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnQuantificationCT (wxCommandEvent& event )
-{
- DeletePanels();
- _wxmaracasquantification_ct = new wxMaracasQuantificationCT( this, _marCT, -1 );
- _actual_panel = _wxmaracasquantification;
-
-
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- this->Show(true);
-
- // Load panel data
- _wxmaracasquantification_ct->LoadData( );
-// this->GetToolBar()->EnableTool(ID_TOOLBAR_PLANS, false);
-// this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER, false);
-}
-
-
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnMPR(wxCommandEvent& event ){
-printf("EED wxMaracasFrame02::OnMPR A\n");
- wxBusyCursor wait;
-
- int voi[ 6 ];
- if (((wxMaracasImageBrowser02*)_actual_panel )->GetRoiSelected()){
- ((wxMaracasImageBrowser02*)_actual_panel )->ForceToFinisReadActiveImages( );
- ((wxMaracasImageBrowser02*)_actual_panel )->GetROI( voi );
-
- _mar->_experiment->setVOI( voi );
- _mar->initExperiment( );
- _marCT->setVOI(voi);
- _marCT->SetDicom(_mar->_dicom);
- _marCT->initExperiment();
-
-
- vtkImageData *imagedata;
- imagedata = _marCT->getDynData( )->getVolume( )->castVtk();
- marImageData *marimagedata = new marImageData(imagedata);
-
- // Create panel
- if( _actual_panel != NULL ) { delete _actual_panel; }
- _wxMaracasMPR = new wxMaracasMPR( this, marimagedata ,_mar->_parameters->getVoxelSize() );
- _wxMaracasMPR->ConfigureVTK();
- // Resize
- _actual_panel = _wxMaracasMPR;
-
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- //this->Show(true);
-
- //this->GetToolBar()->EnableTool(ID_TOOLBAR_DATA_BROWSER, false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_IMAGE_BROWSER , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_MPR , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_PROCESSING_CT , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL_2 , false );
- } else {
- wxMessageDialog *msg =new wxMessageDialog(this, _T("VOI not selected"), _T("Warning"), wxOK );
- msg->ShowModal();
- msg->Destroy();
- }
-
-
-printf("EED wxMaracasFrame02::OnMPR B\n");
-
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnEmptyPanel(wxCommandEvent& event )
-{
-
- wxBusyCursor wait;
-
- vtkMPRBaseData *vtkmpr2DData = ((wxMaracasMPR*)_actual_panel )->GetVtkMPRBaseData();
- vtkImageData *imagedata = vtkmpr2DData->GetImageData();
-
- int x = (int)vtkmpr2DData->GetX();
- int y = (int)vtkmpr2DData->GetY();
- int z = (int)vtkmpr2DData->GetZ();
- // Create panel
- if( _actual_panel != NULL ) { delete _actual_panel; }
- _wxMaracasEmptyPanel = new wxMaracasEmptyPanel(this);
- _wxMaracasEmptyPanel->ConfigureVTK(imagedata, x , y , z );
-
- _actual_panel = _wxMaracasEmptyPanel;
-
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- //this->Show(true);
-
- //this->GetToolBar()->EnableTool(ID_TOOLBAR_DATA_BROWSER, false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_IMAGE_BROWSER , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_MPR , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL_2 , false );
-
-
-/*
- wxBusyCursor wait;
- vtkMPRBaseData *vtkmprbaseData = ((wxMaracasMPR*)_actual_panel )->GetVtkMPRBaseData();
-
- vtkImageData *imagedata = vtkmprbaseData->GetImageData();
-
- _mar->initExperiment( );
-
- int x = vtkmprbaseData->GetX();
- int y = vtkmprbaseData->GetY();
- int z = vtkmprbaseData->GetZ();
- // Create panel
- if( _actual_panel != NULL ) { delete _actual_panel; }
- _wxMaracasEmptyPanel = new wxMaracasEmptyPanel(this, _mar);
- _wxMaracasEmptyPanel->ConfigureVTK(imagedata, x , y , z );
-
- _actual_panel = _wxMaracasEmptyPanel;
-
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- //this->Show(true);
-
- //this->GetToolBar()->EnableTool(ID_TOOLBAR_DATA_BROWSER, false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_IMAGE_BROWSER , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_MPR , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_PLANS , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL_2 , false );
-*/
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnProcessingCT(wxCommandEvent& event )
-{
-printf("EED wxMaracasFrame02::OnProcessingCT \n");
- wxBusyCursor wait;
- vtkMPRBaseData *vtkmprbaseData = ((wxMaracasMPR*)_actual_panel )->GetVtkMPRBaseData();
-
- marImageData *marimagedata = vtkmprbaseData->GetMarImageData();
-
- _marCT->initExperiment( );
-
- int x = (int)vtkmprbaseData->GetX();
- int y = (int)vtkmprbaseData->GetY();
- int z = (int)vtkmprbaseData->GetZ();
- // Create panel
- if( _actual_panel != NULL ) { delete _actual_panel; }
- _wxMaracasProcessingCT = new wxMaracasProcessingCT(this, _marCT);
- _wxMaracasProcessingCT->ConfigureVTK(marimagedata, x , y , z );
-
- _actual_panel = _wxMaracasProcessingCT;
-
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- //this->Show(true);
-
- //this->GetToolBar()->EnableTool(ID_TOOLBAR_DATA_BROWSER, false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_IMAGE_BROWSER , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_MPR , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_PLANS , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_QUANTIFICATION_CT , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL_2 , false );
-}
-
-
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnEmptyPanel_2(wxCommandEvent& event )
-{
- wxBusyCursor wait;
- int voi[ 6 ];
-
- if (((wxMaracasImageBrowser02*)_actual_panel )->GetRoiSelected()){
- ((wxMaracasImageBrowser02*)_actual_panel )->ForceToFinisReadActiveImages( );
- ((wxMaracasImageBrowser02*)_actual_panel )->GetROI( voi );
-
- _mar->_experiment->setVOI( voi );
- _mar->initExperiment( );
-
- // Create panel
- if( _actual_panel != NULL ) { delete _actual_panel; }
- _wxMaracasEmptyPanel_2 = new wxMaracasEmptyPanel_2(this,_mar);
- _wxMaracasEmptyPanel_2->ConfigureVTK();
-
- _actual_panel = _wxMaracasEmptyPanel_2;
-
- wxSizeEvent myevent(wxSize(-1, -1), this->GetId());
- this->OnSize(myevent);
- //this->Show(true);
-
- //this->GetToolBar()->EnableTool(ID_TOOLBAR_DATA_BROWSER, false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_IMAGE_BROWSER , true );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_3D_BROWSER , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_MPR , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL , false );
- this->GetToolBar()->EnableTool(ID_TOOLBAR_EMPTY_PANEL_2 , false );
- } else {
- wxMessageDialog *msg =new wxMessageDialog(this, _T("VOI not selected"), _T("Warning"), wxOK );
- msg->ShowModal();
- msg->Destroy();
- }
-}
-
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnNewAxis(wxCommandEvent &WXUNUSED(event))
-{
- this->GetToolBar()->EnableTool(ID_TOOLBAR_PLANS, true);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_STL, true);
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnDeleteAxis(wxCommandEvent &WXUNUSED(event)){
- this->GetToolBar()->EnableTool(ID_TOOLBAR_PLANS , false);
- this->GetToolBar()->EnableTool(ID_TOOLBAR_STL , false);
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnRegenerateAll( wxCommandEvent& event ){
- if (_wxmaracas3dbrowser!=NULL) { _wxmaracas3dbrowser->RegenerateAll(true); }
- if (_wxmaracasquantification!=NULL) { _wxmaracasquantification->RegenerateAll(true); }
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnRegenerateSplineAxe( wxCommandEvent& event ){
- if (_wxmaracas3dbrowser!=NULL) { _wxmaracas3dbrowser->RegenerateAll(false); }
- if (_wxmaracasquantification!=NULL) { _wxmaracasquantification->RegenerateAll(false); }
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnCleanContours( wxCommandEvent& event ){
- if (_wxmaracasquantification!=NULL) { _wxmaracasquantification->CleanContours(); }
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::OnRegenerateSignal( wxCommandEvent& event ){
- if (_wxmaracasquantification!=NULL) { _wxmaracasquantification->RegenerateSignal(); }
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame02::DeletePanels ( ){
- delete _actual_panel;
- _wxmaracasquantification = NULL;
- _wxmaracas3dbrowser = NULL;
-}
-
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-wxProcessingImagesControl::wxProcessingImagesControl(wxWindow *parent)
-: wxPanel (parent,-1)
-{
- wxBitmapButton *btnIRMQuant;
- wxBitmapButton *btnCTQuant;
- wxBitmapButton *btnSTL;
- wxBitmapButton *btnManualRegistration;
- wxBitmapButton *btnVascularTree;
- wxBitmapButton *btnTests;
-
- wxBitmap bitmapMask =wxBITMAP( TOOLBAR_V2_bi_mask );
-
- wxBitmap toolBarBitmapsA[ 5+1 ];
- wxBitmap toolBarBitmapsB[ 5+1 ];
-
- toolBarBitmapsA[ 0 ] = wxBITMAP( TOOLBAR_V2_bi_bl_IRMQuantification );
- toolBarBitmapsA[ 1 ] = wxBITMAP( TOOLBAR_V2_bi_bl_CTQuantification );
- toolBarBitmapsA[ 2 ] = wxBITMAP( TOOLBAR_V2_bi_bl_VascularTree );
- toolBarBitmapsA[ 3 ] = wxBITMAP( TOOLBAR_V2_bi_bl_STLFormat );
- toolBarBitmapsA[ 4 ] = wxBITMAP( TOOLBAR_V2_bi_bl_Tests );
- toolBarBitmapsA[ 5 ] = wxBITMAP( TOOLBAR_V2_bi_bl_ManualRegistration);
-
- toolBarBitmapsA[0].SetMask( new wxMask(bitmapMask) );
- toolBarBitmapsA[1].SetMask( new wxMask(bitmapMask) );
- toolBarBitmapsA[2].SetMask( new wxMask(bitmapMask) );
- toolBarBitmapsA[3].SetMask( new wxMask(bitmapMask) );
- toolBarBitmapsA[4].SetMask( new wxMask(bitmapMask) );
- toolBarBitmapsA[5].SetMask( new wxMask(bitmapMask) );
-
-
- toolBarBitmapsB[ 0 ] = wxBITMAP( TOOLBAR_V2_bi_re_IRMQuantification );
- toolBarBitmapsB[ 1 ] = wxBITMAP( TOOLBAR_V2_bi_re_CTQuantification );
- toolBarBitmapsB[ 2 ] = wxBITMAP( TOOLBAR_V2_bi_re_VascularTree );
- toolBarBitmapsB[ 3 ] = wxBITMAP( TOOLBAR_V2_bi_re_STLFormat );
- toolBarBitmapsB[ 4 ] = wxBITMAP( TOOLBAR_V2_bi_re_Tests );
- toolBarBitmapsB[ 5 ] = wxBITMAP( TOOLBAR_V2_bi_re_ManualRegistration);
-
- toolBarBitmapsB[0].SetMask( new wxMask(bitmapMask) );
- toolBarBitmapsB[1].SetMask( new wxMask(bitmapMask) );
- toolBarBitmapsB[2].SetMask( new wxMask(bitmapMask) );
- toolBarBitmapsB[3].SetMask( new wxMask(bitmapMask) );
- toolBarBitmapsB[4].SetMask( new wxMask(bitmapMask) );
- toolBarBitmapsB[5].SetMask( new wxMask(bitmapMask) );
-
-
- // IRM Quantification
- btnIRMQuant = new wxBitmapButton( this, -1, toolBarBitmapsA[ 0 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- btnIRMQuant->SetBitmapSelected(toolBarBitmapsB[ 0 ]);
-
- // CT Quantification
- btnCTQuant = new wxBitmapButton( this, -1, toolBarBitmapsA[ 1 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- btnCTQuant->SetBitmapSelected(toolBarBitmapsB[ 1 ]);
-
- // Vascular Tree
- btnVascularTree = new wxBitmapButton( this, -1, toolBarBitmapsA[ 2 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- btnVascularTree->SetBitmapSelected(toolBarBitmapsB[ 2 ]);
-
- // STL
- btnSTL = new wxBitmapButton( this, -1, toolBarBitmapsA[ 3 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- btnSTL->SetBitmapSelected(toolBarBitmapsB[ 3 ]);
-
- // Tests
- btnTests = new wxBitmapButton( this, -1, toolBarBitmapsA[ 4 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- btnTests->SetBitmapSelected(toolBarBitmapsB[ 4 ]);
-
- // Tests2
- btnManualRegistration = new wxBitmapButton( this, -1, toolBarBitmapsA[ 5 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- btnManualRegistration->SetBitmapSelected(toolBarBitmapsB[ 5 ]);
-
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( btnIRMQuant , 1, wxALL, 0);
- sizer->Add( btnCTQuant , 1, wxALL, 0);
- sizer->Add( btnVascularTree , 1, wxALL, 0);
- sizer->Add( btnSTL , 1, wxALL, 0);
- sizer->Add( btnManualRegistration , 1, wxALL, 0);
- sizer->Add( btnTests , 1, wxALL, 0);
-
- this->SetAutoLayout(true);
- this->SetSizer(sizer);
- this->Layout();
-
- Connect(btnIRMQuant->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxProcessingImagesControl::OnActiveIRMQuantificationFrame );
- Connect(btnCTQuant->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxProcessingImagesControl::OnActiveCTQuantificationFrame );
- Connect(btnVascularTree->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxProcessingImagesControl::OnActiveVascularTreeExtractionFrame );
- Connect(btnSTL->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxProcessingImagesControl::OnActiveSTLFormatFrame );
- Connect(btnManualRegistration->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxProcessingImagesControl::OnActiveTests2Frame );
- Connect(btnTests->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxProcessingImagesControl::OnActiveTestsFrame );
-}
-
-//----------------------------------------------------------------------------
-
-wxProcessingImagesControl::~wxProcessingImagesControl()
-{
-}
-
-//----------------------------------------------------------------------------
-void wxProcessingImagesControl::OnActiveIRMQuantificationFrame(wxCommandEvent& event)
-{
- wxCommandEvent newevent(wxEVT_COMMAND_MENU_SELECTED,11112);
- this->GetParent()->ProcessEvent(newevent);
-// _wxmaracasframe03->CreateWindowMDI(20);
-}
-//----------------------------------------------------------------------------
-void wxProcessingImagesControl::OnActiveCTQuantificationFrame(wxCommandEvent& event)
-{
- wxCommandEvent newevent(wxEVT_COMMAND_MENU_SELECTED,11113);
- this->GetParent()->ProcessEvent(newevent);
-// _wxmaracasframe03->CreateWindowMDI(30);
-}
-//----------------------------------------------------------------------------
-void wxProcessingImagesControl::OnActiveVascularTreeExtractionFrame(wxCommandEvent& event)
-{
- wxCommandEvent newevent(wxEVT_COMMAND_MENU_SELECTED,11114);
- this->GetParent()->ProcessEvent(newevent);
-// _wxmaracasframe03->CreateWindowMDI(40);
-}
-//----------------------------------------------------------------------------
-void wxProcessingImagesControl::OnActiveSTLFormatFrame(wxCommandEvent& event)
-{
- wxCommandEvent newevent(wxEVT_COMMAND_MENU_SELECTED,11115);
- this->GetParent()->ProcessEvent(newevent);
-// _wxmaracasframe03->CreateWindowMDI(50);
-}
-//----------------------------------------------------------------------------
-void wxProcessingImagesControl::OnActiveTestsFrame(wxCommandEvent& event)
-{
- wxCommandEvent newevent(wxEVT_COMMAND_MENU_SELECTED,11116);
- this->GetParent()->ProcessEvent(newevent);
-// _wxmaracasframe03->CreateWindowMDI(60);
-}
-//----------------------------------------------------------------------------
-void wxProcessingImagesControl::OnActiveTests2Frame(wxCommandEvent& event)
-{
- wxCommandEvent newevent(wxEVT_COMMAND_MENU_SELECTED,11117);
- this->GetParent()->ProcessEvent(newevent);
-// _wxmaracasframe03->CreateWindowMDI(60);
-}
-
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-wxProcessingImagesTabControl::wxProcessingImagesTabControl(wxWindow *parent,marInterface *mar,wxMaracasNoteBookPatientLstVoi *patientlstvoi)
-: wxPanel (parent,-1)
-{
-
- _mar = mar;
- _patientlstvoi = patientlstvoi;
- _irmQuantification = NULL;
- _ctQuantification = NULL;
- _vascularTreeExtraction = NULL;
- _stlFormat = NULL;
-
- _noteBook = new wxNotebook(this, -1);
- _noteBook->SetSize(750,300);
-
- wxBitmap bitmapMask = wxBITMAP( TOOLBAR_V2_bi_mask );
-
- wxBitmap bitmap0 = wxBITMAP( TOOLBAR_V2_bi_bl_Information);
- wxBitmap bitmap1 = wxBITMAP( TOOLBAR_V2_bi_bl_IRMQuantification);
- wxBitmap bitmap2 = wxBITMAP( TOOLBAR_V2_bi_bl_CTQuantification);
- wxBitmap bitmap3 = wxBITMAP( TOOLBAR_V2_bi_bl_VascularTree);
- wxBitmap bitmap4 = wxBITMAP( TOOLBAR_V2_bi_bl_STLFormat);
-
- bitmap0.SetMask( new wxMask(bitmapMask) );
- bitmap1.SetMask( new wxMask(bitmapMask) );
- bitmap2.SetMask( new wxMask(bitmapMask) );
- bitmap3.SetMask( new wxMask(bitmapMask) );
- bitmap4.SetMask( new wxMask(bitmapMask) );
-
- wxImageList *imageList = new wxImageList(100,100);
- imageList->Add( bitmap0 ); // 0
- imageList->Add( bitmap1 ); // 1
- imageList->Add( bitmap2 ); // 2
- imageList->Add( bitmap3 ); // 3
- imageList->Add( bitmap4 ); // 4
- _noteBook->SetImageList(imageList);
-
- _noteBook->AddPage(new wxPanel(this,-1),_T("Information ") , true, 0 );
- _noteBook->AddPage(new wxPanel(this,-1),_T("IRM Quantification") , true, 1 );
- _noteBook->AddPage(new wxPanel(this,-1),_T("CT Quantification") , true, 2 );
- _noteBook->AddPage(new wxPanel(this,-1),_T("Vascular Tree") , true, 3 );
- _noteBook->AddPage(new wxPanel(this,-1),_T("STL Format") , true, 4 );
- _noteBook->SetSelection(0);
-
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING , (wxObjectEventFunction) &wxProcessingImagesTabControl::OnChangingPage );
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , (wxObjectEventFunction) &wxProcessingImagesTabControl::OnChangePage );
-
- wxBoxSizer *sizer= new wxBoxSizer(wxVERTICAL);
- sizer->Add( _noteBook , 1, wxALL|wxEXPAND, 0);
-
- this->SetAutoLayout(true);
- this->SetSizer(sizer);
- this->Layout();
-}
-
-//----------------------------------------------------------------------------
-
-wxProcessingImagesTabControl::~wxProcessingImagesTabControl()
-{
-}
-
-//----------------------------------------------------------------------------
-void wxProcessingImagesTabControl::OnChangingPage(wxNotebookEvent& event)
-{
-}
-//----------------------------------------------------------------------------
-void wxProcessingImagesTabControl::OnChangePage(wxNotebookEvent& event)
-{
- wxBusyCursor wait;
- if (_noteBook->GetSelection()==1)
- {
- if (_irmQuantification==NULL){
- int page=1;
- int voi[ 6 ];
- wxMaracasImageBrowser02 *imageBrowser= _patientlstvoi->GetWxMaracasImageBrowser02();
- imageBrowser->ForceToFinisReadActiveImages( );
- imageBrowser->GetROI( voi );
- _mar->_experiment->setVOI( voi );
- _irmQuantification = new wxMaracasNoteBookIRMQuantification(_noteBook->GetPage(page),_mar);
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( _irmQuantification , 1, wxALL|wxEXPAND, 0);
- _noteBook->GetPage(page)->SetAutoLayout(true);
- _noteBook->GetPage(page)->SetSizer(sizer);
- _noteBook->GetPage(page)->Layout();
- }
- }
- if (_noteBook->GetSelection()==2)
- {
- if (_ctQuantification==NULL){
- int page=2;
- int voi[ 6 ];
- wxMaracasImageBrowser02 *imageBrowser= _patientlstvoi->GetWxMaracasImageBrowser02();
- imageBrowser->ForceToFinisReadActiveImages( );
- imageBrowser->GetROI( voi );
- _mar->_experiment->setVOI( voi );
- string namefileParent=_patientlstvoi->GetRWCM_namefileVOI();
- _ctQuantification = new wxMaracasNoteBookCTQuantification(_noteBook->GetPage(page),_mar,namefileParent);
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( _ctQuantification , 1, wxALL|wxGROW, 0);
- _noteBook->GetPage(page)->SetAutoLayout(true);
- _noteBook->GetPage(page)->SetSizer(sizer);
- _noteBook->GetPage(page)->Layout();
- }
- }
-
- if (_noteBook->GetSelection()==3)
- {
- if (_vascularTreeExtraction==NULL){
- int page=3;
- int voi[ 6 ];
- wxMaracasImageBrowser02 *imageBrowser= _patientlstvoi->GetWxMaracasImageBrowser02();
- imageBrowser->ForceToFinisReadActiveImages( );
- imageBrowser->GetROI( voi );
- _mar->_experiment->setVOI( voi );
- _vascularTreeExtraction = new wxMaracasNoteBookVascularTreeExtraction(_noteBook->GetPage(page),_mar);
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( _vascularTreeExtraction , 1, wxALL|wxGROW, 0);
- _noteBook->GetPage(page)->SetAutoLayout(true);
- _noteBook->GetPage(page)->SetSizer(sizer);
- _noteBook->GetPage(page)->Layout();
- }
- }
-
- if (_noteBook->GetSelection()==4)
- {
- if (_stlFormat==NULL){
- int page=4;
- int voi[ 6 ];
- wxMaracasImageBrowser02 *imageBrowser= _patientlstvoi->GetWxMaracasImageBrowser02();
- imageBrowser->ForceToFinisReadActiveImages( );
- imageBrowser->GetROI( voi );
- _mar->_experiment->setVOI( voi );
- _stlFormat = new wxMaracasNoteBookSTLFormat(_noteBook->GetPage(page),_mar);
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( _stlFormat , 1, wxALL|wxGROW, 0);
- _noteBook->GetPage(page)->SetAutoLayout(true);
- _noteBook->GetPage(page)->SetSizer(sizer);
- _noteBook->GetPage(page)->Layout();
- }
- }
- Refresh();
-}
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-BEGIN_EVENT_TABLE(wxMaracasFrame03, wxMDIParentFrame)
-// Borrame
-// EVT_MENU(MDI_CHILD_QUIT, MyChild::OnQuit)
-// EVT_MENU(MDI_REFRESH, MyChild::OnRefresh)
-// EVT_MENU(MDI_CHANGE_TITLE, MyChild::OnChangeTitle)
-// EVT_MENU(MDI_CHANGE_POSITION, MyChild::OnChangePosition)
-// EVT_MENU(MDI_CHANGE_SIZE, MyChild::OnChangeSize)
- EVT_MENU(20002, wxMaracasFrame03::OnActiveProcessingModules)
-
- EVT_MENU(ID_WXILPD_BUTTON_DELETE_ALL_DB , wxMaracasFrame03::eventMenuDeleteAllPatientInDB)
- EVT_MENU(ID_WXILPD_BUTTON_DELETE_DB , wxMaracasFrame03::eventMenuDeletePatientInDB)
-
- EVT_MENU(ID_WXILPD_BUTTON_FILTER_DB , wxMaracasFrame03::OnFilterInDB)
- EVT_MENU(ID_WXILPD_BUTTON_ORDERING_DB , wxMaracasFrame03::OnOrderingInDB)
- EVT_MENU(ID_WXILPD_BUTTON_EDIT_COLUMN , wxMaracasFrame03::OnEditColumnsInDB)
-
-
-// EVT_SIZE(wxMaracasFrame03::OnSize)
-// EVT_MOVE(MyChild::OnMove)
-
-// EVT_CLOSE(wxMaracasPatientLstVoiChiFra::OnClose)
-
-
- EVT_MENU(11110 , wxMaracasFrame03::OnActivePatientListVoiFrame )
- EVT_MENU(11111 , wxMaracasFrame03::OnActiveProcessingFrame )
- EVT_MENU(11112 , wxMaracasFrame03::OnActiveIRMQuantificationFrame )
- EVT_MENU(11113 , wxMaracasFrame03::OnActiveCTQuantificationFrame )
- EVT_MENU(11114 , wxMaracasFrame03::OnActiveVascularTreeExtractionFrame )
- EVT_MENU(11115 , wxMaracasFrame03::OnActiveSTLFormatFrame )
- EVT_MENU(11116 , wxMaracasFrame03::OnActiveTestsFrame )
- EVT_MENU(11117 , wxMaracasFrame03::OnActiveTests2Frame )
-
- EVT_MENU(MDI_PARAMETERS , wxMaracasFrame03::OnActiveParams )
- EVT_MENU(MDI_ABOUT , wxMaracasFrame03::OnActiveAbout )
- EVT_MENU(MDI_QUIT , wxMaracasFrame03::OnActiveQuit )
-END_EVENT_TABLE()
-
-
-
-
-wxMaracasFrame03::wxMaracasFrame03( wxFrame *parent, wxWindowID id,
- marInterface *mar, char *dictionaryFileName,
- const wxString& title, const wxPoint& pos,
- const wxSize& size, long style)
- : wxMDIParentFrame(parent, id, title, pos, size,
- style | wxNO_FULL_REPAINT_ON_RESIZE)
-{
-
- wxFont font=wxSystemSettings::GetFont(wxSYS_DEFAULT_GUI_FONT );
-
- _mar = mar;
- _option_menu = NULL;
- _manualRegistrationPanel = NULL;
-
- marDictionary marDict;
-// marDict.LoadDictionary_French();
- marDict.LoadDictionary_English();
-// marDict.LoadDictionary_Japanese();
-
-// CreateToolBar(wxNO_BORDER | wxTB_FLAT | wxTB_HORIZONTAL);
-// InitToolBar(GetToolBar());
-
- CreateWindowMDI(0);
- Configure_WindowMDI(0);
-}
-//----------------------------------------------------------------------------
-wxMaracasFrame03::~wxMaracasFrame03()
-{
-}
-
-
-//----------------------------------------------------------------------------
-
-void wxMaracasFrame03::eventMenuDeleteAllPatientInDB(wxCommandEvent& event)
-{
- if (_patientlstvoi->GetNoteBook()->GetSelection()==0)
- {
- if (_patientlstvoi->GetWxILPD()->GetNotebook()->GetSelection()==0)
- {
- _patientlstvoi->GetWxILPD()->eventBtnDeleteAllPatientInDB(event);
- }
- }
-}
-
-//----------------------------------------------------------------------------
-
-void wxMaracasFrame03::eventMenuDeletePatientInDB(wxCommandEvent& event)
-{
- if (_patientlstvoi->GetNoteBook()->GetSelection()==0)
- {
- if (_patientlstvoi->GetWxILPD()->GetNotebook()->GetSelection()==0)
- {
- _patientlstvoi->GetWxILPD()->eventBtnDeletePatientInDB(event);
- }
- }
-}
-
-//----------------------------------------------------------------------------
-
-void wxMaracasFrame03::OnFilterInDB(wxCommandEvent& event)
-{
- if (_patientlstvoi->GetNoteBook()->GetSelection()==0)
- {
- if (_patientlstvoi->GetWxILPD()->GetNotebook()->GetSelection()==0)
- {
- _patientlstvoi->GetWxILPD()->OnFilter(event);
- }
- }
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnOrderingInDB(wxCommandEvent& event)
-{
- if (_patientlstvoi->GetNoteBook()->GetSelection()==0)
- {
- if (_patientlstvoi->GetWxILPD()->GetNotebook()->GetSelection()==0)
- {
- _patientlstvoi->GetWxILPD()->OnOrdering(event);
- }
- }
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnEditColumnsInDB(wxCommandEvent& event)
-{
- if (_patientlstvoi->GetNoteBook()->GetSelection()==0)
- {
- if (_patientlstvoi->GetWxILPD()->GetNotebook()->GetSelection()==0)
- {
- _patientlstvoi->GetWxILPD()->OnEditColumns(event);
- }
- }
-}
-
-
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveProcessingModules(wxCommandEvent& event)
-{
-/*
- _btnProcessingData -> Enable();
- _btnCTQuant -> Enable();
- _btnIRMQuant -> Enable();
- _btnTreeExtrac -> Enable();
- _btnSTLFormat -> Enable();
-*/
- if (_option_menu!=NULL)
- {
- _option_menu->Enable(11111, true );
- _option_menu->Enable(11112, true );
- _option_menu->Enable(11113, true );
- _option_menu->Enable(11114, true );
- _option_menu->Enable(11115, true );
- _option_menu->Enable(11116, true );
- }
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::InitToolBar(wxToolBar* toolBar)
-{
-
- // Set up toolbar
- wxBitmap toolBarBitmapsA[ 8+1 ];
- wxBitmap toolBarBitmapsB[ 8+1 ];
-
- toolBarBitmapsA[ 0 ] = wxBITMAP( TOOLBAR_V2_bi_bl_ListPatient_Voi );
- toolBarBitmapsA[ 1 ] = wxBITMAP( TOOLBAR_V2_bi_bl_Processing );
- toolBarBitmapsA[ 2 ] = wxBITMAP( TOOLBAR_V2_bi_bl_Params );
- toolBarBitmapsA[ 3 ] = wxBITMAP( TOOLBAR_V2_bi_bl_Logo );
- toolBarBitmapsA[ 4 ] = wxBITMAP( TOOLBAR_V2_bi_bl_IRMQuantification );
- toolBarBitmapsA[ 5 ] = wxBITMAP( TOOLBAR_V2_bi_bl_CTQuantification );
- toolBarBitmapsA[ 6 ] = wxBITMAP( TOOLBAR_V2_bi_bl_VascularTree );
- toolBarBitmapsA[ 7 ] = wxBITMAP( TOOLBAR_V2_bi_bl_STLFormat );
- toolBarBitmapsA[ 8 ] = wxBITMAP( TOOLBAR_V2_bi_bl_ManualRegistration);
-
- toolBarBitmapsB[ 0 ] = wxBITMAP( TOOLBAR_V2_bi_re_ListPatient_Voi );
- toolBarBitmapsB[ 1 ] = wxBITMAP( TOOLBAR_V2_bi_re_Processing );
- toolBarBitmapsB[ 2 ] = wxBITMAP( TOOLBAR_V2_bi_re_Params );
- toolBarBitmapsB[ 3 ] = wxBITMAP( TOOLBAR_V2_bi_re_Logo );
- toolBarBitmapsB[ 4 ] = wxBITMAP( TOOLBAR_V2_bi_re_IRMQuantification );
- toolBarBitmapsB[ 5 ] = wxBITMAP( TOOLBAR_V2_bi_re_CTQuantification );
- toolBarBitmapsB[ 6 ] = wxBITMAP( TOOLBAR_V2_bi_re_VascularTree );
- toolBarBitmapsB[ 7 ] = wxBITMAP( TOOLBAR_V2_bi_re_STLFormat );
- toolBarBitmapsB[ 8 ] = wxBITMAP( TOOLBAR_V2_bi_re_ManualRegistration);
-
- // Set size & margins
- toolBar->SetMargins( 5, 5 );
- toolBar->SetToolBitmapSize( wxSize( toolBarBitmapsA[0].GetWidth()+20, toolBarBitmapsA[0].GetHeight()+20 ) );
-
- // List Patient
- wxBitmapButton *btn0 = new wxBitmapButton( toolBar, -1, toolBarBitmapsA[ 0 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- btn0->SetBitmapSelected(toolBarBitmapsB[ 0 ]);
-
- // Processing data
- _btnProcessingData = new wxBitmapButton( toolBar, -1, toolBarBitmapsA[ 1 ]);
- _btnProcessingData->SetBitmapSelected(toolBarBitmapsB[ 1 ]);
- _btnProcessingData->Disable();
-
- // Params
- wxBitmapButton *btn2 = new wxBitmapButton( toolBar, -1, toolBarBitmapsA[ 2 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- btn2->SetBitmapSelected(toolBarBitmapsB[ 2 ]);
-
- // Logo Creatis
- wxBitmapButton *btn3 = new wxBitmapButton( toolBar, -1, toolBarBitmapsA[ 3 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- btn3->SetBitmapSelected(toolBarBitmapsB[ 3 ]);
-
- // IRM Quantification
- _btnIRMQuant = new wxBitmapButton( toolBar, -1, toolBarBitmapsA[ 4 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- _btnIRMQuant->SetBitmapSelected(toolBarBitmapsB[ 4 ]);
- _btnIRMQuant->Disable();
-
- // CT Quantification
- _btnCTQuant = new wxBitmapButton( toolBar, -1, toolBarBitmapsA[ 5 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- _btnCTQuant->SetBitmapSelected(toolBarBitmapsB[ 5 ]);
- _btnCTQuant->Disable();
-
- // Vascular Tree Extraction
- _btnTreeExtrac = new wxBitmapButton( toolBar, -1, toolBarBitmapsA[ 6 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- _btnTreeExtrac->SetBitmapSelected(toolBarBitmapsB[ 6 ]);
- _btnTreeExtrac->Disable();
-
- // STL Format
- _btnSTLFormat = new wxBitmapButton( toolBar, -1, toolBarBitmapsA[ 7 ],wxDefaultPosition, wxDefaultSize, wxBU_AUTODRAW|wxBU_BOTTOM );
- _btnSTLFormat->SetBitmapSelected(toolBarBitmapsB[ 7 ]);
- _btnSTLFormat->Disable();
-
- toolBar->AddControl( btn0 );
- toolBar->AddControl( _btnProcessingData );
- toolBar->AddSeparator( );
- toolBar->AddControl( _btnIRMQuant );
- toolBar->AddControl( _btnCTQuant );
- toolBar->AddControl( _btnTreeExtrac );
- toolBar->AddControl( _btnSTLFormat );
- toolBar->AddSeparator( );
- toolBar->AddControl( btn2 );
- toolBar->AddControl( btn3 );
-
- toolBar->Realize();
-// toolBar->SetBackgroundColour( wxColour(130,130,130) );
-
- Connect(btn0->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasFrame03::OnActivePatientListVoiFrame );
- Connect(_btnProcessingData->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasFrame03::OnActiveProcessingFrame );
- Connect(btn2->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasFrame03::OnActiveParams );
- Connect(btn3->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasFrame03::OnActiveAbout );
- Connect(_btnIRMQuant->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasFrame03::OnActiveIRMQuantificationFrame );
- Connect(_btnCTQuant->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasFrame03::OnActiveCTQuantificationFrame );
- Connect(_btnTreeExtrac->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasFrame03::OnActiveVascularTreeExtractionFrame );
- Connect(_btnSTLFormat->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasFrame03::OnActiveSTLFormatFrame );
-
-
-
-}
-//----------------------------------------------------------------------------
-
-wxMenuBar *wxMaracasFrame03::CreateMenuBarBase(){
- // Make a menubar
- wxMenu *file_menu = new wxMenu;
-
- file_menu->Append(MDI_QUIT, _T("&Exit"));
-
- wxMenu *help_menu = new wxMenu;
- help_menu->Append(MDI_PARAMETERS , _T("Pa&rameters"));
- help_menu->Append(MDI_ABOUT , _T("&About"));
-
- wxMenuBar *menu_bar = new wxMenuBar;
- menu_bar->Append(file_menu , _T("&File"));
- menu_bar->Append(help_menu , _T("&Help"));
-
- return menu_bar;
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActivePatientListVoiFrame(wxCommandEvent& event)
-{
- _frame_ListPatieint_Voi->Maximize();
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveProcessingFrame(wxCommandEvent& event)
-{
- CreateWindowMDI(10);
- CreateWindowMDI(11);
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveParams(wxCommandEvent& event)
-{
- wxMaracasParametersDialog *d = new wxMaracasParametersDialog( this, _mar );
- d->ShowModal( );
- d->Close( true );
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveAbout(wxCommandEvent& event)
-{
- wxMaracasHelpDialog* help = new wxMaracasHelpDialog(this, -1);
- help->ShowModal();
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveQuit(wxCommandEvent& event)
-{
- this->Close();
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveIRMQuantificationFrame(wxCommandEvent& event)
-{
- CreateWindowMDI(20);
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveCTQuantificationFrame(wxCommandEvent& event)
-{
- CreateWindowMDI(30);
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveVascularTreeExtractionFrame(wxCommandEvent& event)
-{
- CreateWindowMDI(40);
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveSTLFormatFrame(wxCommandEvent& event)
-{
- CreateWindowMDI(50);
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveTestsFrame(wxCommandEvent& event)
-{
- CreateWindowMDI(60);
-}
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::OnActiveTests2Frame(wxCommandEvent& event)
-{
- CreateWindowMDI(70);
-}
-
-
-//----------------------------------------------------------------------------
-void wxMaracasFrame03::CreateWindowMDI( int type)
-{
-// wxMaracasGenericChiFra *subframe=NULL;
- wxFrame *subframe=NULL;
- wxString title_sf;
-
- // Patient List
- if (type==0){
- wxMaracasGenericChiFra *subframeTMP=NULL;
- subframeTMP = new wxMaracasGenericChiFra(this, _T("..."),
- wxPoint(50, 50), wxSize(300, 300),wxDEFAULT_FRAME_STYLE );
- subframeTMP->SetBlockCloseEvent(true);
- subframe=subframeTMP;
- subframe->Maximize();
- _patientlstvoi = new wxMaracasNoteBookPatientLstVoi(subframe);
- _patientlstvoi->SetMarInterface(_mar);
- _frame_ListPatieint_Voi=subframe;
- title_sf=_T("Patient List");
-
- wxMenu *database_menu = new wxMenu();
- database_menu->Append( ID_WXILPD_BUTTON_DELETE_ALL_DB , _T("Delete all patients"));
- database_menu->Append( ID_WXILPD_BUTTON_DELETE_DB , _T("Delete Patient"));
- database_menu->AppendSeparator();
- database_menu->Append( ID_WXILPD_BUTTON_FILTER_DB , _T("Filter"));
- database_menu->Append( ID_WXILPD_BUTTON_ORDERING_DB , _T("Ordering"));
- database_menu->Append( ID_WXILPD_BUTTON_EDIT_COLUMN , _T("Edit Column"));
-
-
- _option_menu = new wxMenu;
- _option_menu->Append(11110, _T("Patient &List - Voi"));
- _option_menu->Append(11111, _T("&Processing"));
- _option_menu->AppendSeparator();
- _option_menu->Append(11112, _T("&IRM Quantification"));
- _option_menu->Append(11113, _T("&CT Quantification"));
- _option_menu->AppendSeparator();
- _option_menu->Append(11114, _T("&Vascular Tree Extraction"));
- _option_menu->AppendSeparator();
- _option_menu->Append(11115, _T("&STL"));
- _option_menu->AppendSeparator();
- _option_menu->Append(11116, _T("&Tests"));
-
- _option_menu->Enable(11111, false );
- _option_menu->Enable(11112, false );
- _option_menu->Enable(11113, false );
- _option_menu->Enable(11114, false );
- _option_menu->Enable(11115, false );
- _option_menu->Enable(11116, false );
-
- wxMenuBar *menu_bar = CreateMenuBarBase();
-
- subframe->SetMenuBar(menu_bar);
- menu_bar->Insert(2,database_menu,_T("Data Base") );
- menu_bar->Insert(2,_option_menu,_T("Options") );
- }
-
- // Processing 1
- if (type==10){
-#ifdef WIN32
- subframe = new wxMaracasGenericChiFra(this, _T("..."),wxPoint(-1, -1),wxSize(225, 260),wxDEFAULT_FRAME_STYLE);
- wxMenuBar *menu_bar = CreateMenuBarBase();
- subframe->SetMenuBar(menu_bar);
-#else
- subframe = new wxFrame(this, -1, _T("..."));
-#endif
- new wxProcessingImagesControl(subframe);
- title_sf=_T("Processing Images");
- }
-
- // Processing 2
- if (type==11){
-#ifdef WIN32
- subframe = new wxMaracasGenericChiFra(this, _T("..."),wxPoint(-1, -1),wxSize(750, 600),wxDEFAULT_FRAME_STYLE);
- wxMenuBar *menu_bar = CreateMenuBarBase();
- subframe->SetMenuBar(menu_bar);
-#else
- subframe = new wxFrame(this, -1, _T("..."));
-#endif
- subframe->Maximize();
- new wxProcessingImagesTabControl(subframe,_mar,_patientlstvoi);
- title_sf=_T("Processing Images");
- }
-
- // IRM Quantification
- if (type==20){
- wxBusyCursor wait;
- int voi[ 6 ];
- wxMaracasImageBrowser02 *imageBrowser= _patientlstvoi->GetWxMaracasImageBrowser02();
- imageBrowser->ForceToFinisReadActiveImages( );
- imageBrowser->GetROI( voi );
- _mar->_experiment->setVOI( voi );
-
-#ifdef WIN32
- subframe = new wxMaracasGenericChiFra(this, _T("..."),wxPoint(-1, -1),wxSize(750, 600),wxDEFAULT_FRAME_STYLE);
- wxMenuBar *menu_bar = CreateMenuBarBase();
- subframe->SetMenuBar(menu_bar);
-#else
- subframe = new wxFrame(this, -1, _T("..."));
-#endif
-
- subframe->Maximize();
- wxMaracasNoteBookIRMQuantification *irmQuantification = new wxMaracasNoteBookIRMQuantification(subframe,_mar);
- title_sf=_T("IRM Quantification");
- }
-
- // CT Quantification
- if (type==30){
- wxBusyCursor wait;
- int voi[ 6 ];
-
-//EEDx11
- wxMaracasImageBrowser02 *imageBrowser= _patientlstvoi->GetWxMaracasImageBrowser02();
- imageBrowser->ForceToFinisReadActiveImages( );
- imageBrowser->GetROI( voi );
- _mar->_experiment->setVOI( voi );
-
-#ifdef WIN32
- subframe = new wxMaracasGenericChiFra(this, _T("..."),wxPoint(-1, -1),wxSize(750, 600),wxDEFAULT_FRAME_STYLE);
- wxMenuBar *menu_bar = CreateMenuBarBase();
- subframe->SetMenuBar(menu_bar);
-#else
- subframe = new wxFrame(this, -1, _T("..."));
-#endif
-
- subframe->Maximize();
-
-//EEDx11
- string namefileParent=_patientlstvoi->GetRWCM_namefileVOI();
- wxMaracasNoteBookCTQuantification *ctQuantification = new wxMaracasNoteBookCTQuantification(subframe,_mar,namefileParent);
- title_sf=_T("CT Quantification");
- }
-
- // Vascular Tree Extraction
- if (type==40){
- wxBusyCursor wait;
- int voi[ 6 ];
-//EEDx11
- wxMaracasImageBrowser02 *imageBrowser= _patientlstvoi->GetWxMaracasImageBrowser02();
- imageBrowser->ForceToFinisReadActiveImages( );
- imageBrowser->GetROI( voi );
- _mar->_experiment->setVOI( voi );
-
-
-#ifdef WIN32
- subframe = new wxMaracasGenericChiFra(this, _T("..."),wxPoint(-1, -1),wxSize(750, 600),wxDEFAULT_FRAME_STYLE);
- wxMenuBar *menu_bar = CreateMenuBarBase();
- subframe->SetMenuBar(menu_bar);
-#else
- subframe = new wxFrame(this, -1, _T("..."));
-#endif
- subframe->Maximize();
-//EEDx11
- wxMaracasNoteBookVascularTreeExtraction *vascularTreeExtraction = new wxMaracasNoteBookVascularTreeExtraction(subframe,_mar);
- title_sf=_T("Vascular Tree Extraction");
-
- }
-
- // STL Format
- if (type==50){
- wxBusyCursor wait;
- int voi[ 6 ];
-
-//EEDx11
- wxMaracasImageBrowser02 *imageBrowser= _patientlstvoi->GetWxMaracasImageBrowser02();
- imageBrowser->ForceToFinisReadActiveImages( );
- imageBrowser->GetROI( voi );
- _mar->_experiment->setVOI( voi );
-
-
-
-#ifdef WIN32
- subframe = new wxMaracasGenericChiFra(this, _T("..."),wxPoint(-1, -1),wxSize(750, 600),wxDEFAULT_FRAME_STYLE);
- wxMenuBar *menu_bar = CreateMenuBarBase();
- subframe->SetMenuBar(menu_bar);
-#else
- subframe = new wxFrame(this, -1, _T("..."));
-#endif
-
- subframe->Maximize();
-//EEDx11
- wxMaracasNoteBookSTLFormat *stlFormat = new wxMaracasNoteBookSTLFormat(subframe,_mar);
-
- title_sf=_T("STL Format");
- }
-
-
- // Test Format
- if (type==60){
- wxBusyCursor wait;
- int voi[ 6 ];
- wxMaracasImageBrowser02 *imageBrowser= _patientlstvoi->GetWxMaracasImageBrowser02();
- imageBrowser->ForceToFinisReadActiveImages( );
- imageBrowser->GetROI( voi );
- _mar->_experiment->setVOI( voi );
-
-#ifdef WIN32
- subframe = new wxMaracasGenericChiFra(this, _T("..."),wxPoint(-1, -1),wxSize(750, 600),wxDEFAULT_FRAME_STYLE);
- wxMenuBar *menu_bar = CreateMenuBarBase();
- subframe->SetMenuBar(menu_bar);
-#else
- subframe = new wxFrame(this, -1, _T("..."));
-#endif
-
- subframe->Maximize();
- wxMaracasNoteBookTests *testsPanel = new wxMaracasNoteBookTests(subframe,_mar);
- title_sf=_T("Tests");
- }
-
-// EED 7 Nov 2006
- // Test2 Format
- if (type==70){
- bool ok=false;
-
- if (_manualRegistrationPanel==NULL)
- {
- ok=true;
- } else {
- if ( _manualRegistrationPanel->GetIfSecondVolumeExist()==true )
- {
- ok=true;
- } else {
- _manualRegistrationPanel->GenerateSecondVolume(_mar);
- _manualRegistrationPanel=NULL;
- }
- }
-
- if (ok==true){
- wxBusyCursor wait;
- int voi[ 6 ];
- wxMaracasImageBrowser02 *imageBrowser= _patientlstvoi->GetWxMaracasImageBrowser02();
- imageBrowser->ForceToFinisReadActiveImages( );
- imageBrowser->GetROI( voi );
- _mar->_experiment->setVOI( voi );
-
-#ifdef WIN32
- subframe = new wxMaracasGenericChiFra(this, _T("..."),wxPoint(-1, -1),wxSize(750, 600),wxDEFAULT_FRAME_STYLE);
- wxMenuBar *menu_bar = CreateMenuBarBase();
- subframe->SetMenuBar(menu_bar);
-#else
- subframe = new wxFrame(this, -1, _T("..."));
-#endif
-
- subframe->Maximize();
- _manualRegistrationPanel = new wxMaracasNoteBookManualRegistration(subframe,_mar);
- title_sf=_T("Manual registration");
- }
- }
-
-
-
- if (subframe!=NULL)
- {
- subframe->SetTitle(title_sf);
- subframe->CreateStatusBar();
- subframe->SetStatusText(title_sf);
- subframe->Show(TRUE);
- }
-
-
-}
-
-//----------------------------------------------------------------------------
-
-void wxMaracasFrame03::Configure_WindowMDI( int type)
-{
- if (type==0)
- {
-// _patientlstvoi->Configure();
- }
-}
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-BEGIN_EVENT_TABLE(wxMaracasGenericChiFra, wxMDIChildFrame)
-// Borrame
-// EVT_MENU(MDI_CHILD_QUIT, MyChild::OnQuit)
-// EVT_MENU(MDI_REFRESH, MyChild::OnRefresh)
-// EVT_MENU(MDI_CHANGE_TITLE, MyChild::OnChangeTitle)
-// EVT_MENU(MDI_CHANGE_POSITION, MyChild::OnChangePosition)
-// EVT_MENU(MDI_CHANGE_SIZE, MyChild::OnChangeSize)
-
-// EVT_SIZE(MyChild::OnSize)
-// EVT_MOVE(MyChild::OnMove)
-
- EVT_CLOSE(wxMaracasGenericChiFra::OnClose)
-END_EVENT_TABLE()
-
-
-wxMaracasGenericChiFra::wxMaracasGenericChiFra(wxMDIParentFrame *parent, const wxString& title,
- const wxPoint& pos, const wxSize& size,
- const long style)
- : wxMDIChildFrame(parent, -1, title, pos, size,
- style | wxNO_FULL_REPAINT_ON_RESIZE)
-{
- _blockClose=false;
-}
-//----------------------------------------------------------------------------
-wxMaracasGenericChiFra::~wxMaracasGenericChiFra()
-{
- wxMDIParentFrame *parent = (wxMDIParentFrame*)GetParent();
- parent->ActivateNext();
-}
-
-
-//----------------------------------------------------------------------------
-void wxMaracasGenericChiFra::OnClose(wxCloseEvent& event)
-{
- if (_blockClose==true){
- wxMessageDialog msg(this, _T("You can't close this window.."), _T("Message box"), wxOK );
- msg.ShowModal();
- event.Veto();
- return;
- } else {
- event.Skip();
- }
-}
-//----------------------------------------------------------------------------
-void wxMaracasGenericChiFra::SetBlockCloseEvent(bool blockClose)
-{
- _blockClose=blockClose;
-}
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-// EED 3 Nov 2006
-
-
-FileInfoNode::FileInfoNode(string filename, string dirfile)
-{
- _filename = filename;
- _filenameParent = "";
- _dirfile = dirfile;
-}
-//----------------------------------------------------------------------------
-FileInfoNode::~FileInfoNode()
-{
-}
-//----------------------------------------------------------------------------
-string FileInfoNode::GetFileName()
-{
- return _filename;
-}
-//----------------------------------------------------------------------------
-string FileInfoNode::GetFileNameParent()
-{
- return _filenameParent;
-}
-//----------------------------------------------------------------------------
-void FileInfoNode::SetFileNameParent(string parent)
-{
- _filenameParent=parent;
-}
-//----------------------------------------------------------------------------
-string FileInfoNode::GetDirFile()
-{
- return _dirfile;
-}
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-FileInformationModel::FileInformationModel()
-{
-}
-//----------------------------------------------------------------------------
-FileInformationModel::~FileInformationModel()
-{
-}
-//----------------------------------------------------------------------------
-int FileInformationModel::GetSizeLstFile_filter()
-{
- int count=0;
- int i,size = _lstFileInfoNodes.size();
- for ( i=0 ; i<size ; i++ )
- {
- if (_lstFileInfoNodes[i]->GetFileNameParent()==_filtre_1)
- {
- count++;
- }
- }
- return count;
-}
-//----------------------------------------------------------------------------
-string FileInformationModel::GetFileName_filter(int i)
-{
- string result;
- int count=0;
- int ii,size = _lstFileInfoNodes.size();
- for ( ii=0 ; ii<size ; ii++ )
- {
- if ( (_lstFileInfoNodes[ii]->GetFileNameParent()==_filtre_1) && (count==i) )
- {
- result=_lstFileInfoNodes[ii]->GetFileName();
- break;
- }
-
- if (_lstFileInfoNodes[ii]->GetFileNameParent()==_filtre_1)
- {
- count++;
- }
- }
- return result;
-}
-//----------------------------------------------------------------------------
-int FileInformationModel::GetSizeLstFile()
-{
- return _lstFileInfoNodes.size();
-}
-//----------------------------------------------------------------------------
-string FileInformationModel::GetFileName(int i)
-{
- return _lstFileInfoNodes[i]->GetFileName();
-}
-//----------------------------------------------------------------------------
-void FileInformationModel::ResetModel()
-{
- int i,size=_lstFileInfoNodes.size();
- for(i=0;i<size;i++)
- {
- delete _lstFileInfoNodes[i];
- }
- _lstFileInfoNodes.clear();
-}
-//----------------------------------------------------------------------------
-void FileInformationModel::ReadModel(string dirFile)
-{
- ResetModel();
-
- wxString wxdirfile( wxString(dirFile.c_str() , wxConvUTF8) );
- wxDir dir(wxdirfile);
- if ( !dir.IsOpened() )
- {
- // deal with the error here - wxDir would already log an error message
- // explaining the exact reason of the failure
- return;
- }
- wxString filename=_T("");
- bool cont = dir.GetFirst(&filename, _T("*.MaracasInfo"));
- while ( cont )
- {
- _lstFileInfoNodes.push_back( new FileInfoNode( (const char*)(filename.mb_str()) , dirFile) );
- filename=_T("");
- cont = dir.GetNext( &filename );
- }
- LinkRelations();
-}
-//----------------------------------------------------------------------------
-void FileInformationModel::Filtre_1(string filtre)
-{
- _filtre_1=filtre;
-}
-
-//----------------------------------------------------------------------------
-void FileInformationModel::LinkRelations()
-{
- char tmp[255];
- FILE *ff;
- string filename;
- string dirfile;
- string name;
- int i,size=_lstFileInfoNodes.size();
- for(i=0;i<size;i++)
- {
- filename = _lstFileInfoNodes[i]->GetFileName();
- dirfile = _lstFileInfoNodes[i]->GetDirFile();
- name=dirfile+"/";
- name=name+filename;
- ff=fopen(name.c_str(),"r+");
- fscanf(ff,"%s",tmp);
- fscanf(ff,"%s",tmp);
- fscanf(ff,"%s",tmp);
- _lstFileInfoNodes[i]->SetFileNameParent(tmp);
- fclose(ff);
- }
-}
-
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-string wxReadWriteConf::_workDirectory = "c:/Maracas_configuration/";
-
-
-wxReadWriteConf::wxReadWriteConf(wxWindow *parent,string parentFile)
-: wxDialog(parent, -1, wxString(_T("Read-Write Configuration")) ,wxDefaultPosition,wxSize(800,400), wxRESIZE_BORDER|wxDEFAULT_DIALOG_STYLE )
-{
- _parentFile = parentFile;
- wxButton *btnDirectory = new wxButton(this,-1,_T("Directory"));
- _directoryTXT = new wxStaticText(this , -1 , wxString(_workDirectory.c_str(), wxConvUTF8) );
-
- wxString tempTXT(_T("Parent File: "));
- tempTXT=tempTXT + wxString(_parentFile.c_str(), wxConvUTF8);
- wxStaticText *parentFileTXT = new wxStaticText(this , -1 , tempTXT );
- Connect(btnDirectory->GetId(),wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction) &wxReadWriteConf::eventBtnWorkDirectory);
- wxWindow *wxwindow = CreateReadModule(this);
- wxBoxSizer *sizerA = new wxBoxSizer(wxHORIZONTAL);
- sizerA->Add(parentFileTXT,1,wxALL,5);
- wxBoxSizer *sizerB = new wxBoxSizer(wxHORIZONTAL);
- sizerB->Add(btnDirectory,1,wxALL,5);
- sizerB->Add(_directoryTXT,1,wxALL,10);
-
- wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
- sizer->Add(sizerA,0,wxALL,0);
- sizer->Add(sizerB,0,wxALL,5);
- sizer->Add(wxwindow,1,wxGROW|wxEXPAND,0);
- this->SetSizer(sizer);
- this->Layout();
-
- _nameReadFile="";
- _fim = new FileInformationModel();
- ResetView();
-}
-//----------------------------------------------------------------------------
-wxReadWriteConf::~wxReadWriteConf()
-{
-}
-//----------------------------------------------------------------------------
-void wxReadWriteConf::ResetView()
-{
- _fim->Filtre_1(_parentFile);
- _fim->ReadModel(_workDirectory);
- RefreshReadFilesList();
- RefreshAllFilesList();
-}
-//----------------------------------------------------------------------------
-wxWindow *wxReadWriteConf::CreateReadModule(wxWindow *parent)
-{
- wxPanel *panel = new wxPanel(parent,-1);
-
- _wxviewinfo= new wxTextCtrl(panel,-1,_T(""),wxDefaultPosition,wxDefaultSize,wxTE_MULTILINE|wxHSCROLL );
-
- wxBoxSizer * sizer = new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( CreateListFilesModule(panel), 1,wxGROW|wxEXPAND,0 );
- sizer->Add( _wxviewinfo , 1,wxEXPAND,0 );
-
- panel->SetSizer(sizer);
- panel->Layout();
-
- return panel;
-}
-
-//----------------------------------------------------------------------------
-wxWindow *wxReadWriteConf::CreateListFilesModule(wxWindow *parent)
-{
- wxPanel *panel = new wxPanel(parent,-1);
- wxNotebook *notebook = new wxNotebook(panel,-1);
- notebook->AddPage( CreateReadFileModule(notebook) ,wxString(_T("Read File")));
- notebook->AddPage( CreateListAllFilesModule(notebook) ,wxString(_T("All files")));
- notebook->AddPage( new wxPanel(notebook,-1) ,wxString(_T("Files Relation")));
- wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
- sizer->Add(notebook,1,wxEXPAND|wxGROW,0);
- panel->SetSizer(sizer);
- panel->Layout();
- return panel;
-}
-//----------------------------------------------------------------------------
-wxWindow *wxReadWriteConf::CreateReadFileModule(wxWindow *parent)
-{
- wxPanel *panel = new wxPanel(parent,-1);
- _wxlstFiles = new wxListBox( panel , -1 , wxDefaultPosition , wxSize(900,900) );
- wxButton *btnReadFile = new wxButton(panel, -1, _T(" Read \n information file") );
- wxButton *btnWriteFile = new wxButton(panel, -1, _T(" Create \n new file information"));
- wxButton *btnReWriteFile = new wxButton(panel, -1, _T(" ReWrite \n file information"));
-
-
- Connect(_wxlstFiles->GetId(),wxEVT_COMMAND_LISTBOX_SELECTED ,(wxObjectEventFunction) &wxReadWriteConf::OnShowFile01);
- Connect(_wxlstFiles->GetId(),wxEVT_COMMAND_LISTBOX_DOUBLECLICKED ,(wxObjectEventFunction) &wxReadWriteConf::eventBtnReadFile);
-
- Connect(btnReadFile->GetId(),wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction) &wxReadWriteConf::eventBtnReadFile);
- Connect(btnWriteFile->GetId(),wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction) &wxReadWriteConf::eventBtnWriteFile);
- Connect(btnReWriteFile->GetId(),wxEVT_COMMAND_BUTTON_CLICKED,(wxObjectEventFunction) &wxReadWriteConf::eventBtnReWriteFile);
-
- wxBoxSizer *sizerB = new wxBoxSizer(wxHORIZONTAL);
- sizerB->Add( btnReadFile , 1 , wxALL|wxALIGN_CENTER|wxEXPAND , 5 );
- sizerB->Add( btnWriteFile , 1 , wxALL|wxALIGN_CENTER|wxEXPAND , 5 );
- sizerB->Add( btnReWriteFile , 1 , wxALL|wxALIGN_CENTER|wxEXPAND , 5 );
- wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
- sizer->Add( _wxlstFiles , 1 , wxGROW | wxEXPAND , 0 );
- sizer->Add( sizerB , 0 , wxALIGN_CENTER , 5 );
- panel->SetSizer(sizer);
- panel->Layout();
- return panel;
-}
-
-//----------------------------------------------------------------------------
-wxWindow *wxReadWriteConf::CreateListAllFilesModule(wxWindow *parent)
-{
- wxPanel *panel = new wxPanel(parent,-1);
- _wxlstAllFiles = new wxListBox( panel , -1 , wxDefaultPosition , wxSize(900,900) );
-
- Connect(_wxlstAllFiles->GetId(),wxEVT_COMMAND_LISTBOX_SELECTED ,(wxObjectEventFunction) &wxReadWriteConf::OnShowFile02);
-
- wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL);
- sizer->Add( _wxlstAllFiles , 1 , wxGROW | wxEXPAND , 0 );
- panel->SetSizer(sizer);
- panel->Layout();
- return panel;
-}
-
-//----------------------------------------------------------------------------
-void wxReadWriteConf::eventBtnReadFile(wxCommandEvent &event)
-{
- if (_nameReadFile!="")
- {
- wxCommandEvent newevent(wxEVT_COMMAND_MENU_SELECTED,30002);
- this->GetParent()->ProcessEvent(newevent);
- this->Close();
- }
-}
-//----------------------------------------------------------------------------
-void wxReadWriteConf::eventBtnReWriteFile(wxCommandEvent &event)
-{
- _nameWriteFile=_nameReadFile;
- int sizeStr=_nameWriteFile.length() - string(".MaracasInfo").length();
- _nameWriteFile = _nameWriteFile.substr(0,sizeStr);
-
- if (_nameWriteFile!="")
- {
- wxString msg(_nameReadFile.c_str(), wxConvUTF8);
- msg = msg+_T("\n\n\nYou really want to modify this file ?");
- int result = wxMessageDialog(this,msg,_T("Warning.."),wxOK | wxCANCEL).ShowModal();
- if (result==wxID_OK){
- wxCommandEvent newevent(wxEVT_COMMAND_MENU_SELECTED,30001);
- this->GetParent()->ProcessEvent(newevent);
- this->ResetView();
- this->Close();
- }
- } else {
- wxMessageDialog(this,_T("First, you have to select a file."),_T("Warning.."), wxOK).ShowModal();
- }
-}
-//----------------------------------------------------------------------------
-void wxReadWriteConf::eventBtnWriteFile(wxCommandEvent &event)
-{
- wxTextEntryDialog *filedlg = new wxTextEntryDialog(this, _T("Write MaracaInfo"));
- if(filedlg->ShowModal() == wxID_OK)
- {
- wxBusyCursor wait;
- string nameFile( (const char*)(filedlg->GetValue().mb_str()) );
- if (nameFile!=""){
-
- string name = _workDirectory+"/"+nameFile+".MaracasInfo";
- FILE *ff=fopen( name.c_str() , "r+" );
- if (ff!=NULL)
- {
- fclose(ff);
- wxMessageDialog(this,_T("...Error... \n\nThis file already exists."),_T("Error.."), wxOK).ShowModal();
- } else {
- _nameWriteFile=nameFile;
- wxCommandEvent newevent(wxEVT_COMMAND_MENU_SELECTED,30001);
- this->GetParent()->ProcessEvent(newevent);
- this->ResetView();
- this->Close();
- }
- }
- }
-
-}
-//----------------------------------------------------------------------------
-void wxReadWriteConf::OnShowFile01(wxCommandEvent &event)
-{
- int id=_wxlstFiles->GetSelection();
- if (id!=-1){
- _nameReadFile = (const char*)(_wxlstFiles->GetString(id).mb_str());
- ShowInformation(_wxlstFiles,_wxviewinfo);
- }
-}
-//----------------------------------------------------------------------------
-void wxReadWriteConf::OnShowFile02(wxCommandEvent &event)
-{
- ShowInformation(_wxlstAllFiles,_wxviewinfo);
-}
-//----------------------------------------------------------------------------
-void wxReadWriteConf::ShowInformation(wxListBox *wxlistbox , wxTextCtrl* wxtextctrl )
-{
- int id=wxlistbox->GetSelection();
- if (id!=-1){
- string namefile = (const char*)(wxlistbox->GetString(id).mb_str());
- if (namefile!=""){
- wxString text;
- char tmp[255];
- FILE *ff;
- string nf(this->_workDirectory);
- nf=nf+"/";
- nf=nf+namefile.c_str();
-
- text = wxString(nf.c_str(), wxConvUTF8);
- text = text + _T("\n--------------------------------------------\n");
-
- ff=fopen(nf.c_str(),"r+");
- while (!feof(ff)){
- strcpy(tmp,"");
- fgets(tmp,255,ff);
- text = text + wxString(tmp, wxConvUTF8);
- }
- fclose(ff);
-
- wxtextctrl->SetValue(text);
- }
- }
-}
-//----------------------------------------------------------------------------
-void wxReadWriteConf::eventBtnWorkDirectory(wxCommandEvent &event)
-{
-
-
- wxDirDialog *filedlg = new wxDirDialog(this, _T("Work Directory"), wxString(_workDirectory.c_str(), wxConvUTF8) );
- if(filedlg->ShowModal() == wxID_OK)
- {
- wxBusyCursor wait;
- _workDirectory = (const char*)(filedlg->GetPath().mb_str());
- _directoryTXT->SetLabel( wxString(_workDirectory.c_str(), wxConvUTF8) );
- ResetView();
- }
-}
-//----------------------------------------------------------------------------
-void wxReadWriteConf::RefreshReadFilesList()
-{
- _wxlstFiles->Clear();
- wxString wxfilename;
- int i,size = _fim->GetSizeLstFile_filter();
- for (i=0; i<size; i++)
- {
- _wxlstFiles->Append( wxString(_fim->GetFileName_filter(i).c_str(), wxConvUTF8) );
- }
-}
-//----------------------------------------------------------------------------
-void wxReadWriteConf::RefreshAllFilesList()
-{
- _wxlstAllFiles->Clear();
- wxString wxfilename;
- int i,size = _fim->GetSizeLstFile();
- for (i=0; i<size; i++)
- {
- _wxlstAllFiles->Append( wxString(_fim->GetFileName(i).c_str(), wxConvUTF8) );
- }
-}
-//----------------------------------------------------------------------------
-string wxReadWriteConf::GetNameWriteFile()
-{
- return _nameWriteFile;
-}
-//----------------------------------------------------------------------------
-string wxReadWriteConf::GetNameReadFile()
-{
- return _nameReadFile;
-}
-
-//----------------------------------------------------------------------------
-string wxReadWriteConf::GetWorkDirectory()
-{
- return _workDirectory;
-}
-
-string wxReadWriteConf::GetParentFile()
-{
- return _parentFile;
-}
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-BEGIN_EVENT_TABLE(wxMaracasNoteBookPatientLstVoi , wxPanel)
-// Borrame
-// EVT_MENU(MDI_CHILD_QUIT, MyChild::OnQuit)
-// EVT_MENU(MDI_REFRESH, MyChild::OnRefresh)
-// EVT_MENU(MDI_CHANGE_TITLE, MyChild::OnChangeTitle)
-// EVT_MENU(MDI_CHANGE_POSITION, MyChild::OnChangePosition)
-// EVT_MENU(MDI_CHANGE_SIZE, MyChild::OnChangeSize)
-// EVT_MENU(20001, wxMaracasNoteBookPatientLstVoi::OnSelectPatientStudySerieImage)
-
-// EVT_SIZE(MyChild::OnSize)
-// EVT_MOVE(MyChild::OnMove)
-
-// EVT_CLOSE(wxMaracasPatientLstVoiChiFra::OnClose)
-
- EVT_MENU(30001, wxMaracasNoteBookPatientLstVoi::OnPersistence_Write)
- EVT_MENU(30002, wxMaracasNoteBookPatientLstVoi::OnPersistence_Read)
-
-
-END_EVENT_TABLE()
-
-
-wxMaracasNoteBookPatientLstVoi::wxMaracasNoteBookPatientLstVoi(wxWindow *parent)
- : wxPanel(parent, -1)
-{
-
- this->SetAutoLayout(true);
-
-
-//EED 4 oct 2006
- _marRAWFiles = NULL;
- _marRAW2Files = NULL;
- _marRAW2AsciiFiles = NULL;
- _marGdcmDicomILPD = NULL;
-
-
-// EED 14 Nov 2006
- _wxreadwriteconf=NULL;
-
-
- _wxMaracasMPR = NULL;
- _wxMaracasImageBrowser02 = NULL;
- _mar2 = NULL;
-
- _widgetMesure = NULL;
-//EED 15Avril2008 _wxvtk2Dbaseview = NULL;
-//EED 15Avril2008 _vtkbasedata = NULL;
-
- _backStringFirstFile = "";
- _backStringFirstFile2 = "";
-
- _voiBack[0]=_voiBack[1]=_voiBack[2]=_voiBack[3]=_voiBack[4]=_voiBack[5]=-1;
-
- _noteBook = new wxNotebook(this, -1);
-
- _noteBook->SetSize(750,300);
- wxImageList *imageList = new wxImageList(50,50);
-
- wxBitmap mask= wxBITMAP( TOOLBAR_V2_sm_mask );
-
- wxBitmap bitmap0 = wxBITMAP( TOOLBAR_V2_sm_bl_ListPatient );
- wxBitmap bitmap1 = wxBITMAP( TOOLBAR_V2_sm_re_ListPatient );
- wxBitmap bitmap2 = wxBITMAP( TOOLBAR_V2_sm_re_ListPatient );
- wxBitmap bitmap3 = wxBITMAP( TOOLBAR_V2_sm_bl_voi );
- wxBitmap bitmap4 = wxBITMAP( TOOLBAR_V2_sm_re_voi );
- wxBitmap bitmap5 = wxBITMAP( TOOLBAR_V2_sm_tr_VOI );
- wxBitmap bitmap6 = wxBITMAP( TOOLBAR_V2_sm_bl_Processing );
- wxBitmap bitmap7 = wxBITMAP( TOOLBAR_V2_sm_bl_Processing );
- wxBitmap bitmap8 = wxBITMAP( TOOLBAR_V2_sm_tr_Processing );
- wxBitmap bitmap9 = wxBITMAP( TOOLBAR_V2_sm_bl_MPR );
- wxBitmap bitmap10 = wxBITMAP( TOOLBAR_V2_sm_bl_MPR );
- wxBitmap bitmap11 = wxBITMAP( TOOLBAR_V2_sm_tr_MPR );
-
- bitmap0.SetMask(new wxMask( mask ));
- bitmap1.SetMask(new wxMask( mask ));
- bitmap2.SetMask(new wxMask( mask ));
- bitmap3.SetMask(new wxMask( mask ));
- bitmap4.SetMask(new wxMask( mask ));
- bitmap5.SetMask(new wxMask( mask ));
- bitmap6.SetMask(new wxMask( mask ));
- bitmap7.SetMask(new wxMask( mask ));
- bitmap8.SetMask(new wxMask( mask ));
- bitmap9.SetMask(new wxMask( mask ));
- bitmap10.SetMask(new wxMask( mask ));
- bitmap11.SetMask(new wxMask( mask ));
-
- imageList->Add( bitmap0 ); // 0
- imageList->Add( bitmap1 ); // 1
- imageList->Add( bitmap2 ); // 2
- imageList->Add( bitmap3 ); // 3
- imageList->Add( bitmap4 ); // 4
- imageList->Add( bitmap4 ); // 5
- imageList->Add( bitmap6 ); // 6
- imageList->Add( bitmap7 ); // 7
- imageList->Add( bitmap8 ); // 8
- imageList->Add( bitmap9 ); // 9
- imageList->Add( bitmap10 ); // 10
- imageList->Add( bitmap11 ); // 11
- _noteBook->SetImageList(imageList);
-
-
-//EED 15Avril2008 wxPanel *panel_with_wxILPD = CreatePanel_WxILPD( _noteBook );
-//EED 15Avril2008 ILPDViewListPatient* _ilpdViewListPatient = new ILPDViewListPatient( new ILPDViewWxWindow(_wxILPD) );
-
- wxILPDwithImage *panel_with_wxILPD = new wxILPDwithImage( _noteBook );
- panel_with_wxILPD->Configure();
- _wxILPD = panel_with_wxILPD->GetWxILPD();
-
- wxProcessingImagesControl *processingCtrl = new wxProcessingImagesControl(_noteBook);
-
- _noteBook->AddPage( panel_with_wxILPD , _T("Patient List >> ") , true, 0 );
- _noteBook->AddPage(new wxPanel(_noteBook,-1) , _T(" View Image >> ") , true, 5 );
- _noteBook->AddPage(new wxPanel(_noteBook,-1) , _T(" MPR ") , true, 11 );
- _noteBook->AddPage(processingCtrl , _T(" Processing ") , true, 8 );
- _noteBook->SetSelection(0);
-
-
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING , (wxObjectEventFunction) &wxMaracasNoteBookPatientLstVoi::OnChangePageToVOI );
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , (wxObjectEventFunction) &wxMaracasNoteBookPatientLstVoi::OnChangePage );
-
- wxStaticText *title=new wxStaticText(this,-1,_T("Load Patient Image "));
-
-// It doesn't works in linux
-// wxFont font(18,wxDEFAULT , wxITALIC, wxBOLD);
-// title->SetFont(font);
-
-//EEDxx2.6
-// wxNotebookSizer *nbs = new wxNotebookSizer( _noteBook );
-
-// --
- wxButton *btnReadWriteConfig = new wxButton(this,-1,_T("Read-Write Config"));
- Connect(btnReadWriteConfig->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasNoteBookPatientLstVoi::OnReadWriteConf_Maracas );
- wxButton *btnHelp = new wxButton(this,-1,_T("Help"));
- wxButton *btnClose = new wxButton(this,-1,_T("Close"))
- ;
- wxBoxSizer *sizerB = new wxBoxSizer(wxHORIZONTAL);
- sizerB->Add( btnReadWriteConfig , 0, wxALIGN_RIGHT, 10);
- sizerB->Add( btnHelp , 0, wxALIGN_RIGHT, 10);
- sizerB->Add( btnClose , 0, wxALIGN_RIGHT, 10);
-
-
- wxBoxSizer *sizer= new wxBoxSizer(wxVERTICAL);
- sizer->Add( sizerB , 0, wxALIGN_RIGHT, 10);
- sizer->Add( title , 0, wxEXPAND | wxALIGN_RIGHT, 10);
-
- sizer->Add( _noteBook , 3, wxGROW|wxALL, 10 );
-
- this->SetSizer(sizer);
- this->Layout();
-
-//EEDxx2.6
-// FitInside();
-
-
-// ConfigureVTK();
-}
-//----------------------------------------------------------------------------
-wxMaracasNoteBookPatientLstVoi::~wxMaracasNoteBookPatientLstVoi()
-{
-
-//EED 15Avril2008 if (_vtkbasedata!=NULL) { delete _vtkbasedata; }
-//EED 15Avril2008 if (_wxvtk2Dbaseview!=NULL) { delete _wxvtk2Dbaseview; }
-
- if (_mar2!=NULL)
- {
-// delete _mar2;
- }
-
-}
-
-
-
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookPatientLstVoi::SetMarInterface(marInterface *mar)
-{
- _mar=mar;
-}
-
-
-
-//----------------------------------------------------------------------------
-
-void wxMaracasNoteBookPatientLstVoi::CreateMPRPanel()
-{
- wxBusyCursor wait;
- // Create panel
- if (_wxMaracasMPR!=NULL)
- {
- delete _wxMaracasMPR;
-// delete _mar2;
- }
-
- int voi[ 6 ];
- _wxMaracasImageBrowser02->ForceToFinisReadActiveImages( );
- _wxMaracasImageBrowser02->GetROI( voi );
- _mar->_experiment->setVOI( voi );
- _mar2=new marInterface();
-
- _mar2->_parameters->setRescaleSlope( _mar->_parameters->getRescaleSlope() );
- _mar2->_parameters->setRescaleIntercept( _mar->_parameters->getRescaleIntercept() );
-
-
- double spcOriginalImage[3];
- spcOriginalImage[0]=_mar->_parameters->getDoubleParam(marParameters::e_voxel_x_dimension);
- spcOriginalImage[1]=_mar->_parameters->getDoubleParam(marParameters::e_voxel_y_dimension);
- spcOriginalImage[2]=_mar->_parameters->getDoubleParam(marParameters::e_voxel_z_dimension);
-
-//EEDx1
-// _mar2->_parameters->setDoubleParam( marParameters::e_voxel_x_dimension, _mar->_parameters->getDoubleParam(marParameters::e_voxel_x_dimension) );
- _mar2->_parameters->setIntParam( marParameters::e_voxel_type, marParameters::VOX_TYPE_MINIMUM );
- _mar2->_parameters->setDoubleParam( marParameters::e_voxel_x_dimension, spcOriginalImage[0] );
- _mar2->_parameters->setDoubleParam( marParameters::e_voxel_y_dimension, spcOriginalImage[1] );
- _mar2->_parameters->setDoubleParam( marParameters::e_voxel_z_dimension, spcOriginalImage[2] );
-
- _mar->_experiment->getVOI( voi );
- _mar2->_experiment->setVOI( voi );
- _mar2->SetDicom(_mar->_dicom);
- _mar2->initExperiment( );
-
- vtkImageData *imagedata;
- imagedata = _mar2->_experiment->getDynData( )->getVolume( )->castVtk();
- imagedata->Update();
-
- marImageData *marimagedata = new marImageData(imagedata);
- marimagedata->SetSpcOriginal(spcOriginalImage);
- marimagedata->SetVoiOriginal(voi);
-
- _wxMaracasMPR = new wxMaracasMPR( _noteBook->GetPage(2), marimagedata , _mar2->_parameters->getVoxelSize( ) );
- _wxMaracasMPR->ConfigureVTK();
-
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( _wxMaracasMPR , 1, wxALL|wxGROW, 0);
- _noteBook->GetPage(2)->SetAutoLayout(true);
- _noteBook->GetPage(2)->SetSizer(sizer);
- _noteBook->GetPage(2)->Layout();
-}
-
-
-
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookPatientLstVoi::OnChangePage(wxNotebookEvent& event)
-{
- vector <string*> lstStringFileName;
- if ( (_noteBook->GetSelection()==2) && event.GetOldSelection()==1 )
- {
- _wxILPD->GetLstImageFiles(&lstStringFileName);
- if (lstStringFileName.size()!=0)
- {
- int voi[6];
- _wxMaracasImageBrowser02->GetROI( voi );
- if ( (_backStringFirstFile2!=*(lstStringFileName[0])) ||
- ( _voiBack[0]!=voi[0]) || ( _voiBack[1]!=voi[1]) || ( _voiBack[2]!=voi[2]) ||
- ( _voiBack[3]!=voi[3]) || ( _voiBack[4]!=voi[4]) || ( _voiBack[5]!=voi[5]) )
- {
- _backStringFirstFile2=*(lstStringFileName[0]);
- _wxMaracasImageBrowser02->GetROI( _voiBack );
- CreateMPRPanel();
- }
- }
-
- } else {
- if ( (_noteBook->GetSelection()==2) && event.GetOldSelection()!=1 )
- {
- wxMessageDialog msg(this, _T("Before this, you have to select the VOI in View image module.."), _T("Message box"), wxOK );
- msg.ShowModal();
- _noteBook->SetSelection(1);
- }
-
- }
-
-// Refresh();
- _wxILPD->Refresh();
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookPatientLstVoi::OnChangePageToVOI(wxNotebookEvent& event)
-{
- //event.Skip();
-
- if (_noteBook->GetSelection()==0){
-
- FILE *ff;
- bool okFirst=true;
- // bool okAllFileExists = true;
- // int i;
- string msgLstFile="";
-
-
- //
- //EED 4 Oct 2006
- if (_wxILPD->GetTypeOfReadFiles()==0)
- {
- if (_marGdcmDicomILPD==NULL)
- {
- _marGdcmDicomILPD = new marGdcmDicomILPD( _mar->_parameters );
- }
- _mar->SetDicom(_marGdcmDicomILPD);
- }
-
- //
- //EED 4 Oct 2006
- if (_wxILPD->GetTypeOfReadFiles()==2)
- {
-
- if ((_wxILPD->GetSubTypeOfReadFiles()==0) &&(_marRAWFiles==NULL))
- {
- _marRAWFiles = new marRAWFiles( _mar->_parameters );
- _mar->SetDicom(_marRAWFiles);
- }
-
- if ((_wxILPD->GetSubTypeOfReadFiles()==100) &&(_marGdcmDicomILPD==NULL))
- {
- _marGdcmDicomILPD = new marGdcmDicomILPD( _mar->_parameters );
- _mar->SetDicom(_marGdcmDicomILPD);
- }
-
- if ((_wxILPD->GetSubTypeOfReadFiles()==200) &&(_marRAW2Files==NULL))
- {
- _marRAW2Files = new marRAW2Files( _mar->_parameters );
- _mar->SetDicom(_marRAW2Files);
- }
- if ((_wxILPD->GetSubTypeOfReadFiles()==300) &&(_marRAW2AsciiFiles==NULL))
- {
- _marRAW2AsciiFiles = new marRAW2AsciiFiles( _mar->_parameters );
- _mar->SetDicom(_marRAW2AsciiFiles);
- }
-
- }
-
- //
-
- if (_wxILPD->GetTypeOfSelection() == 3)
- {
- wxBusyCursor wait;
- vector <string*> *lstStringFileName;
- _mar->_dicom->CleanListImages();
- lstStringFileName = _mar->_dicom->GetListImages( );
- _wxILPD->GetLstImageFiles(lstStringFileName);
- if (lstStringFileName->size()!=0)
- {
-
- //EED 9 oct 2006
- // marGdcmDicomILPD *margdcmdicomILPD = (marGdcmDicomILPD*)_mar->_dicom;
- // margdcmdicomILPD->SetListImages( &lstStringFileName );
-
-
- std::string *tmpStr=(*lstStringFileName)[0];
- if ( _backStringFirstFile!=*tmpStr )
- {
- if (_wxILPD->GetTypeOfReadFiles()==0)
- {
- _backStringFirstFile=*tmpStr;
- } else {
- _backStringFirstFile="-1";
- }
- _noteBook->SetPageImage(1, 4); // VOI Button Blue
- _noteBook->SetPageImage(2, 9); // MPR Button Blue
- _noteBook->SetPageImage(3, 6); // Processing Button Blue
-
- /*
- // Verifying that the list of files exist
- for( i=0 ; i<lstStringFileName.size() ; i++ )
- {
- ff = fopen(lstStringFileName[i]->c_str(),"r");
- if (ff!=NULL)
- {
- fclose(ff);
- } else {
- if (i==0)
- {
- okFirst=false;
- break;
- }
- okAllFileExists = false;
- msgLstFile = msgLstFile + lstStringFileName[i]->c_str()+ "\n";
- }
- }
- if ((okAllFileExists == false) && (okFirst==true))
- {
- wxDialog *dialog = new wxDialog( this , -1, wxString("The following files doesn't exist:"), wxDefaultPosition, wxSize(550,300), wxDEFAULT_DIALOG_STYLE | wxRESIZE_BORDER );
-
- wxTextCtrl *textCtrl = new wxTextCtrl(dialog, -1, msgLstFile.c_str() ,wxDefaultPosition , wxSize(100,100) , wxTE_MULTILINE | wxTE_READONLY );
- textCtrl->SetSelection(0,0);
-
- wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL );
- sizer->Add( textCtrl , 1, wxALL|wxEXPAND, 0);
- dialog->SetAutoLayout(true);
- dialog->SetSizer( sizer ); // use the sizer for layout
- dialog->Layout();
- dialog->FitInside();
- dialog->ShowModal();
- }
- */
-
- ff = fopen((*lstStringFileName)[0]->c_str(),"r");
- if (ff!=NULL)
- {
- fclose(ff);
- } else {
- okFirst=false;
- msgLstFile = msgLstFile + (*lstStringFileName)[0]->c_str()+ "\n";
- }
-
- if (okFirst == false)
- {
- msgLstFile = "The series is incomplete or does not exists.";
- wxMessageDialog msgBox(this, wxString(msgLstFile.c_str(), wxConvUTF8), _T("Read file ERROR"), wxOK);
- msgBox.ShowModal();
- _backStringFirstFile="";
- event.Veto();
- } else {
-
- // Create panel
- if (_wxMaracasImageBrowser02!=NULL)
- {
- delete _wxMaracasImageBrowser02;
- }
- _wxMaracasImageBrowser02 = new wxMaracasImageBrowser02( _noteBook->GetPage(1), _mar->_dicom, _mar->_parameters );
- // _wxMaracasImageBrowser02->SetSize(600,600);
-
-
- _mar->_dicom->loadActualSerie( NULL/*this->_progressGauge*/ );
- vtkImageData *dummy = _mar->_dicom->getVolume( )->castVtk();
- _wxMaracasImageBrowser02->LoadData( new marImageData(dummy) );
- _wxMaracasImageBrowser02->Start();
-
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( _wxMaracasImageBrowser02 , 1, wxALL|wxGROW, 0);
- // _noteBook->GetPage(1)->SetAutoLayout(true);
- _noteBook->GetPage(1)->SetSizer(sizer);
- _noteBook->GetPage(1)->Layout();
- // _wxMaracasImageBrowser02->Refresh();
- // _wxMaracasImageBrowser02->Update();
- //EEDxx2.4
- // _noteBook->GetPage(1)->FitInside();
-
-
- wxCommandEvent ev(wxEVT_COMMAND_MENU_SELECTED,20002);
- this->ProcessEvent( ev );
-
- }
-
- } // _backStringFirstFile
-
- } // if lstStringFileName.size
- } else {
- if (_wxMaracasImageBrowser02==NULL)
- {
- wxMessageDialog msg(this, _T("You have to select a serie befor run this option.."), _T("Message box"), wxOK );
- msg.ShowModal();
- event.Veto();
- }
- }
- } //_noteBook->GetSelection()==0
-}
-
-//----------------------------------------------------------------------------
-wxMaracasImageBrowser02* wxMaracasNoteBookPatientLstVoi::GetWxMaracasImageBrowser02()
-{
- return _wxMaracasImageBrowser02;
-}
-
-//----------------------------------------------------------------------------
-
-wxILPD *wxMaracasNoteBookPatientLstVoi::GetWxILPD()
-{
- return _wxILPD;
-}
-
-//----------------------------------------------------------------------------
-wxNotebook *wxMaracasNoteBookPatientLstVoi::GetNoteBook()
-{
- return this->_noteBook;
-}
-
-//----------------------------------------------------------------------------
-
-void wxMaracasNoteBookPatientLstVoi::OnReadWriteConf_Maracas(wxCommandEvent& event)
-{
- string parentFile;
- if (this->_noteBook->GetSelection()==0) // Read DICOM images
- {
- parentFile="NULL";
- }
- if (this->_noteBook->GetSelection()==1) // VOI
- {
- parentFile=_RWCM_namefileReadImages;
- }
- if (parentFile!="")
- {
- _wxreadwriteconf = new wxReadWriteConf(this,parentFile);
- _wxreadwriteconf->ShowModal();
- _wxreadwriteconf=NULL;
- } else {
- wxMessageDialog(this,_T("No parent file defined..."),_T("Warning.."), wxOK).ShowModal();
- }
-}
-
-
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookPatientLstVoi::Persistence_Read_Images()
-{
- string name;
- char tmp[255];
- _RWCM_namefileReadImages = _wxreadwriteconf->GetNameReadFile();
- string directory = _wxreadwriteconf->GetWorkDirectory();
- string file=directory + "/" + _RWCM_namefileReadImages;
- if (_RWCM_namefileReadImages!=""){
- FILE *ff;
- ff=fopen(file.c_str(),"r");
- fscanf(ff,"%s ",tmp); // MaracasInfo
- fscanf(ff,"%s ",tmp); // NameFileParent
- fscanf(ff,"%s ",tmp); // xxxxxxxx
- fscanf(ff,"%s ",tmp); // TypeOfReadFile
- fscanf(ff,"%s ",tmp); // xxxx
- int typeOfReadFile = atoi(tmp);
- fscanf(ff,"%s ",tmp); // SubTypeOfReadFile
- fscanf(ff,"%s ",tmp); // xxxx
- int subTypeOfReadFile = atoi(tmp);
- fscanf(ff,"%s ",tmp); // DirectoryManualFiles
- fscanf(ff,"%s ",tmp); // xxxx
- string directory= tmp;
- fscanf(ff,"%s ",tmp); // NameManualFileList
- fscanf(ff,"%s ",tmp); // xxxx
- string namefilelist= tmp;
-
- _wxILPD->SetTypeOfReadFiles(typeOfReadFile);
- _wxILPD->SetSubTypeOfReadFiles(subTypeOfReadFile);
- _wxILPD->SetNameManualFileList(namefilelist);
- _wxILPD->SetDirectoryManualFileList(directory);
-
- _wxILPD->RefreshManualListFile(true);
- _noteBook->SetSelection(0);
- }
-}
-
-//----------------------------------------------------------------------------
-
-string wxMaracasNoteBookPatientLstVoi::GetRWCM_namefileVOI()
-{
- return _RWCM_namefileVOI;
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookPatientLstVoi::Persistence_Read_VOI()
-{
- int voi[6];
- string name;
- char tmp[255];
- _RWCM_namefileVOI = _wxreadwriteconf->GetNameReadFile();
- string directory = _wxreadwriteconf->GetWorkDirectory();
- string file=directory + "/" + _RWCM_namefileVOI;
- if (_RWCM_namefileVOI!=""){
- FILE *ff;
- ff=fopen(file.c_str(),"r");
- fscanf(ff,"%s ",tmp); // MaracasInfo
- fscanf(ff,"%s ",tmp); // NameFileParent
- fscanf(ff,"%s ",tmp); // xxxxxxxx
-
- fscanf(ff,"%s ",tmp); // voi_x
- fscanf(ff,"%s ",tmp); // xMin
- voi[0] = atoi(tmp);
- fscanf(ff,"%s ",tmp); // xMax
- voi[1] = atoi(tmp);
-
- fscanf(ff,"%s ",tmp); // voi_y
- fscanf(ff,"%s ",tmp); // yMin
- voi[2] = atoi(tmp);
- fscanf(ff,"%s ",tmp); // yMax
- voi[3] = atoi(tmp);
-
- fscanf(ff,"%s ",tmp); // voi_z
- fscanf(ff,"%s ",tmp); // zMin
- voi[4] = atoi(tmp);
- fscanf(ff,"%s ",tmp); // zMax
- voi[5] = atoi(tmp);
- fclose(ff);
-
- _wxMaracasImageBrowser02->SetROI(voi);
- _wxMaracasImageBrowser02->Refresh();
-
-
- }
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookPatientLstVoi::OnPersistence_Read(wxCommandEvent& event)
-{
- if (_wxreadwriteconf!=NULL)
- {
- if (this->_noteBook->GetSelection()==0) // Read Configuration Images
- {
- Persistence_Read_Images();
- }
- if (this->_noteBook->GetSelection()==1) // Read Configuration Images
- {
- Persistence_Read_VOI();
- }
- }
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookPatientLstVoi::Persistence_Write_Images_ManualReadFileList()
-{
- if (_wxreadwriteconf!=NULL)
- {
- _RWCM_namefileReadImages = _wxreadwriteconf->GetNameWriteFile();
- if (_RWCM_namefileReadImages!=""){
- string name,namedir;
- _RWCM_namefileReadImages = _RWCM_namefileReadImages + ".MaracasInfo";
- namedir = _wxreadwriteconf->GetWorkDirectory();
- name = namedir + "/" + _RWCM_namefileReadImages ;
- FILE *ff=fopen(name.c_str(),"w");
- fprintf(ff,"MaracasInfo \n");
- fprintf(ff,"NameFileParent %s \n",_wxreadwriteconf->GetParentFile().c_str() );
-
- int typefile;
- int subtypefile;
- string directory;
- string namefilelist;
-
- typefile = _wxILPD->GetTypeOfReadFiles();
- subtypefile = _wxILPD->GetSubTypeOfReadFiles();
- namefilelist = _wxILPD->GetNameManualFileList();
- directory = _wxILPD->GetDirectoryManualFileList();
-
- if (namefilelist=="")
- {
- namefilelist="<void>";
- }
- if (directory=="")
- {
- directory="<void>";
- }
-
- fprintf(ff,"TypeOfReadFiles %d\n", typefile );
- fprintf(ff,"SubTypeOfReadFiles %d\n", subtypefile );
- fprintf(ff,"DirectoryManualFileList %s\n", directory.c_str() );
- fprintf(ff,"NameManualFileList %s\n", namefilelist.c_str() );
-
- fclose(ff);
- }
- }
-}
-
-
-void wxMaracasNoteBookPatientLstVoi::Persistence_Write_Images_Database()
-{
- std::string nameDirectory = _wxreadwriteconf->GetWorkDirectory();
- std::string nameFile = _wxreadwriteconf->GetNameWriteFile();
- if (_wxreadwriteconf!=NULL)
- {
- // Create .maracas file (list of DICOM files)
- std::string nameFileMaracas = nameDirectory+"/"+nameFile+".maracas";
- FILE *ff =fopen(nameFileMaracas.c_str(),"w+");
- fprintf(ff,"MaracasType 100\n");
- fprintf(ff,"Directory --\n");
- std::vector <string *> lst;
- this->_wxILPD->GetLstImageFiles( &lst );
- int i,size=lst.size();
- for (i=0;i<size;i++)
- {
- fprintf(ff,"%s\n",lst[i]->c_str());
- }
- fclose(ff);
-
- // Creating .MaracasInfo
- std::string nameFileMaracasInfo = nameDirectory+"/"+nameFile+".MaracasInfo";
- FILE *fileInfo =fopen(nameFileMaracasInfo.c_str(),"w+");
- fprintf(fileInfo,"MaracasInfo\n");
- fprintf(fileInfo,"NameFileParent NULL\n");
- fprintf(fileInfo,"TypeOfReadFiles 2\n");
- fprintf(fileInfo,"SubTypeOfReadFiles 100\n");
- fprintf(fileInfo,"DirectoryManualFileList %s\n",nameDirectory.c_str());
- fprintf(fileInfo,"NameManualFileList %s\n",nameFileMaracas.c_str());
- fclose(fileInfo);
-
- }
-}
-
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookPatientLstVoi::Persistence_Write_VOI()
-{
- if (_wxreadwriteconf!=NULL)
- {
- string name,namedir;
- _RWCM_namefileVOI = _wxreadwriteconf->GetNameWriteFile();
- if (_RWCM_namefileVOI!=""){
- _RWCM_namefileVOI = _RWCM_namefileVOI + ".MaracasInfo" ;
- namedir = _wxreadwriteconf->GetWorkDirectory();
- name = namedir + "/" + _RWCM_namefileVOI ;
- FILE *ff=fopen(name.c_str(),"w");
- fprintf(ff,"MaracasInfo \n");
- fprintf(ff,"NameFileParent %s \n",_wxreadwriteconf->GetParentFile().c_str() );
-
- int voi[6];
- _wxMaracasImageBrowser02->GetROI(voi);
-
- fprintf(ff,"VOI_X %d %d\n", voi[0],voi[1] );
- fprintf(ff,"VOI_Y %d %d\n", voi[2],voi[3] );
- fprintf(ff,"VOI_Z %d %d\n", voi[4],voi[5] );
- fclose(ff);
- }
- }
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookPatientLstVoi::OnPersistence_Write(wxCommandEvent& event)
-{
- if (_wxreadwriteconf!=NULL)
- {
- if (this->_noteBook->GetSelection()==0) // Write Configuration Images
- {
-// EED 09 nov 2007
- if (this->_wxILPD->GetNotebook()->GetSelection()==0)
- {
- Persistence_Write_Images_Database();
- }
- if (this->_wxILPD->GetNotebook()->GetSelection()==1)
- {
- Persistence_Write_Images_Database();
- }
- if (this->_wxILPD->GetNotebook()->GetSelection()==2)
- {
- Persistence_Write_Images_ManualReadFileList();
- }
- }
- if (this->_noteBook->GetSelection()==1) // Write ConfigurationImages
- {
- Persistence_Write_VOI();
- }
- }
-}
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-BEGIN_EVENT_TABLE(wxMaracasNoteBookIRMQuantification , wxPanel)
-// Borrame
-// EVT_MENU(MDI_CHILD_QUIT, MyChild::OnQuit)
-// EVT_MENU(MDI_REFRESH, MyChild::OnRefresh)
-// EVT_MENU(MDI_CHANGE_TITLE, MyChild::OnChangeTitle)
-// EVT_MENU(MDI_CHANGE_POSITION, MyChild::OnChangePosition)
-// EVT_MENU(MDI_CHANGE_SIZE, MyChild::OnChangeSize)
-// EVT_MENU(20001, wxMaracasNoteBookIRMQuantification::OnSelectPatientStudySerieImage)
-
-// EVT_SIZE(MyChild::OnSize)
-// EVT_MOVE(MyChild::OnMove)
-
-// EVT_CLOSE(wxMaracasPatientLstVoiChiFra::OnClose)
- EVT_TOOL(wxSurfaceWidget::ID_BUTTON_NEW_AXIS , wxMaracasNoteBookIRMQuantification::OnNewAxis )
- EVT_TOOL(wxSurfaceWidget::ID_BUTTON_DELETE_AXIS , wxMaracasNoteBookIRMQuantification::OnDeleteAxis )
- EVT_TOOL(ID_TOOLBAR_PLANS , wxMaracasNoteBookIRMQuantification::OnQuantification )
-END_EVENT_TABLE()
-
-wxMaracasNoteBookIRMQuantification::wxMaracasNoteBookIRMQuantification(wxWindow *parent,marInterface *mar)
- : wxPanel(parent, -1)
-{
-printf("EED wxMaracasNoteBookIRMQuantification::wxMaracasNoteBookIRMQuantification 1 \n");
- _existAxis = false;
- _wxmaracasquantification = NULL;
-
- _noteBook = new wxNotebook(this, -1);
- _noteBook->SetSize(750,300);
-
- wxBitmap mask= wxBITMAP( TOOLBAR_V2_sm_mask );
-
- wxBitmap bitmap0 = wxBITMAP( TOOLBAR_V2_sm_bl_AxisExtraction );
- wxBitmap bitmap1 = wxBITMAP( TOOLBAR_V2_sm_bl_Quantification );
- wxBitmap bitmap2 = wxBITMAP( TOOLBAR_V2_sm_tr_Quantification );
-
- bitmap0.SetMask(new wxMask( mask ));
- bitmap1.SetMask(new wxMask( mask ));
- bitmap2.SetMask(new wxMask( mask ));
-
-
- wxImageList *imageList = new wxImageList(50,50);
- imageList->Add( bitmap0 ); // 0
- imageList->Add( bitmap1 ); // 1
- imageList->Add( bitmap2 ); // 2
- _noteBook->SetImageList(imageList);
-
-printf("EED wxMaracasNoteBookIRMQuantification::wxMaracasNoteBookIRMQuantification 2 \n");
-
-// _mar=mar
-// _mar->initExperiment( );
-
- _mar=new marInterface();
- _mar->_parameters->setRescaleSlope( mar->_parameters->getRescaleSlope() );
- _mar->_parameters->setRescaleIntercept( mar->_parameters->getRescaleIntercept() );
- _mar->_parameters->setIntParam( marParameters::e_voxel_type, marParameters::VOX_TYPE_MINIMUM );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_x_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_x_dimension) );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_y_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_y_dimension) );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_z_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_z_dimension) );
- int voi[6];
- mar->_experiment->getVOI( voi );
- _mar->_experiment->setVOI( voi );
- _mar->SetDicom(mar->_dicom);
- _mar->initExperiment( );
-
-printf("EED wxMaracasNoteBookIRMQuantification::wxMaracasNoteBookIRMQuantification 2.1 \n");
- _wxmaracas3dbrowser = new wxMaracas3DBrowser( _noteBook, _mar, -1,ID_TOOLBAR_PLANS );
-printf("EED wxMaracasNoteBookIRMQuantification::wxMaracasNoteBookIRMQuantification 2.2 \n");
- _wxmaracas3dbrowser->LoadData( );
-
-// _wxmaracasquantification = new wxMaracasQuantification( _noteBook , _mar , -1 );
-
- wxPanel *ttt = new wxPanel(_noteBook,-1);
-// _wxmaracasquantification = new wxMaracasQuantification( ttt , _mar , -1 );
-
-
-printf("EED wxMaracasNoteBookIRMQuantification::wxMaracasNoteBookIRMQuantification 3 \n");
-
- _noteBook->AddPage(_wxmaracas3dbrowser,_T("Axis Extraction IRM >> ") , true , 0 );
- _noteBook->AddPage(ttt,_T("Quantification IRM ") , true , 2 );
-
-
- _noteBook->SetSelection(0);
-
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING , (wxObjectEventFunction) &wxMaracasNoteBookIRMQuantification::OnChangePageQuantification );
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , (wxObjectEventFunction) &wxMaracasNoteBookIRMQuantification::OnChangePage );
-
-
- wxStaticText *title=new wxStaticText(this,-1,_T("IRM Quantification"));
-
-// It doesn't works in linux
-// wxFont font(18,wxDEFAULT , wxITALIC, wxBOLD);
-// title->SetFont(font);
-
- wxBoxSizer *sizer= new wxBoxSizer(wxVERTICAL);
- sizer->Add( title , 0, wxEXPAND | wxALIGN_RIGHT, 10);
- sizer->Add( _noteBook , 1, wxGROW, 10 );
-
- sizer->SetSizeHints( this ); // set size hints to honour minimum size
- this->SetAutoLayout(true);
- this->SetSizer(sizer);
- this->Layout();
-
-//EEDxx2.4
-// FitInside();
-printf("EED wxMaracasNoteBookIRMQuantification::wxMaracasNoteBookIRMQuantification 4 \n");
-
-}
-//----------------------------------------------------------------------------
-wxMaracasNoteBookIRMQuantification::~wxMaracasNoteBookIRMQuantification()
-{
-//EEDx15
-// delete _wxmaracas3dbrowser;
-// delete _wxmaracasquantification;
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookIRMQuantification::OnQuantification(wxCommandEvent & event)
-{
- _noteBook->SetSelection(1);
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookIRMQuantification::OnChangePage(wxNotebookEvent& event)
-{
- if (_noteBook->GetSelection()==1){
- if (_wxmaracasquantification!=NULL)
- {
-//EEDx12
- delete _wxmaracasquantification;
-// _wxmaracasquantification->Close();
- }
- _wxmaracasquantification = new wxMaracasQuantification( _noteBook->GetPage(1) , _mar , -1 );
- _wxmaracasquantification->LoadData( );
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( _wxmaracasquantification , 1, wxALL|wxEXPAND, 0);
- _noteBook->GetPage(1)->SetAutoLayout(true);
- _noteBook->GetPage(1)->SetSizer(sizer);
- _noteBook->GetPage(1)->Layout();
- }
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookIRMQuantification::OnChangePageQuantification(wxNotebookEvent& event)
-{
- if (_noteBook->GetSelection()==0){
- if (_existAxis == false )
- {
- wxMessageDialog msg(this, _T("You have to extract the axis befor run this option.."), _T("Message box"), wxOK );
- msg.ShowModal();
- event.Veto();
- }
- }
- Refresh();
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookIRMQuantification::OnNewAxis(wxCommandEvent &WXUNUSED(event))
-{
- _existAxis=true;
- _noteBook->SetPageImage(1, 1);
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookIRMQuantification::OnDeleteAxis(wxCommandEvent &WXUNUSED(event))
-{
- _existAxis=false;
- _noteBook->SetPageImage(1, 2);
-}
-
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-BEGIN_EVENT_TABLE(wxMaracasNoteBookCTQuantification , wxPanel)
-// Borrame
-// EVT_MENU(MDI_CHILD_QUIT, MyChild::OnQuit)
-// EVT_MENU(MDI_REFRESH, MyChild::OnRefresh)
-// EVT_MENU(MDI_CHANGE_TITLE, MyChild::OnChangeTitle)
-// EVT_MENU(MDI_CHANGE_POSITION, MyChild::OnChangePosition)
-// EVT_MENU(MDI_CHANGE_SIZE, MyChild::OnChangeSize)
-// EVT_MENU(20001, wxMaracasNoteBookIRMQuantification::OnSelectPatientStudySerieImage)
-
-// EVT_SIZE(MyChild::OnSize)
-// EVT_MOVE(MyChild::OnMove)
-
-// EVT_CLOSE(wxMaracasPatientLstVoiChiFra::OnClose)
-// EVT_TOOL(wxSurfaceWidget::ID_BUTTON_NEW_AXIS, wxMaracasNoteBookIRMQuantification::OnNewAxis )
-// EVT_TOOL(wxSurfaceWidget::ID_BUTTON_DELETE_AXIS,wxMaracasNoteBookIRMQuantification::OnDeleteAxis )
- EVT_TOOL(20005,wxMaracasNoteBookCTQuantification::OnQuantification)
-
- EVT_MENU(30001, wxMaracasNoteBookCTQuantification::OnPersistence_Write)
- EVT_MENU(30002, wxMaracasNoteBookCTQuantification::OnPersistence_Read)
-
-
-END_EVENT_TABLE()
-
-
-wxMaracasNoteBookCTQuantification::wxMaracasNoteBookCTQuantification(wxWindow *parent,
- marInterface *mar,
- string namefileParentRWCM)
- : wxPanel(parent, -1)
-{
-printf(" EED wxMaracasNoteBookCTQuantification::wxMaracasNoteBookCTQuantification 01\n ");
- _namefileParentRWCM = namefileParentRWCM;
- _readyQuantification=false;
- _wxMaracasProcessingCT=NULL;
- _wxmaracasquantification_ct=NULL;
-
- _noteBook = new wxNotebook(this, -1);
-// _noteBook->SetSize(550,300);
-
- wxBitmap mask= wxBITMAP( TOOLBAR_V2_sm_mask );
-
- wxBitmap bitmap0 = wxBITMAP( TOOLBAR_V2_sm_bl_MPR );
- wxBitmap bitmap1 = wxBITMAP( TOOLBAR_V2_sm_bl_ProcessingCT );
- wxBitmap bitmap2 = wxBITMAP( TOOLBAR_V2_sm_bl_Quantification );
- wxBitmap bitmap3 = wxBITMAP( TOOLBAR_V2_sm_tr_Quantification );
-
- bitmap0.SetMask(new wxMask( mask ));
- bitmap1.SetMask(new wxMask( mask ));
- bitmap2.SetMask(new wxMask( mask ));
- bitmap3.SetMask(new wxMask( mask ));
-
- wxImageList *imageList = new wxImageList(50,50);
- imageList->Add( bitmap0 ); // 0
- imageList->Add( bitmap1 ); // 1
- imageList->Add( bitmap2 ); // 2
- imageList->Add( bitmap3 ); // 3
- _noteBook->SetImageList(imageList);
-
-
- double spcOriginalImage[3];
- spcOriginalImage[0]=mar->_parameters->getDoubleParam(marParameters::e_voxel_x_dimension);
- spcOriginalImage[1]=mar->_parameters->getDoubleParam(marParameters::e_voxel_y_dimension);
- spcOriginalImage[2]=mar->_parameters->getDoubleParam(marParameters::e_voxel_z_dimension);
-
-
-// _mar=mar;
- _mar=new marInterfaceCT();
-
- _mar->_parameters->setRescaleSlope( mar->_parameters->getRescaleSlope() );
- _mar->_parameters->setRescaleIntercept( mar->_parameters->getRescaleIntercept() );
- _mar->_parameters->setIntParam( marParameters::e_voxel_type, marParameters::VOX_TYPE_MINIMUM );
-
-
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_x_dimension, spcOriginalImage[0] );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_y_dimension, spcOriginalImage[1] );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_z_dimension, spcOriginalImage[2] );
-//EEDx4
-
- int voi[6];
- mar->_experiment->getVOI( voi );
- _mar->setVOI( voi );
- _mar->SetDicom(mar->_dicom);
-
- _mar->initExperiment( );
-
- vtkImageData *imagedata;
- imagedata = _mar->GetExperiment()->getDynData( )->getVolume( )->castVtk();
- imagedata->Update();
- marImageData *marimagedata = new marImageData(imagedata);
- marimagedata->SetSpcOriginal(spcOriginalImage);
- marimagedata->SetVoiOriginal(voi);
-
- _wxMaracasMPR = new wxMaracasMPR( _noteBook, marimagedata ,_mar->_parameters->getVoxelSize() );
- _wxMaracasMPR->ConfigureVTK();
-
- _noteBook->AddPage(_wxMaracasMPR,_T("Choose a position >> "), true, 0 );
-
- _noteBook->AddPage(new wxPanel(_noteBook,-1),_T("Processing CT >> "), true, 1 );
- _noteBook->AddPage(new wxPanel(_noteBook,-1),_T("Quantification CT "), true, 3 );
- _noteBook->SetSelection(0);
-
-
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING , (wxObjectEventFunction) &wxMaracasNoteBookCTQuantification::OnChangePageQuantification );
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , (wxObjectEventFunction) &wxMaracasNoteBookCTQuantification::OnChangePage );
-
- wxButton *btnReadWriteConfig = new wxButton(this,-1,_T("Read-Write Config"));
- Connect(btnReadWriteConfig->GetId() , wxEVT_COMMAND_BUTTON_CLICKED , (wxObjectEventFunction) &wxMaracasNoteBookCTQuantification::OnReadWriteConf_Maracas );
- wxButton *btnHelp = new wxButton(this,-1,_T("Help"));
- wxButton *btnClose = new wxButton(this,-1,_T("Close"));
-
- wxBoxSizer *sizerB = new wxBoxSizer(wxHORIZONTAL);
- sizerB->Add( btnReadWriteConfig , 0, wxALIGN_RIGHT, 10);
- sizerB->Add( btnHelp , 0, wxALIGN_RIGHT, 10);
- sizerB->Add( btnClose , 0, wxALIGN_RIGHT, 10);
-
-
-
-
-
- wxStaticText *title=new wxStaticText(this,-1,_T("CT Quantification"));
-
-// It doesn't works in linux
-// wxFont font(18,wxDEFAULT , wxITALIC, wxBOLD);
-// title->SetFont(font);
-
- wxBoxSizer *sizer= new wxBoxSizer(wxVERTICAL);
- sizer->Add( sizerB , 0, wxALIGN_RIGHT, 10);
- sizer->Add( title , 0, wxGROW | wxALIGN_RIGHT, 10);
- sizer->Add( _noteBook , 1, wxALL | wxGROW, 10 );
-
-//EEDxx2.4
-// FitInside();
-
-// sizer->SetSizeHints( this ); // set size hints to honour minimum size
- this->SetSizer(sizer);
- this->SetAutoLayout(true);
- this->Layout();
-// EED 29 Juin 2007
-/*
-*/
-printf(" EED wxMaracasNoteBookCTQuantification::wxMaracasNoteBookCTQuantification 02\n ");
-}
-
-//----------------------------------------------------------------------------
-
-wxMaracasNoteBookCTQuantification::~wxMaracasNoteBookCTQuantification()
-{
-}
-
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::OnChangePage(wxNotebookEvent& event)
-{
- if (_noteBook->GetSelection()==1){
- wxBusyCursor wait;
- if (_wxMaracasProcessingCT!=NULL)
- {
- delete _wxMaracasProcessingCT;
- }
- vtkMPRBaseData *vtkmprbaseData = _wxMaracasMPR->GetVtkMPRBaseData();
- marImageData *marimagedata = vtkmprbaseData->GetMarImageData();
- // _mar->initExperiment( );
- int x = (int)vtkmprbaseData->GetX();
- int y = (int)vtkmprbaseData->GetY();
- int z = (int)vtkmprbaseData->GetZ();
-printf("EED wxMaracasNoteBookCTQuantification::OnChangePage \n ");
- _wxMaracasProcessingCT = new wxMaracasProcessingCT(_noteBook->GetPage(1), _mar);
- _wxMaracasProcessingCT->ConfigureVTK(marimagedata, x , y , z );
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( _wxMaracasProcessingCT , 1, wxALL|wxGROW, 0);
- _noteBook->GetPage(1)->SetAutoLayout(true);
- _noteBook->GetPage(1)->SetSizer(sizer);
- _noteBook->GetPage(1)->Layout();
- }
- if (_noteBook->GetSelection()==2) {
- if (_readyQuantification==true)
- {
- if (_wxmaracasquantification_ct!=NULL)
- {
- delete _wxmaracasquantification_ct;
- }
- _wxmaracasquantification_ct = new wxMaracasQuantificationCT(_noteBook->GetPage(2), _mar, -1 );
- _wxmaracasquantification_ct->LoadData( );
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( _wxmaracasquantification_ct , 1, wxALL|wxGROW, 0);
- _noteBook->GetPage(2)->SetAutoLayout(true);
- _noteBook->GetPage(2)->SetSizer(sizer);
- _noteBook->GetPage(2)->Layout();
- } else {
- wxMessageDialog msg(this, _T("You have to extract the axis befor run this option.."), _T("Message box"), wxOK );
- msg.ShowModal();
- }
- }
-
- if ((_noteBook->GetSelection()==0) || (_noteBook->GetSelection()==1) ) {
- _readyQuantification=false;
- _noteBook->SetPageImage(2, 3);
- }
-
- Refresh();
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::OnChangePageQuantification(wxNotebookEvent& event)
-{
-/*
- if (event.GetSelection()==1) {
- if (_readyQuantification==false)
- {
- wxMessageDialog msg(this, "You have to extract the axis befor run this option..", "Message box", wxOK );
- msg.ShowModal();
- event.Veto();
- }
- }
-*/
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::OnQuantification(wxCommandEvent& event)
-{
- _readyQuantification=true;
- _noteBook->SetPageImage(2, 2);
-}
-
-//----------------------------------------------------------------------------
-
-void wxMaracasNoteBookCTQuantification::OnReadWriteConf_Maracas(wxCommandEvent& event)
-{
- string parentFile;
- if (this->_noteBook->GetSelection()==0) // Read 3D Point MPR
- {
- parentFile=_namefileParentRWCM;
- }
- if (this->_noteBook->GetSelection()==1) // Read Preprocessing
- {
- parentFile=_RWCM_namefileMPR;
- }
- if (this->_noteBook->GetSelection()==2) // Read Contour Quantification
- {
- parentFile=_RWCM_namefileProcessingCT;
- }
-
-
- if (parentFile!="")
- {
- _wxreadwriteconf = new wxReadWriteConf(this,parentFile);
- _wxreadwriteconf->ShowModal();
- _wxreadwriteconf=NULL;
- } else {
- wxMessageDialog(this,_T("No parent file defined..."),_T("Warning.."), wxOK).ShowModal();
- }
-
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::Persistence_Read_MPR()
-{
- _RWCM_namefileMPR = _wxreadwriteconf->GetNameReadFile();
- if (_RWCM_namefileMPR!=""){
- double x,y,z;
- string name;
- char tmp[255];
- string directory = _wxreadwriteconf->GetWorkDirectory();
- string file=directory + "/" + _RWCM_namefileMPR;
- FILE *ff;
- ff=fopen(file.c_str(),"r");
- fscanf(ff,"%s ",tmp); // MaracasInfo
- fscanf(ff,"%s ",tmp); // NameFileParent
- fscanf(ff,"%s ",tmp); // xxxxxxxx
-
- fscanf(ff,"%s ",tmp); // positionX
- fscanf(ff,"%s ",tmp); // x
- x = atof(tmp);
-
- fscanf(ff,"%s ",tmp); // positionY
- fscanf(ff,"%s ",tmp); // y
- y = atof(tmp);
-
- fscanf(ff,"%s ",tmp); // positionZ
- fscanf(ff,"%s ",tmp); // z
- z = atof(tmp);
-
- fclose(ff);
-
- _wxMaracasMPR->GetVtkMPRBaseData()->SetX(x);
- _wxMaracasMPR->GetVtkMPRBaseData()->SetY(y);
- _wxMaracasMPR->GetVtkMPRBaseData()->SetZ(z);
- _wxMaracasMPR->RefreshView();
- }
-
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::Persistence_Read_ProcessingCT()
-{
- _RWCM_namefileProcessingCT = _wxreadwriteconf->GetNameReadFile();
- if (_RWCM_namefileProcessingCT!=""){
- int min,max;
- string name;
- char tmp[255];
- string directory = _wxreadwriteconf->GetWorkDirectory();
- string file=directory + "/" + _RWCM_namefileProcessingCT;
- FILE *ff;
- ff=fopen(file.c_str(),"r");
- fscanf(ff,"%s ",tmp); // MaracasInfo
- fscanf(ff,"%s ",tmp); // NameFileParent
- fscanf(ff,"%s ",tmp); // xxxxxxxx
-
- fscanf(ff,"%s ",tmp); // Threshold_min
- fscanf(ff,"%s ",tmp); // min
- min = atoi(tmp);
-
- fscanf(ff,"%s ",tmp); // Threshold_max
- fscanf(ff,"%s ",tmp); // max
- max = atoi(tmp);
-
- _wxMaracasProcessingCT->SetThreshold(min,max);
- _wxMaracasProcessingCT->Refresh();
-
- fclose(ff);
-
- }
-
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::Persistence_Read_ContourQauntificationCT()
-{
- _RWCM_namefileContourQuantificationCT = _wxreadwriteconf->GetNameReadFile();
- if (_RWCM_namefileContourQuantificationCT!=""){
- string name;
- char tmp[255];
- string directory = _wxreadwriteconf->GetWorkDirectory();
- string file=directory + "/" + _RWCM_namefileContourQuantificationCT;
- FILE *ff;
- ff=fopen(file.c_str(),"r");
- fscanf(ff,"%s ",tmp); // MaracasInfo
- fscanf(ff,"%s ",tmp); // NameFileParent
- fscanf(ff,"%s ",tmp); // xxxxxxxx
-
-
- // Read Data
- // Set Data
- fscanf(ff,"%s ",tmp); // Slice
- fscanf(ff,"%s ",tmp); // xxxxxxxx
- int slice = atoi(tmp);
- this->_wxmaracasquantification_ct->SetActualSlice(slice);
- // Refresh
-
- fclose(ff);
-
- }
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::OnPersistence_Read(wxCommandEvent& event)
-{
- if (this->_noteBook->GetSelection()==0) // Read 3D Point MPR
- {
- Persistence_Read_MPR();
- }
- if (this->_noteBook->GetSelection()==1) // Read Preprocessing
- {
- Persistence_Read_ProcessingCT();
- }
- if (this->_noteBook->GetSelection()==2) // Read Contour quantification
- {
- Persistence_Read_ContourQauntificationCT();
- }
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::Persistence_Write_MPR()
-{
-
- if (_wxreadwriteconf!=NULL)
- {
- _RWCM_namefileMPR = _wxreadwriteconf->GetNameWriteFile();
- if (_RWCM_namefileMPR!=""){
- string name,namedir;
- _RWCM_namefileMPR =_RWCM_namefileMPR + ".MaracasInfo";
- namedir = _wxreadwriteconf->GetWorkDirectory();
- name = namedir + "/" + _RWCM_namefileMPR ;
- FILE *ff=fopen(name.c_str(),"w");
- fprintf(ff,"MaracasInfo \n");
- fprintf(ff,"NameFileParent %s \n",_wxreadwriteconf->GetParentFile().c_str() );
-
-
- double x = _wxMaracasMPR->GetVtkMPRBaseData()->GetX();
- double y = _wxMaracasMPR->GetVtkMPRBaseData()->GetY();
- double z = _wxMaracasMPR->GetVtkMPRBaseData()->GetZ();
-
- fprintf(ff,"positionX %f\n", x);
- fprintf(ff,"positionY %f\n", y);
- fprintf(ff,"positionZ %f\n", z);
- fclose(ff);
- }
- }
-
-
-
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::Persistence_Write_ProcessingCT()
-{
- if (_wxreadwriteconf!=NULL)
- {
- _RWCM_namefileProcessingCT = _wxreadwriteconf->GetNameWriteFile();
- if (_RWCM_namefileProcessingCT!=""){
- string name,namedir;
- _RWCM_namefileProcessingCT = _RWCM_namefileProcessingCT + ".MaracasInfo";
- namedir = _wxreadwriteconf->GetWorkDirectory();
- name = namedir + "/" + _RWCM_namefileProcessingCT ;
- FILE *ff=fopen(name.c_str(),"w");
- fprintf(ff,"MaracasInfo \n");
- fprintf(ff,"NameFileParent %s \n",_wxreadwriteconf->GetParentFile().c_str() );
-
- int min,max;
- _wxMaracasProcessingCT->GetThreshold(&min,&max);
-
- fprintf(ff,"Threshold_Min %d\n", min);
- fprintf(ff,"Threshold_Max %d\n", max);
-
- fclose(ff);
- }
- }
-
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::Persistence_Write_ContourQuantificationCT()
-{
- if (_wxreadwriteconf!=NULL)
- {
- _RWCM_namefileContourQuantificationCT = _wxreadwriteconf->GetNameWriteFile();
- if (_RWCM_namefileContourQuantificationCT!=""){
- string name,namedir;
- _RWCM_namefileContourQuantificationCT = _RWCM_namefileContourQuantificationCT + ".MaracasInfo";
- namedir = _wxreadwriteconf->GetWorkDirectory();
- name = namedir + "/" + _RWCM_namefileContourQuantificationCT ;
- FILE *ff=fopen(name.c_str(),"w");
- fprintf(ff,"MaracasInfo \n");
- fprintf(ff,"NameFileParent %s \n",_wxreadwriteconf->GetParentFile().c_str() );
-
- // Get Data information
- // Write Data
- fprintf(ff,"Slice %d\n", this->_wxmaracasquantification_ct->GetActualSlice() );
-
- fclose(ff);
- }
- }
-
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookCTQuantification::OnPersistence_Write(wxCommandEvent& event)
-{
- if (this->_noteBook->GetSelection()==0) // Write 3D Point MPR
- {
- Persistence_Write_MPR();
- }
- if (this->_noteBook->GetSelection()==1) // Write Preprocessing
- {
- Persistence_Write_ProcessingCT();
- }
- if (this->_noteBook->GetSelection()==2) // Write Contour Quantification
- {
- Persistence_Write_ContourQuantificationCT();
- }
-}
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-BEGIN_EVENT_TABLE(wxMaracasNoteBookVascularTreeExtraction , wxPanel)
-// Borrame
-// EVT_MENU(MDI_CHILD_QUIT, MyChild::OnQuit)
-// EVT_MENU(MDI_REFRESH, MyChild::OnRefresh)
-// EVT_MENU(MDI_CHANGE_TITLE, MyChild::OnChangeTitle)
-// EVT_MENU(MDI_CHANGE_POSITION, MyChild::OnChangePosition)
-// EVT_MENU(MDI_CHANGE_SIZE, MyChild::OnChangeSize)
-// EVT_MENU(20001, wxMaracasNoteBookIRMQuantification::OnSelectPatientStudySerieImage)
-
-// EVT_SIZE(MyChild::OnSize)
-// EVT_MOVE(MyChild::OnMove)
-
-// EVT_CLOSE(wxMaracasPatientLstVoiChiFra::OnClose)
-// EVT_TOOL(wxSurfaceWidget::ID_BUTTON_NEW_AXIS, wxMaracasNoteBookIRMQuantification::OnNewAxis )
-// EVT_TOOL(wxSurfaceWidget::ID_BUTTON_DELETE_AXIS,wxMaracasNoteBookIRMQuantification::OnDeleteAxis )
-// EVT_TOOL(20005,wxMaracasNoteBookVascularTreeExtraction::OnQuantification)
-
-END_EVENT_TABLE()
-
-
-wxMaracasNoteBookVascularTreeExtraction::wxMaracasNoteBookVascularTreeExtraction(wxWindow *parent,marInterface *mar)
- : wxPanel(parent, -1)
-{
-
- _noteBook = new wxNotebook(this, -1);
- _noteBook->SetSize(550,300);
-
- wxBitmap mask= wxBITMAP( TOOLBAR_V2_sm_mask );
- wxBitmap bitmap0 = wxBITMAP( TOOLBAR_V2_sm_bl_TreeExtraction_JF_MH );
- bitmap0.SetMask(new wxMask( mask ));
-
-
- wxImageList *imageList = new wxImageList(50,50);
- imageList->Add( bitmap0 ); // 0
- _noteBook->SetImageList(imageList);
-
-// _mar=mar;
-
- _mar=new marInterface();
- _mar->_parameters->setRescaleSlope( mar->_parameters->getRescaleSlope() );
- _mar->_parameters->setRescaleIntercept( mar->_parameters->getRescaleIntercept() );
- _mar->_parameters->setIntParam( marParameters::e_voxel_type, marParameters::VOX_TYPE_MINIMUM );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_x_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_x_dimension) );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_y_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_y_dimension) );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_z_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_z_dimension) );
-
- int voi[6];
- mar->_experiment->getVOI( voi );
- _mar->_experiment->setVOI( voi );
- _mar->SetDicom(mar->_dicom);
-
- _mar->initExperiment( );
-
- vtkImageData *marImageData;
- marImageData = _mar->_experiment->getDynData( )->getVolume( )->castVtk();
- marImageData->Update();
-
- _wxMaracasEmptyPanel_2 = new wxMaracasEmptyPanel_2(_noteBook,_mar);
- _wxMaracasEmptyPanel_2->ConfigureVTK();
-
-
- _wxMaracasPathology_01 = new wxMaracasPathology_01(_noteBook,_mar);
- _wxMaracasPathology_01->ConfigureVTK();
-
-
- _noteBook->AddPage(_wxMaracasEmptyPanel_2,_T("Tree Extraction "), true, 0 );
- _noteBook->AddPage(_wxMaracasPathology_01,_T("Pathology "), true, 0 );
- _noteBook->SetSelection(0);
-
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING , (wxObjectEventFunction) &wxMaracasNoteBookVascularTreeExtraction::OnChangePageQuantification );
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , (wxObjectEventFunction) &wxMaracasNoteBookVascularTreeExtraction::OnChangePage );
-
- wxStaticText *title=new wxStaticText(this,-1,_T("Vascular Tree Extraction"));
-
-// It doesn't works in linux
-// wxFont font(18,wxDEFAULT , wxITALIC, wxBOLD);
-// title->SetFont(font);
-
- wxBoxSizer *sizer= new wxBoxSizer(wxVERTICAL);
- sizer->Add( title , 0, wxEXPAND | wxALIGN_RIGHT, 10);
- sizer->Add( _noteBook , 1, wxGROW, 10 );
-
-//EEDxx2.4
-// FitInside();
-
- sizer->SetSizeHints( this ); // set size hints to honour minimum size
- this->SetSizer(sizer);
- this->SetAutoLayout(true);
- this->Layout();
-
-}
-//----------------------------------------------------------------------------
-wxMaracasNoteBookVascularTreeExtraction::~wxMaracasNoteBookVascularTreeExtraction()
-{
-}
-
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookVascularTreeExtraction::OnChangePage(wxNotebookEvent& event)
-{
- Refresh();
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookVascularTreeExtraction::OnChangePageQuantification(wxNotebookEvent& event)
-{
-}
-
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-BEGIN_EVENT_TABLE(wxMaracasNoteBookSTLFormat , wxPanel)
-// Borrame
-// EVT_MENU(MDI_CHILD_QUIT, MyChild::OnQuit)
-// EVT_MENU(MDI_REFRESH, MyChild::OnRefresh)
-// EVT_MENU(MDI_CHANGE_TITLE, MyChild::OnChangeTitle)
-// EVT_MENU(MDI_CHANGE_POSITION, MyChild::OnChangePosition)
-// EVT_MENU(MDI_CHANGE_SIZE, MyChild::OnChangeSize)
-// EVT_MENU(20001, wxMaracasNoteBookIRMQuantification::OnSelectPatientStudySerieImage)
-
-// EVT_SIZE(MyChild::OnSize)
-// EVT_MOVE(MyChild::OnMove)
-
-// EVT_CLOSE(wxMaracasPatientLstVoiChiFra::OnClose)
- EVT_TOOL(wxSurfaceWidget::ID_BUTTON_NEW_AXIS, wxMaracasNoteBookSTLFormat::OnNewAxis )
- EVT_TOOL(wxSurfaceWidget::ID_BUTTON_DELETE_AXIS,wxMaracasNoteBookSTLFormat::OnDeleteAxis )
-// EVT_TOOL(20005,wxMaracasNoteBookVascularTreeExtraction::OnQuantification)
-
-
-
-END_EVENT_TABLE()
-
-
-wxMaracasNoteBookSTLFormat::wxMaracasNoteBookSTLFormat(wxWindow *parent,marInterface *mar)
- : wxPanel(parent, -1)
-{
-printf("EED wxMaracasNoteBookSTLFormat::wxMaracasNoteBookSTLFormat 01 \n");
- _noteBook_general = new wxNotebook(this, -1);
- _noteBook_general->SetSize(550,300);
- wxImageList *imageList = new wxImageList(50,50);
-
- wxBitmap mask= wxBITMAP( TOOLBAR_V2_sm_mask );
-
- wxBitmap bitmap0 = wxBITMAP( TOOLBAR_V2_sm_bl_STLFormat );
- bitmap0.SetMask(new wxMask( mask ));
-
-
- imageList->Add( bitmap0 ); // 0
- _noteBook_general->SetImageList(imageList);
-
-// wxPanel *panel01 = CreateSTLFormat_01( _noteBook_general , mar );
-// wxPanel *panel02 = CreateSTLFormat_02( _noteBook_general , mar );
- wxPanel *panel03 = CreateSTLFormat_03( _noteBook_general , mar );
-
-// _noteBook_general->AddPage( panel01 , _T("STL Format 01 "), true, 0 );
-// _noteBook_general->AddPage( panel02 , _T("STL Format 02 " ), true, 0 );
- _noteBook_general->AddPage( panel03 , _T("STL Format 03 ") , true, 0 );
- _noteBook_general->SetSelection(0);
-
-
- wxStaticText *title=new wxStaticText(this,-1,_T("STL Format"));
-
-// It doesn't works in linux
-// wxFont font(18,wxDEFAULT , wxITALIC, wxBOLD);
-// title->SetFont(font);
-
- wxBoxSizer *sizer= new wxBoxSizer(wxVERTICAL);
- sizer->Add( title , 0, wxEXPAND | wxALIGN_RIGHT, 10);
- sizer->Add( _noteBook_general , 1, wxGROW, 10 );
-
-//EEDxx2.4
-// FitInside();
-
- sizer->SetSizeHints( this ); // set size hints to honour minimum size
- this->SetSizer(sizer);
- this->SetAutoLayout(true);
- this->Layout();
-printf("EED wxMaracasNoteBookSTLFormat::wxMaracasNoteBookSTLFormat 02 \n");
-}
-
-
-//----------------------------------------------------------------------------
-
-wxMaracasNoteBookSTLFormat::~wxMaracasNoteBookSTLFormat()
-{
-}
-
-
-//----------------------------------------------------------------------------
-
-wxPanel *wxMaracasNoteBookSTLFormat::CreateSTLFormat_01(wxWindow *parent,marInterface *mar)
-{
-
- wxSTLWidget_02 *stlWidget = new wxSTLWidget_02(parent,mar);
- stlWidget->ConfigureVTK();
-
- return stlWidget;
-}
-
-
-//----------------------------------------------------------------------------
-
-wxPanel *wxMaracasNoteBookSTLFormat::CreateSTLFormat_02(wxWindow *parent,marInterface *mar)
-{
- wxPanel *panel = new wxPanel(parent,-1);
-
- _existAxis=false;
- _wxmaracassurfaceSTLwidget=NULL;
-
- _noteBook_01 = new wxNotebook(panel, -1);
- _noteBook_01->SetSize(550,300);
-
- wxImageList *imageList = new wxImageList(50,50);
- imageList->Add( wxBITMAP( TOOLBAR_V2_sm_bl_AxisExtraction ) ); // 0
- imageList->Add( wxBITMAP( TOOLBAR_V2_sm_bl_STLFormat ) ); // 1
- imageList->Add( wxBITMAP( TOOLBAR_V2_sm_tr_STLFormat ) ); // 2
- _noteBook_01->SetImageList(imageList);
-
-// _mar=mar;
-
- _mar=new marInterface();
- _mar->_parameters->setRescaleSlope( mar->_parameters->getRescaleSlope() );
- _mar->_parameters->setRescaleIntercept( mar->_parameters->getRescaleIntercept() );
- _mar->_parameters->setIntParam( marParameters::e_voxel_type, marParameters::VOX_TYPE_MINIMUM );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_x_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_x_dimension) );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_y_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_y_dimension) );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_z_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_z_dimension) );
- int voi[6];
- mar->_experiment->getVOI( voi );
- _mar->_experiment->setVOI( voi );
- _mar->SetDicom(mar->_dicom);
-
- _mar->initExperiment( );
-
- vtkImageData *marImageData;
- marImageData = _mar->_experiment->getDynData( )->getVolume( )->castVtk();
- marImageData->Update();
-
- _wxmaracas3dbrowser = new wxMaracas3DBrowser( _noteBook_01, _mar, -1,ID_TOOLBAR_PLANS );
- _wxmaracas3dbrowser->LoadData( );
-
- _noteBook_01->AddPage(_wxmaracas3dbrowser,_T("Axis Extraction >> "), true, 0 );
- _noteBook_01->AddPage(new wxPanel(_noteBook_01,-1),_T("STL"), true, 2 );
- _noteBook_01->SetSelection(0);
-
- Connect(_noteBook_01->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING , (wxObjectEventFunction) &wxMaracasNoteBookSTLFormat::OnChangePageSTLFormat );
- Connect(_noteBook_01->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , (wxObjectEventFunction) &wxMaracasNoteBookSTLFormat::OnChangePage );
-
- wxStaticText *title=new wxStaticText(panel,-1,_T(" STL - 01 (MATHIEU) "));
-
-// It doesn't works in linux
-// wxFont font(18,wxDEFAULT , wxITALIC, wxBOLD);
-// title->SetFont(font);
-
- wxBoxSizer *sizer= new wxBoxSizer(wxVERTICAL);
- sizer->Add( title , 0, wxEXPAND | wxALIGN_RIGHT, 10);
- sizer->Add( _noteBook_01 , 1, wxGROW , 10 );
-
-//EEDxx2.4
-// FitInside();
-
- sizer->SetSizeHints( panel ); // set size hints to honour minimum size
- panel->SetSizer(sizer);
- panel->SetAutoLayout(true);
- panel->Layout();
-
- return panel;
-}
-
-//----------------------------------------------------------------------------
-
-wxPanel *wxMaracasNoteBookSTLFormat::CreateSTLFormat_03(wxWindow *parent,marInterface *mar)
-{
-
- wxSTLWidget_03 *stlWidget = new wxSTLWidget_03(parent,mar);
- stlWidget->ConfigureVTK();
-
- return stlWidget;
-}
-
-
-//----------------------------------------------------------------------------
-
-void wxMaracasNoteBookSTLFormat::OnChangePage(wxNotebookEvent& event)
-{
- if (_noteBook_01->GetSelection()==1){
- if (_wxmaracassurfaceSTLwidget!=NULL)
- {
- delete _wxmaracassurfaceSTLwidget;
- }
- _wxmaracassurfaceSTLwidget = new wxSurfaceSTLWidget( _noteBook_01->GetPage(1) );
- _wxmaracassurfaceSTLwidget->ShowMARACASData( _mar );
- wxBoxSizer *sizer= new wxBoxSizer(wxHORIZONTAL);
- sizer->Add( _wxmaracassurfaceSTLwidget , 1, wxALL|wxEXPAND, 0);
- _noteBook_01->GetPage(1)->SetAutoLayout(true);
- _noteBook_01->GetPage(1)->SetSizer(sizer);
- _noteBook_01->GetPage(1)->Layout();
- }
- Refresh();
-}
-
-//----------------------------------------------------------------------------
-
-void wxMaracasNoteBookSTLFormat::OnChangePageSTLFormat(wxNotebookEvent& event)
-{
- if (_noteBook_01->GetSelection()==0){
- if (_existAxis == false )
- {
- wxMessageDialog msg(this, _T("You have to extract the axis befor run this option.."), _T("Message box"), wxOK );
- msg.ShowModal();
- event.Veto();
- }
- }
- Refresh();
-}
-
-//----------------------------------------------------------------------------
-
-void wxMaracasNoteBookSTLFormat::OnNewAxis(wxCommandEvent &WXUNUSED(event))
-{
- _existAxis=true;
- _noteBook_01->SetPageImage(1, 1);
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookSTLFormat::OnDeleteAxis(wxCommandEvent &WXUNUSED(event))
-{
- _existAxis=false;
- _noteBook_01->SetPageImage(1, 2);
-}
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-BEGIN_EVENT_TABLE(wxMaracasNoteBookTests , wxPanel)
-// Borrame
-// EVT_MENU(MDI_CHILD_QUIT, MyChild::OnQuit)
-// EVT_MENU(MDI_REFRESH, MyChild::OnRefresh)
-// EVT_MENU(MDI_CHANGE_TITLE, MyChild::OnChangeTitle)
-// EVT_MENU(MDI_CHANGE_POSITION, MyChild::OnChangePosition)
-// EVT_MENU(MDI_CHANGE_SIZE, MyChild::OnChangeSize)
-// EVT_MENU(20001, wxMaracasNoteBookIRMQuantification::OnSelectPatientStudySerieImage)
-
-// EVT_SIZE(MyChild::OnSize)
-// EVT_MOVE(MyChild::OnMove)
-
-// EVT_CLOSE(wxMaracasPatientLstVoiChiFra::OnClose)
-// EVT_TOOL(wxSurfaceWidget::ID_BUTTON_NEW_AXIS, wxMaracasNoteBookTests::OnNewAxis )
-// EVT_TOOL(wxSurfaceWidget::ID_BUTTON_DELETE_AXIS,wxMaracasNoteBookTests::OnDeleteAxis )
-// EVT_TOOL(20005,wxMaracasNoteBookVascularTreeExtraction::OnQuantification)
-
-
-
-END_EVENT_TABLE()
-
-
-wxMaracasNoteBookTests::wxMaracasNoteBookTests(wxWindow *parent,marInterface *mar)
- : wxPanel(parent, -1)
-{
- wxBusyCursor wait;
-
- _noteBook = new wxNotebook(this, -1);
- _noteBook->SetSize(550,300);
-
-
- wxBitmap mask= wxBITMAP( TOOLBAR_V2_sm_mask );
-
- wxBitmap bitmap0 = wxBITMAP( TOOLBAR_V2_sm_bl_Processing );
- wxBitmap bitmap1 = wxBITMAP( TOOLBAR_V2_sm_bl_Processing );
-
- bitmap0.SetMask(new wxMask( mask ));
- bitmap1.SetMask(new wxMask( mask ));
-
- wxImageList *imageList = new wxImageList(50,50);
- imageList->Add( bitmap0 ); // 0
- imageList->Add( bitmap1 ); // 1
- _noteBook->SetImageList(imageList);
-
-
- _mar=new marInterface();
- _mar->_parameters->setRescaleSlope( mar->_parameters->getRescaleSlope() );
- _mar->_parameters->setRescaleIntercept( mar->_parameters->getRescaleIntercept() );
- _mar->_parameters->setIntParam( marParameters::e_voxel_type, marParameters::VOX_TYPE_MINIMUM );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_x_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_x_dimension) );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_y_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_y_dimension) );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_z_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_z_dimension) );
- int voi[6];
- mar->_experiment->getVOI( voi );
- _mar->_experiment->setVOI( voi );
- _mar->SetDicom(mar->_dicom);
-
- _mar->initExperiment( );
-
- vtkImageData *vtkimagedata;
- vtkimagedata = _mar->_experiment->getDynData( )->getVolume( )->castVtk();
- vtkimagedata->Update();
- marImageData *marimagedata = new marImageData(vtkimagedata);
-
- // --
-// _wxmanualcontourpanel = new wxMaracas_ManualContour_Panel( _noteBook );
-// _wxmanualcontourpanel->ConfigureVTK( marimagedata );
-// _noteBook->AddPage(_wxmanualcontourpanel,_T(" Manual Contour "), true, 0 );
-
-
- // --
- _wxMaracasEmptyPanel_3 = new wxMaracasEmptyPanel_3( _noteBook );
- _wxMaracasEmptyPanel_3->ConfigureVTK( marimagedata );
- _noteBook->AddPage(_wxMaracasEmptyPanel_3,_T(" 2 contornos Maria Alejandra "), true, 0 );
-
- // --
- _noteBook->AddPage(new wxPanel(_noteBook,-1),_T("?? "), true, 1 );
-
- // --
- _wxMaracas_ManualTree_MPR = new wxMaracas_ManualTree_MPR( _noteBook, marimagedata , _mar->_parameters->getVoxelSize());
- _wxMaracas_ManualTree_MPR->ConfigureVTK();
- _noteBook->AddPage(_wxMaracas_ManualTree_MPR,_T("Manual Tree E.Davila "), true, 1 );
-
-
- // --
- _wxMaracas_ManualSegmentation_MPR = new wxMaracas_ManualSegmentation_MPR( _noteBook, marimagedata , _mar->_parameters->getVoxelSize());
- _wxMaracas_ManualSegmentation_MPR->ConfigureVTK();
- _noteBook->AddPage(_wxMaracas_ManualSegmentation_MPR,_T("Manual Segmentation Diego "), true, 1 );
-
- // --
- _wxMaracas_SegmentationFM3D = new wxMaracas_SegmentationFM3D( _noteBook, marimagedata , _mar->_parameters->getVoxelSize());
- _wxMaracas_SegmentationFM3D->ConfigureVTK();
- _noteBook->AddPage(_wxMaracas_SegmentationFM3D,_T("Segmentation FM3D Diego "), true, 1 );
-
-
-
- // --
-//EED 4 oct 2006 information pour Loic
-// _wxMaracasEmptyPanel_4 = new wxMaracasEmptyPanel_4( _noteBook );
-// _wxMaracasEmptyPanel_4->ConfigureVTK( );
-// _noteBook->AddPage(_wxMaracasEmptyPanel_4,"Loic", true, 1 );
-
- _noteBook->SetSelection(0);
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING , (wxObjectEventFunction) &wxMaracasNoteBookTests::OnChangePageTests );
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , (wxObjectEventFunction) &wxMaracasNoteBookTests::OnChangePage );
-
- wxStaticText *title=new wxStaticText(this,-1,_T("Tests..."));
-
-// It doesn't works in linux
-// wxFont font(18,wxDEFAULT , wxITALIC, wxBOLD);
-// title->SetFont(font);
-
- wxBoxSizer *sizer= new wxBoxSizer(wxVERTICAL);
- sizer->Add( title , 0, wxEXPAND | wxALIGN_RIGHT, 10);
- sizer->Add( _noteBook , 1, wxGROW, 10 );
-
-//EEDxx2.4
-// FitInside();
-
- sizer->SetSizeHints( this ); // set size hints to honour minimum size
- this->SetSizer(sizer);
- this->SetAutoLayout(true);
- this->Layout();
-
-}
-//----------------------------------------------------------------------------
-wxMaracasNoteBookTests::~wxMaracasNoteBookTests()
-{
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookTests::OnChangePage(wxNotebookEvent& event)
-{
- Refresh();
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookTests::OnChangePageTests(wxNotebookEvent& event)
-{
- Refresh();
-}
-
-
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-//----------------------------------------------------------------------------
-
-
-BEGIN_EVENT_TABLE(wxMaracasNoteBookManualRegistration , wxPanel)
-//
-END_EVENT_TABLE()
-
-
-wxMaracasNoteBookManualRegistration::wxMaracasNoteBookManualRegistration(wxWindow *parent,marInterface *mar)
- : wxPanel(parent, -1)
-{
- wxBusyCursor wait;
-
- _noteBook = new wxNotebook(this, -1);
- _noteBook->SetSize(550,300);
-
-
- wxBitmap mask= wxBITMAP( TOOLBAR_V2_sm_mask );
-
- wxBitmap bitmap0 = wxBITMAP( TOOLBAR_V2_sm_bl_Processing );
- wxBitmap bitmap1 = wxBITMAP( TOOLBAR_V2_sm_bl_Processing );
-
- bitmap0.SetMask(new wxMask( mask ));
- bitmap1.SetMask(new wxMask( mask ));
-
- wxImageList *imageList = new wxImageList(50,50);
- imageList->Add( bitmap0 ); // 0
- imageList->Add( bitmap1 ); // 1
- _noteBook->SetImageList(imageList);
-
-
- _mar=new marInterface();
- _mar->_parameters->setRescaleSlope( mar->_parameters->getRescaleSlope() );
- _mar->_parameters->setRescaleIntercept( mar->_parameters->getRescaleIntercept() );
- _mar->_parameters->setIntParam( marParameters::e_voxel_type, marParameters::VOX_TYPE_MINIMUM );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_x_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_x_dimension) );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_y_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_y_dimension) );
- _mar->_parameters->setDoubleParam( marParameters::e_voxel_z_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_z_dimension) );
- int voi[6];
- mar->_experiment->getVOI( voi );
- _mar->_experiment->setVOI( voi );
- _mar->SetDicom(mar->_dicom);
-
- _mar->initExperiment( );
-
- vtkImageData *imagedata;
- imagedata = _mar->_experiment->getDynData( )->getVolume( )->castVtk();
- imagedata->Update();
- marImageData *marimagedata=new marImageData(imagedata);
-
- _wxmanualregistration3D = new wxManualRegistration3D(_noteBook,marimagedata);
- _wxmanualregistration3D->ConfigureVTK();
- _noteBook->AddPage( _wxmanualregistration3D , _T("Manual registration 3D") , true, 0 );
-
- _noteBook->SetSelection(0);
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGING , (wxObjectEventFunction) &wxMaracasNoteBookTests::OnChangePageTests );
- Connect(_noteBook->GetId() , wxEVT_COMMAND_NOTEBOOK_PAGE_CHANGED , (wxObjectEventFunction) &wxMaracasNoteBookTests::OnChangePage );
-
- wxStaticText *title=new wxStaticText(this,-1,_T("Manual registration"));
-
-// It doesn't works in linux
-// wxFont font(18,wxDEFAULT , wxITALIC, wxBOLD);
-// title->SetFont(font);
-
- wxBoxSizer *sizer= new wxBoxSizer(wxVERTICAL);
- sizer->Add( title , 0, wxEXPAND | wxALIGN_RIGHT, 10);
- sizer->Add( _noteBook , 1, wxGROW, 10 );
-
- sizer->SetSizeHints( this ); // set size hints to honour minimum size
- this->SetSizer(sizer);
- this->SetAutoLayout(true);
- this->Layout();
-
-}
-//----------------------------------------------------------------------------
-wxMaracasNoteBookManualRegistration::~wxMaracasNoteBookManualRegistration()
-{
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookManualRegistration::OnChangePage(wxNotebookEvent& event)
-{
- Refresh();
-}
-
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookManualRegistration::OnChangePageTests(wxNotebookEvent& event)
-{
- Refresh();
-}
-
-//----------------------------------------------------------------------------
-bool wxMaracasNoteBookManualRegistration::GetIfSecondVolumeExist()
-{
- return _wxmanualregistration3D->GetIfSecondVolumeExist();
-}
-//----------------------------------------------------------------------------
-void wxMaracasNoteBookManualRegistration::GenerateSecondVolume(marInterface *mar)
-{
- _marB=new marInterface();
- _marB->_parameters->setRescaleSlope( mar->_parameters->getRescaleSlope() );
- _marB->_parameters->setRescaleIntercept( mar->_parameters->getRescaleIntercept() );
- _marB->_parameters->setIntParam( marParameters::e_voxel_type, marParameters::VOX_TYPE_MINIMUM );
- _marB->_parameters->setDoubleParam( marParameters::e_voxel_x_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_x_dimension) );
- _marB->_parameters->setDoubleParam( marParameters::e_voxel_y_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_y_dimension) );
- _marB->_parameters->setDoubleParam( marParameters::e_voxel_z_dimension, mar->_parameters->getDoubleParam(marParameters::e_voxel_z_dimension) );
- int voi[6];
- mar->_experiment->getVOI( voi );
- _marB->_experiment->setVOI( voi );
- _marB->SetDicom(mar->_dicom);
-
- _marB->initExperiment( );
-
- vtkImageData *vtkimagedata;
- vtkimagedata = _marB->_experiment->getDynData( )->getVolume( )->castVtk();
- vtkimagedata->Update();
- _wxmanualregistration3D->AddSecondVolume(new marImageData(vtkimagedata));
-}