#include <wxSegmentationFM3DWidget.h>
Definition at line 63 of file wxSegmentationFM3DWidget.h.
wxSegmentationFM3DWidget::wxSegmentationFM3DWidget | ( | wxWindow * | parent, | |
marImageData * | marimageData, | |||
double | voxelSize | |||
) |
Definition at line 43 of file wxSegmentationFM3DWidget.cxx.
References OnBtnSegment(), OnBtnUndo(), OnChangeAlpha(), OnChangeBeta(), OnChangeLaplacianConvergence(), OnChangeLaplacianIteration(), OnChangeOpacity(), and OnChangeSigmaLevel().
00045 : wxPanel( parent, -1, wxDefaultPosition, wxDefaultSize, wxTAB_TRAVERSAL) 00046 { 00047 00048 _voxelSize = voxelSize; 00049 _marimageData = marimageData; 00050 00051 _wxvtk3Dbaseview_Clipping3D_C = NULL; 00052 _wxvtkmpr3Dview_C = NULL; 00053 _wxvtkclipping3Dview_C = NULL; 00054 00055 wxSplitterWindow* mainSplitter = new wxSplitterWindow(this,-1); 00056 wxSplitterWindow *pnlSplitter = new wxSplitterWindow( mainSplitter , -1); 00057 00058 int ww,hh; 00059 _MPRWidget2 = new wxMPRWidget2(pnlSplitter,_marimageData,voxelSize); 00060 wxPanel * contour3DView = Create3DViewContour( pnlSplitter , _MPRWidget2->GetVtkMPRBaseData()); 00061 this->GetSize(&ww,&hh); 00062 00063 pnlSplitter -> SplitVertically( _MPRWidget2, contour3DView , 600); 00064 00065 00066 00067 00068 00069 //PANEL DE OPERACIONES 00070 //------------------------------------------------------------------ 00071 00072 wxPanel* panelOperaciones = new wxPanel(mainSplitter, -1); 00073 00074 wxFlexGridSizer *fgs = new wxFlexGridSizer(2); 00075 00076 fgs->Add( new wxStaticText(panelOperaciones, -1, _T("Fast Marching Controls"))); 00077 fgs->Add(new wxStaticText(panelOperaciones, -1, _T(""))); 00078 fgs->Add(new wxStaticText(panelOperaciones, -1, _T(""))); 00079 fgs->Add(new wxStaticText(panelOperaciones, -1, _T(""))); 00080 00081 fgs->Add(new wxStaticText(panelOperaciones, -1, _T("Alpha"))); 00082 slAlpha = new wxSlider(panelOperaciones, -1, 50, 1, 400, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS); 00083 fgs->Add(slAlpha); 00084 00085 fgs->Add(new wxStaticText(panelOperaciones, -1, _T("Beta"))); 00086 slBeta = new wxSlider(panelOperaciones, -1, 128, 0, 800, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS); 00087 fgs->Add(slBeta); 00088 00089 btnSegment = new wxButton(panelOperaciones, -1, _T("Segment")); 00090 fgs->Add(btnSegment); 00091 btnUndo = new wxButton(panelOperaciones, -1, _T("Undo")); 00092 fgs->Add(btnUndo); 00093 00094 00095 00096 00097 fgs->Add(new wxStaticText(panelOperaciones, -1, _T(""))); 00098 fgs->Add(new wxStaticText(panelOperaciones, -1, _T(""))); 00099 00100 00101 00102 fgs->Add( new wxStaticText(panelOperaciones, -1, _T("Mesh Controls"))); 00103 fgs->Add(new wxStaticText(panelOperaciones, -1, _T(""))); 00104 fgs->Add(new wxStaticText(panelOperaciones, -1, _T(""))); 00105 fgs->Add(new wxStaticText(panelOperaciones, -1, _T(""))); 00106 00107 fgs->Add(new wxStaticText(panelOperaciones, -1, _T("Opacity"))); 00108 slVolumeOpacity = new wxSlider(panelOperaciones, -1,50,1,100, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS); 00109 fgs->Add(slVolumeOpacity); 00110 00111 fgs->Add(new wxStaticText(panelOperaciones, -1, _T("Sigma"))); 00112 slSigmaLevel = new wxSlider(panelOperaciones, -1,100,1,300, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS); 00113 fgs->Add(slSigmaLevel); 00114 00115 fgs->Add(new wxStaticText(panelOperaciones, -1, _T("Convergence"))); 00116 slLaplacianConvergence = new wxSlider(panelOperaciones, -1,3000,1,3000, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS); 00117 fgs->Add(slLaplacianConvergence); 00118 00119 fgs->Add(new wxStaticText(panelOperaciones, -1, _T("Iterations"))); 00120 slLaplacianIterations = new wxSlider(panelOperaciones, -1,100,1,2000, wxDefaultPosition, wxDefaultSize, wxSL_HORIZONTAL | wxSL_LABELS); 00121 fgs->Add(slLaplacianIterations); 00122 00123 panelOperaciones->SetSizer(fgs); 00124 00125 btnUndo->Disable(); 00126 slSigmaLevel->Disable(); 00127 slVolumeOpacity->Disable(); 00128 slLaplacianConvergence->Disable(); 00129 slLaplacianIterations->Disable(); 00130 00131 Connect(slAlpha->GetId(), wxEVT_SCROLL_THUMBRELEASE, (wxObjectEventFunction) &wxSegmentationFM3DWidget::OnChangeAlpha); 00132 Connect(slBeta->GetId(), wxEVT_SCROLL_THUMBRELEASE, (wxObjectEventFunction) &wxSegmentationFM3DWidget::OnChangeBeta); 00133 Connect(btnSegment->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction) &wxSegmentationFM3DWidget::OnBtnSegment); 00134 Connect(btnUndo->GetId(), wxEVT_COMMAND_BUTTON_CLICKED, (wxObjectEventFunction) &wxSegmentationFM3DWidget::OnBtnUndo); 00135 Connect(slVolumeOpacity->GetId(), wxEVT_SCROLL_THUMBRELEASE, (wxObjectEventFunction) &wxSegmentationFM3DWidget::OnChangeOpacity); 00136 Connect(slSigmaLevel->GetId(), wxEVT_SCROLL_THUMBRELEASE, (wxObjectEventFunction) &wxSegmentationFM3DWidget::OnChangeSigmaLevel); 00137 Connect(slLaplacianConvergence->GetId(),wxEVT_SCROLL_THUMBRELEASE, (wxObjectEventFunction) &wxSegmentationFM3DWidget::OnChangeLaplacianConvergence); 00138 Connect(slLaplacianIterations->GetId(), wxEVT_SCROLL_THUMBRELEASE, (wxObjectEventFunction) &wxSegmentationFM3DWidget::OnChangeLaplacianIteration); 00139 //------------------------------------------------------------------- 00140 00141 mainSplitter->SplitVertically(pnlSplitter, panelOperaciones, 600); 00142 00143 wxBoxSizer *sizer = new wxBoxSizer(wxVERTICAL ); 00144 sizer->Add(mainSplitter,1, wxGROW,0); 00145 pnlSplitter -> SetMinimumPaneSize( 50 ); 00146 this -> SetSizer(sizer); 00147 00148 00149 // MODELO 00150 //------------------------------------------------------------------ 00151 alphaValue = 0.5; 00152 betaValue = 128; 00153 opacityValue = 0.5; 00154 convergenceValue = 1; 00155 iterationsValue = 100; 00156 filtroSegmentacion = new itkFM3D(); 00157 //------------------------------------------------------------------ 00158 00159 00160 // RENDERIZACION VTK 00161 //------------------------------------------------------------------ 00162 f_gauss = vtkImageGaussianSmooth::New(); 00163 f_laplace = vtkSmoothPolyDataFilter::New(); 00164 f_cubes = vtkMarchingCubes::New(); 00165 f_mapper = vtkPolyDataMapper::New(); 00166 f_cubes->SetInput(f_gauss->GetOutput()); 00167 f_cubes->SetValue(0,128); 00168 f_laplace->SetInput(f_cubes->GetOutput()); 00169 f_mapper->SetInput(f_laplace->GetOutput()); 00170 f_mapper->ScalarVisibilityOff(); 00171 f_actor = vtkActor::New(); 00172 f_actor->SetMapper(f_mapper); 00173 f_actor->GetProperty()->SetColor(0.9,0.5,0.5); 00174 //------------------------------------------------------------------ 00175 00176 00177 }
wxSegmentationFM3DWidget::~wxSegmentationFM3DWidget | ( | ) |
Definition at line 181 of file wxSegmentationFM3DWidget.cxx.
References _wxvtk3Dbaseview_Clipping3D_C, _wxvtkclipping3Dview_C, and _wxvtkmpr3Dview_C.
00182 { 00183 if (_wxvtk3Dbaseview_Clipping3D_C != NULL) { delete _wxvtk3Dbaseview_Clipping3D_C; } 00184 if (_wxvtkmpr3Dview_C != NULL) { delete _wxvtkmpr3Dview_C; } 00185 if (_wxvtkclipping3Dview_C != NULL) { delete _wxvtkclipping3Dview_C; } 00186 }
void wxSegmentationFM3DWidget::ConfigureVTK | ( | ) |
Definition at line 252 of file wxSegmentationFM3DWidget.cxx.
References _MPRWidget2, _wxvtk3Dbaseview_Clipping3D_C, _wxvtkclipping3Dview_C, _wxvtkmpr3Dview_C, wxMPRWidget::ConfigureVTK(), wxVtkBaseView::GetInteractorStyleBaseView(), vtkInteractorStyle3DView::SetWxVtkClipping3DView(), and vtkInteractorStyle3DView::SetWxVtkMPR3DView().
Referenced by wxMaracas_SegmentationFM3D::ConfigureVTK().
00252 { 00253 _MPRWidget2->ConfigureVTK(); 00254 _wxvtk3Dbaseview_Clipping3D_C -> Configure(); 00255 _wxvtkmpr3Dview_C -> Configure(); 00256 _wxvtkclipping3Dview_C -> Configure(); 00257 00258 vtkInteractorStyle3DView *vtkinteractorstyle3Dview = new vtkInteractorStyle3DView(); 00259 vtkinteractorstyle3Dview->SetWxVtkMPR3DView(_wxvtkmpr3Dview_C); 00260 vtkinteractorstyle3Dview->SetWxVtkClipping3DView(_wxvtkclipping3Dview_C); 00261 _wxvtk3Dbaseview_Clipping3D_C->GetInteractorStyleBaseView()->AddInteractorStyleMaracas( vtkinteractorstyle3Dview ); 00262 00263 }
void wxSegmentationFM3DWidget::RefreshView | ( | ) |
Definition at line 280 of file wxSegmentationFM3DWidget.cxx.
References _MPRWidget2, _wxvtk3Dbaseview_Clipping3D_C, _wxvtkclipping3Dview_C, _wxvtkmpr3Dview_C, and wxMPRWidget::RefreshView().
Referenced by OnBtnSegment(), OnBtnUndo(), OnChangeLaplacianConvergence(), OnChangeLaplacianIteration(), OnChangeOpacity(), OnChangeSigmaLevel(), and OnRefreshView().
00281 { 00282 this->_MPRWidget2->RefreshView(); 00283 _wxvtkmpr3Dview_C -> RefreshView(); 00284 _wxvtkclipping3Dview_C -> Refresh(); 00285 _wxvtk3Dbaseview_Clipping3D_C -> Refresh(); 00286 }
void wxSegmentationFM3DWidget::OnRefreshView | ( | wxCommandEvent & | event | ) |
Definition at line 275 of file wxSegmentationFM3DWidget.cxx.
References RefreshView().
00276 { 00277 RefreshView(); 00278 }
vtkMPRBaseData * wxSegmentationFM3DWidget::GetVtkMPRBaseData | ( | ) |
Definition at line 266 of file wxSegmentationFM3DWidget.cxx.
References _MPRWidget2, and wxMPRWidget::GetVtkMPRBaseData().
Referenced by wxMaracas_SegmentationFM3D::GetVtkMPRBaseData().
00266 { 00267 return _MPRWidget2->GetVtkMPRBaseData(); 00268 }
vtkPlane2DView * wxSegmentationFM3DWidget::GetVtkPlane2DView | ( | ) |
Definition at line 270 of file wxSegmentationFM3DWidget.cxx.
References _MPRWidget2, and wxMPRWidget::GetVtkPlane2DView().
Referenced by wxMaracas_SegmentationFM3D::GetVtkPlane2DView().
00271 { 00272 return _MPRWidget2->GetVtkPlane2DView(); 00273 }
wxPanel * wxSegmentationFM3DWidget::Create3DViewContour | ( | wxWindow * | parent, | |
vtkMPRBaseData * | vtkmprbasedata | |||
) | [private] |
Definition at line 190 of file wxSegmentationFM3DWidget.cxx.
References _wxvtk3Dbaseview_Clipping3D_C, _wxvtkclipping3Dview_C, _wxvtkmpr3Dview_C, vtkMPR3DDataViewer::Configure(), vtkClipping3DDataViewer::Configure(), wxVtkClipping3DView::CreateControlPanel(), wxVtkMPR3DView::CreateControlPanel(), wxVtkBaseView::GetWxVTKRenderWindowInteractor(), wxVtkClipping3DView::SetVtkClipping3DDataViewer(), wxVtkMPR3DView::SetVtkMPR3DDataViewer(), vtkMPR3DDataViewer::SetVtkMPRBaseData(), and vtkClipping3DDataViewer::SetVtkMPRBaseData().
00191 { 00192 wxWindow *wxwindow; 00193 wxPanel *panel=new wxPanel(parent,-1); 00194 00195 wxSplitterWindow *panelClipping3D = new wxSplitterWindow( panel , -1); 00196 _wxvtk3Dbaseview_Clipping3D_C = new wxVtk3DBaseView( panelClipping3D ); 00197 00198 _wxvtkclipping3Dview_C = new wxVtkClipping3DView(_wxvtk3Dbaseview_Clipping3D_C); 00199 vtkClipping3DDataViewer *vtkclipping3Ddataviewer = new vtkClipping3DDataViewer(); 00200 vtkclipping3Ddataviewer->SetVtkMPRBaseData(vtkmprbasedata); 00201 vtkclipping3Ddataviewer->Configure(); 00202 _wxvtkclipping3Dview_C->SetVtkClipping3DDataViewer(vtkclipping3Ddataviewer); 00203 00204 _wxvtkmpr3Dview_C = new wxVtkMPR3DView( _wxvtk3Dbaseview_Clipping3D_C ); 00205 vtkMPR3DDataViewer *vtkmpr3Ddataviewer = new vtkMPR3DDataViewer(); 00206 vtkmpr3Ddataviewer->SetVtkMPRBaseData(vtkmprbasedata); 00207 vtkmpr3Ddataviewer->Configure(); 00208 _wxvtkmpr3Dview_C->SetVtkMPR3DDataViewer(vtkmpr3Ddataviewer); 00209 00210 wxWindow *window3D = _wxvtk3Dbaseview_Clipping3D_C->GetWxVTKRenderWindowInteractor(); 00211 00212 wxPanel *panelControl = new wxPanel(panelClipping3D,-1); 00213 wxPanel *controlPanelMPR3D = _wxvtkmpr3Dview_C->CreateControlPanel(panelControl); 00214 wxPanel *controlPanelClipping3D = _wxvtkclipping3Dview_C->CreateControlPanel(panelControl); 00215 00216 // wxBoxSizer *sizerCtrol = new wxBoxSizer(wxVERTICAL); 00217 wxFlexGridSizer *sizerCtrol = new wxFlexGridSizer(1); 00218 00219 sizerCtrol->Add(controlPanelMPR3D , 1, wxALL|wxEXPAND, 2); 00220 sizerCtrol->Add(controlPanelClipping3D , 1, wxALL|wxEXPAND, 2); 00221 panelControl->SetAutoLayout(true); 00222 panelControl->SetSizer(sizerCtrol); 00223 panelControl->SetSize(400,350); 00224 panelControl->Layout(); 00225 00226 int ww,hh; 00227 wxWindow *pp=this; 00228 while (pp->GetParent()!=NULL) pp=pp->GetParent(); 00229 pp->GetSize(&ww,&hh); 00230 00231 //EEDxx2.4 00232 // panelClipping3D -> SetMinimumPaneSize( -50 ); 00233 panelClipping3D -> SplitHorizontally( panelControl,window3D, (int)(hh*0.20) ); 00234 wxwindow=panelClipping3D; 00235 00236 wxBoxSizer *sizerH1 = new wxBoxSizer(wxHORIZONTAL); 00237 sizerH1->Add(wxwindow , 1, wxALL|wxEXPAND, 0); 00238 panel->SetAutoLayout(true); 00239 panel->SetSizer(sizerH1); 00240 panel->SetSize(400,400); 00241 panel->Layout(); 00242 00243 //EEDxx2.4 00244 // panel->FitInside(); 00245 // FitInside(); 00246 00247 return panel; 00248 }
void wxSegmentationFM3DWidget::ConfigureContour | ( | ) | [private] |
void wxSegmentationFM3DWidget::OnChangeAlpha | ( | wxScrollEvent & | event | ) | [private] |
This method is invoked when the slAlpha scroll change its value
Definition at line 338 of file wxSegmentationFM3DWidget.cxx.
References alphaValue, and slAlpha.
Referenced by wxSegmentationFM3DWidget().
00338 { 00339 alphaValue = ((double)slAlpha->GetValue()); 00340 alphaValue = alphaValue / 100; 00341 }
void wxSegmentationFM3DWidget::OnChangeBeta | ( | wxScrollEvent & | event | ) | [private] |
This method is invoked when the slBeta scroll change its value
Definition at line 347 of file wxSegmentationFM3DWidget.cxx.
References betaValue, and slBeta.
Referenced by wxSegmentationFM3DWidget().
void wxSegmentationFM3DWidget::OnBtnSegment | ( | wxCommandEvent & | event | ) | [private] |
This method is invoked when the segmentation button is pressed
Definition at line 296 of file wxSegmentationFM3DWidget.cxx.
References _MPRWidget2, _wxvtkmpr3Dview_C, itkFM3D::AddSeed(), btnUndo, f_actor, f_gauss, f_laplace, filtroSegmentacion, vtkBaseData::GetImageData(), wxVtk3DBaseView::GetRenderer(), wxMPRWidget::GetVtkMPRBaseData(), wxVtkMPR3DView::GetWxvtk3Dbaseview(), vtkMPRBaseData::GetX(), vtkMPRBaseData::GetY(), vtkBaseData::GetZ(), RefreshView(), itkFM3D::segment(), itkFM3D::SetAlpha(), itkFM3D::SetBeta(), slLaplacianConvergence, slLaplacianIterations, slSigmaLevel, and slVolumeOpacity.
Referenced by wxSegmentationFM3DWidget().
00296 { 00297 00298 wxBusyCursor wait; 00299 00300 00301 double x =_MPRWidget2->GetVtkMPRBaseData()->GetX(); 00302 double y =_MPRWidget2->GetVtkMPRBaseData()->GetY(); 00303 double z = _MPRWidget2->GetVtkMPRBaseData()->GetZ(); 00304 00305 filtroSegmentacion->AddSeed(x,y,z); 00306 filtroSegmentacion->SetAlpha(this->alphaValue); 00307 filtroSegmentacion->SetBeta(this->betaValue); 00308 00309 vtkImageData* resultado = filtroSegmentacion->segment(_MPRWidget2->GetVtkMPRBaseData()->GetImageData() ); 00310 00311 00312 f_gauss->SetInput(resultado); 00313 f_gauss->SetStandardDeviation(this->sigmaValue); 00314 00315 f_laplace->SetNumberOfIterations(this->iterationsValue); 00316 f_laplace->SetConvergence(this->convergenceValue); 00317 f_laplace->Update(); 00318 00319 f_actor->GetProperty()->SetOpacity(this->opacityValue); 00320 00321 vtkRenderer *ren = _wxvtkmpr3Dview_C->GetWxvtk3Dbaseview()->GetRenderer(); 00322 00323 ren->AddActor(f_actor); 00324 RefreshView(); 00325 00326 btnUndo->Enable(); 00327 slVolumeOpacity->Enable(); 00328 slSigmaLevel->Enable(); 00329 slLaplacianConvergence->Enable(); 00330 slLaplacianIterations->Enable(); 00331 }
void wxSegmentationFM3DWidget::OnBtnUndo | ( | wxCommandEvent & | event | ) | [private] |
Carga la imagen resultado de la segmentacion FM ITK
Definition at line 355 of file wxSegmentationFM3DWidget.cxx.
References _wxvtkmpr3Dview_C, btnUndo, f_actor, wxVtk3DBaseView::GetRenderer(), wxVtkMPR3DView::GetWxvtk3Dbaseview(), RefreshView(), slLaplacianConvergence, slLaplacianIterations, slSigmaLevel, and slVolumeOpacity.
Referenced by wxSegmentationFM3DWidget().
00355 { 00356 00357 if (f_actor != NULL){ 00358 vtkRenderer *ren = _wxvtkmpr3Dview_C->GetWxvtk3Dbaseview()->GetRenderer(); 00359 ren->RemoveActor(f_actor); 00360 RefreshView(); 00361 btnUndo->Disable(); 00362 slSigmaLevel->Disable(); 00363 slVolumeOpacity->Disable(); 00364 slLaplacianConvergence->Disable(); 00365 slLaplacianIterations->Disable(); 00366 } 00367 00368 00369 }
void wxSegmentationFM3DWidget::OnChangeOpacity | ( | wxScrollEvent & | event | ) | [private] |
Este metodo cambia la opacidad del actor que representa la segmentacion realizada
Definition at line 375 of file wxSegmentationFM3DWidget.cxx.
References f_actor, opacityValue, RefreshView(), and slVolumeOpacity.
Referenced by wxSegmentationFM3DWidget().
00375 { 00376 if (f_actor != NULL){ 00377 opacityValue = ((double)slVolumeOpacity->GetValue())/100.0; 00378 f_actor->GetProperty()->SetOpacity(opacityValue); 00379 RefreshView(); 00380 } 00381 }
void wxSegmentationFM3DWidget::OnChangeSigmaLevel | ( | wxScrollEvent & | event | ) | [private] |
Cambia el valor de la desviacion estandar del filtro gaussiano aplicado al volumen resultado de la segmentacion
Definition at line 387 of file wxSegmentationFM3DWidget.cxx.
References f_actor, f_gauss, f_laplace, RefreshView(), sigmaValue, and slSigmaLevel.
Referenced by wxSegmentationFM3DWidget().
00387 { 00388 if(f_actor != NULL){ 00389 this->sigmaValue = ((double)slSigmaLevel->GetValue())/300.0; 00390 f_gauss->SetStandardDeviation(this->sigmaValue); 00391 f_laplace->Update(); 00392 RefreshView(); 00393 } 00394 }
void wxSegmentationFM3DWidget::OnChangeLaplacianConvergence | ( | wxScrollEvent & | event | ) | [private] |
Cambia el valor de la convergencia del filtro de suavizado laplaciano aplicado a la superficie que representa el volumen resultado de la segmentacion
Definition at line 400 of file wxSegmentationFM3DWidget.cxx.
References convergenceValue, f_actor, f_laplace, RefreshView(), and slLaplacianConvergence.
Referenced by wxSegmentationFM3DWidget().
00400 { 00401 if(f_actor != NULL){ 00402 this->convergenceValue = ((double)slLaplacianConvergence->GetValue())/3000.0; 00403 f_laplace->SetConvergence(this->convergenceValue); 00404 f_laplace->Update(); 00405 RefreshView(); 00406 } 00407 }
void wxSegmentationFM3DWidget::OnChangeLaplacianIteration | ( | wxScrollEvent & | event | ) | [private] |
Cambia el numero de iteraciones del filtro de suavizado laplaciano aplicado a la superficie que representa el volumen resultado de la segmentacion
Definition at line 413 of file wxSegmentationFM3DWidget.cxx.
References f_actor, f_laplace, iterationsValue, RefreshView(), and slLaplacianIterations.
Referenced by wxSegmentationFM3DWidget().
00413 { 00414 if(f_actor != NULL){ 00415 this->iterationsValue = slLaplacianIterations->GetValue(); 00416 f_laplace->SetNumberOfIterations(this->iterationsValue); 00417 f_laplace->Update(); 00418 RefreshView(); 00419 } 00420 }
wxSegmentationFM3DWidget::DECLARE_EVENT_TABLE | ( | ) | [private] |
double wxSegmentationFM3DWidget::_voxelSize [private] |
Definition at line 81 of file wxSegmentationFM3DWidget.h.
Definition at line 82 of file wxSegmentationFM3DWidget.h.
Definition at line 83 of file wxSegmentationFM3DWidget.h.
Referenced by ConfigureVTK(), GetVtkMPRBaseData(), GetVtkPlane2DView(), OnBtnSegment(), and RefreshView().
Definition at line 86 of file wxSegmentationFM3DWidget.h.
Referenced by ConfigureVTK(), Create3DViewContour(), RefreshView(), and ~wxSegmentationFM3DWidget().
Definition at line 87 of file wxSegmentationFM3DWidget.h.
Referenced by ConfigureVTK(), Create3DViewContour(), OnBtnSegment(), OnBtnUndo(), RefreshView(), and ~wxSegmentationFM3DWidget().
Definition at line 88 of file wxSegmentationFM3DWidget.h.
Referenced by ConfigureVTK(), Create3DViewContour(), RefreshView(), and ~wxSegmentationFM3DWidget().
wxSlider* wxSegmentationFM3DWidget::slAlpha [private] |
wxSlider* wxSegmentationFM3DWidget::slBeta [private] |
wxButton* wxSegmentationFM3DWidget::btnSegment [private] |
Definition at line 97 of file wxSegmentationFM3DWidget.h.
wxButton* wxSegmentationFM3DWidget::btnUndo [private] |
Definition at line 98 of file wxSegmentationFM3DWidget.h.
Referenced by OnBtnSegment(), and OnBtnUndo().
wxSlider* wxSegmentationFM3DWidget::slVolumeOpacity [private] |
Definition at line 99 of file wxSegmentationFM3DWidget.h.
Referenced by OnBtnSegment(), OnBtnUndo(), and OnChangeOpacity().
wxSlider* wxSegmentationFM3DWidget::slSigmaLevel [private] |
Definition at line 100 of file wxSegmentationFM3DWidget.h.
Referenced by OnBtnSegment(), OnBtnUndo(), and OnChangeSigmaLevel().
wxSlider* wxSegmentationFM3DWidget::slLaplacianConvergence [private] |
Definition at line 101 of file wxSegmentationFM3DWidget.h.
Referenced by OnBtnSegment(), OnBtnUndo(), and OnChangeLaplacianConvergence().
wxSlider* wxSegmentationFM3DWidget::slLaplacianIterations [private] |
Definition at line 102 of file wxSegmentationFM3DWidget.h.
Referenced by OnBtnSegment(), OnBtnUndo(), and OnChangeLaplacianIteration().
double wxSegmentationFM3DWidget::alphaValue [private] |
double wxSegmentationFM3DWidget::betaValue [private] |
double wxSegmentationFM3DWidget::opacityValue [private] |
double wxSegmentationFM3DWidget::sigmaValue [private] |
float wxSegmentationFM3DWidget::convergenceValue [private] |
Definition at line 121 of file wxSegmentationFM3DWidget.h.
Referenced by OnChangeLaplacianConvergence().
int wxSegmentationFM3DWidget::iterationsValue [private] |
Definition at line 122 of file wxSegmentationFM3DWidget.h.
Referenced by OnChangeLaplacianIteration().
vtkImageGaussianSmooth* wxSegmentationFM3DWidget::f_gauss [private] |
Definition at line 125 of file wxSegmentationFM3DWidget.h.
Referenced by OnBtnSegment(), and OnChangeSigmaLevel().
vtkMarchingCubes* wxSegmentationFM3DWidget::f_cubes [private] |
Definition at line 126 of file wxSegmentationFM3DWidget.h.
vtkSmoothPolyDataFilter* wxSegmentationFM3DWidget::f_laplace [private] |
Definition at line 127 of file wxSegmentationFM3DWidget.h.
Referenced by OnBtnSegment(), OnChangeLaplacianConvergence(), OnChangeLaplacianIteration(), and OnChangeSigmaLevel().
vtkPolyDataMapper* wxSegmentationFM3DWidget::f_mapper [private] |
Definition at line 128 of file wxSegmentationFM3DWidget.h.
vtkActor* wxSegmentationFM3DWidget::f_actor [private] |
Definition at line 129 of file wxSegmentationFM3DWidget.h.
Referenced by OnBtnSegment(), OnBtnUndo(), OnChangeLaplacianConvergence(), OnChangeLaplacianIteration(), OnChangeOpacity(), and OnChangeSigmaLevel().