interfSegmentationPanelVTK Class Reference

#include <interfSegmentationPanels.h>

List of all members.

Public Member Functions

 interfSegmentationPanelVTK (wxWindow *parent)
 ~interfSegmentationPanelVTK ()
void onSegmentationPressed (wxCommandEvent &event)
void onSegmentationPressedITK (wxCommandEvent &event)
void setLabel (wxString tmpString)

Private Member Functions

void hideAxis ()
wxPanel * getSegmentationPanel (wxWindow *parent)
void onSegmentationOneSlice (wxCommandEvent &event)
void onSegmentationAllSlice (wxCommandEvent &event)

Private Attributes

wxPanel * configPanel
wxWindow * infoWin
wxPanel * segmentPanel
wxPanel * spreadPanel
wxPanel * segmentPanelITK
bool axisshown
wxSlider * _isovalue
mBarRange * _mbarrange
wxSlider * _sampling
wxStaticText * _staticTextSegmentation
wxRadioBox * methodRadiobox


Detailed Description

Definition at line 8 of file interfSegmentationPanels.h.


Constructor & Destructor Documentation

interfSegmentationPanelVTK::interfSegmentationPanelVTK ( wxWindow *  parent  ) 

Definition at line 4 of file interfSegmentationPanels.cxx.

References _isovalue, _mbarrange, _sampling, _staticTextSegmentation, interfMainPanel::GetImageDataSizeZ(), interfMainPanel::getImageRange(), interfMainPanel::getInstance(), methodRadiobox, onSegmentationAllSlice(), and onSegmentationOneSlice().

00005 : wxPanel(parent, -1, wxDefaultPosition, wxDefaultSize, wxBORDER_SUNKEN)
00006 {
00007         int sizeZ = interfMainPanel::getInstance()->GetImageDataSizeZ();
00008 
00009         double range[2];
00010         interfMainPanel::getInstance()->getImageRange(range);
00011 
00012         int min = (int)floor (range[0]);
00013         int max = (int)ceil (range[1]);
00014 
00015         wxButton *segmentationOneSliceBtn   = new wxButton(this,-1,_T("Current slice"), wxDefaultPosition, wxSize(200,35) );
00016         wxButton *segmentationAllSliceBtn   = new wxButton(this,-1,_T("All slices") ,wxDefaultPosition, wxSize(200,35) );
00017         _isovalue                           = new wxSlider(this, -1, 40 , min, max, wxDefaultPosition, wxSize(200,35), wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
00018         _sampling                           = new wxSlider(this, -1, 20 , 4, 50, wxDefaultPosition, wxSize(200,35), wxSL_HORIZONTAL|wxSL_LABELS, wxDefaultValidator);
00019         wxString lstOptions[3];
00020         lstOptions[0]=_T("A");
00021         lstOptions[1]=_T("B");
00022         lstOptions[2]=_T("C");
00023         methodRadiobox                      = new wxRadioBox(this, -1, _T("Method (find ctrl. Points)"), wxDefaultPosition, wxSize(200,45), 3 , lstOptions,  3, wxRA_SPECIFY_COLS);
00024         methodRadiobox->SetSelection(2);
00025         _staticTextSegmentation             = new wxStaticText(this,-1,_T("    "));
00026 
00027         _mbarrange                          = new mBarRange(this,70, 65);
00028         _mbarrange->SetMin(0);
00029         _mbarrange->SetStart(0);
00030 
00031         _mbarrange->SetOrientation( true );
00032         _mbarrange->setActiveStateTo(true);
00033         _mbarrange->setVisibleLabels( true );
00034         _mbarrange->setDeviceEndMargin(10);
00035         _mbarrange->setRepresentedValues( 0 , sizeZ );
00036         _mbarrange->setDeviceBlitStart(10,10); 
00037         _mbarrange->setIfWithActualDrawed( false );
00038         _mbarrange->SetStart( 0 );
00039         _mbarrange->SetEnd( sizeZ );  
00040 
00041         wxFlexGridSizer * sizer             = new wxFlexGridSizer(1);
00042         sizer->Add( new wxStaticText(this, -1, _T("Isovalue (Gray level)")), 1, wxGROW );
00043         sizer->Add( _isovalue, 1, wxGROW );
00044         sizer->Add( methodRadiobox , 1, wxGROW );
00045         sizer->Add( new wxStaticText(this, -1 ,_T("Sampling (%)")), 1, wxGROW );
00046         sizer->Add( _sampling, 1, wxGROW );
00047         sizer->Add( segmentationOneSliceBtn, 1, wxGROW );
00048         sizer->Add( new wxStaticText(this, -1, _T(" ")), 1, wxGROW );
00049         sizer->Add( _staticTextSegmentation, 1, wxGROW );
00050         sizer->Add( segmentationAllSliceBtn, 1, wxGROW );
00051         sizer->Add( _mbarrange, 1, wxGROW );
00052 
00053         this->SetSizer( sizer );
00054 //              panel->SetSize( sizePanel );
00055         this->SetSize( wxDefaultSize );
00056         this->SetAutoLayout( true );
00057         this->Layout();
00058         
00059 //_segmentationFrame->SetEventHandler( this );
00060         //segmentationOneSliceBtn->SetEventHandler( this );
00061         //segmentationAllSliceBtn->SetEventHandler( this );
00062         //panel->SetEventHandler(this);
00063         Connect( segmentationOneSliceBtn->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction) &interfSegmentationPanelVTK::onSegmentationOneSlice); 
00064         Connect( segmentationAllSliceBtn->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction) &interfSegmentationPanelVTK::onSegmentationAllSlice); 
00065 }

Here is the call graph for this function:

interfSegmentationPanelVTK::~interfSegmentationPanelVTK (  ) 

Definition at line 68 of file interfSegmentationPanels.cxx.

00069 {
00070 }


Member Function Documentation

wxPanel* interfSegmentationPanelVTK::getSegmentationPanel ( wxWindow *  parent  )  [private]

void interfSegmentationPanelVTK::hideAxis (  )  [private]

void interfSegmentationPanelVTK::onSegmentationAllSlice ( wxCommandEvent &  event  )  [private]

Definition at line 109 of file interfSegmentationPanels.cxx.

References _isovalue, _mbarrange, _sampling, interfMainPanel::getInstance(), methodRadiobox, and interfMainPanel::onSegmentationAllSlice().

Referenced by interfSegmentationPanelVTK().

00110 {
00111         int minZ=_mbarrange->GetStart();
00112         int maxZ=_mbarrange->GetEnd();
00113 
00114         int isovalue = _isovalue->GetValue();
00115         int sampling = _sampling->GetValue();
00116         int method   = methodRadiobox->GetSelection();
00117 
00118         interfMainPanel::getInstance()->onSegmentationAllSlice(minZ, maxZ, isovalue, sampling, method); 
00119 }

Here is the call graph for this function:

Here is the caller graph for this function:

void interfSegmentationPanelVTK::onSegmentationOneSlice ( wxCommandEvent &  event  )  [private]

Definition at line 101 of file interfSegmentationPanels.cxx.

References _isovalue, _sampling, interfMainPanel::getInstance(), methodRadiobox, and interfMainPanel::onSegmentationOneSlice().

Referenced by interfSegmentationPanelVTK().

00102 {
00103         int isovalue = _isovalue->GetValue();
00104         int sampling = _sampling->GetValue();
00105         int method = methodRadiobox->GetSelection();
00106         interfMainPanel::getInstance()->onSegmentationOneSlice(isovalue, sampling, method);
00107         
00108 }

Here is the call graph for this function:

Here is the caller graph for this function:

void interfSegmentationPanelVTK::onSegmentationPressed ( wxCommandEvent &  event  ) 

Responds to the events of the buttons, when the same panel is responsible for it. It gets the name of the button corresponding to the method that has to be executed, it uses attribute eventHandler to call the methods define by the application. see setEventHandler(wxEventHandler*)

void interfSegmentationPanelVTK::onSegmentationPressedITK ( wxCommandEvent &  event  ) 

Responds to the events of the buttons, when the same panel is responsible for it. It gets the name of the button corresponding to the method that has to be executed, it uses attribute eventHandler to call the methods define by the application. see setEventHandler(wxEventHandler*)

Definition at line 79 of file interfSegmentationPanels.cxx.

References interfMainPanel::getInstance(), segmentPanelITK, and interfMainPanel::showPanel().

00079                                                                                {
00080    if(segmentPanelITK == NULL) {
00081                 segmentPanelITK = new wxPanel(interfMainPanel::getInstance()->getInfoPanel(), -1, wxDefaultPosition, wxDefaultSize, wxBORDER_STATIC, wxString(_T("")));                 
00082 
00083                 wxFlexGridSizer* flexsizer = new wxFlexGridSizer(1);    
00084                 segmentPanelITK->SetSizer(flexsizer, true);
00085                 segmentPanelITK->SetAutoLayout( true ); 
00086                                 
00087                 wxPanel* panel = new wxPanel(this, -1);//contourevent->getSegmentationPanelITK(segmentPanelITK);
00088         
00089                 wxStaticText* stattext = new wxStaticText(segmentPanelITK, -1, wxString(_T("   Automatic ITK Segmentation   ")), wxDefaultPosition,
00090                         wxDefaultSize, wxALIGN_CENTRE|wxBORDER_SIMPLE|wxFULL_REPAINT_ON_RESIZE, wxString(_T("")));
00091 
00092                 flexsizer->Add(stattext, wxALIGN_CENTER | wxALIGN_CENTRE);
00093                 flexsizer->Add(panel, wxEXPAND);
00094                 segmentPanelITK->Layout();
00095    }
00096         interfMainPanel::getInstance()->showPanel(segmentPanelITK);
00097         //contourevent->showAxis(true);
00098         //axisshown = true;
00099 }

Here is the call graph for this function:

void interfSegmentationPanelVTK::setLabel ( wxString  tmpString  ) 

Definition at line 121 of file interfSegmentationPanels.cxx.

References _staticTextSegmentation.

00121                                                            {
00122         _staticTextSegmentation->SetLabel(tmpString);
00123 }


Member Data Documentation

Definition at line 52 of file interfSegmentationPanels.h.

Referenced by interfSegmentationPanelVTK(), and setLabel().

Definition at line 36 of file interfSegmentationPanels.h.

Definition at line 31 of file interfSegmentationPanels.h.

Definition at line 32 of file interfSegmentationPanels.h.

Definition at line 33 of file interfSegmentationPanels.h.

Definition at line 35 of file interfSegmentationPanels.h.

Referenced by onSegmentationPressedITK().

Definition at line 34 of file interfSegmentationPanels.h.


The documentation for this class was generated from the following files:

Generated on Wed Jun 27 23:28:34 2012 for creaContours_lib by  doxygen 1.5.7.1